The Hold That Used to Be Free

Nobody defers a hardware refresh because they think the replacement will be cheaper later, they defer it because the thing still works and there’s never quite a reason to spend the money. That used to be a free position to hold. I keep deciding not to replace my home machine, the same 2013 i5-4670K I wrote about when I couldn’t containerise my home server, and it still runs everything I ask of it, which is exactly why spending anything on it feels hard to justify. What’s changed since I last wrote about it is that the floor under the replacement is rising while I sit here not making the decision. ...

June 7, 2026 · 3 min · Kashif Nazir

Back on Windows With Mac Habits

My Mac went in for a screen repair last week, a burn-in issue known on the 2024 model, so I pulled my old Windows laptop off the shelf. It was my workhorse before the Mac, and being back on it properly meant I could verify the experience from the Windows side, which mattered given I’m developing something their users will be testing. The repair was the forcing function: old Windows laptop back into daily use, not as a nostalgia exercise but as the machine I actually had. ...

May 15, 2026 · 5 min · Kashif Nazir

Why I Couldn't Containerise My Home Server

Hardware gets kept because it runs what it’s always run, and the refresh conversation gets deferred because nothing appears broken. The ceiling only shows up when someone tries to do something new on top of it. I had that exact experience last Saturday trying to containerise the apps on my home server. The Plan I’ve been wanting to use containers more outside of just reading about them, so running them at home on something real was the obvious next step. Set up a git repo for version control, VS Code as the editor, and OpenAI’s Codex to handle the agentic coding tasks directly on the machine, so I had everything in place to move quickly on something I hadn’t done before. The plan was to start with one small component and see how it handled it before doing anything else. ...

April 13, 2026 · 3 min · Kashif Nazir

Pilot to Production: The Gap Nobody Plans For

Most migrations don’t start because someone planned one, they start because half the organisation is already using something unsanctioned and you’re formalising it before it turns into a compliance problem. I’ve seen that across different types of tech, and the failure mode is always the same: the pilot gets all the investment and the rollout gets whatever’s left, which is usually not much. That gap is the rollout version of the question I came back to in Better Than What It Replaces: is the new thing actually better for the person who has to use it? ...

April 4, 2026 · 6 min · Kashif Nazir