Keep the box, save the prompt

My grandmother hated throwing away the boxes things came in. There was a mountain of them in the storage closet by the kitchen that threatened to topple over every time we needed something from the closet. She argued that keeping the boxes was practical. There’d come a time when we’d need to move house or sell something, and the boxes, with their perfectly molded Styrofoam would keep their contents safe and presentable. ...

October 19, 2026 · 3 min

Should I use an agent?

Every once in a while you find yourself caught between two warring bureaucratic processes. This was me back in 2024, while I was trying to finalize my immigration paperwork. I was missing a key document that only Cook County (the Chicago district I lived in at the time) could provide. The only problem was that their standard document format didn’t satisfy USCIS’s specific requirements, and I was quickly running out of time. ...

July 16, 2026 · 3 min

Ship fast, think later

I started freelancing this year. This has meant jumping between unfamiliar codebases and getting productive as quickly as possible. A year ago this process entailed scouring through READMEs and directly pairing with a more veteran engineer to further familiarize myself with the codebase. Today, the process couldn’t be more different. I prompt an agent to walk me through general architecture, set up my local build environments and I’m often opening a PR within the first few hours of work. ...

June 29, 2026 · 3 min

Infra has an intent problem

In a past job, I broke networking within my first week of starting. The change? A single line commit that added a customer domain to a reverse proxy control loop that directed traffic to a specific server. api.somecompany.com, api.anotherfancynewcompany.ai { reverse_proxy http://localhost:4200 } At a glance, this code is legible, it should work; we’re manually proxying traffic from two domains to a locally running instance. A passing caddy validate run further verifies this. ...

March 24, 2026 · 2 min

Whatever you do, don't lose the plot

The other day, I was working on translating data from a file into json to visualize the results. Easy enough, given that this was an operation I’d done countless times in the past. Still, I blanked. After spending months delegating all coding related tasks to an agent, I’d completely lost the muscle memory of a simple fs.readFileSync call. I ended up sheepishly reaching for Claude, which wrote the function in more time than past me would have taken. ...

March 20, 2026 · 3 min