Sunday, December 23, 2007

Ken Thompson has an automobile which he helped design.

When I first started using unix when I got to college, when you would log out, it would print out a 'fortune'. This is the output of the famous unix program called, well, 'fortune'. They weren't really fortunes, although some of them sounded like snide fortune cookie fortunes.

Then, one day, I got this one, which I did not understand:

Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the numerous idiot lights which plague the modern driver. Rather, if the driver makes any mistake, a giant "?" lights up in the center of the dashboard. "The experienced driver", he says, "will usually know what's wrong.
I didn't understand it, but I found it so compelling that I never forgot it. Who was this Ken Thompson? Surely this story wasn't literally true; but what had he done that someone was compelled to tease him in this way? Did Ken Thompson feel bad about being teased like this?

I now know that Ken Thompson was one of the creators of unix. In this fortune, the car is unix, and the giant '?' is the dreaded 'segmentation fault' error that plagues beginning unix/C programmers and which provides no useful information.

I have always felt a little bit bad for him, being teased in this way (and why does Dennis Ritchie get off so easy?). Apparently, though, Mr. Thompson and I work at the same company now, so maybe I will have a chance to comfort him.