Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 543 posts.
The G in GPU is for Graphics damnit
As is true for everything, a lot of things need to happen for anything to happen, and so it’s true for this blogpost as well. Out of all of these everything that needed to happen, 3 are these:
Why did containers happen?
Autumn update This is what it is looking like around here at the moment. DevOpsDays London I gave a talk at DevOpsDays London recently. It was a nice...
Linux on the Fujitsu Lifebook U729
A short review and troubleshooting guide.
How We Found 7 TiB of Memory Just Sitting Around
How we saved 7 TiB of memory across our Kubernetes clusters by disabling namespace listwatching in Vector, reducing daemonset overhead and API server load at scale.
Bought myself an Ampere Altra system
There are tools and there are toys. I bought myself a tool.
Speeding up Unreal Editor launch by not spawning unused tooltips
If there is one thing the Unreal Engine doesn’t suffer from, it is it’s lack of features. Over the past years it has been transformed from “just” a game engine into an ̵…
ZFS: Apple's new filesystem that wasn't (2016)
Prologue (2006) I attended my first WWDC in 2006 to participate in Apple’s launch of their DTrace port to the next version of Mac OS X (Leopard). Apple…
Async I/O on Linux in databases
I've been working on a complex multi-model database for a few weeks now, and recently I took time to simplify and test out an idea I had on a simple key-value database. I started with the basics: A hash table in memory, a simple append-only log
No-Panic Rust: A Nice Technique for Systems Programming
Can Rust replace C? This is a question that has been on my mind for many years,as I created and now am tech lead forupb, a C libraryfor Protocol Buffers. Th...
Who has the fastest F1 website (2021)
Deep-diving on the load performance of F1 websites.
Why was Apache Kafka created?
The story behind how LinkedIn created Apache Kafka
The state of binary compatibility on Linux and how to address it
Learn why Linux binary compatibility breaks when shipping software and what developers can do to fix real-world build and deployment issues.
In S3 simplicity is table stakes
From simple object storage to sophisticated table management, builders have always shaped S3's evolution. Andy Warfield discusses why making complex systems simple remains our north star at AWS.
Tokio and Prctl = Nasty Bug
Recently I encountered a bug so cute that I immediately knew that I will want to share it on my blog. It was one of those bugs that even Rust can’t save you from. It occurred in HyperQueue (HQ), a distributed task scheduler written in Rust that I work on.
Oniux: Kernel-level Tor isolation for any Linux app
Introducing oniux: Kernel-level Tor isolation for any Linux app. This torsocks alternative uses namespaces to isolate Linux applications over the Tor network and eliminate data leaks.
AdapTive-LeArning Speculator System (ATLAS): Faster LLM inference
LLM inference that gets faster as you use it. Our runtime-learning accelerator adapts continuously to your workload, delivering 500 TPS on DeepSeek-V3.1, a 4x speedup over baseline performance without manual tuning.
Writing memory efficient C structs
A struct in C is the best way to organize your data so that you can easily use the data later in your program. However, there are a few caveats to C structures, mainly how their memory works. Note that I’m making a lot of assumptions about type sizes and standards. These can differ between systems and ABI’s, so for…
Making a micro Linux distro (2023)
A guide on building a simple Linux distribution from scratch. Detailed guide on building the kernel and the init process. Finally, a little distribution is built with u-root that is capable of connecting to the Internet.
Faster substring search with SIMD in Zig
I've been learning a lot about low level programming languages lately, and for a long time there has been one thing that has interested me: SIMD (or 'single ins…
RIP Usenix ATC
USENIX made the decision this week to discontinue its flagship Annual Technical Conference . When USENIX was started in 1975 — before the Internet, really — conferences were the fastest vector for practitioners to formally share their ideas, and USENIX ATC flourished. Speaking for myself, I came up lionizing ATC: I…
Optimizing a 6502 image decoder, from 70 minutes to 1 minute
A little walkthrough on an image decoder algorithm's high-level optimization, in order to make more digestable for a 6502 processor.
The hidden complexity of scaling WebSockets
WebSockets are at the very core of Compose. Learn how we scaled them to support 1000s of concurrent users.
Netboot Windows 11 with iSCSI and iPXE
Notes on installing and netbooting Windows 11 over iSCSI
Immutable Software Deploys Using ZFS Jails on FreeBSD
An article demonstrating immutable software deployments using ZFS snapshots and FreeBSD jails, with Caddy as a health‑checked reverse proxy for zero‑downtime upgrades.
I uncovered an ACPI bug in my Dell Inspiron 5567. It was plaguing me for 8 years
Imagine you close your laptop lid to put it to sleep, but instead of pausing, it reboots. Not every time, just often enough to be infuriating. You try to save your work, but the machine decides to start over.
The MiniPC Revolution
Reasons why you should consider breaking your hardware up into MiniPCs.
Fedora 42 Beta
Discover Fedora 42 Beta: New AI-focused features for modern application development
CPU cache-friendly data structures in Go
False sharing, AoS vs SoA, random access, branch prediction: re-measured with go test -bench on two machines. Some claims held, some didn't.