Last 5 Posts

More Posts

Between writing up my thesis, applying to jobs hire me! I’m quite good at programming, and the ongoing pandemic, I don’t really have time to write full blogposts. I have however decided to brush up my python skills and dive headfirst into Julia. As such, I like to answer the toy problems posted at fivethirtyeight’s riddler weekly. These will likely be even a few weeks late but it motivates me to tend to the blog and keep up my programming.


#for working with polygons library(sf) library(sfheaders) library(tidyverse) library(gtools) set.seed(22081992) Riddler Express This weeks express deals with an erratic driver: In Riddler City, the city streets follow a grid layout, running north-south and east-west. You’re driving north when you decide to play a little game. Every time you reach an intersection, you randomly turn left or right, each with a 50 percent chance. After driving through 10 intersections, what is the probability that you are still driving north?


Every Tuesday, the R4DataScience community posts a dataset online as part of #TidyTuesday as practice wrangling and modelling data. For the week of 5th May 2020, the dataset concerned the video game Animal Crossing. Intro Radiohead - How I Made My Millions I don’t play Animal Crossing (unfortunately Nintendo Switches sold out as the UK went into lockdown), but it seems that everyone around me does so I’ve become fascinated by how it has created almost a surrogate life for people, performing manual tasks to pay off loans to Tom Nook, the nefarious bankster of the player’s island.


I wrote this one pretty quickly compared to part 1 (which goes much deeper into mathematical concepts), and only realized after how much of a similarity it has to many of Ben Torvaney’s posts on the subject. This probably isn’t a coincidence given how much I’ve used his work previously in posts on this blog. Any imitation here is meant as flattery. The purpose of this post is really as a bridge between what I really want to write about- the maths behind the models in part 1, and extensions of these models into other distribution in parts 3-n so it might be a little derivative of stuff written elsewhere.


written during lockdown so while I think it adds some value (and is useful to organise my thoughts on the paper for my own work on football) there are probably mistakes. E.g. the C++ code is still pretty inefficient and could well be improved and I’ve surely confused some maths concepts. To be honest, the post is just an excuse to practice writing LaTeX maths and some C++. Let me know my errors and I’ll correct


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)