In case you’re interested, here’s my current CV. In general I’m happy to discuss permanent or contractual work, especially if it’s fun or interesting, but I dislike leaving projects unfinished, so availability depends entirely on whatever I’m currently working on. References available upon request.

Skills & Experience

  • C++ (twelve years), including the STL & custom templates
  • Carbon and Cocoa (fourteen years), originally on Mac OS 7 through 9, latterly on all versions of Mac OS-X and the iPhone
  • Detailed and complete knowledge of Nokia (former TrollTech)’s Qt framework, from version 3 onwards – including modifying the core source, implementing custom UI elements, and working with the original developers to resolve bugs.
  • OpenGL and associated rendering technologies, including OpenSceneGraph and Simple DirectMedia Layer (SDL)
  • ActionScript3 / Flex development, using command line tools (mtasc) and FlexBuilder.
  • Experience with a wide variety of scripting systems, including JavaScript, Python and Ruby
  • Development and delivery of software on Linux, Windows and Mac
  • Wide range of source control and issue-tracking systems, from the simplest to the most elaborate: git, JIRA, Subversion, Perforce, Trac, Bugzilla

Employment History

  •, senior developer, August 2006 to July 2009. Originally hired to implement Mac support for a large Mozilla-based project, including audio, video and OpenGL support.  More recent projects have included architecting a cross-platform project based upon Nokia’s Qt framework, again integrating video and audio codecs, architecting and implementing a complete ActionScript3 video player, and developing a video playback client for the iPhone.
  • Bugless Software Development, director, August 2006 to October 2007.  Provided software consultancy to a wide range of clients using Nokia (formerly TrollTech)’s Qt framework. Worked on existing code-bases, re-writes and creating new products from scratch, leading both technical and user-interface design.
  • Senior developer, Crocodile Clips Ltd, August 2001 to July 2006. Initially hired to provide Mac platform support, and expertise in rendering and user –interface implementation. Ultimately led a complete re-write of the core technologies, transitioning from a large, legacy MFC codebase to modern, cross-platform technologies.
  • Developer, Crocodile Clips Ltd, summers of 1999 and 2000. Worked on existing MFC codebases, re-building rendering and display code, optimising performance and fixing bugs.


  • Bsc Computer Science (2001, 1st), University of Edinburgh

Professional Activities

  • Attended TrollTech developer days, 2004-2008, as a partner and then a customer.
  • Contributing developer to the FlightGear project, July 2008 onwards. Worked on re-factoring various parts of the large C++ codebase, and improvements to the internal data model.
  • Lead developer on the WorldForge project, November 1998 – January 2006. Design, lead and implementation work on various parts of the software system, including delivering the standard client-side library, supporting and bug-fixing it for many years, and evolving it in response to client feedback.
  • Exhibited at LinuxTag 2000 – 2005,on behalf of the WorldForge project
  • Attendee of Games Developer Conference (GDC) 2001 – 2004