Blog
Ramblings about software development, privacy, and whatever happens to strike my fancy.
Kimi Antonelli and Titanium Dioxide: A Quantitative Analysis
· 7 min · 237 reads
Five Years of Design
· 5 min · 641 reads
A Corepack by Any Other Name
· 6 min · 2,069 reads
Ephemeral Permissions Considered Beneficial
· 5 min · 573 reads
Where Did My Colorful Home Manager Logs Go? Debugging Ghostty and Sudo
· 4 min · 3,339 reads
Performance Tales, Part 2: A Robust Web Font Loading Strategy
· 4 min · 1,317 reads
Performance Tales, Part 1: Why So Performant?
· 4 min · 423 reads
A Long Way to Nix
· 5 min · 1,079 reads
Setting Up My VPS with Docker Compose and Traefik
· 8 min · 8,912 reads
How I Deleted a Production Database Cluster
· 5 min · 768 reads
Tracking Subscriptions with Notion
· 3 min · 1,181 reads
How I Follow the News with RSS
· 3 min · 1,492 reads
Why I Use Eleventy
· 4 min · 2,125 reads
Redesign & Optimizations on v5
· 3 min · 562 reads
Reflections on Qt
· 3 min · 604 reads
Inside a Minecraft Launcher
· 8 min · 6,132 reads
Building a Unsplash Downloader with Deno
· 3 min · 639 reads
The Web Renaissance
· 4 min · 250 reads
Notion in Web Development
· 2 min · 328 reads
A Complete Guide to Rewrites on the Web
· 3 min · 1,557 reads
What is IIFE?
· 2 min · 275 reads
Responsive Images with Eleventy & Sharp
· 5 min · 834 reads
Vercel as a Framework
· 7 min · 1,188 reads
Data Fetching with Next.js
· 6 min · 1,757 reads