Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 6,947 posts.
789 KB Linux Without MMU on RISC-V
A guide on building a tiny Linux (only 789 KB) that requires no MMU and deploying it on a RISC-V system, with custom userspace code.
Debugging a FUSE deadlock in the Linux kernel
Tycho Andersen
Hands-On Graphics Without X11
A crash course on direct framebuffer and keyboard access via NetBSD’s wscons
Fakecracker: NetBSD as a Function Based MicroVM
In November 2018 AWS published an Open Source tool called Firecracker , mostly a virtual machine monitor relying on KVM , a small sized Linux kernel, and a stripped down version of Qemu . What baffled me was the speed at which the virtual machine would fire up and run the service. The whole process is to be compared…
When an M1 Mac mini is faster than an M1 Pro: contention and core allocation
When running some tasks confined to E cores, the original M1 chip from 2020 completes them significantly quicker than an on an M1 Pro. Here’s the detail.
Understanding x86_64 Paging
I’ve spent quite a lot of time messing with x86_64 page tables, understanding address translation is not easy and when I started learning about it I felt like a lot of the material out there on how it works was hard for me to wrap my head around. So in this blog post I am going to attempt to provide a kind of “what I…
Stack Overflow: The Hardware – 2016 Edition
This is #2 in a very long series of posts on Stack Overflow’s architecture.Previous post (#1): Stack Overflow: The Architecture - 2016 EditionNext post (#3...
The Architecture of a Large-Scale Web Search Engine, Circa 2019
Our Journey to Microservices, Kubernetes and beyond.
Getting Started with Tokio
If you're interested in writing servers in Rust, Tokio is a project that should definitely be on your radar. It promises to leverage the exciting new work on futures in Rust to make it easy to build extremely efficient networked servers with natural, composable code.
State machine replication, and why you should care
Listen in on Jane Street’s Ron Minsky as he has conversations with engineers working on everything from clock synchronization to reliable multicast, build systems to reconfigurable hardware. Get a peek at how Jane Street approaches problems, and how those ideas relate to tech more broadly.
PyPy warmup improvements
Hello everyone! I'm very pleased to announce that we've just managed to merge the optresult branch. Under this cryptic name is the bigges...
OpenZFS vs. Btrfs and other file systems (2017)
Michael Dexter returns to update his blog post on the different file systems and details some key developments that are unfolding. He covers what's being added to these respective file systems: OpenZFS, Btrfs, and bcachefs. Michael Dexter has invested his volunteer time and career in Open Source hypervisors and file…
Love C, hate C: Web framework memory problems
I love C. I could give you rational reasons for that. Like the fact that it works everywhere and how it goes fast. But mostly I love C because when I write C I feel an intimate connection with my computer. To me, C has soul. In fact all my personal project are written in C, like the graphics rendering engines that I'm…
Speeding up C++ build times
How we cut build times by 50% and shipped a solution for scale.
Don’t format a drive of M1 Macs from recovery mode
Because it’s a real mess to reinstall Big Sur!
Writing Software to Last 50 Years
Design principles for writing software meant to survive decades of changing requirements and technology.
Does anyone run Postgres without PgBouncer?
Almost every notable managed Postgres provider bundles a connection pooler, giving us a strong hint that connection management is a product problem rather than a user problem.
Scalability, but at what cost? (2015)
Michael Isard, Derek Murray, and I recently sent in a HotOS submission (it’s not blind, so no harm talking about it, we think). The subject is hinted at from...
Execution units are often pipelined
In the context of out-of-order microarchitectures, I was under the impression that execution units remain occupied until the µop they’re processing is complete. This is often not the case.
Beyond Ctrl-C: The dark corners of Unix signal handling
An introduction to signals: a written version of my talk at RustConf 2023.
How to Install Windows NT 4 Server on Proxmox
Should I host my blog on here?
Dosbian: Boot to DOSBox on Raspberry Pi
Android developer, author of Combian 64 and Dosbian
Recent adventures in performance optimization with Rust
How to hash, index, profile, multi-thread, and SIMD your way to incredible speeds.
How Fast Does Claude, Acting as a User Space IP Stack, Respond to Pings?
Here is a fun thought: if we ask Claude Code to act as a user space IP stack, how quickly will it be able to respond to a ping?
How misaligning data can increase performance 12x by reducing cache misses
Here's the graph of a toy benchmark 1 of page-aligned vs. mis-aligned accesses; it shows a ratio of performance between the two at different working set sizes. If this benchmark seems contrived, it actually comes from a real world example of the disastrous performance implications of using nice power of 2 alignment…
Upgrading a Toshiba NAS HDD Firmware on Linux
I reversed the firmware updater of my Toshiba HDD to be able to update it on Linux. The following commands should work, USE AT YOUR OWN RISK :