Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
I recently watched the talk by Scott Jenson titled "Are we really going to use the same Desktop UX forever?" https://www.youtube.com/watch?v=V7AfAcQwLW0&t=445s. He's a great presenter, really articulate and concise. The kind of speaker that you'd gladly listen to for 3+ hours if given the chance. Which for a talk about window management is quite the compliment.
20 min · 4,654 words
An Update on Orion for Linux and Windows
Kagi is ending development of Orion for Linux and Windows and open-sourcing both so the community can continue them, while the team focuses on Orion for macOS and iOS.
2 min · 558 words
I got targeted: Trying to get your credentials via a git post-checkout hook
A security incident write-up: someone tried to run arbitrary code on a developer laptop via a malicious git post-checkout hook, likely aiming at GitHub and client access—what happened, how it was spotted, and practical defenses.
2 min · 503 words
Zig 0.17.0 release notes: five months of work from 206 contributors across 925 commits—language, standard library, and toolchain changes on the roadmap toward 1.0.
46 min · 10,569 words
From Vibe-Coding to Verification: The Engineering Case for Deterministic Checks in the AI Era
Tamiz Uddin argues that vibe-coding—accepting AI output because it “looks right”—is unsafe for production, and that modern engineering skill is verification via tests, types, and deterministic gates.
12 min · 2,796 words
HITL gates for agent mutationsVerify mutations after tool calls so agents cannot declare early victory
Human-in-the-loop risk gates for refunds, inventory, and spend: classify mutations, issue system approval ids, and verify with a second read before user-facing success copy.
2 min · 501 words
Agentic-SDD: Giving Claude Code Agents a Real Engineering Process
Agentic-SDD is a Claude Code plugin that gates coding agents through a six-stage require→plan→analyze→implement→verify→fix pipeline with on-disk status, specialist agents, and a bundled knowledge-search engine.
6 min · 1,303 words
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
The complement of true is true, except when it's false
Matthew Taylor digs into a C++26 bitmask-enum proposal and the surprising boolean-algebra edge cases around complements, truthiness, and what ‘all bits set’ really means in practice.
15 min · 3,463 words
New dashboard experience now the default
GitHub makes its redesigned dashboard the default view, focusing the home screen on work that needs attention across repositories and teams.
1 min · 171 words
Anatomy of a Lean Proof for Software Engineers
A walkthrough of formalizing a theory-of-computation style finite-automata proof in Lean, showing software engineers what Mathlib proofs look like structure-by-structure—from informal constructive argument to machine-checked theorem.
55 min · 12,670 words
Reducing the cognitive load of AI changes
When reviewing large amounts of AI-generated code, I often find that the LLM chooses terms for abstractions that do not always map to my own choices. For instance, what it may call a MutationIntent might personally be more natural to me as an EditRequest.
1 min · 260 words
The Placeholder Is DeadAn honest estimate beats fake precision
VEXIS shipped a pricing tool that literally labeled unfinished rates as placeholders, then replaced them with negotiated card rates—and caught a stale summary label the green tests missed.
2 min · 444 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
Earendil's experimental Pi Durable harness brings Pi's minimalism to long-running agents: crash-safe tasks, multi-conversation concurrency, pluggable extensions, compaction, durable documents, and multiplayer steering on JS runtimes.
5 min · 1,053 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
Garbage Collection: Generational? Incremental? Both!
The third Language Summit talk was brought by Mark Shannon, who is the author of the incremental garbage collector implementation shipped in Python 3.14 that was reverted back to the generational garbage collector from Python 3.13 after reports of “significant memory pressure” in production environments. The original goal of the new incremental garbage collector was to reduce maximum pause times by an order of magnitude for larger heaps.
5 min · 1,173 words
A Spring AI tutorial on hardening agents for production: guardrails, evaluation loops, observability, tool authorization, and human-in-the-loop approval beyond a basic MCP-connected demo.
17 min · 3,953 words
My Actor reported success. The data was garbage.
Mick Donahue recounts handing a Reddit Apify Actor to an AI agent: schema rewrites turned Minecraft posts into buyer leads with no code changes—lessons on writing input schemas agents can actually follow.
10 min · 2,354 words
Rust for CPython (Python Language Summit 2026)
David Hewitt reports from the 2026 Python Language Summit on Rust for CPython: status, a first module, and draft acceptance criteria for bringing Rust into CPython.
7 min · 1,682 words