Wednesday, May 30, 2007

Multi-line Comments in Make

You see, this is why I hate Make. Did you know that a backslash at the end of a comment line extends the comment to the next line? For example:


# This is a comment \
and this is still a comment


This is all very nice and logical—a trailing backslash means the same thing no matter where it appears in a file—but it has all the niceness and logic just exactly backwards. The behavior of (line-based) comments in every other programming environment I know of is: a comment character (in this case '#') introduces a comment that is terminated by the end of the line; if a line is not preceded by a comment character, it is not a comment.

This may seem harmless. But consider the following:

FILES = \
file1 \
file2 \
file3

Now suppose we decide to temporarily remove file1:

FILES= \
# file1 \
file2 \
file3

Does FILES equal "file2 file3"? No! FILES is empty. And that's if you're lucky and you didn't get some weird syntax error.

Tuesday, May 29, 2007

Is Bush a Neoliberal? No.

Do me a favor here... is it really 2007? And is Richard Cohen really writing this column on how George W. Bush is a "neoliberal"? Are there no limits to the sage pundit's lazy contrarianism?

Cohen says he "never really knew what [neoliberalism] meant", but the term should be revived because George Bush is "more liberal than you might think." The evidence for this is: (a) No Child Left Behind (a bunch of meddling, liberal do-gooderism), (b) all the incompetent blacks, women, and Latinos in his administration (hiring poorly qualified minorities is just so liberal), and (c) conducting a botched foreign war and justifying it with high-flown Wilsonian rhetoric (losing wars is just so liberal).

Mr. Cohen, I do know what neoliberalism means (if you want to know, you might have Googled it; it's not that complicated). George Bush is not a neoliberal. And items (a), (b), and (c)—while they ring nicely of the conservative caricature of The Left—are not evidence of neoliberalism. Quite the opposite in fact.

I understand the urge to paint George Bush as "not conservative" (this has been Andrew Sullivan's bread and butter for about four years), but "not conservative" is not "neoliberal." (Duh.) And what we really don't need right now, at this point in history, is a supposedly "not conservative" columnist in the Washington Post using the word "liberal" as an essentially meaningless all-purpose insult.

Wednesday, May 23, 2007

The Annals of OCaml Compiler Errors

X is not a compilation unit description.

X is not a file type that the compiler expected to receive as input. For example, X is a .cma file and you'r running the compiler with the -a flag—.cma files are only expected on the final link; linking a library into a library doesn't make any sense.

Saturday, May 05, 2007

Happy Free Comic Book Day!

Go out and get yours! Your local comic book store will only be a semi-intolerable madhouse.

You would think there would be one lousy freebie on offer—and in past years, this was the case—but in fact there are 10 or 12 free comics, ranging from Archie to The Hulk to The Simpsons to The Lone Ranger. Something for everybody.* And you can take them all, if you want. I ended up buying $10 worth of non-free comic books too. So it worked!

In other strolling around Fifth Avenue news: the Sabbath-observing jeweler resized my wedding band for $12 bucks. Trying to cheat me, Upper East Side? (I think the $80 price was to cut and re-join the ring. Whereas it really only needed to be compressed. Jerks.)

And: Empanadas, still delicious!

* Everybody who hasn't passed through puberty.