
One harness treats MCP as core infrastructure and spends tens of thousands of lines on it. The other refuses it on principle and tells the agent to write its own tools instead. Both positions are coherent, and the disagreement is not about capability. It is about who owns the schema, what a stable boundary is worth, and what you pay for it in tokens and attack surface on every single request.
Read More
Codex made Item a wire type and thread/fork a protocol call. Pi gave every session entry a parentId. Claude Code compresses the transcript in five stages. Three harnesses, three answers to what the durable unit of agent state actually is, and the answer decides whether running out of context costs you a summary or costs you the work.
Read More
Pi is famous for a system prompt under a thousand tokens. I measured it: 550. Then I measured the four tool schemas that ship beside it in every single request: 588. The celebrated number is the smaller half. Meanwhile Codex ships a different prompt length for every model, from 1,436 to 5,070 tokens, and the reason why is the most useful thing in either codebase.
Read More
OpenAI changed two API settings on ARC-AGI-3 and GPT-5.6 Sol went from 13.3% to 38.3% while spending six times fewer output tokens. Same model, same weights, same benchmark. The official harness had been throwing away the model's reasoning after every move. Which means the score was never a measurement of the model, and neither is most of what we compare.
Read More
512 bytes, no operating system, no standard library, no memory management — BIOS drops you at 0x7c00 in 16-bit real mode and everything after that is yours to build. A hand-written Stage-1 MBR, line by line, and why the exercise surfaces every abstraction you normally stand on.
Read More
Step through a hand-written x86 bootloader in GDB, hit a far jump, and watch your function names turn to garbage. Nothing crashed — CS changed, and in real mode that moves every address out from under GDB's symbol table. Why it happens and how to keep symbols following you.
Read More
Attach GDB to a stock Ubuntu 6.8 x86-64 kernel in QEMU, set a breakpoint, and watch nothing happen. The kernel is running fine. The bug isn't in the code — it's that KASLR moved the kernel and your symbols didn't. How to fix it without a rebuild.
Read More
Rebuild an ARM64 Linux kernel with Yocto, boot it in QEMU, and step through it in GDB — on a laptop, no hardware. The workflow is the easy part; the part nobody tells you is why GDB can't find your source and how to fix it.
Read More
top shows 100% CPU. perf shows the truth. Two threads doing identical work run in 841ms or 8118ms depending on one thing your profile never mentions: where their data sits in memory. Cache misses, TLB misses, and false sharing, with real code and real numbers.
Read More
kprobe and fentry both hook kernel functions from eBPF, but they install differently, cost differently, and hand you arguments differently. A source-level comparison, grounded in a real eBPF project, plus why the choice is a production cost — not trivia.
Read More