“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”.