New
The latest blog posts to take off on Hacker News. 498 posts.
Fast Software, the Best Software
Essay on the benefits of speedy software, and how it affects user perception of engineering quality and overall usability
Composable multi-threaded parallelism in Julia
Software performance depends more and more on exploiting multiple processor cores....
Files Are Fraught with Peril
This is a psuedo-transcript for a talk given at Deconstruct 2019. To make this accessible for people on slow connections as well as people using screen readers, the slides have been replaced by in-line text (the talk has ~120 slides; at an average of 20 kB per slide, that's 2.4 MB. If you think that's trivial…
A2-class microSD cards offer no better performance for the Raspberry Pi
Update: See follow-up post about A1 vs A2 performance, Raspberry Pi microSD follow-up, SD Association fools me twice?. After I published my 2019 Raspberry Pi microSD card performance comparison, I received a lot of feedback about newer 'A2' Application Performance class microSD cards, and how they could produce even…
Race Condition vs. Data Race (2011)
It’s terribly punny/dorky of me, but reading your post it just occurred to me one could start a blog called “Race Condition” about being a person of color and being a computer scientist.
How Computers Boot Up (2008)
The previous post described [motherboards and the memory map] memory-map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair - fun st
Fsyncgate: Errors on fsync are unrecoverable (2018)
This is an archive of the original "fsyncgate" email thread. This is posted here because I wanted to have a link that would fit on a slide for a talk on file safety with a mobile-friendly non-bloated format .
Modern text rendering with Linux: Part 1
Introduction
Understanding Docker Container Escapes
Trail of Bits recently completed a security assessment of Kubernetes, including its interaction with Docker. Felix Wilhelm’s recent tweet of a Proof of Concept (PoC) “container escape” sparked our interest, since we performed similar research and were curious how this PoC could impact Kubernetes. Quick and dirty way…
ZFS on Linux still has annoying issues with ARC size
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…
Faster, cheaper, and better: A story of breaking a monolith
On May 21st 2019, we broke search service out of vehicle-service. It was faster, cheaper, and better!
OpenSSH taking minutes to become available, booting takes half an hour (2018)
So, your machine now needs minutes to boot before you can ssh in where it used to be seconds before the Debian Buster update?
Operating a large distributed system in a reliable way: practices I learned
For the past few years, I've been building and operating a large distributed system: the payments system at Uber [https://eng.uber.com/payments-platform/]. I've learned a lot about distributed architecture concepts…
The Raspberry Pi 4 needs a fan
December 2020 Update: Lo and behold, the Pi Foundation tacitly acknowledges the Pi needs a fan in the official case, because now they sell the Case Fan! The Raspberry Pi Foundation's Pi 4 announcement blog post touted the Pi 4 as providing "PC-like level of performance for most users". The Foundation even offers a…
Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code
Abhinav Jangda, Bobby Powers, Emery D. Berger, and Arjun Guha, University of Massachusetts Amherst
BPF Performance Tools: Linux System and Application Observability
BPF Performance Tools: Linux System and Application Observability (book)
“What the Hardware Does” Is Not What Your Program Does: Uninitialized Memory
This post is about uninitialized memory, but also about the semantics of highly optimized “low-level” languages in general. I will try to convince you that reasoning by “what the hardware d...
What is Silverblue?
You may have heard about Fedora Silverblue, the next-generation desktop OS. This article gives you a more complete view about what it is and how it works.
Root cause analysis: significantly elevated error rates on 2019‑07‑10
On 2019-07-10, the Stripe API was severely degraded. Two different database bugs and a configuration change caused a cascading failure over several critical services. Here’s what we’ve learned so far.
What if we could see all concurrency bugs in the debugger?
A paper on debugging non-deterministic concurrency issues interactively.
Details of the Cloudflare outage on July 2, 2019
Almost nine years ago, Cloudflare was a tiny company and I was a customer not an employee. Cloudflare had launched a month earlier and one day alerting told me that my little site, jgc.org, didn’t seem to have working DNS any more.
Linux Observability with BPF
Why BPF and XDP are something you should learn.
Playing with a Raspberry Pi 4 64-bit
Lightweight virtualization is a natural fit for low power devices and, so, seeing that the extremely popular Raspberry Pi line got an upgrade, we were very keen on trying the newly released Raspberry Pi 4 model B. Getting the board up and running with a 64bit kernel (and a 64bit userland) proved to be kind of a…
Raspberry Pi microSD card performance comparison
Note: I also posted a separate review of some A2 'Application Performance' class cards, see this post: A2-class microSD cards offer no better performance for the Raspberry Pi. As a part-time tinkerer and full-time developer, I have been fascinated by single board computers (SBCs) since the first Raspberry Pi was…