Most cited
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 696 posts.
Traceroute Isn't Real
Almost nobody understands how traceroute works. Worse, it's not a real tool
Turning the database inside-out (2015)
Databases are global, shared, mutable state. That’s the way it has been since the 1960s, and no amount of NoSQL has changed that. However, most self-respecting developers have got rid of mutable global variables in their code long ago. So why do we tolerate databases as they are?
How fast is AMP really?
Tim Kadlec writes about performance, product management, and the web.
HFS+ Bit Rot
HFS+ is a terribly old filesystem with serious flaws. I sincerely hope that Apple comes with an update of the filesystem for WWDC 2015. After all they have been working on Swift for the past 4 years and we have just learned about it last week. HFS+ is seriously old HFS+ was released in 1998, in the era of Mac OS…
Learn Wayland by writing a GUI from scratch
Wayland is all the rage those days. Distributions left and right switch to it, many readers of my previous article on writing a X11 GUI from scratch in x86_64 assembly asked for a follow-up article about Wayland, and I now run Wayland on my desktop. So here we go, let's write a (very simple) GUI program with Wayland…
The July Galileo Outage: What happened and why
By bert hubert / bert@hubertnet.nl This post is an excerpt of a far longer post on Galileo, its structures and the cause of the outage. Here we’ll only focus on the outage - the potential underlying reasons behind it are described in the full article. Since the week-long outage in July I’ve been fascinated by Galileo…
Rustgo: Calling Rust from Go with near-zero overhead (2017)
Go has good support for calling into assembly, and a lot of the fast cryptographic code in the stdlib is carefully optimized assembly, bringing speedups of over 20 times.
POSIX close(2) is broken
There's just one small problem: The way POSIX has defined close(2) is completely and utterly broken.
Shipping a compiler every six weeks
This blog post is a slightly edited version of the live transcript of the talk I gave at RustFest 2019 in Barcelona on November 10th, 2019. As it's a transcript some parts of it are a bit repetitive or badly worded, but I hope the message behind the talk will be conveyed by this post anyway.
Towards fearless SIMD
SIMD is a powerful performance technique, and is especially valuable in signal and image processing applications. I will be using it very extensively in my synthesizer, and also it’s increasingly used in xi-editor to optimize string comparisons and similar primitives.
A Magnetized Needle and a Steady Hand
Now they’ve gone an done it. An unidentified agency has spread a potent computer virus across all the world’s computers and deleted the binaries for every copy of every software development tool. Even the offline copies — it’s that potent.
How Does an Intel Processor Boot?
When we switch on a computer, it goes through a series of steps before it is able to load the operating system. In this post we will see how a typical x86 processor boots. This is a very complex an…
The time has come to replace file systems
The time has come to replace file systems!
Do low-level optimizations matter? Faster quicksort with cmov (2020)
Collectively, we have been thinking about sorting for longer than we have had computers. There is still an active literature 1 , 2 , 3 . We are taught that how the counts of comparisons and swaps vary with problem size is what matters: as problems get bigger, order dominates, and anything else is buried in the noise…
You can list a directory containing 8M files, but not with ls
I needed to list all files in a directory, but ls , find , and os.listdir all hung. This is my story.
Stripped-down Kubernetes on the Raspberry Pi
Join me as I test-drive the smallest ever Kubernetes distribution k3s. Find out how this runs on Raspberry Pi compared to kubeadm with Docker.
Anatomy of a Linux DNS Lookup
Since I work a lot with clustered VMs , I’ve ended up spending a lot of time trying to figure out how DNS lookups work. I applied ‘fixes’ to my problems from StackOverflow without really understanding why they work (or don’t work) for some time.
Parsing JSON faster with Intel AVX-512
Many recent Intel processors benefit from a new family of instructions called AVX-512. These instructions operate over wide registers (up to 512 bits) and follow the Single instruction, multiple data (SIMD) paradigm. These new AVX-512 instructions allow you to break some speed records, such as decoding base64 data at…
A deep dive into Multicore OCaml garbage collector
I recently gave a talk on the internals of multicore OCaml GC at Jane Street offices in NYC. The slides from the talk are available online . But I felt that the slides alone aren’t particularly edifying. This post is basically the slides from the talk annotated with notes.
Using TLA+ in the Real World to Understand a Glibc Bug
TLA+ is a formal specification language that you can use to verify programs. It’s different from other formal verification systems in that it’s very pragmatic. Instead of writing proofs…
The GPU Banana Stand
Freshly whipped WebGPU, with ice cream
How Spotify Works
Synthpop and sci-fi