Back when I started my professional programming career, the world was awash with paper-based programming journals. At the first company I worked for they had some of the more popular ones on circulation, such as Dr Dobbs Journal (DDJ), Microsoft Systems Journal (MSJ), Windows Developer Magazine (WDM) and C/C++ Users Journal (CUJ). On my travels as a journeyman I’ve also ended up discovering a number of other journals that I subscribed to in an attempt to help quench my thirst for programming knowledge: C++ Report, Java Report, TechNet Magazine and Application Development Advisor. Sadly it wasn’t until the demise of many of these that I happened across ACCU and therefore C Vu and Overload. (I had asked on a company C++ forum about what printed journals were still around now that CUJ was going the way of the Dodo.)
The format was largely the same for each publication – there was a beginning, middle, and an end. The start of the magazine usually had some kind of editorial, which might be a simple summary of the content, perhaps calling out the most exciting contributions, or it could be more like a conference keynote – just some musing on the IT industry in general. If our esteemed editor thinks she’s doing a good job at avoiding writing a proper editorial then she should re-read some older journals to see how much an editor can really get away with...
Naturally the meat of the sandwich was the articles, with a mixture of regular columnists like Ed Nisley and Al Williams (DDJ), and one-off submissions from other people like ACCU’s own Matthew Wilson. Occasionally you had a little garnish, such as a ‘Letters Page’ where readers would email (or even write, like with an actual pen and paper, or perhaps a typewriter) to the magazine to comment on some previous article from months ago. Maybe there was a typo in the code, or (more likely) a disagreement about the approach taken or conclusion drawn. Another common filling was the ‘New Products’ section which was often a listing of ‘recently’ released software tools provided by the manufacturers themselves. Luckily the cadence of software releases was so much greater than that of the printed publication so there was always something different each month.
In contrast, the final piece, like some editorials, was more of an art form in its own right. Where the editorial perhaps appeared to have some constraints around it being a fairly straight-laced affair, the closing remarks seemed to be pretty much a free-for-all sometimes. That said they were related, though occasionally only very tangentially, to the IT industry. With just a single page and less chance of putting off punters browsing in the shops (the contents page being nearer the front than the back) there was more latitude.
Not every journal followed this format for its conclusion though, or perhaps not for every issue. As an example, this very publication (Overload) has, as far as my cursory sampling suggests, never had an afterword to match every foreword. I was originally going to say ‘regular afterword’ but there is a pattern, albeit only once a year, where the April issue sees Teedy Deigh pass on her own brand of programming wisdom. C++ Report utilised its final page to carry on an earlier tradition by hosting a showcase of Obfuscated C++ which was curated by Rob Murray. Whilst meant to tax your C++ skills, or in jest to show how perverse you could be with C++, it often felt scarily close to the codebase I was working on during the day.
Some of those that were given a platform at the tail end of the magazine used it to have a good old-fashioned rant. David S. Platt, the incumbent for MSDN Magazine (the modern successor to MSJ), currently has a column titled ‘Don’t Get Me Started’ where he gets to let off a little steam. Another notable grumpy voice from the past was Gary Barnett who penned ‘Angry Young Man’ for Application Development Advisor. I seem to remember that he occasionally tag-teamed with Martin Banks who took up the mantle under the subtly different guise of an ‘Angry Old Man’. Luckily the arguments were a little more coherent than some of the rants you see during the lightning talks at a conference, and in the end they soon mellow out into ‘Mildly Displeased Columnists’. Well, the British ones did.
Michael Swaine, with his ‘Swaine’s Flames’ for Dr Dobbs Journal, was a more sedate affair. Often his musings were played out as a scene between various techies that frequented a fictitious ‘watering hole’ in Silicon Valley that went by the cute name of Foo Bar. I didn’t know nearly enough about what was happening in that part of the world to truly grasp whatever point he was making (if any) but I enjoyed the relaxed attitude and the writing style made a real change from the usual dry technical prose. Not content with propping up the back end of DDJ he also wrote ‘The Final Page’ for one of DDJ’s sister publications – Web Techniques – and I wouldn’t be at all surprised to bump into him in other parts of CMP Media’s vast publishing estate. Michael Swaine, now editor for PragPub, still appears to be going strong in the digital age under the banner of Swaine’s World.
Of all the columns that I probably understood the least at the time, but still revered the most, was the bi-monthly ‘Post-Mortem Debunker’ in the C/C++ Users Journal written by Stan Kelly-Bootle. I had always assumed it was a pen name which, given the style, might have been attributable to someone such as Douglas Adams if it wasn’t a physical impossibility by then. It was also somewhat reminiscent of the writings of John Gall (The Systems Bible) which I had only briefly glimpsed back then. With the birth of Wikipedia I discovered that he really was an accomplished author with a distinguished past-life in computer science. Oh, and he was a singer and song-writer too, if the man wasn’t already talented enough. What made his writing particularly entertaining was his word play against a backdrop of modern computing fused with some interesting tales about what it was like programming right back at its dawn (on the EDSAC). I seem to remember his footnotes were often a goldmine of little one liners.
The one end page that I turned to as the first thing I hastily wanted to read was Raymond Chen’s ‘Windows Confidential’ column in Microsoft’s TechNet Magazine. His blog ‘The Old New Thing’ (an extended version of his column) became the first one I read every day, and it eventually turned into one of my favourite technical books too. Its name provides the (somewhat obvious) inspiration for my own blog – The OldWood Thing.
Each month for his column he would pick something curious about the way the Windows operating system or Win32 API behaved and would provide some background material that would bring a semblance of sanity to what was often seemingly perverse. Regularly the answer would reach right back into the dim-and-distant past of 16-bit Windows, DOS or its predecessors. Other times it might involve a backwards compatibility issue with a product that was just far too popular with customers to alienate. To balance things out there were also a few misguided design decisions thrown in there too, but ultimately it’s helped instil in me a perspective of what software engineering at a mammoth scale is all about.
Back in those youthful days, when the printed page ruled the roost, I wondered if the final page was a form of ‘pasture’ for old programmers. Hipsters hadn’t started sporting beards back then and the only data point I had was of Michael Swaine; I hope they’ll forgive my statistical error. Now finding myself in this very position I can speculatively report that the end of the magazine does not appear to be correlated with the end of one’s programming career. If anything it may provide the catalyst for indulging in a more elaborate style of writing.