Rejected Sci-Fi Ramblings from my MSc

VR view of a room. A graph floats in midair.

It was only after I started editing my MSc down to its prescribed word-count, that I finally understood the phrase Kill Your Darlings. I spent ages writing florid prose, only to realise it was needless verbiage. The delete key was hammered mercilessly. But... As all fans of Jasper Fforde know - there is a "Well […]

Continue reading →

I got a DOI from arXiv for my MSc!

The DOI logo.

Welcome to acronym city! I recently published my Master's Dissertation. I say "published" - I just shoved it up on a website. But real academic publications should have a DOI - it's an identifier which is supposed to make it easier for people to find and cite paper. You know how books have a unique […]

Continue reading →

Responsive Yearly Calendar with Flexbox

A grid of calendars. One calendar item has moved to the next line.

This blog has a calendar showing my yearly archives. It was in a table layout - which made sense when I first designed it - but had a few spacing niggles and was hard to make responsive. Now, it behaves like this: The code is relatively straightforward. The HTML for the calendar looks like this: […]

Continue reading →

So, farewell then COVID-19 App

Pop up notification saying the NHS covid app is shutting down.

Today is a day of mixed emotions for me. The UK's COVID tracing app is finally closing. The app was, by any reasonable measure, a success. A team of experts at the Pandemic Sciences Institute at the University of Oxford and Department of Statistics at the University of Warwick estimate the NHS COVID-19 app prevented […]

Continue reading →

Why aren't there more visual programming languages? (An ode to DRAKON)

Part of the MD5 algorithm expressed in colourful Lego blocks.

I think the computer programming industry is about to reach a reckoning. No, not because ChatGPT can poorly plagiarise buggy code - but because a whole generation of kids have grown up with Scratch. And they'll want professional tools which have Scratch's level of usability. Hand-coding YAML files is a mug's game; one wrong whitespace […]

Continue reading →

Silence Isn't Consent

A confused little cardboard robot is lost amongst the daisies

I was in one of those interminably dull video-conferences a few weeks ago. The presenter was pitching their grand vision of what our next steps should be. "So!" They said, "Any comments before we launch?" No one said anything. After half a minute the presenter said "As there are no objections, we'll proceed. Silence is […]

Continue reading →

Using Pandoc to format a Dissertation from Markdown to HTML, PDF, and ePub

Cartoon showing Pandoc turning data into a document.

Metawork is so much more fun than real work. Sharpening your pencils. Colour coordinating your filing system. Creating Gantt charts of what you intend to do. Marvellous! In that spirit, here's how I used the venerable pandoc to convert my MSc dissertation from .md into a variety of more readable formats. Prep I've no idea […]

Continue reading →

Book Review: It's Not About the Burqa - Mariam Khan

Book cover featuring illustrations of women wearing various head coverings.

Much like "Why I’m No Longer Talking to White People About Race" this is a book that's a little tricky for me - a white apathist man - to review. I'll cheerfully admit that I don't get religion - any religion. And I doubly don't get why people tie themselves to a religion which seems […]

Continue reading →


A sign pointing down to the 52 Club Clinical Research Facility.

This is a Retropost. I wrote it contemporaneously - but was only allowed to publish it a year later. Today I took part in "A Phase 2/3, Randomized, Observer-blind, Active-controlled, Multicenter Study to Evaluate the Immunogenicity and Safety of Omicron Variant Vaccines in Comparison with mRNA-1273 (Prototype) Booster Vaccine". In the name of science, I […]

Continue reading →

How do you decentralise emergency alerts?

Cartoon of a tusked mastodon holding a phone.

Twitter's decision to hobble its API has meant that a number of useful alerting bots might no longer function. Your local subway might not be able to Tweet each morning about delays on the line, nor will a tornado warning be displayed as you scroll through photos of brunch, and forget about flood alerts between […]

Continue reading →