2 days ago
3 days ago
7 days ago
9 days ago
One design choice in C that now feels outdated—and arguably one of its biggest mistakes—is the use of null-terminated strings
When you’re proficient with your editor of choice—whatever it is—it disappears into the background. But the moment it cannot handle something easily, it stops being invisible. What baffles me is that so many people treat that friction—the effort of working around a tool’s limitations—as the “fun” part, and then advertise it as evidence that the tool is great.
Part of why these debates turn religious is that a tool choice becomes a flag you plant—it says something about who you are. The “hacker vibe” isn’t a mere aesthetic; it’s tribal signaling, and that’s the real trap. Once your identity is invested in a tool, admitting its flaws starts to feel like admitting something about yourself.
Designing an ergonomic tool is fundamentally about having good defaults, while still allowing escape hatches where they’re possible/needed.
Much in common with Borretti’s “You Can Choose Tools That Make You Happy.”
see: https://borretti.me/article/you-can-choose-tools-that-make-you-happy
09 Jul 26
08 Jul 26
05 Jul 26
03 Jul 26
You can ignore files in .gitignore, .git/info/exclude, and ~/.config/git/ignore
29 Jun 26
If you’ve written network code in earlier versions of Zig or in C, then the patterns here will feel familiar. This post walks through building a minimal HTTP/1.1 server using nothing but the Zig standard library.The full source code for this blog post is available as a self-contained main.zig and main-async.zig with no external dependencies other than the Zig 0.16 standard library on GitHub.A Brief History of I/O In ZigZig 0.15.1 - “Writergate”: All existing std.io readers and writers were deprecated in favor of the new std.Io.Reader and std.Io.Writer. These are non-generic structs that hold both a vtable pointer and buffer. The buffer lives in the interface and not in the implementation.
Hard-earned lessons from our notebook about infographics and information design.