This week
- As of this PR, simdutf can be used without libc++ or libc++abi1. Simdutf was the final remaining libc++ dependency in libghostty-vt2. After updating Ghostty to use this new simdutf build, we were able to remove libc++ and libc++abi completely from our dependencies. Note that at...
Last week
- In an earlier blog post we found out that Pystd's simple sorting algorithm implementations were 5-10% slower than their stdlibc++ counterparts. The obvious follow up nerd snipe is to ask "can we make the Pystd implementation faster than stdlibc++?" For all tests below the data...
- 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...
About a month ago
- One of the most optimized algorithms in any standard library is sorting. It is used everywhere so it must be fast. Thousands upon thousands of developer hours have been sunk into inventing new algorithms and making sort implementations faster. Pystd has a different design...
- David Poll points out the flawed premise of the argument that code review is a bottleneck To be fair, finding defects has always been listed as a goal of code review – Wikipedia will tell you as much. And sure, reviewers do catch bugs. But I think that framing dramatically...
- 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 2 months ago
- BM25 models the odds a term would be observed in a relevant document vs the term occurring in an irrelevant......
- There was a famous Covid era chart that I always struggle to find, showing how hard it is to estimate an S curve while living through it. in the early days it seems that everything is exploding as an exponential and you always get hypey essays about how YOU, YOU DUMB DUMB, DONT...
- There are a lot of prime classes, such as left truncating primes, twin primes, mersenne primes, palindromic primes, emirp primes and so on. The Wikipedia page on primes lists many more. Recently I got to thinking (as one is wont to do) how difficult would it be to come up with a...
- SFQ: Simple, Stateless, Stochastic Fairness Roll the dice. Paul E. McKenney’s 1990 paper Stochastic Fairness Queuing contains one of my favorite little algorithms for distributed systems. Stochastic Fairness Queuing is a way to stochastically isolate workloads from different...
- Anthropic recently released a blog post with the description of an experiment in which the last version of Opus, the 4.6, was instructed to write a C compiler in Rust, in a “clean room” setup. The experiment methodology left me dubious about the kind of point they wanted to...
- A judgment list labels a document as relevant irrelevant for a query So you get a label say 1 5......
- How working within hard limits produced some of the most elegant software in history, and what we can learn from it....
- Optimal Caverna Gameplay via Formal Methods You know what's better than gloating after winning a board game? Winning every possible board game. And you know what's better than that? Having a machine-checked proof that you win every possible board game. Caverna: The Cave Farmers...
- I first learned of systems thinking in the domain of city planning, and that is apparently also where the idea comes from. It was described to me in the context of building new residential buildings and effects on local bird populations. Birds don’t always perceive glass...
2 months ago
- Can Opus 4.6 do Category Theory in Lean? I have a little category theory library I've been dragging around for about a decade now. It started life in Haskell, got ported to Agda, briefly lived in Idris, spent some time in Coq, and has now landed in Lean 4. I call it Kitty Cats....
- Pystd is an experiment on what a C++ standard library without any backwards compatibility requirements would look like. It's design goals are in order of decreasing priority: Fast build times Simplicity of implementation Good performance It also has some design-antigoals: Not...
- 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...
- A key challenge working with coding agents is having them both test what they’ve built and demonstrate that software to you, their overseer. This goes beyond automated tests—we need artifacts …
- 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...
- February 4, 2026 Sheesh look at this gorgeous graph from the great Daniel J. Bernstein: Daniel J. Bernstein's graph comparing sorting algorithms Somewhere, Julie Mehretu is raising a single eyebrow; perhaps jotting a note. P.S. Bernstein is one of those amazing figures in...
3 months ago
- Have you ever attended a crazily big academic conference? I just did and now I know it’s not for me. And yes, the scale is an issue.
- GenAI feels like another turning point for software development. It’s really just the latest moment in a long, repeating pattern of partial revelation and broad avoidance of how creating software needs to be approached. Early limits of software development The “software crisis”...
- 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...
Rows per page