Blog
Ramblings about software development, privacy, and whatever happens to strike my fancy.
Kimi Antonelli and Titanium Dioxide: A Quantitative Analysis
· 7 min · 497 reads
Five Years of Design
· 5 min · 708 reads
A Corepack by Any Other Name
· 6 min · 3,139 reads
Ephemeral Permissions Considered Beneficial
· 5 min · 613 reads
Where Did My Colorful Home Manager Logs Go? Debugging Ghostty and Sudo
· 4 min · 3,546 reads
Performance Tales, Part 2: A Robust Web Font Loading Strategy
· 4 min · 1,356 reads
Performance Tales, Part 1: Why So Performant?
· 4 min · 445 reads
A Long Way to Nix
· 5 min · 1,099 reads
Setting Up My VPS with Docker Compose and Traefik
· 8 min · 9,258 reads
How I Deleted a Production Database Cluster
· 5 min · 781 reads
Tracking Subscriptions with Notion
· 3 min · 1,192 reads
How I Follow the News with RSS
· 3 min · 1,531 reads
Why I Use Eleventy
· 4 min · 2,211 reads
Redesign & Optimizations on v5
· 3 min · 574 reads
Reflections on Qt
· 3 min · 619 reads
Inside a Minecraft Launcher
· 8 min · 7,016 reads
Building a Unsplash Downloader with Deno
· 3 min · 661 reads
The Web Renaissance
· 4 min · 261 reads
Notion in Web Development
· 2 min · 347 reads
A Complete Guide to Rewrites on the Web
· 3 min · 1,688 reads
What is IIFE?
· 2 min · 288 reads
Responsive Images with Eleventy & Sharp
· 5 min · 857 reads
Vercel as a Framework
· 7 min · 1,203 reads
Data Fetching with Next.js
· 6 min · 1,781 reads