Web objects, data visualisations and technical curios.

2021: Point-light dancer

Moving dots create the powerful impression of a human dancer (because they mark the joints, as extracted from real video of a dancer).

Uses google’s mediapipe, ffmpeg, python

2021: Experiment Design Checklist

Pages / repo

Uses: github pages, markdown, css, CC license, github citation widget, zenodo for doi

2021: Edale Rewilding project

The bank of the river was fenced off in April 2021, preventing daily grazing by sheep. Timelapse footage shows regrowth in May and June

Uses: Browning BTC-7A trail camera, ffmpeg

2020: Correspondence of Gregory VII

This project involved taking digitised records of the Pope’s correspondence, geolocating the destinations and then various visualisations of the spatial and temporal patterns, including these maps.

And with a different map base

Blog post: ‘Holy Satan’- Visualising the Letters of Gregory VII (1073-1085) / Data set and plots: / github repo / markdown page

Uses python & geopandas, ffmpeg

2020: Timelapse photographs of dawn


Uses: Canon digital SLR, gphoto2 and darktable on ubuntu linux, ffmpeg

2019: @choiceengine

A twitter bot which you can send messages to, in the style of a Choose Your Own Adventure / text-adventure, exploring essays about the neuroscience, psychology and philosophy of freewill.

With James Jeffries (code), Jon Cannon (design) / New Scientist article / Blog post at

Uses ruby, markdown

2019: Pressure vessels

Scraping from PDF and plotting data on mental health among UK University staff, obtained by freedom of information request

Blog post, github repo

Uses python and tabula

2019: Mapping The Itinerary of King Edward I

In medieval England, King visits you

With Charles West and Charlotte Tompkins

Data, code and plots

Uses python and cartopy

2019: Animated Itinerary of King John

An excuse to make animated maps …

Pages / repo

Uses: Python and Pandas and Cartopy, ImageMagick

2018: Lazy and biased? Reanalysis of Pennycook & Rand’s (2018) data

Using open data to look more closely at a study of whether people can spot fake news

Pages / repo

2018: Light reanalysis of Čavojová et al (2018)

Reanalysis of open data from a study of bias shows that accurate discernment is the main result, and participant bias a small variation around this baseline

Notebook / repo

2017: European map of Implicit Racial Bias

Implicit associations reflect the difference in ease with which you associate two objects. For this map we took data from a large crowdsourcing project which gathered data from ~144k white Europeans and measured the ease with which they made negative associations with black faces.

With Gittu George

Plots / code & data / The Conversation: This map shows what white Europeans associate with race – and it makes for uncomfortable reading

Uses Project Implicit data, R & ggplot

2017: Debating Sex Differences in Cognition

Showing the slides and transcript from a talk I gave summarising a graduate seminar I coordinated.


Uses: python, markdown, bash, html/css

2016: Emergent models of mind

A short course about simple computational models of memory, taught using Jupyter notebooks

Course repo / class 4 notebook on hopfield networks

Uses: python, ipython/jupyter notebooks