Why choose async/await over threads?
A common refrain is that threads can do everything that async/await can, but simpler. So why would anyone choose async/await?
Topics /
The most popular blog posts about systems & performance on Hacker News. 399 posts.
A common refrain is that threads can do everything that async/await can, but simpler. So why would anyone choose async/await?
By all accounts, Pat Gelsinger is affable, technically sharp, hard-working, and decent. Those who have worked for him praise him as a singularly good manager. In January 2021, when Gelsinger was abruptly named the CEO of Intel, this is more or less all I knew of him — and I found myself urgently needing to learn much…
My 4U 71 TiB ZFS NAS built with twenty-four 4 TB drives is over 10 years old and still going strong.
Some engineering patterns that sound good but almost never work as intended
For the past two years Charles Zhang and I have been working on getting my game engine, Trial, running on the Nintendo Switch. The primary challenge in doing this is porting the underlying Common Lisp runtime to work on this platform. We knew going into this that it was going to be hard, but it has proven to be quite…
An analysis of the Croatian classic.
One of the many enjoyable things about databases is that they generally try to separate how data is represented internally (say on disk) from how it is used. To the point that it has become the norm to not even store the data on the same hardware that is running the queries.
A tale about exploiting KernelCTF Mitigation, Debian, and Ubuntu instances with a double-free in nf_tables in the Linux kernel, using novel techniques like Dirty Pagedirectory. All without even having to recompile the exploit for different kernel targets once.
Yet another programming blog. Thoughts on software and related misadventures.
A detailed blog post on optimizing multi-threaded matrix multiplication for x86 processors to achieve OpenBLAS/MKL-like performance. Tags: High-performance GEMM on CPU, Fast GEMM on CPU, High-performance matrix multiplication on CPU, Fast Matrix Multiplication on CPU, Matrix multiplication in C, GEMM in C, Matrix…
We show that a system that has only GNU's find and mkdir commands is Turing-complete.
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…
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.
A Hubris Bug Story
Nick Botticelli's personal website
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 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.
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…
What does ext4 look like?
mount semi-structured data (like JSON) as a Unix filesystem
Our CPUs were dying, the bug was temporarily un-fixable, and we had no viable path forward. Here's how we managed to survive.
This post is about building an LLM inference engine using C++ and CUDA from scratch without libraries.
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…
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…