Personal tech notes

Writing about Linux, self-hosting, and things I build for fun. No ads, no tracking, no newsletter.

Automating TLS with Caddy — a year later

I switched from nginx + certbot to Caddy about a year ago. Here's what held up, what surprised me, and one edge case that cost me two hours.

caddytlsself-hosting
Apr 29, 2026

ZFS on a budget home server

Running ZFS on a repurposed desktop with 4×4TB drives. Notes on pool layout, scrub schedule, and the one time I accidentally destroyed a dataset and got it back.

zfshomelablinux
Apr 11, 2026

What I learned reading Go's HTTP/2 implementation

Flow control, stream prioritization, HPACK — I went down a rabbit hole after a throughput issue on a side project. Most of it is elegant. Some of it is cursed.

gohttp2networking
Mar 22, 2026

My VPS baseline setup in 2026

After switching providers twice, I wrote down the exact steps I take on a fresh Ubuntu 24.04 install. SSH hardening, unattended upgrades, fail2ban, and a few sysctl tweaks.

linuxsecurityubuntu
Mar 5, 2026

DoH at the resolver level with dnscrypt-proxy

Setting up encrypted DNS for the whole network without relying on the browser. Covers config, fallback resolvers, and why I stopped using Pi-hole for this.

dnsprivacynetworking
Feb 17, 2026

SQLite is probably enough

I keep reaching for Postgres out of habit. But for most things I actually build, SQLite handles it fine — including concurrent writes if you set WAL mode.

databasessqlite
Jan 30, 2026