My Programming Work
Although I've been doing web work for years now, most of my working life I've spent building cross-platform applications in C/C++. I've worked mostly in the fields of advanced visualisation, aka virtual reality and console games.
I've never really been much good at, (read interested in) the graphics side of this kind of programming. There's two major branches of coding that I have specialised in:
I have a physics degree and I have been lucky enough to have kept this interest alive by having quite a few projects that have included physics engines. I've implemented Featherstone's Articulated Robot Dynamics Algorithm, played around with implementations of Open Dynamics Engine (ODE) which I customised to use Verlet Particles. I have recently got familiar with the Havok physics engine and rag-doll simulation and pose driving.
It's funny how just by simply being given a project that nobody else wanted to do when I was a junior programmer has shaped the kind of work I have done since then. I was given a project while I was working in Artemedia's Virtual Reality Dept in Berlin to create a distributed physical simulation using HLA/RTE, an old US DoD library. It was an eye opener to the limitations of any kind of real-time simulation by network speeds and latency.
It was this project that got me into the role at Studio 33 to develop the online side of their game Destruction Derby Arenas. It was quite an ambitious project to get 20 players driving around a track with full physics.
At Virtalis I designed and implemented an "Entity System" that was essentially a library to allow our in-house developers to create objects that exist across processes and machines. We used the system in the context of simulated objects but found it useful for sharing any kind of data.
I've never been employed in web development but have worked as a freelancer, finding my own clients but also taking work through web design companies.
I choose LAMP as my server side technologies because of their popularity, stability and cross-platform nature. I like to use Drupal these days as my platform for web development as it is flexible and powerful. Find out more about my views on Drupal in this article.