Writing
The complete chronological archive.
All writing
Page 9 of 10
Trusting a home server: a local model, monitoring, and backups
Jun 2026·How I set up home server monitoring with Gatus, Uptime Kuma, and Beszel, ran a local LLM for private data, and built nightly rsync backups I actually test.

Making a home server usable with one dashboard
Jun 2026·How a self-hosted dashboard called Glance turned a pile of containers into something a whole household uses from a single browser tab.

Building a self-hosted media stack (and what I deleted)
Jun 2026·Running a self-hosted media stack is more integration work than install. Here is how I wired Jellyfin, Sonarr, Radarr and friends, and what I deleted.

Running background jobs on macOS with launchd
Jun 2026·How to run launchd scheduled jobs on macOS: plist patterns, Full Disk Access pitfalls, and the C launcher trick that survives every redeploy.

How I reach a home server with no public address
Jun 2026·No open ports, no public IP, but real hostnames and a trusted TLS cert. Here is how Tailscale, DNS-01, and Caddy make it work.

Why my home server runs on a spare MacBook
Jun 2026·Running a MacBook home server on spare Apple Silicon? See how Tailscale, Caddy, and OrbStack power 25 self-hosted services with no public IP.

Tracking what the LLM costs in a one-person app
Jun 2026·Slow token leaks hit harder than one big call. Learn how a single wrapper and use-case tags make tracking LLM API costs a query, not a monthly surprise.

Ask the app: a Q&A agent over a kid's school year
Jun 2026·How I built a bounded LLM agent to answer open-ended questions over a child's school year, with three SQL tools and a hard four-iteration ceiling.

Parent-friendly summaries without paying the LLM twice
Jun 2026·Regenerating LLM summaries on every page load wastes money and time. Learn how a derived cache key makes LLM summary caching effortless.

Teaching an LLM to ignore the recap and surface the homework
Jun 2026·Teacher notes are mostly recap, not actions. Learn how to prompt an LLM to extract action items only and ignore past events.