Nobody could tell me whether to replace my Mac — including my Mac
It started as shopping. I pasted an Amazon listing for a new MacBook Air into a chat window and asked the obvious question: is this worth buying?
Three and a half hours later I had not bought anything, and there was a new open-source tool in `~/Developer`. This is how that happened, because the interesting part is not the tool — it is that nobody, including me, ever asked for it.
Thirty-five rounds of not answering the question
The conversation started where these always start. Is this the top-spec Air? Is it cheaper than buying direct from Apple? Is that the keyboard layout I want? What would the same configuration cost built to order? Fine. Answerable.
Then it drifted, the way a real decision does:
- Why are you recommending the Pro?
- So why not the top-spec Air?
- Why not a cheaper one?
- Why isn't 512 GB enough?
- Does every Mac user really fill that much?
Every one of those is a question about *my* machine, dressed up as a question about a product page. And the answers kept being general when I needed them specific. Somewhere in there I stopped asking about the laptop and started asking about this one:
- Can you detect what temperature my machine is running at?
- You can pull the *historical* temperature record?
- Can you pull the historical memory pressure too?
- What's the risk of constant SSD writes?
- How do I track any of this over time — does macOS have a built-in tool for it?
That last one is where it broke. The honest answer was a list: Activity Monitor for one thing, System Information for another, `sysctl` for a third, `ioreg` for the battery, `df` for the disk. So I asked the question that ended the shopping trip:
The ways you described all mean looking in several places and collating the data myself, right?
Yes. That is exactly what they mean. The machine knows every number needed to answer "am I actually constrained?" and there is nowhere it puts them together.
The move I keep thinking about
At that point I did something I would not have predicted, and I think it is the reusable part of this story. I did not write a spec. I asked:
Given everything we have discussed — what do you think my real need is?
Handing the synthesis over rather than performing it. And then, two rounds later, the answer came out of my own mouth in one sentence:
So what I need isn't a resident monitor. It's something I launch whenever I might be about to replace this machine.
That sentence is the entire product. It is still the first bullet in the README today — *zero daemons, run it on demand when you are contemplating a hardware upgrade* — and every design decision since has been downstream of it. No menu bar icon. No background agent. No history file. Nothing to install and nothing to remember, because you are not supposed to be thinking about it until the day you are thinking about it.
I did not arrive at that by planning. I arrived at it by refusing to accept a general answer to a specific question for thirty-five rounds, and then asking what I had actually been circling.
The tool is the conversation, compressed
Here is the part that only became obvious afterwards.
I had just spent three hours getting a machine to read `sysctl`, `ioreg` and `df`, weigh the numbers against my actual hardware, and turn them into a buy-or-don't verdict. That is not a conversation. That is a program someone had not written yet.
So `sheerstatus` is not a monitoring tool that happens to answer an upgrade question. It is that transcript, tired of being re-run. Three pillars — memory, storage, battery — each with a verdict rather than a reading, because a number is not an answer. Thresholds that scale with the hardware in front of it rather than one somebody hard-coded years ago. And it stops talking when the machine is fine, in one line, because that is the honest answer and you have things to do.
It reads. It prints. It exits. Nothing stays running, nothing is sent anywhere, and the whole thing is a single Bash file you can read end to end in a sitting — which is the only real way to trust something that inspects your machine.
And then it told me not to buy
The last part is my favourite, and I did not plan it either.
I ran the finished tool on the Mac whose replacement had started all this. Storage: critical. Memory: critical. Battery: fine. And the recommendation it prints in that situation says *on your next machine, get more RAM and more storage.*
**Next machine.** Not this purchase. The tool built to help me decide whether to buy something had, on its first real run, quietly deferred the decision — and the thing actually hurting me was a disk at 95%, which is not a problem you fix with a credit card.
I did not buy the MacBook.
The boring footnote
`sheerstatus` is on GitHub — MIT, single-file Bash, zero dependencies, macOS and Linux, nine languages, no telemetry and no account. Its sister tool sheersweep handles the other half: this one tells you whether space is the problem, that one gets it back.
Two follow-ups, both less flattering than this one.
What 149 rounds of review still missed — the tool in this story shipped with a promise on its README that five of its nine languages could not keep, and I reviewed every single screen of it.
I wanted an e-ink monitor. There is no such thing. — what I bought a few days later instead, and why "buy nothing" was only the answer to the question I asked.
Keep reading
-
It was called preview, so it was deleted
A deployed site was swept up by a cleanup that had only its name to go on. Rebuilding it took a day. The name was the visible cause; the real one was that nothing anywhere said what the thing was.
-
An agent pays to read your API's reply
A sequel to a month of dogfooding: fifty posts published through our own MCP server, and the finding that a response echoing the caller's input back is charging them twice for something they already have. Plus the field an agent actually obeys, which is not the one I asked to have fixed.
-
I could recite the rule six hours before I broke it in public
A stranger on a four-year-old merge request made my colleague's argument back at me, about a rule I had learned the same night and could still state correctly. Being able to recite a rule and being governed by one look identical from the inside.