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.
Topics /
The most popular blog posts about systems & performance on Hacker News. 4,389 posts.
Most of what I have written features in the category of notes-to-self. Mostly on how to do A or B.
This time we'll focus on Linux's select(2) successor - the epoll(2) I/O multiplexing syscall.
You’re making morning drip coffee. You need to make 2 cups. Do you:
Wikipedia cites a few different sources on what “Unix Philosophy” is. Peter Salus summarizes it as:
The Multia feels to me like Digital’s take on a high-end “legacy-free” (at introduction in late 1994) desktop. Its spec sheet includes features unheard of in its contemporaries:
Disclaimer: I won’t expand on why/when you want to do this kind of hack, and you should not do this unless you know exactly what you are doing. Everything I talk about here is completely unsafe and might not be accurate for the future Go versions. This is not a recommendation, but more of a fun story.
I have a system with c servers, each of which can only handle a single concurrent request, and has no internal queuing. The servers sit behind a load balancer, which contains an infinite queue. An unlimited number of clients offer c * 0.8 requests per second to the load balancer on average. In other words, we increase…
Hardware Bugs can be frustrating, as they are likely the last place you would expect a bug. Unfortunately, they can and do happen. Most likely every CPU has a list of erratas. This post outlines th…
In 1999, Butler Lampson gave a talk about the past and future of “computer systems research” . Here are his opinions from 1999 on "what worked".
Revisiting the timeless von Neumann Architecture
Update 2025-03-05 : @jxu has shared a collection of simplified examples that are even easier to follow than the original ones in this post.
Multiprocessor Synchronization was one of my favorite classes during my undergrad — it had a clear progression from theory to practice, starting at the theory of consensus numbers and moving onto atomic operations and then synchronization primitives and lock-free data structures, all from first principles. With…
Durability is the guarantee that data can be accessed after a failure. It seems like this should be very simple: either your system provides durable data storage, or it does not. However, durability is not a binary yes/no property, and instead should be defined as the kinds of failures you want your data to survive…
It's been a while since last post (Talk about the Debian GNU/Linux riscv64 port at RISC-V workshop), and sometimes things look very quiet from outside even if the people on the backstage never stop working. So this is an update on the status of this port before the release of buster, which should happen in a few weeks…
This week’s paper won the distinguished presentation award at HotOS 2021, and discusses the potential for future innovation in the tool that many use every day - the shell! A previous submission of this paper on Hacker News elicited a number of strong reactions. One reaction was the assertion that there are in fact…
Building httpz, a high-performance HTTP/1.1 parser with zero heap allocation using OxCaml's unboxed types, local allocations, and mutable local variables.
Since the change of year, I’ve been using Alpine Linux on my main computing device (a new desktop PC that I assembled in December). These are some notes on in, some niceties and caveats.
I recently learned of csvquote , a tool that encodes troublesome CSV characters such that unix tools can correctly process them. It reverses the encoding at the end of the pipeline, recovering the original input. The original implementation handles CSV quotes using the straightforward, naive method. However, there’s a…
> In banking, telecom, and payments, reliability is not a nice to have. It is table stakes. The most reliable systems I have worked on reduce entire classes of bugs before the code even runs. Function...
One of the quickest ways to determine whether particular application runs using Xwayland is to resize one of its windows and see how it behaves, for example