Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 4,387 posts.
This Is Why They Call It a Weakly-Ordered CPU
On this blog, I’ve been rambling on about lock-free programming subjects such as acquire and release semantics and weakly-ordered CPUs. I’ve tried to make these …
Kernel-hack-drill and exploiting CVE-2024-50264 in the Linux kernel
Some memory corruption bugs are much harder to exploit than others. They can involve race conditions, crash the system, and impose limitations that make a researcher's life difficult. Working with such fragile vulnerabilities demands significant time and effort. CVE-2024-50264 in the Linux kernel is one such hard bug…
Rewriting a large production system in Go
My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go . I say "almost" because one compon...
Bringing the Unix philosophy to the 21st century (2019)
JSON output must become the norm for application pipelining. Until then, jc can help.
RIP pthread_cancel
I posted about adding pthread_cancel use in curl about three weeks ago, we released this in curl 8.16.0 and it blew up right in our faces. Now, with #18540 we are ripping it out again. What happened? short recap pthreads define “Cancelation points”, a list of POSIX functions where a pthread may be cancelled. In…
Plan 9 Desktop Guide
Briefly, Plan 9 from Bell Labs is a computer operating system developed by the original UNIX design team. After decades of work on Research UNIX in the late 80's, the team decided to write a new operating system from scratch, Plan 9 was finally released in 1992, and a few years later they released yet another…
PostgreSQL internals: Things to know about update statements
I recently finished reading PostgreSQL 14 Internals by Egor Rogov. It is one of the great books that teach applied computer science without watering down the difficult parts. One particularly interesting topic is PostgreSQL’s execution of UPDATE statements. Updates in relational databases are inherently complex. They…
The unreasonable effectiveness of fuzzing for porting programs
A simple strategy of having LLMs write fuzz tests and build up a port in topological order seems effective at automating porting from C to Rust.
Scalable, Resilient Brainfuck
Building Brainf∗ck interpreter for the 21 century, with all the best systems design practices in mind. Think of Brainf∗ck-as-a-service cloud solution!
Why Developers Never Use State Machines
Why developers rarely use state machines, seeing them as overkill until it's too late to switch, and what the state_machine gem did for CrowdHired.
WSL2 can now mount Linux ext4 disks directly
If you're on a version of Windows 11 that is build 22000 or greater, you can ...
Fast Rust Builds
It's common knowledge that Rust code is slow to compile. But I have a strong gut feeling that most Rust code out there compiles much slower than it could.
How does macOS manage virtual cores on Apple Silicon?
Code run in a lightweight Virtual Machine can’t take advantage of the Efficiency cores of the host Apple silicon Mac. How then does Sonoma handle its threads?
The logging framework isn't a bottleneck, and other lies your laptop tells you
Your laptop spends all day lying to you. If you want your code to run well on server hardware, best write it on server hardware.
The state of SIMD in Rust in 2025
If you’re already familiar with SIMD, the table is all you need. And if you’re not, you will understand the table by the end of the…
Defcon: Preventing overload with graceful feature degradation (2023)
This is one in a series of papers I’m reading from OSDI and Usenix ATC. These paper reviews can be delivered weekly to your inbox , or you can subscribe to the Atom feed . As always, feel free to reach out on Twitter with feedback or suggestions!
APFS in Detail
Apple announced a new file system that will make its way into all of its OS variants (macOS, tvOS, iOS, watchOS) in the coming years. Media coverage to this…
Understanding Memory Management, Part 1: C
UPDATED: 2025-02-15: Fixed some bugs in the examples and pointed out that you don't usually just want to panic on memory allocation failure.
Linux Kernel Exploitation: Attack of the Vsock
What started off as casual scrolling through the KernelCTF submissions quickly spiraled into a weeks-long deep dive into a deceptively simple patch - and my first root shell from a Linux kernel exploit!