Dancing with entropy (in code and machinery)

I do a great deal of programming for PainScience.com, so much that I have somehow become An Actual Programmer over the last decade. I really like the best parts of it, but usually I’m putting out fires and working with extremely limited time and I frequently hate it. Sometimes I catch myself thinking that programming is more frustrating than other kinds of work. There might be some truth in that — code is very brittle, and can fail spectacularly with literally a single wrong character.

Or it could be self-pitying bullshit.

A friend of mine, who runs a drilling company and has a lot of heavy equipment, sent me this photo today:

That’s his smallest, baby excavator. It had broken down in his narrow driveway through the forest, completely blocking it, and so of course it had to be lifted out before anyone could come home, or leave. You can't nudge an excavator out of the way with an SUV. One of those jobs that just cannot wait! So much for getting anything else done with the day.

Murphy’s law afflicts all human endeavours, and code and machines are probably both about equally exasperating. It’s been a long time since I’ve fixed motorcycles, but I still remember how it consisted almost entirely of slogging through all the crazymaking ironic coincidences, such as:

It was at least as much about fighting entropy than the actual work. It was always two steps backward for every step forward, which is pretty much what coding feels like. And a whole lot of other things.