Last 5 Posts

More Posts

One of the most consistent fonts of posts on this blog is The Guardian’s football trivia page The Knowledge. A particular reason for this is that the small contained questions lend themselves to small blogposts that I can turn around in an hour or two, as opposed to being endlessly redrafted until I lose interest. However, I still sometimes don’t quite get round to finishing some of these posts, or have trouble justifying a blog post on a very small and ‘trivial’ answer to a question.


I’m extremely biased, but to me, one of the real success* stories in neuroscience over the last (just over) two decades has been in studying reward signals. Since the seminal 1997 paper, a lot of work has gone into figuring out how the brain assigns value to outcomes. *ugh, maybe. This isn’t a blog post about that My PhD project looks at novel ways of eliciting valuation behaviour to study these signals, but as a key part of the modelling involved in this work, it’s important to get a handle on reinforcement learning.


In my free time away from PhD and data science work, I (used to) enjoy rowing. Aside from obvious benefits like socialising, providing a (very intense) workout, seeing the outdoors at least a few times a week… there are really two things that I love(d) about rowing: It’s the sport that is closest to a simple engineering problem. Going fast basically boils down to how in time and how hard you can get 1-8 guys to move an oar through the water.


A while ago (and also still a bit) racing bar charts were all the rage on data visualisation forums/twitter. Perhaps one of the real breakout examples is this tweet from the, always excellent, John Burn-Murdochat the Financial Times, looking at the most populous cities in the world since the middle ages: New project: A “Bar Chart Race” animation showing the changing ranks of the 10 biggest cities in the world since 1500.


For a recent blogpost, I required data on the ELO ratings of national football teams over time. Such a list exists online at and so in theory this was just a simple task for rvest to read the html pages on that site and then fish out the data I wanted. However, while this works for the static websites which make up the vast majority of sites containing tables of data, it struggles with websites that use JavaScript to dynamically generate pages.


Selected Publications

ggparliamentis useful research tool for a variety of social science disciplines, includ-ing quantitative political science. It is particularly beneficial for political scientists whoresearch political institutions, such as electoral systems, party politics, or legislative pol-itics.ggparliamentprovides several layouts, representing different legislative chamberse.g. the United Kingdom’s House of Commons, Australia’s horseshoe-shaped parliament,or the widely-used semicircle legislative chamber.
In JOSS, 2019

The cellular basis of the magnetic sense remains an unsolved scientific mystery. One theory that aims to explain how animals detect the magnetic field is the magnetite hypothesis. It argues that intracellular crystals of the iron oxide magnetite (Fe3O4) are coupled to mechanosensitive channels that elicit neuronal activity in specialized sensory cells. Attempts to find these primary sensors have largely relied on the Prussian Blue stain that labels cells rich in ferric iron…
In PNAS, 2013

Recent Publications

. ggparliament: A ggplot2 extension for parliament plots in R. In JOSS, 2019.


. No evidence for intracellular magnetite in putative vertebrate magnetoreceptors identified by magnetic screening. In PNAS, 2013.



My CV is available in PDF form. (Last updated: November 21, 2019)

Recent & Upcoming Talks

Considering Defensive Risk in Expected Threat Models
Oct 11, 2019 1:00 PM


Could Yorkshire Win the World Cup

In 2018, after watching the CONIFA World Cup final live, I wondered if an Independent Yorkshire could win the FIFA World Cup. This resulted in a few blogposts that were turned into an article in Citymetric magazine

Guardian: The Knowledge

In my free time I enjoy answering football trivia from The Guardian’s The Knowledge blog programmatically

R Packages

In my free time I like to make various R packages for small things I work on. Here is a list of them.

Statsbomb Conference

In Summer 2019, I won the chance to explore a hypothesis in football analytics using data from Statsbomb. My final project looked at Markov chain models of possession value in football, and considering how to incorporate defensive risk into such models.

RInforcement Learning

Example answers to end of chapter problems in Sutton and Barto - Reinforcement Learning (2016)