Christopher Henderson

Picture of me

I am a developer in Christchurch, New Zealand.

Right Now

I am currently a developer at Webtools, a small development shop in Christchurch. I wear many hats there, mostly developing web apps and managing servers.

Web Apps

I create and maintain web applications for our many diverse clients, from electricity retailers to healthcare professionals, transport agencies to city councils. Often these are internal tools with complex requirements, which must be planned and developed with care.

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

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

DevOps

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

SmartCross

SmartCross

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

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

The game software itself is written in Python, using the Kivy framework. This provides 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've built a custom device management system, which provides Sigfox integration, custom alerts, and realtime dashboard.

P2C and TruckR

I develop and maintain 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