Last week
- One of the many nice language features in Python are keyword arguments. They make some types of APIs concise and readable. Like so: Unfortunately C does not have keyword arguments and, by extension, neither does C++. Adding them as a language feature would take 15-20 years of...
about 2 months ago
- Solod (So) is a system-level language with Go syntax and zero runtime. It's designed for two main audiences:Go developers who want low-level control and zero-cost C interop, without having to learn a new language or standard library.C developers who like Go's style.The initial...
- I started working on the new Array data type for Redis in the first days of January. The PR landed the repository only now, so this code was cooked for four months. I worked at the implementation kinda part time (kinda because many weeks were actually full time, sometimes to...
3 months ago
- Creating a subset of Go that translates to C was never my end goal. I liked writing C code with Go, but without the standard library it felt pretty limited. So, the next logical step was to port Go's stdlib to C.Of course, this isn't something I could do all at once. I started...
- Creating a subset of Go that translates to C was never my end goal. I liked writing C code with Go, but without the standard library it felt pretty limited. So, the next logical step was to port Go's stdlib to C.Of course, this isn't something I could do all at once. So I...
- At this point in history, AI sociopaths have purchased all the world's RAM in order to run their copyright infringement factories at full blast. Thus the amount of memory in consumer computers and phones seems to be going down. After decades of not having to care about memory...
- 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...
- 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...
- 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...
4 months 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...
5 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...
8 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....
10 months ago
- I’ve been on the lookout for a scripting language which can be neatly embedded into Hare programs. Perhaps the obvious candidate is Lua – but I’m not particularly enthusiastic about it. When I was evaluating the landscape of tools which are “like Lua, but not Lua”, I found an...
- 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...
almost 4 years ago
- Translating Rob Pike's simple and elegant C regex matcher to Go....
about 5 years ago
- An explanation of how to implement a simple hash table data structure, with code and examples in the C programming language....
almost 6 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....
Rows per page