Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
mantle.nes breakdown blog part 1
Drmelon walks through building mantle.nes—a multi-month NES demake/fangame of a Deltarune Chapter 3 sequence—covering constraints, techniques, and why the project took shape.
16 min · 3,755 words
Fix a Ruby pg Segfault on macOS When Running Rails Tests in Parallel
I use minitest to run parallel tests with bin/rails test on GemChat (Rails 8.1, Ruby 4.0.7, pg 1.6.3, PostgreSQL in Docker). Running the Rails test suite in parallel should make it faster.
5 min · 1,084 words
Last week I wrote about using AI to edit my videos. My first try was five paragraphs describing WHAT I wanted and HOW I wanted it done. I expected it to one-shot the rest. A lot of people like to talk about one-shotting a task with AI.
2 min · 435 words
ATT&CKing TACACS+ to Pwn Your Network via a Pre-Auth RCE
TACACS+ is one of the ways large networks centralise administrative access to their equipment, alongside RADIUS and DIAMETER, and it is the one that tends to be chosen where per-command control matters. Instead of every router, switch, firewall and console server keeping its own local accounts, each device asks a TACACS+ server whether a login is allowed, at what privilege level, and often whether each individual command should be permitted. It is standard in enterprise,…
25 min · 5,766 words
From Any to Certainty: A Typechecking Journey
Aniket’s napari Island Dispatch post on an open-source typing journey: why the team migrated from mypy to Pyrefly, what improved, and how to choose a type checker for a large Python project.
9 min · 2,100 words
Claude Code reads AGENTS.md only when telemetry is on
Przemek documents that Claude Code 2.1.277’s AGENTS.md loader sits behind a remote feature flag: with telemetry or nonessential traffic off, a local AGENTS.md is skipped silently—what he measured and a one-line CLAUDE.md workaround.
4 min · 1,002 words
Why didn't anybody tell me about hash slots
A delivery-matching engineer discovers Redis Cluster hash slots the hard way, and walks through how slot-aware keys change caching, sharding, and multi-key operations in production.
8 min · 1,937 words
Protobuf, JSON Schema, and OpenAPI
Buf explains how Protobuf schemas can drive JSON Schema and OpenAPI via protoc plugins—extending one source of truth into documentation, validation, and HTTP APIs without maintaining parallel definitions.
6 min · 1,373 words
A font that reads what you wrote
Rohan Adwankar introduces semfont: a small library that automatically highlights, colors, bolds, and italicizes text so typography tracks meaning as you write.
6 min · 1,295 words
EXPLAIN (ANALYZE, IO) in PostgreSQL 19
Franck Pachot walks through PostgreSQL 19's new EXPLAIN IO stats—prefetch depth, request size, concurrency, and waits—using Little's Law to interpret async read streams.
4 min · 1,031 words
NEC V20 CPU: A bit of pep for an XT
A deep dive into the NEC V20 CPU as a drop-in 8088 upgrade for IBM PC/XT-class machines—what it changes, how fast it feels, and why collectors still care.
11 min · 2,628 words
Textbook review: Is Parallel Programming Hard, And, If So, What Can You Do About It?
Andrew Helwer reviews McKenney’s parallel programming textbook: what it covers well, where it frustrates, and who should actually read it.
7 min · 1,715 words
Everything Is a Stream: runtime composability over compile-time plugins
Antigma Labs stabilizes Ante v0.2.0’s Unix-inspired wire protocol—operations in, events out over stdio, sockets, or WebSockets—so agent engines stay separate from UIs while SemVer locks the streaming contract.
7 min · 1,520 words
Kit Langton explains OpenCode 2’s hot-reload architecture: plugins register catalog transformations up front so models, tools, and configs update live across sessions without restarts or cache busts.
5 min · 1,112 words
A practitioner walkthrough of type punning pitfalls: why a pointer cast that works at -O0 can silently break at -O2, and how C versus C++ rules diverge in treacherous ways.
3 min · 585 words
A file path looks like identity, but it is not: Ryan Galloway explains why treating paths as durable keys breaks pipelines, and what to use instead for content identity.
4 min · 1,016 words
Making portable my unportable transputer C compiler
Oscar Toledo recounts porting his 1990s transputer C compiler from 32-bit DJGPP assumptions to a modern 64-bit Mac—fixing int/pointer aliasing, FILE*, and self-hosting constraints along the way.
14 min · 3,196 words
AI coding has made CI a bottleneck, so we reworked ours to keep up
Linear's Mufeez Amjad explains how agent-accelerated shipping made CI the bottleneck, and how they cut PR wait time and runner cost while test suites nearly quadrupled.
8 min · 1,907 words
Two Years of Building with AI: An Honest Developer Review
An honest two-year look at AI-assisted development—from ChatGPT to Claude Code—what works, why every change still gets reviewed, and the de-skilling risk.
7 min · 1,632 words
Your AI Coding Agent Can Be Attacked by the Repository It Opens
Why opening an untrusted repo with an AI coding agent is a security boundary problem—prompt injection via files, tool abuse, and practical defenses for agent workflows.
4 min · 1,028 words