New

The latest blog posts to take off on Hacker News. 4,389 posts.

Systems & Performance
Any year
2315

Fast UTF-8 validation

One of the most common "data type" in programming is the text string. When programmers think of a string, they imagine that they are dealing with a list or an array of characters. It is often a "good enough" approximation, but reality is more complex. The characters must be encoded into bits in some way. Most ……

2317

Galileo's Ground Segment Problem

The European Global Navigation Satellite System Galileo has recently been suffering from frequent "almost disruptions", most likely partially due to Corona, and possibly also due to Brexit, but in any case due to some historical stinginess. Before I explain what is going on, I should hasten to say that most days of…

2323

A Review of Consensus Protocols

The consensus problem is a fundamental problem in multi-agent systems which requires a group of processes (or agents) to reliably and timely agree on a single data value. Although extensively discussed in the context of distributed computing it’s not exclusive to this field, also being present in our society in a…

2324

14,000x Speedup (2015)

In my job as a scientific software developer, I tend to write a lot of code. And most people who haven’t been through a Computer Science degree tend to think that CS is “just” about slinging code at the screen and then running it. I have a good working relationship with many of my colleagues and co-workers with other…

2337

Fibers, Oh My

Fibers, Oh My! # Written by Dale Weiler, last updated Oct 5th, 2020 Twitter GitHub It’s been brought to the attention of many people in the game development industry that you can use fibers to parallelize your engines and games. This one presentation in particular: Parallelizing the Naughty Dog engine using fibers has…

2340

Durability: NVMe Disks

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…