Plumbing Chops

In my line of work I am often reminded of this brilliant passage from  Ellen Ullman’s “The Bug” (which I reviewed earlier):

“Programming starts out like it’s going to be architecture–all black
lines on white paper, theoretical and abstract and spatial and
up-in-the-head. Then, right around the time you have to get something
fucking working, it has this nasty tendency to turn into plumbing.


It’s more like you’re hired as a plumber to work in an old house
full of ancient, leaky pipes laid out by some long-gone plumbers who
were even weirder than you are. Most of the time you spend scratching
your head and thinking: Why the fuck did they do that?”

To take the metaphor a little bit further, let me bring up one actual plumbing nightmare that I faced when I was renovating my apartment. One of the contractors clumsily knocked  off a valve on a piece of  water piping that did not have a local shutoff. The only shutoff was in the basement, and required turning off the water for the entire line. And the super, who could do the shutoff  was not in for a couple of days.

Another contractor knew exactly what to do in that case. He created something that he called a “chop” (I found out later that the term is Ukrainian). It’s a conical piece of wood, shaped like a fat pencil that is hammered into the hole in the pipe. In a couple of minutes the wood swells up and completely plugs the leak. Add some duct tape around it, and you got a very good temporary plug that is almost as strong as the unbroken pipe.  It makes the worst permanent solution (wood rots), but the best temporary one (it can be applied without taking the whole system down and is reasonably strong).

Chops, or as they are called in English – thru-hull plugs, are a maritime invention: they are used for emergency repairs on boats. These days you can even buy a ready made set.

People think of software as of something static. Well, dynamic websites are more like a ships out at sea. Sometimes you have to patch them up in a storm. And then a good, strong “chop” is the best you can hope for until you can repair the leak permanently. And you are going to sink unless there’s somebody around who knows how to make a “chop”.

Thnking Inside the Box

Sometimes I feel sorry for myself because I spend most of my waking hours inside a cube. Sometimes I sleep there too. Then I feel even sorrier. But on the other hand, some people are so much worse of than I am. My cube is much better than this guy’s, but the bugs I deal with are much more insidious. If you don’t believe me, read Ellen Ullman’s “The Bug“.

I Lose My Humanity Bit By Bit

People say funny things when they are woken up while in REM. I only vaguely remember this, but my wife tells me that this morning I kept saying “404” when she tried to wake me up.

This totally makes me feel like Mara Margolies, a character in Ellen Ullman’s “The Bug” who went around saying “Meep” like a robot. This could have something to do with the fact that I am reading “Do Androids Dream of Electric Sheep?” on the train.

The Diddler And Us

I have insomnia again. This little quote from Ellen Ullman’s “The Bug” keeps going through my head:
“And so we waited. Tick-Tock, blink-blink, thirty seconds stretched themselves out one by one, a hole in human experience. Waiting for the system: life today is full of such pauses. The soft clacking of computer keys, then the voice on the telephone telling you, “Just a moment, please.” The credit-card reader instructing you “Remove card quickly!” then displaying “Processing. Please wait.” The little hourglass icon on your computer screen reminding you how time is passing and there is nothing you can do about it. The diddler at the bottom of the browser screen going back and forth, back and forth like a caged crazed animal. …”

I already forgot that the little widget, the weird faker, which unlike it’s honest brother the progress bar, does not really indicate progress, is called a diddler. It just keeps going back and forth, imitating a progress bar, or takes a form of rotating logo or some other animation. Evil little bastard.

Brooklyn, Around Noon. Well, actually later.

Manhattan, same time. Or maybe not.

The Fug

I think of my life as one long developing and debugging session. I try to improve my software and hardware, fight bloat, load more data in my databases, find new algorithms for doing things. And of course my life is full of little bugs, inefficiencies, crashes and weird behavior. Instead of making coding my way of life I try to make my way of life be more like coding.

There are three classics of the genre of the heroic computer geek saga. First there’s Tracy Kidder’s “The Soul Of a New Machine“. Second is Douglas Coupland’s “Microserfs“. Third is G. Pascal Zachary’s Show-Stopper!. Pascal’s first name which he hides behind the initial “G” is Gregg. Yep, Gregg.

Now I would like to add another book to the list. It’s Ellen Ullman’s “The Bug“.

To describe what these books are about I need to borrow a name of Cordwainer Smith’s short story – The Burning of the Brain. Or Harlan Ellison’s I Have No Mouth and I Must Scream. Those are the things that come to mind when I think about the heroes of these books.

Also comes to mind the episode of NYPD Blue where a doctor tells detective Simone that there is a possibility that the LVAD (Left Ventricular Assist Device) balloon pump might start “chewing up” his body. A poor choice of a metaphor in that case, but a very good one to describe what happens to the bodies and minds of the heroes of these books, be they real life superhuman engineers like Dave Cutler and Steve Wallach or more human but fictional protagonists of “Microserfs” and “The Bug”.

“The Bug” has three main characters. A tester on her way of breaking out from the cocoon of useless liberal arts degree holder and becoming a QA engineer not only in title but in life; a miserable antisocial software engineer in a fight of his life; and a software bug called The Jester.

At work I use Joel Spolsky’s most excellent bug tracking application called FogBugz. My project manager started calling especially nasty bugs “fugs”. Well, The Jester is a “fug” to the power of 10. To get the feeling of vertigo, the sense of spiraling into an abyss that “The Bug” invokes, i suggest listening to a piece titled “Spiral” on John Coltraine’s famous “Giant Steps”.

And here’s my favorite quote from the book:
“Look, Levin. Programming starts out like it’s going to be architecture–all black lines on white paper, theoretical and abstract and spatial and up-in-the-head. Then, right around the time you have to get something fucking working, it has this nasty tendency to turn into plumbing.
“No, no. Lemme think,” Harry interrupted himself. “It’s more like you’re hired as a plumber to work in an old house full of ancient, leaky pipes laid out by some long-gone plumbers who were even weirder than you are. Most of the time you spend scratching your head and thinking: Why the fuck did they do that?”
“Why the fuck did they?” Ethan said.
Which appeared to amuse Harry to no end. “Oh, you know,” he went on, laughing hoarsely, “they didn’t understand whatever the fuck had come before them, and they just had to get something working in some ridiculous time. Hey, software is just a shitload of pipe fitting you do to get something the hell working. Me,” he said, holding up his chewed, nail-torn hands as if for evidence, “I’m just a plumber.” “