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
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
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
What Heraldry and Japanese Mon Can Teach Us About Building Visual-Identity Generators
Ben Overmyer compares Western heraldry and Japanese mon as generative systems—and what those rule-bound visual languages teach about building software that invents coherent coats of arms and marks.
13 min · 3,070 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
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
Can we have reachability properties in TLA⁺?
Andrew Helwer asks whether TLA⁺ can express reachability properties the way model checkers often do, and explores what it would take to add them without breaking TLA⁺'s temporal-logic foundations.
12 min · 2,733 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
Ten Lines Of Code That Changed My World
Roel Nieskens picks ten short snippets—from BASIC hello-world loops to JavaScript wat Batman and typography hacks—that shaped how he thinks about programming, fronts-ends, and fonts.
3 min · 689 words
C's Flexible Integer Sizes Were Not a Design Mistake
Gustavo Pezzi defends C’s platform-sized integers: how 12–60-bit machines shaped int, why minimum ranges beat fixed widths, and what Lua’s portable C still teaches.
2 min · 486 words
Marcos Magueta borrows a Roman naming practice to argue for clearer software names—how ancient cognomina habits map onto naming libraries, products, and the stories we tell about code.
5 min · 1,232 words
He who does not code, neither shall he eat
You have never heard of me, and depending on who you are, god do I hope you will forget my name as soon as you finish reading this. Quite frankly, I am unimportant. I am not a maintainer of any major Open Source project. My largest Open Source contributions have been completely replaced by better code, and were not meaningful enough to make me qualified to speak on this issue.
10 min · 2,193 words
CS 240 Spring 2026 AI Retrospective
Purdue CS 240 instructor Jeffrey Turkstra reflects on Spring 2026 AI-assisted cheating cases: what went wrong in enforcement, what students actually did, and how academic integrity policy should change.
17 min · 3,997 words
Burke Holland argues chat isn’t always the right interface for AI-assisted development, and walks through canvases as a more tangible UI for building with GitHub Copilot.
5 min · 1,250 words
Evolving programming languages in the AI era
José Valim’s reflections on how programming languages, ecosystems, and agentic tooling may evolve when humans are no longer writing most of the code.
9 min · 1,980 words
I’ve been thinking about where I stand in respect to the current state of the industry.
5 min · 1,068 words