Blog
Ramblings about software development, privacy, and whatever happens to strike my fancy.
Kimi Antonelli and Titanium Dioxide: A Quantitative Analysis
· 7 min · 102 reads
Five Years of Design
· 5 min · 531 reads
A Corepack by Any Other Name
· 6 min · 1,914 reads
Ephemeral Permissions Considered Beneficial
· 5 min · 484 reads
Where Did My Colorful Home Manager Logs Go? Debugging Ghostty and Sudo
· 4 min · 2,558 reads
Performance Tales, Part 2: A Robust Web Font Loading Strategy
· 4 min · 1,253 reads
Performance Tales, Part 1: Why So Performant?
· 4 min · 379 reads
A Long Way to Nix
· 5 min · 1,029 reads
Setting Up My VPS with Docker Compose and Traefik
· 8 min · 8,785 reads
How I Deleted a Production Database Cluster
· 5 min · 726 reads
Tracking Subscriptions with Notion
· 3 min · 1,157 reads
How I Follow the News with RSS
· 3 min · 1,465 reads
Why I Use Eleventy
· 4 min · 2,076 reads
Redesign & Optimizations on v5
· 3 min · 529 reads
Reflections on Qt
· 3 min · 568 reads
Inside a Minecraft Launcher
· 8 min · 5,898 reads
Building a Unsplash Downloader with Deno
· 3 min · 603 reads
The Web Renaissance
· 4 min · 228 reads
Notion in Web Development
· 2 min · 309 reads
A Complete Guide to Rewrites on the Web
· 3 min · 1,514 reads
What is IIFE?
· 2 min · 253 reads
Responsive Images with Eleventy & Sharp
· 5 min · 788 reads
Vercel as a Framework
· 7 min · 1,137 reads
Data Fetching with Next.js
· 6 min · 1,723 reads