Skip to main content


Showing posts from March, 2013

Software Challenge 2013

Following on from a hardware challenge sent out at work last month, I posed a Software Engineering focused problem.

As a successful global company, we have many customers around the world. While marketing are gallivanting around, visiting customers, it might be handy to have a program that tells them which of our customers are closest based upon which customer they are currently visiting. Being an engineer who is interested in writing software that is useful to everyone, you decide to write a general solution to the quandary. Each of our customers lives at a unique location. For the purposes of this program, the world is flat, and the latitude and longitude are for all intents and purposes Cartesian coordinates on a flat plane. For example, in our flat world, lat 45, long -179 is not as close to lat 45, long 179 when compared to lat 45, long 170.

The task was to write a program that takes a single argument on the command line. This argument is a file name which contains the input dat…

Data Driven Documentation

The core idea behind the amazing javascript library D3 is about creating data driven documents. The lead developer is a technical wizard at New York Times, creating amazing interactive visualisations for breaking news stories.

Some of the most recent visualisations he has done:

Oscar connectionsTracking change in votingHow states have shifted over the decadesThe wealth and health of nationsWill it shuffle? I've been using the d3 library at work for a number of projects over the last year. From real time monitoring of test equipment, plotting and interacting with simulations, to creating a SVG model of a wheelchair remote, interacting with it using your finger on an iPad. I did something similar after returning from KiwiPyCon last year with a bluetooth remote controlled car - driven from a basic d3 powered website! Obviously its not just a nice javascript library that has allowed all this - Websockets and some server side Python has also been instrumental for me. 
I've also been…