Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Software may be getting worse, but it used to be horrible
Jake Voytko grants that AI-accelerated code output is making software buggier, but pushes back on nostalgia: drawing on using computers since 1990, he recalls blue screens, lost work before autosave, no security, disk fragmentation, tiny memory, unreliable install media and the turbo button to argue that software in the Windows era was far worse.
11 min · 2,593 words
Here Be Monsters: What Do You Still Need to Know When Agents Do the Work?
Starting from a CI failure caused by Codex cramming whole React components onto single lines, Adrian Quiroga argues that as AI agents write code faster than anyone can read it, engineers still need three things: solid fundamentals, breadth across the stack, and the willingness to dive in for just-in-time depth when something breaks.
13 min · 2,875 words
We should be more ambitious with the software we build
Dan Luu argues that AI coding tools let skilled engineers attempt far more ambitious software, using Michael Malis's pgrust (a Postgres rewrite with JIT-style optimizations whose testing has surfaced real Postgres bugs) as the running example, and explains why programming expertise still matters for judging model output.
27 min · 6,109 words
Be Aware of What's in Your Logs
Prompted by a bug report that came with a log full of things the developer never wanted to see, fireborn explains how log files can contain screen text, messages, account identifiers, file paths and more, and urges users to check what they share and developers to provide clear warnings, safe defaults and privacy-respecting ways to report problems.
14 min · 3,114 words
The compiler was supposed to end programming too
In 1954, IBM said FORTRAN would virtually eliminate coding and debugging. An essay on what the numbers say about AI and software work in 2026, how the bottleneck moves when code gets cheap, and a guess at a developer's Tuesday in 2031.
14 min · 3,332 words
Ben Congdon argues that AI agents are structurally well suited to monitoring production systems, building on Anthropic's description of Claude "superfans" that watch single components, with a change-point monitoring case study and thoughts on why agentic monitoring can catch subtle issues traditional alerts miss.
8 min · 1,948 words
What requirements don't you have?
Sean Goedecke argues that elegant software design comes from identifying requirements you can drop, such as fresh data, concurrent writes, or low tail latency, citing Unicorn, S3, StatsD, SQLite, and Cursor's git backend, and warns that unchecked consistency demands petrify systems.
5 min · 1,096 words
Writing is no longer proof of work
Sean Goedecke argues tech companies rely on writing as evidence of compliance, effort, and expertise, much like Bitcoin relies on proof-of-work, and that LLMs are eroding that signal, leaving engineers to save real effort for writing meant as communication.
6 min · 1,283 words
Outside the Scope of Our Support
A blind Android user's account of reporting a TalkBack-breaking bug to Google Disability Support, getting told the issue was out of scope, and arguing that accessibility support routes must not bounce real product defects away from engineers.
12 min · 2,810 words
Bitter Lessons and Premature Optimizations
Veit Heller revisits Knuth’s ‘premature optimization’ line and Rich’s Bitter Lesson, arguing that the shape of efficiency arguments—not just the slogans—matters when building AI systems and robots.
7 min · 1,668 words
The History of Development of Norton Commander
Dr Nikolai Bezroukov's Softpanorama chapter recounts how John Socha's Norton Commander defined the Orthodox File Manager paradigm—from VDOS and NC 1.0 in 1986 through the cult of NC 3.0 to NC 5.5—and why the dual-pane OFM design still shapes file managers decades later.
81 min · 18,563 words
ConcurrentML: Improving on Go's concurrency model
Nikhil explores Concurrent ML-style first-class events as a richer concurrency model than Go's channels alone: wrapping and composing communication operations, selective choice, guard events, and cancellation, with Racket ConcurrentML as the reference and notes on how Go falls short.
28 min · 6,476 wordsagent-assisted
Bugs that literally cost money
Hillel Wayne examines software bugs that translate directly into financial loss—refund loops, billing mistakes, and operational failures—and what makes money-shaped bugs different from ordinary defects.
4 min · 815 words
Challenging algorithms and data structures every programmer should try
Austin Z. Henley recommends algorithms and data structures worth wrestling with beyond the usual interview set—pieces that stretch intuition about performance, representation, and problem shape.
4 min · 870 words
What is a forward deployed engineer, and do you need one?
Denys Zaichenko explains what forward deployed engineers actually do inside customer teams, how they differ from solutions engineers, and when a company needs one.
6 min · 1,404 words
Karri Saarinen argues that good products carry the perspective of the people who make them, and worries that agent-driven 'software factories', where individuals ship independent changes, dilute that shared point of view into an average of outputs. He hopes easier software-making leaves more room for people to develop and follow a perspective.
3 min · 587 words
AI Can Write the Code. Who Verifies It?
Mihai Avram argues that AI coding agents have outpaced human code review, citing Faros data on rising bugs, review time and incidents, and lays out layered automated verification: AI code reviewers (Claude, Codex, Copilot, Bugbot), CI/CD checks from lint, tests and SAST to architecture review, and when to run them from pre-commit to production.
16 min · 3,785 words
My old job feels very distant now
A software developer reflects on how ChatGPT and coding models went from a better Google, to generating copy-pasted specs, to the default way of working, what the author misses and does not miss about the old way of programming, and how quickly both the models and developers have adapted.
9 min · 2,014 words
How Codex HappenedInside OpenAI's comeback in coding, from a failed launch to the app that took over ChatGPT
Dan Shipper's longform traces how OpenAI's Codex went from a rocky coding-agent launch to a dedicated model line and desktop app, growing past 5 million weekly users by June 2026 before merging into ChatGPT—and how Codex and ChatGPT for Work together reached about 40 million weekly active users.
39 min · 8,864 words
The Decoherence Trap: When AI slop drowns out the signal in an endless sea of noise
Maevyn introduces decoherence: the build-up of locally valid but mutually incompatible or redundant models inside a system, so that the cost of change is dominated by translating between them. The essay argues it compounds with a system's rate of change, that AI is producing it faster than ever, and that this rules out a runaway intelligence explosion.
39 min · 8,856 words