Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 21,834 posts.

Any year
12185

My favourite small hash table

I'm the kind of person who thinks about the design and implementation of hash tables. One design which I find particularly cute, and I think deserves a bit more publicity, is Robin Hood open-addressing with linear probing and power-of-two table size. If you're not familiar with hash table terminology, that might look…

12188

The Fil-C Optimized Calling Convention

Fil-C achieves memory safety even for programs that behave adversarially. That includes casting function pointers to the wrong signature and then calling them, exporting a function with one signature in one module and then importing it with a different signature in another, or even exporting a symbol as a function in…

12195

Richer command line interfaces

This post is preceded by a description of two types of command line interfaces . The more command line-like of these two types integrates into a normal shell session ( python , telnet , bash ) instead of using the alternate screen to present a fullscreen text user interface ( top , vim , emacs ). Sometimes programs…

12201

Making Sandspiel

Sandspiel is a falling sand game I built in late 2018. I really enjoyed writing this game, and wanted to put into writing some of my goals, design decisions, and learnings from that process. If you’re reading this but haven’t played sandspiel, you should probably go try it !

12205

CRDT: Text Buffer

Collaboratively editing strings of text is a common desire in peer-to-peer applications. For example, a note-taking app might represent each document as a single collaboratively-edited string of text.

12209

Several core problems with Rust

I used to call myself a Rust hater, but really I was doing it just to compensate for the perceivable fanboyism e.g. Rust tops on stackoverflow surveys as most-loved language. There are many reasons to hate C++, and I hate C++ too. Lots of people were waiting for a better programming language, but got Rust instead.