For machines that supposedly have no true intelligence, computers are the most infernally arrogant personalities that I have ever met! I suspect that that’s why I like working with/on them: by crafting a well-designed, well-implemented (both are important!) program, I solve both the problem at hand and clamp down on any future insurrections (via bugs introduced later through program revisions). Lately, though, I’ve felt like I’ve been losing the battle. I’ve been working on a GIS system on the one project, and on a project involving servlets and web services on the other. I’ve run into so many interesting ways to blunder that I created a HardKnocks document into which I’ve been pouring my notes for the next hapless adventurer in Java web services. The GIS system is deployed on a Solaris machine – completely different than administering a Windows machine. Very interesting. . . and I’m getting the crash refresher course in all the Unix command stuff I briefly learned in college to figure out such things as why an 18MB download doesn’t fit on a drive that has 40MB+ free space.
I used to have (still have?) a cartoon somewhere in which a programmer is standing in front of a large (think full room-sized) mainframe. The gentleman is holding a bell, a candle, and a knife, and appears to be sacrificing a woman to the infernal machine. I found the cartoon amusing ten years ago as a newbie developer, and find it even more amusing now that I’m quite a bit more seasoned. We don’t sacrifice women, but we do sacrifice time and stress; we don’t give the machine offerings of food, but we offer it more RAM and disk space; we don’t read tomes of prophecy, but we do pore over volumes of design patterns, language references, and coding techniques.
Think I’ll try to dig up that cartoon and hang it in my office. . . maybe with a candle next to it.