// BLOG · PAGE 4 OF 8

All posts

ALL POSTS · PAGE 4 / 8

CONCURRENCY

Deadlocks: The Four Conditions and the One Fix That Works

Every deadlock requires four conditions to hold simultaneously, and every practical cure breaks exactly one of them. Why lock ordering is the fix that survives contact with real codebases, and how to find the cycle when it happens anyway.

AI

MCP: Giving AI Agents a Universal Tool Port

Before the Model Context Protocol, every agent-to-tool integration was bespoke M×N glue. MCP is the USB-C of agent tooling: a standard client-server protocol so any model can discover and call any capability. What it is, and why it's a systems standard, not an AI one.

PERFORMANCE

Zero-Copy I/O: Stop Paying to Move Bytes You Never Touch

A naive file-to-socket server copies every byte four times and crosses the kernel boundary twice per chunk. sendfile collapses it to zero user-space copies — and the lineage from there (splice, MSG_ZEROCOPY, io_uring) is the story of modern fast I/O.

LINUX

The VFS: How 'Everything Is a File' Actually Works

The same read() works on ext4 files, /proc fictions, sockets, and pipes because Linux routes every file operation through one dispatch layer. The VFS is the kernel's biggest interface — and its object model is worth stealing.

KERNEL

How Linux Decides What Runs Next: CFS to EEVDF

For 15 years Linux picked the next task with a red-black tree of virtual runtimes. In 6.6 that changed for the first time since 2007. What fairness actually means, how nice values work, and why latency-sensitive tasks forced a redesign.

COMPILERS

What -O2 Actually Does: A Tour of Compiler Optimizations

The gap between -O0 and -O2 is often 10x, and it's not magic — it's a pipeline of individually simple transformations over an intermediate representation. SSA, inlining, the passes that matter, and why your careful micro-optimization was already done for you.

AI

Tokenizers: Why an LLM Can't Count the R's in Strawberry

Before a language model sees your text, a tokenizer chops it into subword pieces from a fixed vocabulary — and that boundary explains the model's weirdest failures: bad arithmetic, the strawberry problem, why code indentation matters, and why some languages cost 3x more.

NETWORKING

Longest Prefix Match: How Routers Decide in Nanoseconds

A core router matches each packet against ~1M CIDR prefixes and must pick the most specific — billions of times per second. The data structures behind that (tries, TCAM, poptrie lineage) and why 'most specific wins' shapes everything from BGP hijacks to your homelab VPN.

DATABASES

Write-Ahead Logging: The Only Trick Durability Has

Every database, filesystem, and message broker converges on the same move: append the intention to a sequential log, fsync, then update the real structures whenever. WAL is one idea wearing a dozen names — and its failure modes repeat too.

LINUX

Anatomy of a System Call: What read() Really Costs

A function call costs ~2ns. A syscall costs ~100ns before doing any work — and that's after decades of optimization plus a Spectre-era tax. Where the time goes, why vDSO exists, and what that means for API design.

ALGORITHMS

Hash Functions: What Makes a Good One (and Why Yours Isn't)

Between 'sum the bytes' and SHA-256 lies the workhorse category: non-cryptographic hashes. What avalanche means, how hash quality turns into hash-table throughput, and why every language runtime switched to seeded hashing.