Skip to main content


Showing posts from December, 2006

Bug fix: 12 Tasty Make Recipes Part II

Back in May, 2006 I gave a talk called 12 Tasty Make Recipes Part II in which I talked about a user-defined GNU Make function to recursively search from a directory for a file or set of files. The function was written like this: search = $(foreach d,$(wildcard $1/*),$(call search,$d)$(filter $(subst *,%,$2),$d)) Unfortunately, there was a small mistake in the code that appeared in the presentation. However, two bugs collided to cause the mistake to have no effect. In the above function I wrote $(call search,$d) when I should have written $(call search,$d,$2) . But since GNU Make had a bug that caused it to not reset $2 (or any other arguments in the form $n ) on a nested $(call) and since I was reusing $2 as the second argument, my function worked. That is, until GNU Make 3.81 was released and fixed bug 1744 . The correct version of search which will work with all versions of GNU Make is: search = $(foreach d,$(wildcard $1/*),$(call search,$d,$2)$(filter $(subst *,%,$2

Two weeks of image spam innovation

Since I last blogged about image spam I've received numerous image spams myself, and reports from Nick FitzGerald, Sorin Mustaca and Nicholas Johnston about interesting image spams that I've just got to see. On November 14, I received a report of image spams where the background noise had been updated from dots or small lines to polygons. Here's a sample: A day later it was clear that the same spammer was randomizing the image size, the background noise and the color palette used: Then on November 17 I was shown this interesting pump'n'dump technique: 83622874400056543 047183602660 41478311028418 100278 84807407350 05087016712772 78810870435635016 71651855827222 4725576405300038 84252840 12157351038885 630188325737443 23414 23133 41104 4312 7131 6341874402 48244 02522 1428 3224 55263 16021 4