Route 53 has a failover routing policy that's been there forever and I've never used it for the obvious thing: keeping a homelab service answerable from the public cloud when a hurricane takes the house down.
Read →
I spent a couple of hours one afternoon making changes to what I thought was the current iOS source tree for a side project, running builds, watching…
Read →
A long-running service that does work in the background needs a deploy strategy that doesn't drop work on the floor. This is the rule I landed on after…
Read →
I wanted a coffin-shaped wallet pattern I could print and saddle-stitch. Online templates are mostly rectangles. The interesting work was turning a…
Read →
I have a morning briefing that summarizes today (weather, todos, calendar, bills, sobriety counter). Useful. But it's only today, and it's spoken once on…
Read →
My homelab assistant lives on an LXC in the garage. Hurricane season runs June through November on the Gulf Coast. A two-week power loss takes my whole…
Read →
A safety-monitoring side project I run paged me at 09:00 with
Read →
Android build was failing partway through with a Gradle OutOfMemoryError. First few times I assumed it was a flaky CI worker. Then it failed locally too.
Read →
A safety app I shipped for personal use on Android needs three distinct runtime permissions to actually do its job. Walking a first-time user through…
Read →
I turned the garden sprinkler off because rain was forecast for a week. The question is: when do I turn it back on? I do not want to check a weather app…
Read →
I run a small S3-compatible proxy that fans writes across several cloud accounts to dodge per-account upload caps. It went into
Read →
I had built a Windows desktop agent around the obvious loop: take a screenshot, send the PNG to a vision LLM, ask where to click, click it, repeat. It…
Read →