Debugging • 1 October 2008 • The SnowBlog
I want to share this with you, because you might not know it but there is an enjoyable new hobby for you out there which you may never have considered, and I feel it my duty to enlighten you. It's debugging - identifying a fault in a system, program or process; tracking down the problem; fixing it. It is about the most mesmerising thing to do that I know of, ahead of playing the piano, listening to music, even reading. Even, in fact, ahead of the self-hypnosis tapes that I've been listening to for childbirth (please, not an invite to commenters wishing to disabuse me of the efficacy of self-hypnosis. It's my due date tomorrow. Give me a break.)
You can debug almost anything, but it tends to work best on something computer-related. You can debug your car's engine, for instance, or a blocked drain, or a metaphysical problem whilst out on a countryside walk. But the most transfixing of all is computer programs.
For instance, we have a relatively complicated suite of Access tables and reports which pull data from all over the place (mainly our distributor systems and our financial management system), reformat them, tweak them and extract the delicious data-y insides and re-present them in a way which allows us to look at the profitability of each title. Seems like some little thing goes slightly 'wrong' with it every time I use it, though (going wrong meaning I have failed to update something, usually). Same deal with the XSL that Rob and I write when we're using our ONIX data to make catalogues and so forth - there's often a singular bug which needs fixing to make the whole thing run like clockwork.
The act and the art of figuring out what, precisely, the problem is, and how to remedy it can take anything from about 20 minutes to a day (and that's usually working into the night) - but I tell you, it's the best fun ever. This is because it's usually relatively simple to track problems down through using a process of elimination - you identify all the possible issues then chomp through them until you find your offender - but also because you feel mighty clever. I can't quite put my finger on what makes it so easy to focus on this sort of problem, though, to the exclusion of all else. Maybe it's the purity of the problem. Maybe it's just me. But try it sometime, if you can. You might surprise yourself.