Christopher Henderson

Picture of me

I am a developer in Christchurch, New Zealand.

Last Seen

For over 2 years, I lived and worked in Vienna, Austria. I was a full-stack developer at UBIMET, a provider of weather forecasts and other meteorological data.

Weather Tech

I worked on various weather dashboards that provided clients with timely and accurate data and forecasts. Technologies included PHP (Zend framework), Java (Spring), PostgreSQL/PostGIS, jQuery and ExtJS.

Previously

I was previously a developer at Webtools, a small development shop in Christchurch, New Zealand. I wore many hats there, mostly developing web apps and managing servers.

Web Apps

I created and maintained web applications for our many diverse clients, from electricity retailers to healthcare professionals, transport agencies to city councils. Often those were internal tools with complex requirements, which had to be planned and developed with care.

Our technology stack was a tried and tested combination of CentOS 7 and PHP, with the Yii2 framework. Our preferred database was MySQL and we collaborated using Git.

I was also no stranger to more straightforward—but no less important—projects such as company websites. For these, our CMS of choice was SilverStripe, with a powerful and flexible PHP framework that allows great out of the box functionality and easy customization.

DevOps

When not working on web apps, often you could find me provisioning and maintaining servers for our operation. Our collection of CentOS 7 VPSs were provisioned with custom Ansible playbooks; I ensured that there were playbooks for all our requirements, and that the servers were secure and running effectively.

SmartCross

SmartCross

I created the software that powers SmartCross, a fun and engaging touch-screen system for pedestrian crossings. You could play a Pong-like game against a person across the street, or against the AI. These devices delighted residents and visitors to Christchurch in two central city locations.

Inside each device was a Raspberry Pi 3 running Raspbian Linux. The operating system was provisioned and secured to stop unauthorised access. I wrote a secure software update system that allowed installation of new game software in the field, using cryptographically signed packages.

The game software itself was written in Python, using the Kivy framework. This provided good performance and rapid development of new features, like a survey system and logging of games to a central API.

Internet of Things

Through its Ento brand, Webtools is providing IoT solutions for a variety of industries. I built a custom device management system, which provides Sigfox integration, custom alerts, and realtime dashboard.

P2C and TruckR

I developed and maintained the P2C website, which provides current and historical traffic information for a critical New Zealand highway. The system downloads and processes traffic radar data and presents it in a clear and usable format.

Related to P2C is TruckR, a native Android/iOS app that provides information about the same highway. It features an alerting system for road closures and other disruptions, and an offline map so that travelers can find places to have a rest or grab a bite to eat.

I wrote the management system to automatically process the alerts, and update the map features, and provide the data via an API (documented using Swagger). I also fixed bugs and added features to the iOS app, written in Objective-C.

Before That

I was for five years a Client Facing Engineer at SLI Systems, a leading SaaS provider of search engines for E-commerce sites. I worked with customer success representatives to communicate with the customer, to ensure a smooth integration process.

My job was to integrate client data with our search system, through the processing of CSV, XML, and other delimited data. This involved the use of shared and custom Java code, with TDD. Once the product data was in our system, I would use PHP, HTML, and JavaScript to present the search results on the customer website in a seamless way.

I worked as part of a team to create and improve internal tools, and I was Technical Lead for a team of client facing engineers. I was also responsible for a major update to the mobile search template system, optimising the search display for mobile devices.

Back in the Day…

I have been programming since the days of Windows 3.1 and QBasic. Mostly self taught in technologies such as HTML, JavaScript, CSS, Java, and Python, I have never shied away from trying something new. I have worked with and am comfortable hacking away in Windows, Mac OS X, and Linux.

More About Me

Born in 1984 in Lumsden, New Zealand, I spent my formative years on a crop and sheep farm and attending the local rural schools. A love of astronomy took me to Christchurch for university, where I've been ever since.

Exploring New Zealand

When I'm not coding, I'll often be:

Education

Coursera

Open Polytechnic

University of Canterbury