Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Why refactoring made our biggest file biggerCode entropy, measured, and the ratchet that stops it
Image Horse's AppShell grew from 3,250 to 3,806 lines during a month of intentional extraction. Chris Lane Jones explains measured line-count ratchets, why warnings failed, and why entropy is whack-a-mole you don't win—but can make visible.
5 min · 1,168 words
A satirical product essay for “Windows 11½”: a tongue-in-cheek redesign pitch that skewers modern desktop bloat while laying out a coherent, opinionated vision for a lighter PC OS.
7 min · 1,677 words
EX-ARRR: Sailing the 0-click Seas
**Every serious Apple device compromise of the last decade has boring person at the bottom of it: a parser read a file and trusted it a little too much. Not a phishing link, nor a stolen password, but a daemon you never launched, decoding a file you never opened, one byte past the end of a buffer. This is that story. It starts late one evening with a fuzzer that did not know what an EXR file was, and ends with a heap overflow that fires inside a privileged Apple daemon the instant an iMessage lands evading BlastDoor’s, before the little notification banner even finishes…
19 min · 4,447 words
What I believe about the future of software development
Thorsten Ball plants a flag on where software development is headed as AI agents write more of the code: what still matters for engineers, what gets commoditized, and how taste and judgment become the scarce skills.
4 min · 809 words
LinkedIn is a soulsucking hole of professionalism and a pit of hell that not even my worst enemy should spend the rest of his days in. It’s this concoction of performative productivity and corpo speak producing cursed artifacts beyond human comprehension. A place where normal human text goes to die and can only be kept alive by an LLM like a radiation protection suit.
4 min · 999 words
What makes software development engineeringA process that doesn't depend on individual brilliance
Simon Park (박성범) argues software work becomes engineering when processes outlast individual brilliance—translating intuition into explainable practice, and clarifying when an engineering approach is actually needed.
12 min · 2,720 words
As If Yesterday, in Partly in the Right, I asked where the information comes from when an agent produces a result, and what checks it. Today I have a sharper version of that question, and a new piece of evidence to ask it about.
13 min · 2,972 words
“They had no concept of a duty of care to their users.”
Marcin Wichary reflects on software craft and quality through the lens of duty of care to users—drawing on design and tooling history to ask what it means when products treat people as afterthoughts.
3 min · 664 words
What Would A Serious AI Product Look Like?
One of the issues that I have with the current generation of “AI” products is that they do not appear to take their own premises seriously. I look at a plethora of obsequious chatbots claiming to be serious tools for problem solving, and I think, this is not what a problem-solving tool would look like. Even before we get to the tremendous ethical problems with the frontier labs, it is this impression of their composition *as a product* that makes me feel, constantly, whenever I am interacting…
22 min · 5,119 words
I listened to the recent Ezra Klein interview with Nvidia CEO Jensen Huang, which seems to be something of a Rorschach test for AI doomerism: if you are inclined to see doom, Jensen sounds dismissive, but if you (like me) do not fear for the future of humanity at the (metaphorical!) hands of a computer program, Jensen’s responses seem very reasonable. (With some exception: does this guy really not
3 min · 748 words
Watching discussions happening online, I see a frequent unfortunate tic I’ll call the Expert Asterisk. A beginner is asking for help, and experts are answering. Then in the spirit of completeness, an expert throws in a fact or detail far from the learner’s abilities or needs.
3 min · 580 words
Felix Rieseberg reflects on software made with AI agents—what “mechanical means” changes about craft, authorship, and how engineers should think about work they no longer type by hand.
12 min · 2,730 words
Introducing Casita: A content-addressed store for source code and build artifacts
Domen Kožar introduces Casita, a content-addressed object store for source code and build artifacts—an argument for rethinking Nix-style packaging from the package manager up.
7 min · 1,723 words
Don't couple your Go code to GitHub
Iain Cambridge explains why Go import paths that hard-code github.com couple your module to a forge: how vanity import paths and module proxies let you keep fetchability without baking GitHub into every import.
3 min · 595 words
The Normalization of Inexplicable Failures
A critique of software and systems that routinely fail in ways nobody can explain—and how we've come to treat opaque breakage as normal rather than a design failure.
4 min · 942 words
Building FynPDF on macOS, Maheep Kumar walks through failed AI UI-testing approaches (screenshots, VNC, XCUITest, generic computer-use) and why a small AXUIElement test API finally let agents drive the app in the background.
2 min · 443 words
LLMs: Semantic Translation Machines
KnorpelSenf reframes LLMs as probabilistic semantic translators—great at moving an idea between representations, weak at inventing facts—and shows how that lens guided nearly all of a hard distance-matrix rewrite in Rust with LLM help.
2 min · 427 words
Rusty thoughts on "Parse, don't validate"
Eli Bendersky revisits Alexis King's 'Parse, don't validate' idea through a Rust lens—how types can carry parsed invariants, where validation still sneaks in, and practical patterns for keeping illegal states unrepresentable.
6 min · 1,485 words
The Problem is not the AI Code, but Nobody Knows Anything Anymore
Simon Späti argues the real risk of AI-written codebases is not mediocre generated code, but teams that lose architecture knowledge and intent because everyone just asks the model.
4 min · 836 words
Go concurrency distilled This mini book provides a brief overview of many concurrency topics in Go. Each topic comes with interactive examples — feel free to experiment with them by changing the code and clicking Run . There's also a [PDF version](https://github.com/nalgeon/go conc distilled) with static examples. This is a quick refresher on Go concurrency, not a beginner's guide.
28 min · 6,445 words