Here’s a conundrum. When posting a new preprint, we typically have to juggle up to three DOIs (for the preprint, the code, and the data). How can we cross reference these DOIs? The problem Ideally, we would reference the DOIs of the code and data in the paper, the DOIs of the paper and code […]
Close To Me: finding close parkruns
I saw a fun video on YouTube recently in which some runners attempted to do two parkruns in one day. I don’t mean run the same parkrun course twice, I mean they ran one parkrun at one course and then drove to a different course and ran that one too. The challenge was to do […]
Papers for MD9A8 – 2026 edition
It’s 2026 and so it’s time for another edition of “the papers I selected for a module that I teach”. Previous selections are here (2025, 2024, 2023, 2022). The list serves as a snapshot of interesting papers published in the previous 12 months or so. I hope it’s useful to others who are looking for lists […]
Running Around: an R package to analyse Garmin running data
In my previous post, I shared my annual running stats which were generated in R using summary data from Garmin Connect. The code I use to generate these summaries was beginning to get a bit unwieldy, so I have now rebased it into a package. GarminCSVr – is an R package to look at running […]
Running Around: 2025 running dataviz in R
In this post I’ll use R to recap my running data from 2025. Previous round-ups are here (2021, 2022, 2023, not sure why I didn’t post one for 2024…). I had a goal of running a total distance of 3650 km in 2025. In truth, after running 3500 km in 2024, I decided to aim […]
What’s In The Box: Wrapped but not streamed 2025
I’m a music fan who is anti-streaming and instead I stubbornly maintain a large music collection. At this time of year, streamers receive a round-up of their year’s listening in a “wrapped” report. Not wanting to miss out, I set about rendering my own annual round-up using R! If you’d like to see a pick […]
Choose Your Fighter: data-driven selection of the best marathon
Running a marathon is a big deal. It takes a lot of time to train to run a good time, and it takes a while to recover. So, if you’re chasing a marathon PB (personal best) time, you need to choose which Marathon to target wisely. How can we use data to help our decision? […]
Adventures in Code VII: getting started with napari
I’ve dabbled a bit with napari – the python-based image viewer – but never needed to use it seriously. I had a real use case so I thought I’d write up the process of how I got going with napari, in case it helps others. My use case I wanted to overlay tracks onto microscopy […]
Pledging My Time VII
Here we go again! I ran the Mainova Frankfurt Marathon 2025 and wanted to look at the race results. How can we do this using R? I couldn’t see an easy way to download the data, so I used R to scrape them. Note that these times are currently provisional, but they give us a […]
Where are they now?
An idea for a masters-level class or journal club alternative: “Where are they now?” but for big splash papers published in the 2000s. Take a few papers published around 20 years ago, then follow what happened subsequently. Thinking about papers in my own field from that period, the broad possibilities are that a given paper: […]