Today
- Since Ladybird team abandoned their Swift adoption for the browser I heard a lot of criticism about the Swift ecosystem and the interaction between Swift and C/C++ projects. My usage of Swift is mainly for command line tools, recreational programming (like Advent of Code 2023...
Yesterday
- I'm working on a new programming language named Solod (So). It's a strict subset of Go that translates to C, without hidden memory allocations and with source-level interop.Highlights:Go in, C out. You write regular Go code and get readable C11 as output.Zero runtime. No garbage...
This week
- The shell sits in front of a lot of my work, but I mostly use it for the outcome: running unix commands and scripts, creating branches and making commits. Unlike when I'm writing code, I'm rarely thinking about how the shell itself works under the hood.So, to dig a bit deeper...
about 1 month ago
- Feb 14, 2026 How Michael Abrash doubled Quake framerate With the 1999 release of the Quake source code, came a readme.txt written by John Carmack. There is a particular sentence in that text that piqued my curiosity. Masm is also required to build the assembly language files. It...
- An allocator is a tool that reserves memory (typically on the heap) so a program can store its data structures there. Many C programs use the standard libc allocator, or at best, let you switch it out for another one like jemalloc or mimalloc.Unlike C, modern systems languages...
- Bill Hoffman, the original creator of the CMake language held a presentation at CppCon. At approximately 49 minutes in he starts talking about future plans for dependency management. He says, and I now quote him directly, that "in this future I envision", one should be able to...
about 2 months ago
- Modern system programming languages, from Hare to Zig, seem to agree that defer is a must-have feature. It's hard to argue with that, because defer makes it much easier to free memory and other resources correctly, which is crucial in languages without garbage collection.The...
- Everyone likes interfaces in Go and traits in Rust. Polymorphism without class-based hierarchies or inheritance seems to be the sweet spot. What if we try to implement this in C?Interfaces in Go • Traits in Rust • Toy example • Interface definition • Interface data • Method...
5 months ago
- Hidden benefits of undefined behavior I was reviewing some code at work, and something jumped at me when reading some arithmetic: static inline int64_t int32ToDecimal9(int32_t i) { return i * 1000000000; } If you’ve had the good fortune of dealing with C or C++ for extended...
- Unix time, calendar time, time comparison, arithmetic, rounding, and marshaling....
7 months ago
- 8/17/2025 Type systems have terms with well defined meanings. Unfortunately many of the people who discuss them online are ignorant of these terms, making what they say hard to understand, or in some cases, obscuring their point entirely. Static vs Dynamic Static typing means...
- Rewriting a word counting program five times until it's 494x faster....
over 1 year ago
- Imagine you have a workload where all your threads need to do a serialized operation. With Cosmo, if you're looking at htop, then it's going to appear like only one core is active, whereas glibc and musl libc will fill up your entire CPU meter. That's bad news if you're running...
over 3 years ago
- Translating Rob Pike's simple and elegant C regex matcher to Go....
almost 5 years ago
- An explanation of how to implement a simple hash table data structure, with code and examples in the C programming language....
over 5 years ago
- So I was writing a debugger. You know the sort of thing: breakpoints, stepping, checking the value of variables. It was going wonderfully until I tried to debug my debugger with my debugger. main was just... gone. It would run, but trying to set a breakpoint on it crashed the...
over 6 years ago
- Despite the click-bait title I hope you'll find this post generally illuminating, or at the very least a bit of fun! This article makes no claims that Haskell is "better" than C, nor does it make claims about the respective value of either language, or either implementation....
over 9 years ago
- Making C more flexible, with the help of x86_64 calling conventions: Type Punning Functions in C...
Rows per page