Topics /
Systems & Performance
The most popular blog posts about systems & performance on Hacker News. 4,387 posts.
How FPGAs work, and why you'll buy one
Today, pretty much everyone has a CPU, a DSP and a GPU, buried somewhere in their PC, phone, car, etc. Most don't know or care that they bought any of these, but they did.
Write a Shell in C (2015)
A tutorial on how to write a Unix shell in C.
Dissecting the Apple M1 GPU, Part IV
After beginning a compiler for the Apple M1 GPU , the next step is to develop a graphics driver exercising the compiler. Since the last post two weeks ago, I’ve begun a Gallium driver for the M1, implementing much of the OpenGL 2.1 and ES 2.0 specifications. With the compiler and driver together, we’re now able to run…
S3 Files
Andy Warfield writes about the hard-won lessons dealing with data friction that lead to S3 Files
Jepsen: RethinkDB 2.1.5
In this Jepsen report, we’ll verify RethinkDB’s support for linearizable operations using majority reads and writes, and explore assorted read and write anomalies when consistency levels are relaxed. This work was funded by RethinkDB, and conducted in accordance with the Jepsen ethics policy .
So you think you know C? (2016)
It's a C test. If you think you know C, take this test. It only has 5 questions.
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…
I/O is no longer the bottleneck
In 2022, disk I/O is very fast, and not usually the performance bottleneck in programs. This article digs into some numbers.
Everything you ever wanted to know about terminals
so here's a short tutorial on ansi escape codes and terminal control, because you philistines won't stop using ncurses and oh my god WHY ARE WE STILL USING NCURSES IT IS THE TWENTY FIRST FUCKING CENTURY
Rebuilding My Personal Infrastructure With Alpine Linux and Docker
My story of replacing three servers, across two countries, running two operating systems with a single server running Alpine Linux and Docker.
x86 finds its way into the iPhone
Personal page where to dump sparse knowledge
Go, Containers, and the Linux Scheduler
How to make the Go runtime play nicely with the Linux Scheduler
Ripgrep is faster than grep, ag, git grep, ucg, pt, sift (2016)
In this article I will introduce a new command line search tool, ripgrep , that combines the usability of The Silver Searcher (an ack clone) with the raw performance of GNU grep. ripgrep is fast, cross platform (with binaries available for Linux, Mac and Windows) and written in Rust .
Arranging Invisible Icons in Quadratic Time
Near the end of January I was pointed to a twitter thread where a Windows user with a powerful machine was hitting random hangs in explorer. Lots of unscientific theories were being proposed. I don…
An unexpected find that freed 20GB of unused index space in PostgreSQL
How to free space without dropping indexes or deleting data
Common Systems Programming Optimizations and Tricks
Today’s blog post is an overview of some common optimization techniques and neat tricks for doing “systems programming” – whatever that means today. We’ll walk through some methods to make your code run faster, be more efficient, and to squeeze just a little more juice from whatever you got.
Blog ran on Ubuntu 16.04 for 10 years. I migrated it to FreeBSD
After a decade on Ubuntu 16.04, I migrated my blog to FreeBSD on Hetzner. Some notes on setting up a VPS with FreeBSD, Jails, Bastille, Caddy reverse proxies, and load testing and benchmarking the blog from four continents.
WorstFit: Unveiling Hidden Transformers in Windows ANSI
📌 This is a cross-post from DEVCORE. The research was first published at Black Hat Europe 2024. Personally, I would like to thank splitline, the co-author of this research & article, whose help
Mutexes are faster than Spinlocks
(at least on commodity desktop Linux with stock settings)
We have broken HTTP
If you’re a web developer, then you owe your job to HTTP. You should probably know more about it than you do.
Memory access on the Apple M1 processor
When a program is mostly just accessing memory randomly, a standard cost model is to count the number of distinct random accesses. The general idea is that memory access is much slower than most other computational tasks. Furthermore, the cost model can be extended to count "nearby" memory accesses as free. That is…
Convert Linux to Windows
Thesis: We should create a distro of Linux that runs Windows binaries by default via Wine.
A native graphical shell for SSH
Marcus Lewis
Wanted to download an ISO, ended up writing a kernel exploit
My TP-Link EAP770 v1 corrupts downloads over Wi-Fi and TP-Link EOL'd it before I unboxed it. The fix is two zeros in sysfs. TP-Link's shell won't let me write them, so I wrote a kernel exploit for my own fucking access point.
The Various Kinds of IO – Blocking, Non-Blocking, Multiplexed and Async
A blog where I write down my thoughts, ideas and notions, as an exercise to cement them in my memory and improve on their concepts.