Rust's Block Pattern
Here’s a little idiom that I haven’t really seen discussed anywhere, that I think makes Rust code much cleaner and more robust.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,747 posts.
Here’s a little idiom that I haven’t really seen discussed anywhere, that I think makes Rust code much cleaner and more robust.
My last article about generic data structures in C was written to set the stage for today’s topic: A data structure with constant time indexing, stable pointers, and works well with arena allocators. Its been independently discovered by multiple programmers over the years and so goes by different names. A 2001 paper…
Celebrating a little bit of legacy from Placemark and a new product for hydraulic simulation
How Jujutsu's flexibility and safety changed my approach to version control.
Introducing kv, a statically allocated key/value server.
ICU gets Unicode right and pays for it. This post shows a different approach: fold-safe windows, SIMD probes, and verifiers for fast UTF‑8 search.
I just think it's neat!
We're open sourcing our programmatic low-level container runtime, Styrolite
Exploring a peculiar bit-twiddling hack at the intersection of 1980s geek sensibilities.
The third edition of Automate the Boring Stuff with Python is now available for purchase or to read for free online . It has updated content and several new chapters, but one chapter that was left on the cutting room floor was "Working with Audio, Video, and Webcams" . I present the 26-page rough draft chapter in this…
Applying human ergonomics and design principles to syntax highlighting
A problem I experienced when pursuing my PhD and submitting academic articles was that I had built solutions to problems that required dramatic scale to be effective and worthwhile. Responses to my publication submissions often claimed such problems did not exist; however, I had observed them during my time within…
Make AI weird again.
My Helix editor config and how I am using it
In the previous posts, we've explored the SQLite file format and built a simple SQL parser. It's time to put these pieces together and implement a query…
Machine code isn't scary. If you can make sure your JSON conforms to a JSON schema, you can write machine code.
An opportunity for more opinionated defaults
Composer is our new agent model designed for software engineering intelligence and speed.
Fizz Buzz is a counting game that has become oddly popular in the world of computer programming as a simple test of basic programming skills. The rules of the game are straightforward. Players say the numbers aloud in order beginning with one. Whenever a number is divisible by 3, they say 'Fizz' instead. If it is…
Yes, you read that right. SQL does treat all NULLs as distinct values. I learnt this a while back while working on Convoy and again on LiteQueue: a Golang a queueing library. Basically, any column wi
TIL: `satisfies` is my favorite TypeScript keyword
You know what: Microsoft became miserably incompetent in IT. I develop open-source code. But that never made me one of the “I hate proprietary software or IT giant corporations” types. …
I want to view a picture of a funny cat I found on the web. How hard can it be?
Dissecting various compression algorithms.
In my book Understanding the Odin Programming Language I wrote that “Odin incorporates some of my favorite C best practices, straight into the language”. But I didn’t really elaborate on the details. Let’s do that here! This brings me to talking a bit about a previous job I had. Back in 2021 I worked at a place called…
I spend an awful lot of my day in Unix terminals running shell commands. For some reason, the variance in efficiency between different people when using the shell is huge: I know people who can run rings around me, and I’ve come across more than one paid professional who doesn’t use the “up” key to retrieve the…
I had a vague idea that closures could have a variety of performance implications; I did not believe that so many of the chosen and potential designs for C and C++ extensions ones, however, were so…
Software engineer by day, software engineer by night also.
This article contains a collection of resources for senior (or staff+) engineers exploring the use of LLM for collaborative programming.
Developing a Boids program from scratch without restarting it.