Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
A custom virtual machine for the Stars! 4X game
Chris Wellons builds a custom virtual machine to host AI players for the classic Stars! 4X game, covering bytecode design, performance, and interfacing with the original binary.
5 min · 1,116 words
Solving for faster SHA-1 collision detection
tl;dr: I discovered collision-detecting SHA-1 is slow and decided to build my own. sha1dc is a rewrite of SHA-1 with collision detection, whose code generator uses a solver to fit collision tests into SIMD lanes. It runs at 68–81% of plain SHA-1's speed where the existing crate runs at 28–29%, and can make git pack verification twice as fast.
10 min · 2,227 words
Farid Zakaria on dynamic derivations and nondeterministic build graphs ahead of NixCon 2026—when a build step can roll dice, and what that means for caching and reproducibility.
7 min · 1,636 words
Reversing the SH-4 fpu with the help of three AI models
Using three AI models to reverse-engineer approximate SH-4 FPU instructions (FIPR, FTRV, FSCA, FSRRA) for Dreamcast emulation accuracy.
10 min · 2,333 words
A detailed practitioner review of the V programming language covering syntax, tooling, performance claims, and where the language felt productive versus still rough around the edges.
31 min · 7,113 words
Trying the Software Factory Pattern
One of the interesting challenges of the AI ecosystem in 2026 is that new, effective patterns emerge faster than I can adopt them. I’ll find a handful, get back to work, and realize a month later that I’d missed four or five more. The adoption cycle for Imprint this year has been something like: - April: local development is bottlenecked on checkout and worktree model, instead create ~10 local workspaces which each have an independent checkout of every repository, and operate at the workspace level, not at the repository level, so it can generate cross-repository pull requests across…
4 min · 871 words
Comparing reflection capabilities of C++, Zig and C3
A side-by-side look at compile-time reflection in upcoming C++, Zig, and C3—how each language inspects types, enumerators, and struct members without runtime cost.
7 min · 1,568 words
TypeSafe's Jev AI Model in .NET: A Community SDK for Structured AI Output in C#
Laurent Kempé introduces TypeSafe’s Jev decision model and walks through a community .NET 11 / C# 15 SDK port so apps can get typed, structured decisions without brittle JSON parsing.
10 min · 2,298 wordsagent-assisted
Mold has recently updated their linker benchmarks and included Wild for the first time. These benchmarks show Wild being substantially slower than Mold in contrast to Wild’s most recently published benchmarks from our last release on August 4th. This post is an attempt to understand why there’s such a difference in the benchmark results. Mold’s benchmarks were run on two machines:
4 min · 958 words
Daniel Mangum digs into unexpected register values on Nordic's nRF54L while poking the Key Management Unit from a debugger, and explains how SoC security components can make the debugger's view of memory misleading.
11 min · 2,579 words
Why Does an npm Math Library Need an Encrypted Loader?
SafeDep reverse-engineers a malicious npm math package: encrypted loader, trigger matrix, remote access payload, and indicators of compromise for defenders.
10 min · 2,385 words
How Uber Protects Against Retry StormsError ownership so retries know when they help—and when they make outages worse
Uber Engineering explains retry storms in deep service graphs and how context-aware error ownership, claim headers, and middleware stop retries from amplifying a single downstream failure across the stack.
10 min · 2,292 words
I had Gemini train its own replacement for $9
Gemini 3.1 Pro labeled 4,290 Reddit comments for $9; a fine-tuned GLiNER model now tags brands, models and materials locally at 0.83 F1 — including the tensor-mask bug that wiped five of ten runs.
7 min · 1,532 wordsagent-assisted
Stop Starting Over With Your AI: Durable Memory for AI Agents
Phasoric on why project context evaporates between AI sessions, and how durable memory plus MCP can preserve decisions, history, and reasoning across agent workflows.
9 min · 2,020 words
Small Programming Tricks Matter
Day to day, I think a surprising amount of engineering productivity comes from small nuggets of knowledge: being aware that a language feature exists; knowing that an unexplained tcp delay is probably related to the TCPNODELAY setting and Nagle’s algorithm; knowing the right git incantation to get out of a pickle; or knowing a trick with sed to rewrite a file. In one sense, this is self-evident: anything you know is going to be made up of smaller pieces of knowledge. Of…
3 min · 772 words
funes: Local Memory for Coding Agents, Built on Lance
Hugging Face’s funes indexes Claude Code, Codex, pi, and Hermes session traces into a local Lance dataset with recall/get tools—no LLM summarization at ingest, privacy-first, BM25 + vector search.
2 min · 399 words
The Golden Spike, and Resurrecting the Vale(n) Programming Language
Evan Ovadia describes patching rustc so Valen can call Rust generics, implement Rust traits from Valen closures, and borrow-check across the boundary—true Rust interop beyond the C ABI.
17 min · 3,809 words
These agents run on the runtime they're building
How Rebuno runs its own development agents, from writing code and reviewing changes to testing the kernel and its policies.
2 min · 557 words
Towards Self-Driving Codebases
Detail explores what it would take for AI agents to drive real software work end-to-end—beyond oneshot games and guarded migrations—while humans still steer most production engineering today.
9 min · 2,151 words
Size-Specialized Memory Allocation
Go 1.27 includes faster memory allocation for allocations of 80 bytes or fewer. Allocations can be up to 20-30% faster, making allocation-heavy programs up to 1% faster. The Go runtime improves the performance of those allocations by adding specialized functions that are used to allocate certain sizes. These specialized functions can then make certain assumptions that make them faster and easier to optimize. This blog post will explain how this works and how it makes your programs faster. Heap allocations are created by the runtime’s mallocgc function, which requires the…
7 min · 1,560 words