I'm someone who wishes he had more time to write programs. I'm more interested in back-end systems than user interface elements and like to have a command line close by all of the time.

I'm drawn to simplicity and shy away from complexity - partly because the older I get the harder it is to follow complexity but mainly because simplicity leads to longevity.

A fan of C as a simple abstraction of the hardware and its universality. Understanding C means you have some clue as to how bits and bytes are shifted around to make real programs. Those that understand C, tend to have a better grasp of the size and speed trade-offs of algorithms and data structures.

A fan of Python for its simplicity and abundant supply of packages that make solving many day-to-day problems about as simple as it can be.

I also have a bit of a soft spot for Excel/VBA in the right circumstances - not for the language, but for the simple reason it's a 'runtime' that many people already have installed allowing a simple solution to be implemented without the need for other dependencies.


Below are a list of books that have most influenced me over the years, many from the 1980's and 90's. This is not a list of recommended reading as clearly there are many absolute classics missing - it is instead a list of books that at the time, encouraged me to try and improve as a programmer in some way.

  • The C Programming Language - Kerninghan & Ritchie
  • Code Complete - Steve McConnell
  • The Pragmatic Programmer - Hunt & Thomas
  • Algorithms in C - Sedgewick
  • Advanced Programming in the Unix Environment - Stevens
  • The Unix Programming Environment - Kernighan & Pike
  • Clean Code - Martin
  • Computer Graphics: Principles and Practice in C - Folet, van Dam et al
  • Writing Solid Code - Maguire
  • Debugging the Development Process - Maguire