Date: Wed, 17 Apr 1996

It sounds so picturesque, doesn't it? "Paris, in the springtime" just like the songs say. Well, for god's sake, don't sing the songs around here, where people have started to call it "That Place" and "you know, the city in France that makes the network people scream if you mention it". We've been having a few little problems with Paris. My coworker Angel is in Paris at the moment, valiantly trying to install the standard desktop. He calls a lot, and the third time we had this conversation

(French English)

Angel: Salut, Elizabeth! Hi, Elizabeth!

Elizabeth: Salut, Angel. Hi, Angel.

Angel: Ca va? How's it going?

Elizabeth: <Untranscribeable noise of exasperation, unhappiness and general angst>

Angel lost his patience. "Elizabeth," he said, "that is not the right answer. It is important that you get this right. You need to learn the right way to do this in French, you are making me crazy. In French, one says <<C'est la merde!>>" [translator's note: Shitty.] "That doesn't seem quite appropriate," I said. "Pas de tout," he said, "c'est la grande merde." [Not at all, it's actually "really shitty"].

Now, we've had a lot of problems with Paris, but the particular one that's been driving me crazy is a problem with our install software, which keeps hanging. I have been tracking this problem for days; I have pursued it with forks and with soap, with knives and with care, with spoons and with hope. I have tracked it up hill and down dale, with a classic display of the sort of perverse brilliance customary to my tribe. I have drawn little diagrams of the TCP closure state transitions. I have found 47 distinct problems with the Paris network, a bug in rdist, and the Dead Sea Scrolls. I started looking in obvious places and progressed to looking desperately in random places, reading the entrails of chickens, and baying at the moon. And then, last night, inspiration struck me like a brick between the eyes, and the marvelous insight which came to me was this:

If you have a network based program, and that program resets the network in the middle of its run, bad things will happen.

You will note that this is not a subtle, glorious insight which advances the cause of computer science. Indeed, this is right up there with the notable difficult deductions of life like "touching hot things will burn you" and "if you let go of heavy things while your feet are still under them, you will be sorry".

Now, I do have some excuse. Generally, if you're running something over the network, and you reset the network, nice, clear, obvious things happen. In this case, horrible, subtle, delayed things happen. Metaphorically, it's roughly like this: You are trimming a tree. You saw off the limb you are sitting on. Nothing happens. You keep trimming for another 45 minutes, during which other branches hit you on the head. Finally, stunned by a particularly large fall from above, you and the branch you're sitting on tumble to the ground. 5 seconds later, the rest of the tree falls over.

I am not sure whether to be cheered or not. On the one hand, I have FINALLY figured out the problem. On the other hand it's goddamn stupid, and I did it, too.