New
The latest blog posts to take off on Hacker News. 569 posts.
Zero-latency SQLite storage in every Durable Object
Kenton Varda introduces the next iteration of Cloudflare's Durable Object platform, which recently upgraded from a key/value store to a full relational system based on SQLite. For useful background on …
Lessons learned from profiling an algorithm in Rust
Recently, I've been working on a new approximate nearest neighbor search algorithm called RaBitQ . The author has already provided a C++ implementation that runs quite fast. I tried to rewrite it in Rust (yet another RiiR). But I found that my implementation is much slower than the original one. Here is how I improve…
Node.js, Pipes, and Disappearing Bytes
Someone in one of my online communities recently asked about why their Node command was dropping output when piped to another command:
Every bug/quirk of the Windows resource compiler (rc.exe), probably
Fuzz testing decades-old software can turn up some curious behaviors
Why do systems fail? Tandem NonStop system and fault tolerance
Explore Tandem NonStop architecture principles and their relevance to high availability in software systems like Elixir, Gleam, and Erlang.
Designing a Fast Concurrent Hash Table
I recently released papaya, a fast and feature-complete concurrent hash table for Rust. In this post I want to dive into the design and research that went into creating it, as well as why you might consider using it over existing solutions.
WASM Is the New CGI
I read a wonderful twitter thead about CGI and the birth of the web and this triggered a thought I've been kicking around. > Wasm is the new CGI And to be cle...
Practices of Reliable Software Design
It should have good performance and be able to hold many entries. Reads are more common than writes. I know how I would do it already, but I’m curious about your approach.
The costs of the i386 to x86-64 upgrade
If you read my previous article on DOS memory models, you may have dismissed everything I wrote as “legacy cruft from the 1990s that nobody cares about any longer”. It's time to see how any of that carried over through the 16-bit to 64-bit evolution.
An illustrated proof of the CAP theorem (2018)
The CAP Theorem is a fundamental theorem in distributed systems that states any distributed system can have at most two of the following three properties.
Windows dynamic linking depends on the active code page
Windows paths have been WTF-16 -encoded for decades, but module names in the import tables of Portable Executable are octets. If a name contains values beyond ASCII — technically out of spec — then the dynamic linker must somehow decode those octets into Unicode in order to construct a lookup path. There are multiple…
Fast B-Trees
( This is part of a series on the design of zest . See the list of posts here .)
AVX Bitwise ternary logic instruction busted
How a modern AVX instruction shares a similar design with a 1985 blitter chip, by Arnaud Carré
John Carmack on inlined code (2014)
(Here begins a comment written by John Carmack in 2014, about an email he sent to a programmers’ mailing list in 2007.)
Optimizing Postgres table layout for maximum efficiency
Introduction When modeling a Postgres database, you probably don’t give much thought to the order of columns in your tables. After all, it seems like the kind of thing that wouldn’t affect storage or performance. But what if I told you that simply reordering your columns could reduce the size of your tables and…
Virtualizing iOS on Apple Silicon
Nick Botticelli's personal website
Good Retry, Bad Retry
Sometimes, a seemingly simple and obvious solution can lead to a series of problems later on. This is especially true when adding retries.
Perfctl: Stealthy malware targeting Linux servers
Perfctl is particularly elusive and persistent malware employing several sophisticated techniques
The Heart of Unix (2018)
Despite all of its warts, I like working in Linux. I've used it for 15 years and I've never been as productive in another environment. Most people claim that it's the configurability of Linux that keep the users coming. That may have attracted me at first, but what attracts me now is its programmability.
Why and how we’re migrating many of our servers from Linux to the BSDs
The slides, the video, and the text behind my presentation at EuroBSDCon 2024 and BSDCan 2025 - Why and how we're migrating many of our servers from Linux to the BSDs.
Serialization Is the Secret
If a value mutates in the forest with no one to see it, does it really mutate?
How Discord stores trillions of messages (2023)
Engineer Bo Ingram shares insight into how Discord shoulders its traffic and provides a platform for our users to communicate.
The perils of transition to 64-bit time_t
(please note that there’s a correction at the bottom) In the Overview of cross-architecture portability problems, I have dedicated a section to the problems resulting from use of 32-bit time_…
Why are my ZFS disks so noisy?
Earlier this year, a user at Practical ZFS asked a deceptively simple question: I have a Proxmox pool of three four-wide RAIDz1 vdevs. Whenever my VM is running, all twelve... Read More
Attacking UNIX Systems via CUPS
Hello friends, this is the first of two, possibly three (if and when I have time to finish the Windows research) writeups. We will start with targeting GNU/Lin…