Some interesting projects I have worked on…
Camera rig management
2018 – 2019
C# (WPF), C++, SignalR, gPhoto2
Working with a team under contract to a film studio, I developed the user interface and parts of the back end for a system that controls a large array of still cameras used for special effects.
Driving simulator system integration
2017 – 2018
C (on a PIC), C++, rFPro, Beckhoff TwinCAT & TcCOM
I joined a multi-disciplinary team of mechanical, electrical and software engineers working in the automotive industry to integrate core parts of the realtime control system. This mainly involved development of an rFpro hardware plugin, TwinCAT C++ (TCCOM) modules, and communication between those and the driving controls.
Mobile display unit management
I developed embedded client software and parts of a web-based content management system for a highly secure wireless network of public display units commissioned by a UK transport authority.
Real-time video processing
2016 – 2018
C++, CUDA, OpenGL, x86 assembly, C#
For version 2 of a third umpire / video referee system receiving multiple video feeds I developed high-speed realtime processing to decode live inputs and crop, scale and composit output for match officals. I had previously written version 1 of this system in its entirety, from back end to user interface.
Building management controls
2014 – current
C# (Winforms), OPC
I work with the Estates Department of an NHS hospital trust to create touch-screen HMI (human-machine interface) monitor and control panels for use by engineering staff.
Weather station data processing
I built parts of an automated system that transforms a constant flow of weather station data into formats suitable for onward transmission to the client's processing facility.
Site entry control point management
2015 – 2016
C# (Universal Windows Platform), Azure, SQL, Mobile
For a major UK transport hub I wrote key parts of a secure system that enables checkpoint staff to speedily validate delivery vehicles / drivers. My part was mainly the user interface running on hand-held devices and comms with the back end.
Corporate risk management
2013 – 2016
Flex, Java, PostgreSQL, Hibernate, Apache Tomcat
I was a member of a team contracted by a FTSE 100 company to build a series of management information projects that included a global risk management system.
Industrial print control
2007 – 2012
VB.NET, Visual Basic 6, PrintSoft PReS
I worked with industrial printing machinery, driving high-volume personalised print runs (every page individually tailored to the recipient), data pre-processing and workflow systems.
I got hooked on programming in 1985, seeking escape from seven years as a railway civil engineering technician.
That accidentally lead to my second career as a technical writer and editor on computer magazines.
Publishing had not been my goal but opportunity knocked and it turned out to be a great thing to do. Over the next 16 years I worked for Europress (Amstrad CPC Computing, PC Today), Future (PC Answers, PC Plus) and as a freelance.
My driving interest in coding and the insides of computers stayed with me. I had software published on cover disks, I edited the work of our coding contributors and I researched and wrote countless technical articles.
Sadly, the new millennium brought winter to the industry. Accountants stalked the corridors and quality was eroded by cost cutting. Time to step back, reasess and move on.
I realised that I had remained a techie who fetched up in publishing, never fully becoming a media person who covered tech. Years on, and with a lot of water under the bridge, I still loved writing software.
That persuaded me to revive 1985's Plan A to become a full-time developer.
This third career began in 2007 as the production programmer at a busy digital printing company. I got the job because they were a week away from losing my predecessor and I was the only option.
Having talked my way into the deep end, I somehow stayed afloat, grew into and eventually outgrew the job.
In 2012 I moved to a semi-freelance role in which I split my time between local engineering software company Dot Software and other clients. This enabled me to broaden my experience into diverse industries, project types and development technologies.