Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 4,388 posts.
Ifs and &&s and Plan 9's Source Code
Spiros Eliopoulos. Blog Posts, Projects, Past Gigs, & Publications.
Bare-Metal Kubernetes with K3s
Learn how to configure K3s on bare-metal to run a Kubernetes cluster with just as much resilience and fault tolerance as a managed service.
Go and Assembly
Hi I'm Caleb Doxsey and welcome to my website. I'm a software developer. If you'd like to contact me, you can email me here: [email protected] .
Using /proc to get a process' current stack trace
Check out how you can use the proc filesystem to retrieve the kernel stack trace of a given process
Fitting a FORTH in 512 bytes
Software is full of circular dependencies if you look deep enough. Compilers written in the language they compile are the most obvious example, but not the only one. To compile a kernel, you need a running kernel. Linkers, build systems, shells. Even text editors, if you want to write the code instead of just…
Writing a Simple Garbage Collector in C (2014)
People seem to think that writing a garbage collector is really hard, a deep magic understood by a few great sages and Hans Boehm (et al) . Well it’s not. In fact, it’s rather straight forward. I claim that the hardest part in writing a GC is writing the memory allocator, which is as hard to write as it is to look up…
Digging into a QEMU problem of slow data copying
The work on QEMU and this post was paid for by Determinate Systems, and the post was co-published on the Determinate Systems blog .
I made Zig compute 33M satellite positions in 3 seconds
Update: I've since added multithreading and pushed astroz to 326M propagations/sec. Read the follow-up → I've spent the past month optimizing SGP4 propagat...
You cannot have exactly-once delivery (2015)
I’m often surprised that people continually have fundamental misconceptions about how distributed systems behave. I myself shared many of these misconceptions, so I try not to demean or dismiss but rather educate and enlighten, hopefully while sounding less preachy than that just did. I continue to learn only by…
Thoughts on low latency trading if exchanges went full cloud
A thought experiment on the winners, losers and new players in a cloud-driven stock, fx and commodity-trading world
How Pinterest scaled
Pinterest's tech stack explained simply
Memory access is O(N^[1/3])
In computer science, we often compare the efficiency of algorithms by describing their runtime as a function of the size of the input. Sorting is O(n * log(n)), meaning that sorting a list of N items takes an amount of time proportional to the number of items multiplied by its logarithm. Matrix multiplication is…
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…
Linux kernel security work
Lots of the CVE world seems to focus on “security bugs” but I’ve found that it is not all that well known exactly how the Linux kernel security process works. I gave a talk about this back in 2023 and at other conferences since then, attempting to explain how it works, but I also thought it would be good to explain…
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…
hdiutil is deprecated in macOS 27 Golden Gate
The macOS command-line tool hdiutil is used to manipulate disk images. From the WHAT'S NEW section of man hdiutil on the latest macOS 27 Golden Gate beta:
How Chrome ate 21GB of storage
I've been playing with the macOS Sierra Golden Master for a few days and ran into the new storage optimization app that is now included in macOS. It lead me to realise that Chrome was using 21GB of SSH space!
Clean mount lists in Linux
A solution to the problem of the growing number of mount points and loopback devices in (Ubuntu) Linux.
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…
How I wound up finding a bug in GNU Tar
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…
The Zen of Parallel Programming
As I continue reading An Introduction to Parallel Programming, I cannot help but notice a connection between communication among processors, communication among human beings, and communication within the individual self....
Agilent 2000a / 3000a Oscilloscope NAND Recovery
As a resident member of the EEVblog Test Equipment Anonymous support group, I have picked up my fair share of old test equipment boat anchors, but my knees buckle at broken recently manufactured oscilloscopes in the sub $200 range. In this case, the Agilent / Keysight Infiniivision X-series oscilloscopes have been an…
Demystifying the (Shebang): Kernel Adventures
Clarifying the shebang (#!) mechanism: A step-by-step look using strace and kernel code shows how Linux handles script execution directly, revealing the shell isn't involved initially.
Virtualizing the 6502 on a 6502 with 6o6
Okay, promises, promises. Here's the first of my bucket list projects I'm completing which I've intermittently worked on for literally two d...
Designing a Fast Concurrent Hash Table
I recently released papaya, a fast and feature-complete concurrent hash table for Rust. In this post I want to dive into the design and research that went into creating it, as well as why you might consider using it over existing solutions.