Tech4Good Awards Glowstick Voting

The estimable Paul Hayes and myself raced against the clock to provide a glossy new take on the art of glowstick voting. Using a decent webcam, Python's computer vision fu (SimpleCV channeling OpenCV), the wonders of web-socketry, courtesy of Flask and SocketIO, and some rather gorgeous Javascripted GPU-shader wizardy we were able to turn a bunch of vertical glowsticks into a vote (Huzzah!).

Tell me more

Visualizing Smartphone Accelerometers with D3

The phone in your pocket isn't just recording your position by satellite and wifi signal (and sending it on to who knows where?), it also has little accelerometers which monitor the way the phone moves. This visualization takes data from an academic study, showing that phone users can be distinguished by their unique walking 'signature'.

See demo

Getting Your Python Data onto a Browser

A short, practical guide to making the leap from OS-based visualizations to something you can share with the world at the click of a button. Starring Python, Javascript and D3.

See talk

D3 Bespoke Histogram

A bespoke D3 histogram, with synchronizing axes. The variable radius and color of the plotted circles allows the representation of four dimensions, the x and y axes and two other counts.

See demo

D3 Generated Menu

A recent job required a menu that lets one progressively filter a packet of row-column data, drilling down to items of interest. It was refreshing to use D3 outside of charting and it dealt with the necessary DOM manipulations with ease.

See Demo

Historical UK Weather

I used Python and D3, the Javascript visualization behemoth, to transform some old pages of row-columnar data provided by the UK Meteorological into an animated coloured map, showing hours of monthly sunshine, millimetres of rain and maximum temperature.

See demo

Python, Javascript and Web-visualizations

A recent talk I gave at Pydata London 2014, which covered the various ways in which Python's data-analytical skills can compliment Javascript's burgeoning power web-side.

See talk

Braitenburg's Vehicles

One of the very few great books to come out of Cybernetics, Cognitive Behavioural Studies, Neuroethology etc., is Valentino Braitenberg's Vehicles. Probably the best known vehicle is the light-loving photovore and the demo shown scratches a personal itch - what happens when a group of photovores, each carrying a light source, are let loose. Play around with the parameters on the left to alter the characteristics of the ensuing mayhem.

See demo

Swarming boid's

Craig Reynold's original Boids demonstrated how natural looking animal flocking and swarming could be produced by applying very simple rules to each 'animat', governing things like distance to neighbours, centre of mass of neighbouring animats, avoidence and convergence tendencies. This demo lets you play with the parameters while the boids fly around - changing the quality of the swarming.

See demo

3D Diigo Tag Networks

I made a 3D force-directed-graph to visualize clustering in a connected graph. This demo shows the connections between my Diigo social bookmarks, currently 10,000 odd and their tags

See demo

Wikipedia networks

At a recent hackathon I used my 3D force-directed-graph to try and understand the way in which Wikipedia has presented the 2007 Financial Crash, starting with the crash page and examining the network formed by outlinks

See demo

Great LIBOR bank robbery

At a recent Brighton Digital Hackathon the topic was the Financial Crash 2007. I produced this animated D3 chart to show the extent to which LIBOR, the inter-bank lending rate, was manipulated by bankers, a multi-billion dollar fraud.

See demo

WebGL fireworks

I built a little programmatic fireworks display for a talk I gave on THREE.js, my favourite WebGL Javascript library. Such mini-projects are a great way to pick up skills - getting the THREE.js skymap down proved a little tricky (hint: you need two cameras).

See demo