Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Git 3.0's upcoming SHA-256 default will be a costly mistake
Git 3.0 will make SHA-256 the new default content hashing algorithm and it will be an incomprehensibly expensive and ultimately valueless and avoidable global nightmare.
17 min · 3,902 words
Slot Machine Programming and the Hidden Curriculum
CMU educator Michael Hilton names "slot machine programming"—retrying the same AI prompt across models without decomposing problems—and argues CS must explicitly teach the hidden curriculum AI now lets students skip.
4 min · 939 words
An open letter to software makers: ship fewer dark patterns, respect user agency, and remember that people live with your products every day—not just engage with them.
3 min · 590 words
Rust is the answer to the wrong question
Rust is the answer to the wrong question The below was 100% written by a human. TL;DR: porting an app to another language is merely an anecdote. One shoting an application from scratch optimizes the easy part initial authoring and completely misses the point on the hard part: maintenance. Repeated onshots are not the answer to security vulnerabilities.
5 min · 1,063 words
Hillel Wayne cools the hype that TLA+ will save AI coding agents, clarifying what temporal logic model checking can and cannot verify in real software systems.
7 min · 1,632 words
Commit Description as a Thinking Tool
Yedhu Krishnan argues commit descriptions are a thinking tool—especially with agentic coding—forcing clearer intent, tradeoffs, and review context before changes land in history.
2 min · 573 words
Your Software Now Has Two Kinds of Users
Allentheanswer on designing software for both humans and agents: coding agents, agent skills, WebMCP, and what a second non-human user means for product design.
6 min · 1,466 words
Generation Got Cheaper Again. Verification Didn't.
O'Side Systems on the growing gap between cheap AI code generation and slow human verification: cost per accepted change, review queues, and where engineering leaders should invest next.
5 min · 1,218 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
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
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
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
Alex Ewerlöf argues that AI has not solved coding: reliability, architecture, product judgment, and the long tail of software work still require human engineering beyond vibe-coded demos.
23 min · 5,234 words
If we do not stop to help each other, what do we become?
If we do not stop to help each other, what do we become? Yesterday, I received this email as a response to [You Can't Vibe Code Love](https://blog.codinghorror.com/you cant vibe code love/). It's such a remarkable and powerful statement that I asked permission to share it here, in its entirety, with personal information redacted: Hey Jeff, Hope you and your family are doing well.
3 min · 679 words