A comic version of a white guy with short hair, smiling.

Blog

Jujutsu in practiceJujutsu is a version control system, an alternative to Git. This blog post is not a tutorial, but practical examples of how I use it.
We need more zero config toolsRecently, I’ve become fond of tools that just work, out of the box. This blogpost is an ode to them.
Emacs Config From Scratch, Part 3: LSP & Tree-sitterIn this third part of my Emacs Config From Scratch series, I configure LSP and Tree-sitter.
Writing an SDK in ZigPart 1 of writing an SDK for Axiom using the Zig programming language.
Thoughts on ZigI’ve started writing Zig. These are my thoughts.
DIY Music Streaming with NixOS, Jellyfin and ManetIn this post I describe how I’m hosting my own music streaming service with NixOS and Jellyfin on Hetzner for €6 / month.
I Lived 7 Days without a SmartphoneI left my smart phone at my desk for 7 days and instead used my Apple Watch Ultra 2. This is how it went.

2023

My Favorite Articles of 2023In this post I collect my favourite articles of the whole year.
Emacs Config From Scratch, Part Two: Projects and KeybindingsIn this second post in my Emacs from Scratch series, we’ll set up a way to manage projects, quickly find files, set up custom keybindings, interact with Git and open a terminal inside Emacs.
Yearly Themes 2024I review my yearly themes for 2023 and set new ones for the coming year.
Emacs Config From Scratch, Part 1: FoundationsThe first post of my Emacs from Scratch series is all about the initial setup and defaults.
30 Bits of Advice for 30 YearsThis article contains some advice I’ve collected in my life so far.
We Need to Bring Back WebringsI built a webring for personal websites.
Archive Your Old ProjectsIn this post I describe how I wish I had archived all my old projects and my approach going forward.
My App DefaultsThe apps I use
Why You Should Write Your Own Static Site GeneratorI rewrote my personal website using basic libraries and the flexibility is incredible.
Static OG (Open Graph) Images in AstroA guide to set up build-time Open Graph images in Astro using Satori, sharp and Astro endpoints.

2022

You’re Using Email WrongIf you don’t like email, try a different strategy.
Plex on NixOSIn this post I describe how I set up Plex on NixOS, including a virtual file system for Backblaze B2 and Nginx for HTTPS.
Hello WorldMy first blogpost (not really).

2020

I’m Writing an AppA human, interested in software development, automation and sustainability

2019

Automate #2: Checklists with ThingsHow to use checklists in TaskPaper-Format with Things.
Automate #1: Spotify Podcast MirrorHow I created an Automator application, which records the latest episode of a Spotify podcast, fills out metadata and generates a file for metadata for a podcast client to subscribe to.
Announcing the Automate SeriesThe start of a series of blog posts, all related to one of my yearly themes: automation.

2018

I18n in Node.jsNode.js uses ICU (International Components for Unicode) for i18n and only includes English data by default.
On Hexagonal ArchitectureWhy a hexagonal architecture can be better than traditional MVC-style architecture, with a real-world example.

2014

.vim-projectThis post explains how to get project-specific Vim settings.

2013

Deploy Octopress, the right wayThis post explains how to deploy an Octopress page via Git