Free software contributions

I enjoy contributing to free and open source software; here is a selection of my work.


permissible A resource-based permissions system for building web APIs in Python.


I've contributed several patches to the static site generator kiln, which which this site is built. These include the addition of functions to the template languate, and improving the template resolution logic.

Alpine packages

I maintain (at the time of writing) 16 packages for the Alpine distribution. These incliude scientific computing libraries, desktop shell components, task management software, and a music downloader program.


Fedora packages

Before switching to Alpine, I used to contribute packages on Fedora's COPR. These included iwyu, sniproxy, swayfade, tmux-xdg, and swaylock-effects.

I also worked towards making builds possible for OpenRCT2 and jellyfin.


Vibing Cat synchroniser

Having fun synchronising animated images to the beat of music! Discussed in this blog post.



Responsible for the Python 2-to-3 transition for a major forensics tool, through this issue and these patches.


I contributed systemd service files for running hydroxide, an unofficial ProtonMail bridge, on a server. Nowadays I use Migadu as my mail provider.


Submitted proofreading improvements to the guide.


khinsider_downloader A script to download albums and album art from, a video game soundtrack archive website. Archived, as it has been superseded by Marcus Crane's khinsider.

gremlins-photobot A simple web server for collaboratively building photo albums.


budgeter A command-line budget tracker which automatically categorises your transactions from your online bank. Works via CSV import.

Articles from blogs I read

Porting Helios to aarch64 for my FOSDEM talk, part one

Helios is a microkernel written in the Hare programming language, and the subject of a talk I did at FOSDEM earlier this month. You can watch the talk here if you like: A while ago I promised someone that I would not do any talks on Helios until I could preseā€¦

via Drew DeVault's blog February 20, 2023

Personal Knowledge Management: my current approach

My history with personal knowledge management, an overview of my current system, and my thoughts on potential additional use cases.

via Josh Smailes February 12, 2023

AIs galore

2022 was an amazing year for AIs.

via Not Just Serendipity December 27, 2022

Generated by openring