Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
SIMD-accelerated computer vision on a $2 microcontroller
shranav describes writing a FAST corner feature detector for the ESP32-S3 using its little-known 128-bit SIMD instructions, working around misaligned reads and signed-only saturating arithmetic, and roughly doubling throughput to about 11.2 megapixels per second, around 6ms per QVGA frame.
4 min · 994 words
yossarian explains why the POSIX wordexp(3) API, often recommended for tilde expansion in C, enables command substitution by default, and why even the WRDE_NOCMD flag is unreliable on musl and macOS, so it should never be used on untrusted input.
1 min · 258 words
An Emulator Writer's HOWTO for Static Binary Translation
Graham Toal's technical HOWTO on static binary translation for emulators: analyzing instruction sets, translating guest code to host code offline, handling self-modifying code and indirect jumps, with pointers to the Orion SBT project and Michael Steil's abstract.
36 min · 8,376 words
Abner Coimbre describes how he writes modern C in late 2026 after C23: naming, headers, types, error handling, and the conventions he kept from older 'How I Write C' guidance while adopting new language features.
4 min · 939 words
A guide to the C programming language written from the perspective of someone who learned Rust first. BD103 walks through the surprising and unexpected parts of C for Rust programmers, including booleans and headers, strings and pointer lengths, integer types like size_t, the arrow operator, and the memory safety pitfalls Rust usually prevents.
9 min · 2,046 words
Extend Lua with Zig 1: Hello World
The first part of Robbie Lyman's series on extending Lua with Zig: installing Zig, writing and running a Hello World, and building it with a first build.zig script, aimed at Lua programmers new to Zig on the way to calling Zig functions from Lua.
10 min · 2,331 words
hitogata describes rainbows, a specification for memory-mapped devices (console, arithmetic, disk, date/time and screen) attached to the ok stack-based virtual machine, turning it into a fantasy computer, with the memory layout of each device and open design questions.
10 min · 2,300 words
Cache-Aware Programming: How Software Learns to Work With the Hardware
A practical essay on why memory access patterns often dominate runtime: caches, locality, and how programming choices make software cooperate with modern hardware.
6 min · 1,473 words
The Double Headed Stack Allocator
A game-programming write-up on stack (bump) allocators, starting from animation blending on Midway's cancelled This is Vegas, then extending the idea to a double-headed stack allocator that grows from both ends of one buffer, and a scheme for storing variable-sized objects in a finite region with an offset table.
7 min · 1,696 words
Back in June of 2024 at RustFest Zürich, the Const Generics project group first discussed a new design for supporting more complex uses of generic parameters in Const Generics. Since then, we've continued to refine the initial design and have implemented the new design as a family of features dubbed "Generic Const Arguments" (GCA for short).
11 min · 2,501 words
A minimal kernel in Swift, running in QEMU
Antonin walks through writing a tiny kernel in Embedded Swift that boots in QEMU: the Swift package and compiler setup, bridging Swift to assembly with the @c attribute, providing the missing runtime functions, describing the memory layout with a linker script, printing to the serial console, and finally echoing typed characters back as a simple prompt.
8 min · 1,870 words
Digital Audio on the ZX Spectrum's 1-Bit Beeper
Michael Martin wraps a ZX Spectrum series with a practical write-up on coaxing high-quality digital audio from the machine's 1-bit beeper—covering techniques, trade-offs, and surprisingly good results on every Spectrum model.
21 min · 4,768 words
Dissecting House of Apple 2 on modern glibc
An interactive GDB walkthrough of House of Apple 2 on glibc 2.43: FSOP past vtable checks, wide-stream arbitrary call, stack pivot, and ROP—with a follow-along lab.
2 min · 383 words
Go concurrency distilled This mini book provides a brief overview of many concurrency topics in Go. Each topic comes with interactive examples — feel free to experiment with them by changing the code and clicking Run . There's also a [PDF version](https://github.com/nalgeon/go conc distilled) with static examples. This is a quick refresher on Go concurrency, not a beginner's guide.
28 min · 6,445 words
NetBSD: Playing with disklabels
A hands-on walkthrough of NetBSD disklabels for someone coming from Linux/DOS: how labels are structured, how to inspect and edit them safely, and the gotchas when partitioning disks the BSD way.
7 min · 1,633 words
Building a 64-Bit OS — Chapter 3: Interrupt Descriptor Tables (The magic behind a working keyboard)
Building a 64-Bit OS — Chapter 3: Interrupt Descriptor Tables (The magic behind a working keyboard) Interrupts Interrupts are easily one of my favorite topics.
11 min · 2,612 words
Blinking a Blue Pill LED with Rust, from scratch
A from-scratch Blue Pill walkthrough in Rust without a HAL: wiring and flashing, the reset vector, volatile GPIO writes, delay loops, and the assumptions a working blink can hide.
22 min · 5,155 words
Needed 1+1, Built a Functional Programming LanguageFrom a data-structures homework tree to closures, a chunk allocator, and a mark-and-sweep GC in C
A playful systems write-up: starting from evaluating 1+1 as a binary tree, the author builds a graph-reduction language in C with closures, a chunk allocator, and a garbage collector that cuts fib(40) from 12GB to 1.7MB.
2 min · 422 words
Why C Strings Suck And How I Fixed Them
Elias Ebner explains how NUL-terminated strings work in C and why they cause bugs and inefficiency, then walks through a small single-file open-source C library built around length-carrying string view and owned string types, with design decisions, API examples and a note on unity builds.
16 min · 3,770 words
Inside Forge: Writing a Container Runtime From Scratch
A from-scratch walkthrough of Forge, a container runtime built in Go on Linux primitives—covering namespaces, cgroups, rootfs setup, and lessons from building the runtime by hand.
16 min · 3,673 words