// FEATURED · LATEST
2026.07.05
// FRONTEND
5 MIN READ
The background animation looked fine until I scrolled on a 120Hz screen and watched the frames drop. A CSS mask was quietly recompositing the whole canvas every frame. The fix was the opposite of what I expected.
READ POST →
2026.05.22
// AI
6 MIN READ
I was paying real money for Gemini API calls and did not notice until the invoice. The model swap is a one character change in a string literal. The actual fix was the key, not the model. Short story about paying attention to your billing tab.
READ POST →
2026.05.22
// HOME LAB
7 MIN READ
Two power strips, a couple of small form factor boxes, and a two node Proxmox cluster that has outlived three jobs. I tried to live without the home lab for a month. The pieces that came back are the answer.
READ POST →
2026.05.18
// INFRASTRUCTURE
8 MIN READ
Free tier Render put my AI terminal to sleep every 15 minutes. First visitor after a sleep waited 30+ seconds. Migrating to Cloudflare Workers cut my cold start latency to zero and cut my warm latency from 1200ms to under 100ms. Here's what the migration actually looked like, and which trade offs hurt.
READ POST →
More posts as I write them. I'd rather have one honest post up than four AI generated ones with my name on them.