About Me

I'm one of those people who genuinely loves technology.

As a kid I took things to bits to see how they worked - telephones a speciality. Thankfully, with time, "see" became "understand", "work" became "work better" and taking an active role in technological innovation became a central theme of my life. This is what I do now...

I make new things, mostly in software.

Two decades on from leaving University I have experience across much of the technlogical landscape - Lots of software engineering, in both static and dynamic languages. Projects delivered for a wide variety of industries including network hardware, visual effects, consumer software, and post-production. I've used maths for music, c++ for speed, administered servers, raised vc, grown to love python and best of all, made people's lives better.

In 2015 I started investigating the various container ecosystems with an eye to consulting in one of them. I found SmartOS (an Open Solaris derivative) to be the best available substrate for container deployment, but with an extremely small ecosystem and non-trivial porting. However, I've invested heavily in SmartOS skills and can now deploy zfs, containers, vm's, and software defined networking in the same machine; very securely; as part of a distributed system; and as a day to day development environment.

I'm currently building 20ft.nz - a secure, fast, always-on container infrastructure with a Python SDK.

Tell me about

Why should I care about containers?

A short examination of containerisation's value proposition.

Where have you worked and what on?

Experience. It's not very ... linear.

Why care about containers?

Enterprise IT develops and deploys software slowly and with too much risk.

For our industry this is the problem and many of our advances (since the late 1960's) have either been against this problem, or towards minimising its effects. In the last decade, the broad uptake of agile management techniques has reduced risk significantly - principally by taking large, high investment, intractable monolithic projects; and reducing them down to a number of smaller, cheaper and literally more agile sprints. Virtualisation and/or Cloud technologies have eliminated the need for both a large up-front investment, and the risk that incurred. And where version control bought predictability to actually building software... automated testing, continuous integration and the rise of devops tools have started to extend the concept onto the infrastructure itself.

These four techniques - agility, version management, virtualisation and cloud deployment - form the backbone of modern software development. Containers are about doing it more.

The concept of installing software is eliminated.

Developers create scripts to make the containers, which are then delivered as versioned binaries with no installation requirements, leading to the elimination of a whole class of management problems. Orchestration removes the need for chef/puppet/etc scripts while still ensuring that the infrastructure itself is still software defined and therefore versioned. Startup times are approximately 10x faster than with VM's, so the rapid provisioning of test environments and customer demos finally becomes a reality.

At the leading edge, new classes of application become possible.

20ft has a strong emphasis on controlling the physical location where code runs. Primarily this is for geographic redundancy, but with little effort the same principle can be used for IoT applications, NFV, service differentiation or new classes of edge computing. The programmatic nature also gives rise to new architectures such as user-per-container and self-serve private SaaS.

You should care because...

Containers increase development velocity, reduce deployment risk, improve resilience and free employees to work on business requirements instead of fighting fires.

Experience

A word about this timeline: For much of my career I have worked for a company, often mine, but have done work on behalf of another. Similarly MixTape was a full time project that became part time (and led to spinoff work) and some smaller projects have been omitted completely. This timeline is thus not exactly linear and describing it as such is something of a challenge...

10.2015 -

20ft.nz - Container Infrastructure Provider.

20ft is a reaction to the current complexity of container infrastructure. As a multi-tenant infrastructure it's able to instantiate containers without first creating a VM cluster; uses SmartOS as it's underlying hypervisor, eliminating address translation problems and providing greatly enhanced security; supports physical location as a first class object and has a Python SDK to provide agility where traditional orchestration solutions create a static deployment. Early applications are for the testing, CI/CD and fintech sectors. It currently available on an invite only basis.
01.2009 -

Atomic Droplet - Independent Software Vendor.

I develop, support and publish MixTape, an elegant and 'prosumer' centric music mixing application. Initially for sale through a home grown ecommerce facility, it's now for sale through the Mac AppStore and I participate in various co-marketing arrangements. A portion of the codebase was also licensed to a third party.
03.2015 - 06.2015

SilverStripe - Senior Solution Architect

My job description was extremely broad, but my time with SilverStripe was split between: acting as a 'first touch' technical contact for new clients; working with the account management team on writing proposals; and I joined a scrum team for an entire (but short) project.
11.2014 - 02.2015

Fronde - Solution Architect

I primarily worked with a client creating an HA backend using the Microsoft stack. The project was made more interesting by a broad definition of data and an agile approach towards its use.
06.2013 - 09.2014

Metra Weather - Software Engineer (C++, GLSL)

I maintained and enhanced Weatherscape XT, a live graphic solution for media industries across several counties including the UK, Korea and Thailand. I worked mostly with geometry, frame delivery and software architecture.
01.2011 - 09.2013

Weta Digital - Research and Development Software Engineer (C++)

For Weta I developed a voxel database and interpolation framework with storage requirements into the billions. I am credited as an R&D engineer for TinTin and The Hobbit.
01.2008 - 10.2008

shinywhitebox - Software Developer (Objective-C, GLSL)

I developed an OpenGL capture and compresson pipeline for live compression of HD streams.
02.2007 - 12.2007

Atomic Droplet - Self-Serve Advertising Venture.

Atomic Droplet was originally formed to create an internet advertising service with a unique reverse auction model. An early 'ajax' application, the technology worked but was not commercially successful.
09.2005 - 09.2006

Virtual Katy - CTO.

Initially bought in to help with raising venture capital, my previous company was acquired (for stock) and I became the company's Chief Technical Officer. We developed software that was the undoubted leader in it's niche and we were awarded the PAR Excellence Award. The company was eventually acquired by a group in Singapore.
12.2003 - 06.2004

Kiwa International - Outsourced Development.

My company was the sole provider of technology services for the VoiceQ ADR product. We ran the project from whiteboard to delivery including hiring contract staff from overseas. The software won a Hollywood Post Alliance Special Recognition Award for Engineering Excellence and my clients were honoured as Maori Innovation Icons. Development continued on an 'as needed' basis until 2009.
05.2002 - 07.2005

Periscope - h264 video conferencing development.

I created an R&D project to investigate the use of the (then new) h.264 video compression protocol in video conferencing. Despite having the only realtime software encoder in early 2003, efforts to commercialise the technology into the education sector failed.
09.2002 - 06.2005

Periscope - network infrastructure consulting.

I performed an independent comparison of 2G mobile data networks; and maintained infrastructure for CreativeHQ and Medialab South Pacific.
10.2000 - 05.2001

Afterswish - network load balancing.

My company created some load balancing IP which was eventually acquired by Allied Telesis for deployment in Japan.
02.1994 - 10.1999

Work in the UK

My early career consisted of my first company; work with C++ and MFC; some algorithm development and a short but instructive time working for Cable and Wireless.