about me

I am a software engineer with a BSc in computer science and 10 years of practical experience. I enjoy web app development, scalable computing, working with new platforms and computer languages, and a passion for working with mobile and embedded devices.

I work at Miles 33 on the automation products used to produce artwork for self-service advertising and corporate marketing; as well as the software stack used for integrating with social media, Google DFP, Adobe DPS, and a variety of other well known SaaS platforms. I a general interest in all technology, new and old, hardware and software. I'm also a novice dinghy racer at my local sailing club.


new website up and running

I decided to give my site a bit of a refresh. I\'ve moved from WordPress to an in-house Django stack that I plan to experiment with as time goes on. The site is my second project to be hosted on Google App Engine, my last one was the server component for my doorbell automation project.

After some unplanned fiddling with the authentication process I once again have the gcloud tools working!

Django, GAE, Skeleton


new addition: Intellivision with Intellivoice

I picked up an Intellivision Console, complete with Intellivoice and 11 games on eBay. I was actually looking for just the Intellivoice module to add to my existing Intellivision, but grabbed this bundle for the same price!

Haven't had a chance to try this one yet, we still have redecorating to finish before I can get the CRT TV set up. The original owner claimed it wasn't working but was hooking it up to a HDTV, so this might be a project or it might be a plug and play jobby.


another battle with the Wind Baron

I seems I never learn. Once again, I accept Ian's invitation to go out in his penultimate 14; the Wind Baron, and once again I manage to injure myself! No visits to hospital this time though. After a spectacular capsize we managed to right the boat and I hopped back in, at some point slicing the tip of my finger on something.

Needless to say we didn't win any races that day, in fact we didn't even finish one. I do enjoy my fights with that boat though and then we get going it is fast. One day I'm sure we'll manage a win with it.



Product Group Manager April 2012 — Present
Miles 33 Bracknell, Berkshire, UK

  • Advised on integration of Wave2 software into Miles 33 product suite
  • Worked closely with management on product priorities and technical direction
  • Headed development of new end-user product based on Node.js and AngularJS
  • Added scripting capabilities to existing software using Javascript and Groovy
  • Introduced automated build and deployment scripts powered by Python
  • Maintenance and enhancements to self-service advertising product line
  • Introduction and integration of kanban board (using Trello) and JS testing practices
  • Migration of Adobe InDesign Server C++ plugins to support Creative Cloud
  • Developed various tools and extensions to support corporate advertising agencies
  • Integrated HTML digital Ad delivery to DFP and automated Ad tag creation
  • Migrate version control system from Subversion to Git / BitBucket
  • Implemented mobile site for self-service digital Ad creation and ordering product
  • Provided on-site technical consulting for customers, both in the UK and abroad

Software Developer July 2010 — April 2012
New Scientist (RBI) Holborn, London, UK

  • Development of website user registration and content paywall system
  • Introduced an automated test environment using Jenkins CI
  • Migration of DAM system from MySQL to MongoDB database technology
  • Print-to-Web article content automation using Spring Integration
  • Creation and maintenance of mobile website and in-house Android app
  • Collaborated to create a REST API to support an outsourced iPhone app
  • Adapting website infrastructure to support clustered JBoss sessions

Software Developer August 2006 — July 2010
Wave2 Media Solutions Aylesbury, UK

  • Development and maintenance of the publishing product suite
  • Collaborated with the lead developer to introduce Agile practices
  • Lead role producing “AdPortal” and “MarketPlace” self-service advertising products
  • Database modeling and integration using Hibernate and Lucene technologies
  • Introduced scriptable Ad booking pricing module built on Groovy
  • Introduction of responsive layout using Bootstrap for mobile support
  • Involved in Adobe Partner programme, enhancing C++ and ExtendScript plugins
  • Migrate version control system from CVS to Subversion
  • Collaborative development with sister company based in Boston, US on AdPortal

Software Engineer July 2004 — July 2005
Proctor & Gamble Reading, UK

  • Worked in close collaboration with the Future Technologies department
  • Built a bespoke Intranet search engine for researching the digital library for technicians
  • Extensive use of the J2EE platform (EJB2), JDBC and the Lucene engine
  • Integrated with OpenOffice remoting API for indexing documents
  • Use of JPedal/PDFBox libraries for converting and indexing a large collection of journals


BSc Computer Science (Hons) 2002 — 2006
University of Portsmouth Hampshire, UK
Online Courses:
Coursera Full Stack Web Development, Server-side development with Node.js
Udacity Software Development Process, Design of Computer Programs, Parallel Programming (GPU/CUDA), Web Development

technical skills

Programming Languages JavaScript, Java, Python, Shell scripting, C++, C, Ruby, Groovy, Flash/Flex
Web Technologies HTML, CSS/SCSS, jQuery, Node.js, Web sockets (Netty, Tomcat)
Mobile Technologies Android, Twitter Bootstrap, iOS (Obj-C), iOS (Swift)
Databases/Storage MongoDB, Couchbase, MySQL, MSSQL, SQLLite, Spring Hibernate, Lucene, Hazelcast, Redis
Web Stacks Angular.js (1 and 2), Express.js, Django, CherryPy, Spring Framework (2.5 - 5.0), Java EE (JBoss, TomEE)
Mobile Stacks Roboguice, Appcelerator Titanium,
Productivity Tools Git, Subversion, Mercurial, Intelli-J, vim, MantisBT, JIRA, Visual Studio, LaTeX
Testing Tools Jenkins, JUnit, Mockito, unittest, Mocha, Jasmine, Karma, Robolectric
Software Engineering Automated testing (unit through to functional), architecture design, code review, agile methodologies, some BDD experience

projects & additional experience

To see some code I have written, visit my GitHub account.

PC media player remote control app for the Android platform. Interacts with the music and video players on your PC over a Wifi network. - Android

An Android app for listing tagged songs by users on Shazam. - Android


Contributer - 2007 — 2009

Revisioner is a simple utility for managing multiple VCS (bzr, svn, git, cvs) code branches. You can use the push-all and pull-all commands to upload or download new revisions of all managed branches at once. (Author: Hendrik Kaju) - Python, GTK, DBus

Native application wrapper for packaging webapps. - C++, GTK, HTML, CSS, JS

Personal Website

2015 — present

My latest personal website and blog; what you're looking at now. - Django, HTML, CSS (Less), jQuery, Skeleton