CodeLabProsCodeLabPros — homeMenu

Writing

Things that happened, and things we counted.

Not advice. Each one is an account of a piece of work — what the recurring problem actually was, what it cost, and what replaced it — or a measurement taken across a corpus of what business owners say about their own companies.

Latest

The complaint you hear costs a morning. The one you do not costs the contract.

Complaints arrive ranked by how annoying something is, never by what it costs. We counted 274,676 posts from business owners to see how far apart those two orders run.

September 2026 · 3 min

Read it →

September 2026 · 3 min

What business owners actually describe when they describe a problem

The most common thing in 274,676 posts was not a technology request. It was a person doing something a computer should be doing. Almost nobody calls that a software problem.

September 2026 · 3 min

They ask for AI. They are paying people to retype things.

Two of the businesses in the corpus are paying seven salaries and a fulfilment chase to move data between systems that will not talk. Neither of them needs a model. We removed Hacker News to check the ratio was not an artefact, and it held.

September 2026 · 2 min

We pointed our own research engine at our own market

We built a system to find out what business owners say about their own companies. This month we used it on the things we get hired to build, and one answer reversed an assumption we had been working from.

September 2026 · 2 min

You refund what you cannot prove

Almost nobody asks for a record of who changed what. Nought point one two per cent of 274,676 posts. Then a customer disputes what they were told, nobody can say, and you concede.

September 2026 · 3 min

A school was matching payments to pupils by hand

Every week somebody sat with a mobile-money statement and a fee register and worked through them line by line. Nobody called it a software problem. They called it admin.

From Karo

August 2026 · 3 min

The naming system's first run contradicted the reason we built it

Choosing a name normally happens in a workshop and cannot be reconstructed afterwards. We built a system so it could be. Then its first real engagement produced a finding against the premise underneath it.

September 2026 · 2 min

Why we stopped using our own performance numbers

Our own measurement was faster, cheaper and entirely under our control. It was also unverifiable by the person we were showing it to, which made it worthless for the only job it had.

From Prospecting agent

September 2026 · 2 min

We fixed the same bug twice, two commits apart

One commit says measure the problem instead of guessing at it. The one after says measure with somebody else's instrument, because our own timing was wrong. Same error, one layer down.

From Prospecting agent

August 2026 · 2 min

Two weeks later we could not tell what we had checked from what we had assumed

Both had been written in the same document, in the same voice, on the same day. By the time it mattered they were indistinguishable, and decisions had been built on both.

August 2026 · 2 min

What would have made us stop, written before the research started

Research otherwise ends when you get tired or when you find something you like. Eleven theories were opened, all eleven were attacked, and seven turned out to be wrong.

From CPOS

August 2026 · 2 min

The three things the agent is not allowed to do without us

Spending money, contacting a real person, touching anything live. All three were written down while the software could not yet do any of them.

From Prospecting agent

Delivered in full text, no summary and no tracking, at /notes/rss.xml.