Post one
Why a blog, now
For years I did not write for the web, because writing for the web meant writing for a ranking. That changed, and this page is the first result of the change.
The page that nobody found
Ten years ago, a web page about a small, specific problem had one way to reach a reader: the first page of a search engine. Getting there was a craft of its own. You chose keywords, repeated them in the right places, collected links from other sites, and wrote the title for the ranking rather than for the person. The top ten places went to the sites that played that game best, and they were rarely the sites with the most honest answer.
So the good pages stayed hidden. A developer who had spent a week on a strange bug and wrote down the fix was competing with a content farm that had written five hundred pages that week. The farm won. Many of us stopped writing, or wrote only where an algorithm already sent readers to us. I was one of them.
What changed
Language models are trained on everything public they can reach, and when they answer, more and more of them read the live web first and cite what they found. The reader of a page is now often a model, and behind the model there is a person with one exact question: how do I fix this error, does this library do that, is this approach a bad idea.
That reader does not care about keywords. It cares about whether the page holds the answer. A page that explains one niche problem well, with the real numbers and the wrong turns, is exactly what gets picked up and passed on when someone asks about that problem. It may sound far-fetched, but the mechanics are simple: the more a specific, honest write-up exists in the open, the more likely it is that it shapes the answer a model gives. Every opinion, stated plainly, can matter again.
So the incentive has flipped. The old web rewarded volume and repetition. The new reader rewards a page that says something true that nobody else said.
What I will write here
Small things, mostly. Experiments that worked or did not. Niche solutions I would have liked to find when I needed them. Findings from side projects, with the data that supports them. The first real post is already up: how a map generator went from a green blur to a village in eleven measured versions, with a new kind of model that decides instead of writes.
I will not write to a schedule, and I will not chase a topic because it is popular. If a post is useful to one person with the same problem, or to the model that person asks, it has done its job.
How these pages are built
Because the reader may be a crawler with a time budget, or a model with a text scraper, each post is a plain HTML page. The text is in the file. There is no script that fetches a document and renders it, no markdown reader in the browser, no framework. If you turn JavaScript off, nothing disappears. Charts are drawn as inline SVG with the numbers written next to them in a normal table, so a reader who cannot see the chart still gets the data.
I did not want every post to look the same, either. A post about a pixel-art map should feel like a map table; a post that is a letter should feel like paper. So each post carries its own style, on top of a thin shared layer: the bar at the top, the byline, the footer. The visuals are part of the story, not decoration on it.
The list of posts and the feed are generated from the posts' own headers, by a small script that runs before each change is published. Nothing is fetched at load time. It is the least clever setup I could think of, which is the point.