I’m ending out this year on holiday in Brittany with Eileen and my family.

A lot has happened since I last updated this blog. It’s been so long between posts that one (former) acquaintance emailed my parents to ask if I was ok.1

So, I haven’t kept up with this blog, most of my projects have stalled. I have two half-built keyboards, an article on its third revision, and all my stuff from Beijing still in boxes on various shelves.

On the upside, I’ve been quite busy this year and feeling a lot better about my life than at the end of 2023.

I finished my thesis at Tsinghua, went travelling a bit around China. I don’t have much to say about this first half of the year; I didn’t get to travel all the way back by train, but I did make it as far west as Lanzhou.

Freifunk

My return to Oxford was pretty abrupt, my brother invited me to stay in his spare room, and I ended up working on a Google Summer of Code project building a data pipeline / visualisation dashboard for Freifunk.

This graph shows the number of nodes in the Freifunk network over time, and you can read more about it in the project writeup.

Grouped nodes timeseries

Immediately after Summer of Code ended I was unemployed for about three weeks, and my brother told me I couldn’t stay with him any longer. I’m used to periods of precarity, but this was really not a fun time.

Thankfully I had Eileen, and she helpfully distracted me with fun projects. Over the course of a few weeks we dismantled her bicycle, painted the frame purple, and reassembled it together.

Pedal and Post

I got a job as a cycle courier for the main local courier company in Oxford. I kept GPS tracks of most of my cycling routes, and I’m intending to do something cool with those traces one day.

The job was low paid, the work was hard (even with a cargo bike with electric motor), but overall I was happy. I got to know my city much better, and with all the constant exercise I ended up getting super fit. The other riders were friendly, the work itself wasn’t stressful or degrading.

There’s a lot more to say about why cargo bikes are ideal for last-mile delivery in Oxford. Pedal and Post is focusing on colleges in the first instance to replace the patchwork of different operations with one unified delivery service. The fracturing of the postal network into a monopsony2 of cuthroat logistics companies is extremely inefficient and doesn’t really benefit anyone. Of course, we already have a fully-integrated national postal service which should really be handling these deliveries. I’ll leave this whole discussion for a separate post which I will write… someday.

Othwerwise, this wasn’t the first time I’ve worked as a cycle courier in Oxford; it’s not a career, but if you’re ‘between jobs’ you can do a lot worse than this.

Programming projects

Besides Freifunk, I worked on a few coding projects over the year. My Github contributions chart is looking healthy, you can see the burst of activity over the summer and now towards the end of the year.

2024 git contribution graph

Typst

In addition to the nth package, I released a Typst template called October. The template generates a yearly calendar, and the one for 2025 can be downloaded as part of the latest release on Github.

2024 calendar example

I gave Eileen a full A3 printed edition as a Christmas present, and she’s using it to plan out her shifts at work.

Web dev

Besides tinkering with this website, I started a new (paid!) website project using Zola. I considered moving this site to Zola, but there are a few features I’m waiting for:

And, you know, rewriting this site using a new build system is just another level of distraction from my growing draft posts pile.

In between those projects, I started working on a ‘Mobilizon-like’ calendar web service aimed at replacing Facebook events for activist groups. After rewriting the database API a few times I was making no progress, and eventually gave up on it.

I also gave a talk about the UK Coronavirus dashboard at Oxford Geek Night #58. I have the recording of this (thanks to Eileen) but now embarassed to post it because I realised my public speaking skills need some practice. A lot of mumbling, ‘um’s, not very confident.

Computer Librarian

In November, I was hired as a software developer for the Bodleian Libraries, working on a project to archive social media posts. That’s where I am, still learning Rust and happily hacking away on free and open-source software. Everything turned out okay in the end!

Cultural things I enjoyed

In no particular order:

No Room
Radio comedy sketches with a weird echoey soundscape, also on youtube (but listen to the radio show, it’s better).
Deadpool and Wolverine
I’d been waiting for this for years, it was a lot of fun, some of the gags got me laughing out loud in the cinema. Eileen took me for my birthday, all in all a pretty memorable experience.
The Naked Week
A surprise hit from the BBC Friday Night comedy slot, the show plays on lighthearted jokes about current affairs, but with an investigative journalism angle which makes everything land a bit harder than usual.
20th Century Men
An alt-history graphic novel set around the Soviet intervention in Afghanistan. Beautiful writing, and art. I did write a post about it. Maybe I should publish that.
Artificial Islands
A birthday present from my parents, all about CANZUK, modernism, and British colonial architecture. Unfortunately Owen Hatherley didn’t like Auckland much, though I tend to enjoy his writing (and am scared to criticise it) because it reminds me a lot of the things I think about and write on here.
  1. Dear reader, thank you for your concern; please don’t email my parents. 

  2. In the sense that the sellers of a delivered product (Amazon, grocery chains, Virgin Media, etc.) hold market power over the big delivery companies, who themselves hold market power over a series of secondary delivery companies (eg. Pedal and Post). The end consumer rarely gets any choice in how their thing is delivered or by who.