I have a strange feeling that I know why I might be stuck on this desert island – it’s probably penance for knocking the host of this column off his stride whilst he was giving a presentation to the London branch of the ACCU. Unlike the heckling from the Henney corner that night mine was a little more subtle. I forgot my glasses and so kept squinting at the slides in what must have seemed to be a “very confused” manner - actually maybe it’s not penance but sabotage…
So where do I start? I guess I’ll follow the pattern of my predecessors and generally cover the technical books first. The music should be easy, but the novel is going to be pretty tough as I just don’t read fiction books. As a child I’d have preferred a complete set of Haynes manuals to the collective works of William Shakespeare; and as I saunter into my technical library (aka The Downstairs Toilet) I find myself staring at the moral equivalent – umpteen books on [D]COM and Windows’ internals. On a pragmatic note I feel the most useful would be 4 of the books by Jeffrey Richter as he has produced some paper based behemoths that could easily be bound together to make a pretty sizeable raft.
Hmmm, I thought this was going to be easy. There aren’t many unfinished books on the shelf (although I’m ashamed to admit that one is by our very own Pete Goodliffe) so perhaps I should just take those? Looking back at previous choices I seem to have some serious omissions. I’ve been writing C++ for about 15 years and yet I don’t own a copy of Bjarne Stroustrup’s The C++ Programming Language or Nicolai Josuttis’ The C++ Standard Library. Come to think of it I don’t own a copy of the standard either; in fact I don’t think I’ve ever seen one; then again I’ve never suffered from insomnia.
Anyway I probably shouldn’t use this time to learn about a specific technology but perhaps use it to reflect on our profession instead – I’m sure I spend way too much time ‘doing’ and not nearly enough thinking about ‘how’ I’m doing it. And so we come full circle and Pete Goodliffe’s Code Craft comes back off the shelf again. I’ve read the first 75 or so pages and it looks like a modern take on the software development process so I reckon it’s a good start. My 1st Edition of Code Complete by Steve McConnell is looking a little outdated so perhaps this will supplement it nicely. Plus it comes with monkeys, although I suspect I won’t be short of those for company on the island.
A couple of years ago I raised a question with my fellow ACCU colleagues about what modern books there are on the Object Orientated paradigm. I realised I had stumbled into C++ development and consequently the OO world without really understanding the principles of the paradigm I was supposed to be following. It seems as though the age old tomes by Grady Booch (Object Oriented Analysis and Design with Applications) and Bertrand Meyer (Object-oriented Software Construction) are still a force to be reckoned with even now. Hubert Matthews chipped in with the more recent Object-Oriented Design Heuristics by Arthur J. Riel. I’ve browsed through that and it looks very useful, especially with the slightly different format, but I think I’ll go with the Meyer classic as it covers the basics. It’s also another hefty beast and so should come in handy to weigh down any tarpaulin.
In terms of shelf space Kent Beck barely registers (he creates very svelte works by comparison) and yet I’ve found his books an absolute joy to read. He has a pleasant conversational style that almost makes you feel like he’s in the room reading to you (now that would make a novel episode of Jackanory). Implementation Patterns in particular is one of those books that really tries to help you get inside the author’s head. Some might say much of it is obvious, but that’s only because he’s pointed it out. If there was a Collective Works of Kent Beck available to satisfy these ham-fisted rules I’d take that; after all I only read Extreme Programming Explained because I enjoyed reading Implementation Patterns and Test Driven Development. So let’s see what else Amazon says he has to offer, back in a moment…
Oh, that’s it really. But that’s good because now I have another choice that I wasn’t expecting. Whilst on Amazon I checked my ever growing wish list to see what else might inspire me. One subject leaps out and that is to better appreciate what it is that my manager is [supposed to be] doing. I digested Steve Maguire’s Debugging the Development Process a very long time ago when I was but a junior starting out. Although I thoroughly enjoyed it I’m not convinced I would have read it with this goal in mind. Peopleware: Productive Projects and Teams by Tom DeMarco and Timothy Lister appears to be the classic text everyone refers to and so I’d probably go with that as my starter. Perhaps when I’ve been rescued I could delve a little deeper and try something more modern – I seem to remember that Allan Kelly bloke having a book out.
So I’m down to my last choice and I’m feeling somewhat guilty. I’ve only scratched the surface of The Pragmatic Programmer (Andrew Hunt and David Thomas) even though it is considered an all time classic and I know it’s packed to the gills with sound advice. I’ve also just started Coders at Work (Peter Seibel) as the whole “Duct Tape Programmer” debacle caught my attention. It’s a collection of interviews with such famous luminaries as Donald Knuth. It would be neat if I could use that as my novel-come-not-so-hardcore-techie-book because it’s a bit more touchy-feely instead. So when I said there aren’t many unfinished books on my shelf what planet was I on? What would be a really bold move is to pick one of those books Jon Jagger was selling at the ACCU Conference this year; there was some seriously weird looking titles in there and yet so intriguing at the same time. This Software Business is way deeper than you think…
Actually I’ve known all along the one book I was definitely going to take and that is Writing Solid Code by Steve Maguire. This (along with Code Complete by Steve McConnell which is arguably a significantly more useful book) had a huge impact on me and the team I joined back at the start of my career. I know nostalgia isn’t what it used to be, but I still have a great fondness for this book – most notably the anecdotes from Steve’s days managing projects at Microsoft. I personally found the airing of their dirty laundry particularly refreshing; it added a sense of humility and real-worldliness to it. As the books subtitle suggests (Microsoft Techniques for Developing Bug-free C Programs) it has less direct relevance to me these days but I still enjoy thumbing through the pages of this (and his sister book Debugging the Development Process) to read random anecdotes for the occasional sanity check. Blast, now I’ve realised I don’t have room for Raymond Chen’s The Old New Thing, and after I gave it such a glowing review in C Vu as well!
So with my geeky side nourished I come back to the thorny issue of what novel to take. It’s probably apparent from my earlier comment that I’ve barely read any novels as it’s not a pastime I indulge in. So do I go for the safety of what little I already know or pick something I think I’ll like? There’s probably going to be a beach on the desert so I feel inclined to pick one of those “best sellers” by Jackie Collins or Andy McNab. Not really my scene though. If I can’t abuse the rules and get Coders at Work accepted then maybe I should try for The Cuckoo’s Egg by Clifford Stoll. This is about how he tracked down a hacker back in the 80’s whilst working at the Lawrence Berkeley Labs. For a techie I thought he penned a pretty good book.
Now if it were films life would be easier
with anything from Sergio Leone’s westerns to
Is anyone still reading at this point? Have I managed to portray myself as such a shallow character by now that you’ve decided I probably deserve to be marooned on a desert island to reduce pollution of the gene pool? Good, then I shall hit you with my musical taste… Let me start by pointing out that I’m a product of the 1980’s. It’s ok, I’m not going to pick Spandau Ballet, but I do covert the keyboard and sampler rather than guitar so anyone looking for more weight to the Purple Floyd vs Deep Pink or whatever the argument was can go back to sleep now.
My love of beeps and squeals starts with Kraftwerk, passes through Depeche Mode on to The Prodigy, The Chemical Brothers and ends with a variety of DJ’s such as Carl Cox. There is also the occasional diversion into ska, hip hop and rap. I suspect that a turntable would fair better than a CD player in such a dusty climate, but sadly the vast majority of my vinyl collection is in the form of 12” singles so I would have to pick something like the Soft Cell 12” Singles Box Set to get value for money out of my musical choices. With only two options available it would need to be a pair of those rarest of albums; the ones that you could listen to relentlessly and don’t have a single duff track that you always skip. There is plenty of house and techno that I listen to relentlessly at work as I find it an enjoyable accompaniment; the disruptive exceptions being Music for the Jilted Generation by The Prodigy and Swordfish (The Album) by Paul Oakenfold. These have a habit of forcing me to context switch in search of the ‘track repeat’ button. If it wasn’t for my IBM Model M keyboard I suspect Voodoo People would have had to answer for quite a few broken keys by now.
For “The Island” where solitude is likely the order of the day, I’d prefer lyrics and big beats so I’m going to pick Confessions on a Dance Floor by Madonna and To The 5 Boroughs by The Beastie Boys. Madonna has teased us in the past with a few cracking tracks on Ray of Light and Music (and in secret I’ll even admit to adoring Borderline from the ‘80s) but Confessions is 100% perfect pop with a modern dance/house edge. The Beastie Boys on the other hand ticks all the boxes I’m looking for in the hip hop/rap/humour department. It was a close call between Hello Nasty (their previous best work) and Boroughs but the later has an extra level of maturity and polish. Depending on whether or not my family are also marooned with me I could allow for a significant increase in the swearing ratio and pick Encore by Eminem instead.
Let me finish with my own J. J. Abrams inspired addition to the format by asking “What type of clunky old terminal would you like to find in the bunker hidden under the island?” For me it would be an RM 380Z as that’s where it all started.
Chris Oldwood
08/07/2010
Bio
Chris started out as a bedroom coder in the 80s, writing assembler on 8-bit micros. These days it’s C++ and C# on Windows in big plush corporate offices. He is also the commentator for the Godmanchester Gala Day Duck Race and can be contacted via gort@cix.co.uk.