Topics /

Systems & Performance

The most popular blog posts about systems & performance on Hacker News. 343 posts.

2020
277

Migrating a 40TB SQL Server Database

Initially, I wasn’t sure whether to write about this migration project, but when I randomly asked if people would be interested, the response was overwhelming. This was a long, kind of boring, very repetitive, and at times incredibly frustrating project, but I learned a lot, and maybe someone else will learn from this…

281

Finding Goroutine Bugs with TLA+

My job these days is teaching TLA+ and formal methods: specifying designs to find bugs in them. But just knowing the syntax isn’t enough to write specs, and it helps to have examples to draw from. I recently read Chris Siebenmann’s Even in Go, concurrency is still not easy and thought it would make a good case study…

283

Raspberry Pi 400 teardown and review

Today Raspberry Pi Trading announced the Raspberry Pi 400, the latest in the series of small education-focused computers that started with the original Raspberry Pi in 2012. For years, people have come up with creative ways to hack a Pi into keyboards, like the Original Pi in an old Mitsumi keyboard, or the Pi 3 A+ in…

284

RISC-V Stumbling Blocks

Recently, I’ve started to explore RISC-V. I experienced the journey as pretty refreshing, particularly because I’ve been working on x86 low-level software almost exclusively for about 10 years.

288

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…

293

Can we do better than our C compiler?

Today, I wanted to see if I could out-compile my C compiler. I added a hand-compiled assembly version of echo from our previous coding exercise and added a new make target, make asm , that will assemble it. Let's look at our hand-compiled assembly and compare it to our C compiler and ask whether or not it was worth it.

298

Myths about USB NKRO and how USB HID works

A common myth about USB keyboards is that they can only support 6-key rollover, and not report more than 6 keys being pressed at a time. In fact, this is wholly untrue; the USB HID device class can support full N-key rollover (NKRO). While keyboards which purport to support USB NKRO are now common, some of them have…

299

Oldschool Gaming on FreeBSD

When was the last time you played a computer game? I really like one of Benjamin Franklin quotes – “We do not stop playing because we grow old, we grow old because we stop playing.&#822…

300

Real VT102 Emulation with MAME

As a software developer, I spend a lot of time using the terminal, or more properly, a “terminal emulator”. Tools like iTerm2 , or PuTTY , or GNOME Terminal , or the classic xterm and rxvt are all “terminal emulators”; they take raw text and formatting instructions and interpret them to display pretty text on the…