Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 6,942 posts.
Using time travel to remotely debug faulty DRAM
The story of debugging a mysterious Julia segfault.
Rolling your own minimal embedded Linux for the Raspberry Pi
Introducing a series of articles on building a custom Linux installation for the Raspberry Pi, for appliance applications.
A Deep Dive into HandBrake and Video Transcoding
An obvious interest area of mine is in ripping (and watching) movies using my Mac. I've talked about everything from installing the tools I use to how I rip to how to make sure I update the ripping tools . And though I've included some comparison pictures in the how-I-rip article, I've never done a deep dive into the…
Optimizing a ring buffer for throughput (2021)
In this article I will take a look at the classic concurrent ring buffer and how it can be optimized to increase throughput.
Build durable workflows with Postgres
In this blog post, we’ll dive deep into why we chose to build DBOS durable workflow execution on the PostgreSQL DBMS.
Branchless Coding in Go
So, I was recently inspired by a coworker’s design to pack what would have been JSON (JavaScript Object Notation) data into a bunch of bit fields in an array of 64-bit elements. Binary arithmetic, bit-packing, and high performance are fun for me, so I thought of some ways to improve it, for learning purposes. Then I…
Erlang/OTP architectures: Cowboy
Cowboy is the most popular Erlang framework for writing web servers. It is really impressive to see what cowboy accomplishes with such…
Unprivileged process injection techniques in Linux
I'm joev, a security engineer 👋 You may know me from my work at Apple or on Metasploit, or from my CVEs.
Geosharded Recommendations with Hilbert Curve at Tinder
We’re on a mission to keep the magic of human connection alive. Learn more about life at Tinder and the many ways we're igniting our impact—for our employees and the millions of people seeking connection on our app.
Debugging macOS Kernel Using VirtualBox
Update: In the HN discussion, awalton mentioned you can set CPUID flags in VMWare. Simply adding cpuid.7.ebx = "-----------0--------------------" to the vmx file will disable SMAP. Late last year, I upgraded my old MBP to the 2016 model with a Skylake processor. As I was debugging a kernel exploit, it turned out that…
Hacking Google's HVAC Systems
Arctic Wolf®, the leader in security operations, has acquired Cylance, a pioneer of AI-based endpoint security.
Windows 9x Video Minidriver HD+
The OS/2 Museum has made available the first version of a display driver disk for Windows 9x running on VirtualBox . The driver uses a linear framebuffer and supports 8/16/24/32bpp modes with resolutions up to 1920×1200 pixels (see more below). The driver is not accelerated but tends to be very speedy on modern…
An History of Nvidia Stream Multiprocessor
I spent last week-end getting accustomed to CUDA and SIMT programming. It was a prolific time ending up with a Business Card Raytracer running close to 700x faster [1] , from 101s to 150ms. This pleasant experience was a good pretext to spend more time on the topic and learn about the evolution of Nvidia architecture…
Tmpfs inode corruption: introducing inode64
A few months ago I got a report from a service owner that their service was crashing when trying to access certain files stored in tmpfs. This service provid...
Two surprises in browser crashes
A small Figma war story.
Perfetto: Swiss army knife for Linux client tracing
How Linux kernel, systems and embedded developers can use Perfetto for debugging performance issues.
Call me maybe: Redis redux
In a recent blog post , antirez detailed a new operation in Redis: WAIT . WAIT is proposed as an enhancement to Redis’ replication protocol to reduce the window of data loss in replicated Redis systems; clients can block awaiting acknowledgement of a write to a given number of nodes (or time out if the given threshold…
I'm back into the grind of FreeBSD's wireless stack and 802.11ac
hi! Yes, it's been a while since I posted here and yes, it's been a while since I was actively working on FreeBSD's wireless stack. Life's...
Implementing Fast Interpreters
Many modern virtual machines include either a fast interpreter or a fast baseline compiler. A baseline compiler needs extra memory and is li...
Paxos derived
Lamport's fault-intolerant state machine replication algorithm In 1978, Lamport published his classic "Time, Clocks, and the Ordering of E...
AWS Nitro System
At Tuesday Night Live with James Hamilton at the 2016 AWS re:Invent conference, I introduced the first Amazon Web Services custom silicon. The ASIC I showed formed the foundational core of our second generation custom network interface controllers and, even back in 2016, there was at least one of these ASICs going…
Is Catalina a Good Upgrade Yet?
Although 10.15.3 fixes a serious bug in Mail and Catalina is steadily maturing, there are many users who still shouldn’t upgrade.
The Genius of RISC-V Microprocessors
How the instruction set for RISC-V processors has been designed cleverly for both simplicity and high performance.
Why is this site built with C
Most of what I have written features in the category of notes-to-self. Mostly on how to do A or B.
Epoll is fundamentally broken
This time we'll focus on Linux's select(2) successor - the epoll(2) I/O multiplexing syscall.