Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 569 posts.
`find` + `mkdir` is Turing complete
We show that a system that has only GNU's find and mkdir commands is Turing-complete.
Visualizing algorithms for rate limiting
Smudge.ai is a Chrome extension that gives you ChatGPT-powered shortcuts in your right-click menu.
Continuous reinvention: A brief history of block storage at AWS
Marc Olson, a long-time Amazonian, discusses the evolution of EBS, highlighting hard-won lessons in queueing theory, the importance of comprehensive instrumentation, and the value of incrementalism versus radical changes. It's an insightful look at how one of AWS’s foundational services has evolved to meet the needs…
Intel Processor Instability Causing Oodle Decompression Failures
RAD Game Tools' web page. RAD makes Bink Video, the Telemetry Performance Visualization System, and Oodle Data Compression - all popular video game middleware.
MVCC – the part of PostgreSQL we hate the most (2023)
As much as Andy loves PostgreSQL, there is one part that is terrible and causes many headaches for people. Learn what it is and why it sucks.
More powerful Go execution traces
New features and improvements to execution traces from the last year.
Introducing S2
Introducing S2, a serverless stream store that makes durable real-time streams feel as simple and scalable as object storage.
Debugging memory corruption: who the hell writes "2" into my stack? (2016)
Several weeks ago we received a bug report from a customer that said their game was crashing when using IL2CPP scripting backend. QA verified the bug and assigned it to me for fixing. The project was quite big (although far from the largest ones); it took 40 minutes to build on my machine. The instructions on the bug…
Box64 and RISC-V in 2024: What It Takes to Run the Witcher 3 on RISC-V
What It Takes to Run The Witcher 3 on RiSC-V
Databases and why their complexity is now unnecessary
This post is not going to be about what’s wrong with individual databases. There are so many databases and so many individual API issues, operational problems, and arbitrary limitations that it wou…
Who killed the network switch? A Hubris Bug Story
A Hubris Bug Story
macOS 15.2 breaks the ability to copy the OS to another drive
macOS 15.2 was released a few days ago, with a surprise. A terrible, awful surprise.
Virtualizing iOS on Apple Silicon
Nick Botticelli's personal website
In Search of a Faster SQLite
Researchers at the University of Helsinki and Cambridge attempted to build a faster SQLite using modern programming paradigms like io_uring and disaggregated storage. They demonstrate up to a 100x reduction in tail latency. These are my notes.
I Didn't Need Kubernetes, and You Probably Don't Either
I moved my projects from Kubernetes to Google Cloud Run because I did not want to pay for cluster operations, idle capacity, and job-running infrastructure.
Things I learned while writing an x86 emulator (2023)
If you’ve read my first post about assembly language, you might expect that this is another post on how to understand assembly language. I will write more about that at some point, but this post is not that. Instead, this post is going to talk about some of the weird things and random trivia I learned while writing an…
Visualizing Ext4
What does ext4 look like?
The File Filesystem (2021)
mount semi-structured data (like JSON) as a Unix filesystem
We built a self-healing system to survive a concurrency bug at Netflix
Our CPUs were dying, the bug was temporarily un-fixable, and we had no viable path forward. Here's how we managed to survive.
Fast LLM Inference From Scratch (using CUDA)
This post is about building an LLM inference engine using C++ and CUDA from scratch without libraries.
An IRC client in your motherboard
I made a graphical IRC client that runs in UEFI. It’s written in Rust and leverages the GUI toolkit and TrueType renderer that I wrote for axle’s userspace. I was able to develop it thanks to the vmnet network backend that I implemented for QEMU. You can connect to an IRC server, chat and read messages, all from the…
Linux Pipes Are Slow
Errata: Some significant mistakes were pointed out to me by email by Brendan MacDonell. I have included errata, but the results might not be reliable, so take this with pinch of salt! vmsplice is too fast Some programs use a particular system call “vmsplice” to move data faster through a pipe. Francesco already did a…
It Can Be Done (2003)
A story about quality from the development of the Multics operating system.
How I tripped over the Debian weak keys vulnerability
Those of you who haven’t been in IT for far, far too long might not know that next month will be the 16th(!) anniversary of the disclosure of what was, at the time, a fairly earth-shattering revelation: that for about 18 months, the Debian OpenSSL package was generating entirely predictable private keys .
I sped up serde_json strings by 20%
I have recently done some performance work and realized that reading about my experience could be entertaining. Teaching to think is just as important as teaching to code, but this is seldom done; I think something I’ve done last month is a great opportunity to draw the curtain a bit. serde is the Rust framework for…
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.
How simultaneous multithreading works under the hood
Learn the microarchitecture-level details of the processor that enable to execute two threads at the same time on a CPU core