Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
Video Processing at Dropbox
Dash knows your context, your team, and your work, so your team can stay organized, easily find and share knowledge, and keep projects secure, all from one place.
Fastest table sort in the West – Redesigning DuckDB's sort
DuckDB, a free and open-source analytical data management system, has a new highly efficient parallel sorting implementation that can sort much more data than fits in main memory.
High-performance, exactly-once, failure-oblivious distributed programming (2018)
This is one post in a series about programming models and languages for distributed computing that I’m writing as part of my history of distributed programming techniques.Relevant ReadingTrill: A h...
RISC-V is getting MSIs
Message signaled interrupts or MSIs describe a way to signal an interrupt without a dedicated interrupt request pin (IRQ). One of the most prevalent uses for MSIs is the PCI bus, and the PCI specification defines the MSI and MSI-X standards. The potential benefits may include: (1) reduced number of direct wires from…
Don’t run this on any system you expect to be up they said, but we did it anyway
This is the story of how we upgraded over 2000 Ubuntu production servers – turning over millions an hour – by installing the operating system in memory, wiping the root disk and reinstalling the OS back on disk from RAM. We did it, there was zero data loss and it saved us lots of time and...
Zigzag Decoding with AVX-512
I’ve been working on speeding up AVX-512 vertex decoding in meshoptimizer recently; in the process I stumbled upon two optimizations that I did not end up using but I thought they might be fun to write about! The optimizations that actually made it in require some higher level background / explanations that will have…
Hitting Peak File IO Performance with Zig
This post goes through how to maximize file IO performance on linux using zig with io_uring.
Scamp – a homebrew 16-bit CPU
I have reached a good milestone on the SCAMP hardware: it can now execute code! It runs all the way through the test program correctly.
AI errno(2) values
errno(2) values for the AI age
Linux Toolbox
Your Linux Toolbox: a box set of my free zines
Hypervisor in 1k Lines
Write your first hypervisor from scratch, in 1K LoC.
A crash course in just-in-time compilers (2017)
This is the second part in a series on WebAssembly and what makes it fast. If you haven’t read the others, we recommend starting from the beginning. JavaScript started out ...
Stream VByte: breaking new speed records for integer compression
In many information systems, we work with arrays of integers. For example, maybe you need to keep track of which records in a database contain a given value. This sort of mapping can be expressed as an array of integers. These arrays can end up taking up a large fraction of your memory or disk … Continue reading…
LLVM Internals: The Bitcode Format
I’ve done a couple of posts on LLVM itself, mostly on things you can do with LLVM or how LLVM represents particular program features.
Postgres WAL Files and Sequence Numbers
Go inside the WAL file with this in-depth look at WAL file Log Sequence Number (LSN), WAL segment positions, WAL file names, and pg_switch_wal.
MacOS Extensions Pack for the Apple Network Server v1.0
By now regular readers of this blog are quite familiar with my affection for the 1996 Apple Network Server , Apple's Unix-through-and-thro...
Fork() without exec() is dangerous in large programs (2016)
The UNIX fork() system call seems like an elegant way to process tasks in parallel. It creates a copy of the current process, allowing tasks to read the same memory, without needing fine-grained synchronization. Unfortunately, you need to use it extremely carefully in large programs because fork in a multi-threaded…
Why Not ZFS (2021)
ZFS is a hybrid filesystem and volume manager system that is quite popular recently but has some important and unexpected problems.
This isn’t the way to speed up Rust compile times
Xe Iaso's personal website.
Why did Apple's Copland fail when so many 90s OS succeed, dominate world today
(Adapted from a Quora answer .) OS/2 1.x was a clean-sweep, largely legacy-free OS with only limited backwards compatibility with DOS. OS/2 2.x and later used VMs to do the hard stuff of DOS emulation, because they ran on a chip with hardware-assisted DOS VMs: the 80386s Virtual86 mode.…
Feasibility of low-level GPU access on the Web
This is a follow up to Defining the Web platform post from a year ago. It doesn’t try to answer questions but instead attempts to figure out what are the rig...
XMODEM in 2022
Let's start at the beginning: it all started with me trying to boot a system which receives its initial ramdisk over XMODEM.
On the future of free long term support for Linux distributions
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Transcoding Latin 1 strings to UTF-8 strings at 12 GB/s using AVX-512
Though most strings online today follow the Unicode standard (e.g., using UTF-8), the Latin 1 standard is still in widespread inside some systems (such as browsers) as JavaScript strings are often stored as either Latin 1, UTF-8 or UTF-16 internally. Latin 1 captures the first 256 characters from the Unicode standard…
The Dawn of a new Command Line Interface (2017)
disclaimer: this is a technical post aimed at developers being somewhat aware of the problem space. There will be a concluding ‘the day of…’ post aimed at end users where some of …
"Doors" in Solaris: Lightweight RPC Using File Descriptors (1996)
A door is a "file" descriptor used to describe a procedure in a process and optionally some additional state associated with the procedure. Doors were initially designed as Spring object descriptors used to encapsulate the state and capabilities of C++ objects. A process which obtains a door is free to pass it, along…