Zig 0.15 IO Rewrite: What Changed and Why
Zig 0.15 completely rewrote its IO interface — from generic anytype to concrete types with built-in ring buffers. Here's what changed, why it matters, and what it means for your code.
Zig 0.15 completely rewrote its IO interface — from generic anytype to concrete types with built-in ring buffers. Here's what changed, why it matters, and what it means for your code.
A deep dive into Git internals after a mysterious PR incident revealed the hidden mechanics of GitHub's merge strategies, fork syncing, and commit identity.
The first time I saw .{"world"} in Zig, I stared at it for way too long. This is what I eventually figured out.
You use hash tables every day. You trust the O(1) promise. But in 2011, two researchers showed how that trust could be weaponized—and the fallout changed how we think about security by default.
Async I/O, event loops, coroutines, schedulers—these terms haunted me for years. They appeared together so often that I assumed they were the same thing. They're not. Here's how I finally untangled them.
Stacks, heaps, and what actually happens when you run ./program.
When I first heard about Bancor raising $153 million in just three hours on June 12, 2017, I knew I was witnessing history. Not because of the amount—though it was staggering—but because of what it represented: the moment when smart contracts proved they could revolutionize fundraising forever. Today, I want to take you through the technical brilliance and human drama behind Initial Coin Offerings, using Bancor as our lens to understand how a few hundred lines of code changed venture capital forever.
This is an exploration of a half-baked idea that won't leave me alone. It's probably naive, definitely incomplete, but I think there's something here worth thinking through.
There's something deeply satisfying about a system where your words live as plain text files in a folder, tracked by Git like any other code.