Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 4,389 posts.
Full Reverse Engineering of the TI-84 Plus Operating System
Evidence-indexed documentation of TI-84 Plus OS 2.55MP ROM behavior and hardware interfaces.
I hope distributed is not the new default
I miss people. :-(
Systems Past: software innovations we actually use (2014)
Note: This is a position piece, not a technical article. Hat tip to Jake Skelcy for requesting such a piece. Computers didn’t always have operating …
The Linux Security Circus: On GUI isolation
There certainly is one thing that most Linux users don't realize about their Linux systems... this is the lack of GUI-level isolation, and ...
WolfSSL sucks too, so now what?
OpenSSL sucks. The BoringSSL and AWS-LC forks are Googled and Amazoned to death; they don't care about anyone but their own use cases. I can't remember ever having a good experience with software using GnuTLS. LibreSSL is incomplete... FOREWARD This post is about the experience of taking a leap of …
What Does a Database for SSDs Look Like?
What does a relational database designed specifically for local SSDs look like? Postgres, MySQL, SQLite and many others were invented in the 90s and 00s, the era of spinning disks. A local NVMe SSD has ~1000x improvement in both throughput and latency. Design decisions like write-ahead logs, large page sizes, and…
Things I Hate About PostgreSQL (2013)
PostgreSQL Talk
Which is better on Android: divide by 2 or shift by 1?
I've been porting the AndroidX collection library to Kotlin multiplatform to experiment with binary compatibility, performance, tooling, and the different memory models. Some of the data structures in the library use array-based binary trees to store elements. The Java code has a lot of shifts to replace power-of-two…
Finally fixed my PC’s persistent graphics and audio stutters
I experienced intermittent stuttering when my PC ran Linux and Windows. A mix of hardware, firmware, and driver issues created a difficult to diagnose problem.
Unlocking LUKS2 Volumes with TPM2, FIDO2, PKCS#11 Security HW on Systemd 248
Posts and writings by Lennart Poettering
How to Fit a Large Program into a Small Machine (1999)
As a rule, "sophisticated" progrmming is pretty boring - optimizing the unnecessary to speed up the uninteresting. Here, however, is an incredibly sophisticated package intended for fun and games. The more you know about software, the more astounded you will become as you read this.
Effective Concurrency with Algebraic Effects in Multicore OCaml
Algebraic effects and handlers provide a modular abstraction for expressing effectful computation, allowing the programmer to separate the expression of an effectful computation from its implementation. In this post, I will present an extension to OCaml for programming with linear algebraic effects, and demonstrate…
A Unix Utility You Should Know About: Netcat (2009)
This is the second post in the article series about Unix utilities that you should know about. In this post I will introduce you to the netcat tool or simply nc. Netcat is often referred to as a Swiss Army knife utility, and for a good reason. Just like the multi-function usefulness of the venerable Swiss Army…
The Two Faces of AMP
Tim Kadlec writes about performance, product management, and the web.
Query Engines: Push vs. Pull
People talk a lot about “pull” vs. “push” based query engines, and it’s pretty obvious what that means colloquially, but some of the details can be a bit hard to figure out.
Evolution of the ELF object file format
Updated in 2025-09. The ELF object file format is adopted by many UNIX-like operating systems. While I've previously delved into the control structures of ELF and its predecessors, tracing the historical evolution of ELF and its relationship with the System V ABI can be interesting in itself. The format consists of…
Validating UTF-8 bytes using only 0.45 cycles per byte (AVX edition)
When receiving bytes from the network, we often assume that they are unicode strings, encoded using something called UTF-8. Sadly, not all streams of bytes are valid UTF-8. So we need to check the strings. It is probably a good idea to optimize this problem as much as possible. In earlier work, we showed that ……
The mystery of the fifteen-millisecond breakpoint instruction
Experienced professional software engineer based in York, UK
Susctl CVE-2024-54507: A particularly 'sus' sysctl in the XNU kernel
A very sus sysctl in the XNU kernel.
Alice is impatient
Meet Alice. Alice uses your web service. Alice, like most humans, measures her time in seconds and minutes. Alice says your service is slow. You tell Alice that the mean request to your service completes in 100ms, but Alice says that her mean wait time is 1s.
Hyperscan: A Fast Multi-Pattern Regex Matcher for Modern CPUs
I’m pleased to report that Hyperscan, the regular expression matcher that ate my life from 2008 through 2018, finally has a paper (pdf) – it’s being presented this week at NSDI &#…
Hotswapping Haskell
Bluesky: @simonmar.bsky.social Github: simonmar Email: marlowsd@gmail.com LinkedIn: Simon Marlow
Visualising the .NET Garbage Collector
As part of an ongoing attempt to learn more about how a real-life Garbage Collector (GC) works (see part 1) and after being inspired by Julia Evans’ excellent post gzip + poetry = awesome I spent a some time writing a tool to enable a live visualisation of the .NET GC in action.