I am a Research Software
Engineer, and currently run
the RESIDE research
software group within
Centre for Global Infectious Disease Analysis. I am excited
about ways to break down the barriers between domain experts and
code and help people do more science per line of code written.
Previously, I have:
Occasionally, I blog
on my group's
blog, or contribute
blog. This post
from 2014 in particular remains very relevant. Academic
Scholar, though I've not actively published for many years
I occasionally tweet
and am on Mastodon
Previously, I wrote a teaching blog at
with Daniel Falster
My current professional work can be found on
pages, and my software can be found
on my GitHub page, as
well as the
organisations mrc-ide, vimc
Currently I am working on:
The next iteration
our continually-reproducible reporting framework
which will be more powerful and flexible.
Our framework for dynamical modelling built around
Designing robust approaches to deploy research software to the web.
Active projects that are more personal include
the most fully featured Redis
client for R.
a complete docker client for
R, automatically generated from the docker OpenAPI
a very fast key-value store for R, implemented
Very occasionally, I code outside of work:
- more colourful replacements to message
and cat, inspired
- encode arbitrary R objects in cat pictures.
- a complete, pure-R, implementation of
system for fancy terminal writing.
I am a huge fan of Advent of
Code, and we use this to expose Centre researchers to
programming concepts each December:
Previous projects include:
- diversitree - a large suite of phylogenetic methods, developed and implemented during my PhD. No longer in active development but still in wide use
- geiger, arbutus - packages with Matt Pennell for comparative phylogenetics.
- plant, a framework for eco-evolutionary modelling with Daniel Falster, still under development in his lab
- TRAMPR, a package for analysing T-RFLP data in fungal communities before the advent of next generation sequencing. My first publicly released R package, and still in use after more than 15 years.
I'm always interested in speaking opportunities, especially
around reproducibility, software processes in multidisciplinary
teams or directly on any of the projects above -
please get in touch.
Some representative talks:
- 2023 Research Software Engineering in Data and AI workshop, Warwick University/Alan Turing Institute - slides
- Our approach to handling ever changing data streams
during the UK COVID-19 response, creating reproducible
pipelines with automatic provenance tracking.
- 2022 RSLondonSE - slides
- An overview of the technologies used in the UK COVID-19
response, from the simulation and inference tools to our
approach to data management and reproducibility.
2020 Research Software Engineer Stories Podcast -
In the relatively quiet period after the first wave of
the COVID-19 pandemic, I talked with Peter Schmidt about
the roles that software and software engineering had
played in the response so far, and the role of best
practices as they applied in different parts of the
London (b2b with Matt Dray) - slides
On the eve of the COVID-19 pandemic, my last in person
talk for over two years with an ominous graph showing
growth in infection numbers. The next iteration of my
2019 rOpenSci Community call on testing - slides, recording and resources
- A tutorial-style presentation and discussion on best use
of software testing for those new to the idea, or those who
struggle to effectively integrate it into their
2019 UseR! Toulouse
- slides, video
Description of odin, focusing on solving complex systems
of differential equations. At this point we were pleased
with the system, but had no idea how it would change over
the next 12 months!
- 2019 RSLondonSE - slides
Challenges in reproducible research, and how simple
workflows can help. My first attempt at describing the
tries to solve.
- 2018 Oxford R User Group - slides
- A discussion of three projects where exploiting
peculiarities of the R language (such as “non standard
evaluation”) can build highly expressive user
interfaces. Discusses cyphr, odin
- 2014 Sydney Users of R Forum (SURF) - slides
- My first public attempt to outline practical issues
facing researchers trying to work in a reproducible way,
outlining the tools they might use and challenges they might
- 2013 ESEB keynote - slides