- A multi-tenant uptime monitor on one Cloudflare Worker (D1 + Cron)2026-08-04 · 5 min read · case study · cloudflare · serverless · blip
- RAG is an authorization problem: filter before you retrieve2026-07-07 · 7 min read · ai · rag · security · architecture · design
- When a fine-tuned classifier beats an LLM prompt for intent routing2026-06-09 · 5 min read · ai · machine learning · architecture · research
- Running a 27B local LLM on hardware I already owned: 2.89 tokens/sec2026-04-21 · 5 min read · case study · local llm · ollama · homelab · ai
- Stitching video frames into one under-vehicle image with OpenCV2026-03-24 · 5 min read · case study · computer vision · opencv · ffmpeg
- The upload succeeded, the processing didn't: async ingestion design2026-02-17 · 6 min read · architecture · backend · queues · postgres · elasticsearch
- Microsoft Graph /me returns nothing: delegated vs app-only tokens2026-01-20 · 6 min read · oauth · microsoft graph · security · integrations
- ENOSPC with 107 GB free: thin provisioning lies to df2025-11-04 · 7 min read · storage · debugging · proxmox · docker
- 413 on upload: every layer in the request path has its own limit2025-10-07 · 5 min read · debugging · nginx · kubernetes · wordpress · nextjs
- It built fine and still crashed: Docker file ownership vs runtime user2025-09-02 · 5 min read · docker · kubernetes · containers · debugging
- Docker "failed to resolve reference": read the error inside out2025-07-08 · 4 min read · debugging · docker · dns · linux
- Cloudflare Tunnel connected but not working: what the status hides2025-04-15 · 5 min read · networking · debugging · cloudflare · tailscale
- Deploying behind NAT: CI/CD to a private server with no open SSH port2025-01-14 · 6 min read · case study · ci-cd · tailscale · docker · cloudflare
- Three ISPs, four routers, one MikroTik: rebuilding a homelab network2024-10-08 · 5 min read · case study · networking · mikrotik · homelab
- Why this site runs on a free tier, and why that's the whole point2024-07-16 · 1 min read · meta · cloudflare
- A map of everything I run, so the rest of these posts make sense2024-06-25 · 4 min read · meta · homelab · cloudflare · proxmox
- Why I write about what breaks, not what shipped2024-06-11 · 4 min read · meta