Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 1,116 posts.

2024
662

Baby’s Second Garbage Collector

This blog post is meant to an iteration on the tutorial and introduction to garbage collection implementation presented in this classic blog post . We are still working with simple garbage collectors, but this time another one with a bit more complexity.

664

Things engineers believe about Web development

I wrote most of this post sometime in 2022 but I think it holds up alright in 2024 so I decided to publish it for posterity. I don’t really like doing posts like this—I’d much rather share some innocuous learnings or tips but it turns out I have opinions too 😓 Sorry! 2024-02-21: I’ve added a few reflections at the end…

665

On Being a Senior Engineer (2012)

I think that there’s a lot of institutional knowledge in our field, especially about what makes for a productive engineer. But while there are a good deal of books in the management field about “expert” roles and responsibilities of non-technical individual contributors, I don’t see too many modern books or posts that…

668

Lessons learned from profiling an algorithm in Rust

Recently, I've been working on a new approximate nearest neighbor search algorithm called RaBitQ . The author has already provided a C++ implementation that runs quite fast. I tried to rewrite it in Rust (yet another RiiR). But I found that my implementation is much slower than the original one. Here is how I improve…

674

Zngur: A C++/Rust interop tool

Zngur (/zængɑr/) is a C++/Rust interop tool. It tries to expose arbitrary Rust types, methods, and functions while preserving their semantics and ergonomics as much as possible. Using Zngur, you can use arbitrary Rust crates in your C++ code as easily as using them in normal Rust code, and you can write idiomatic…

675

Counting bytes faster than you'd think possible

“Summing ASCII Encoded Integers on Haswell at the Speed of memcpy” turned out more popular than I expected, which inspired me to take on another challenge on HighLoad: Counting uint8s . I’m currently only #13 on the leaderboard, ~7% behind #1, but I have already learned some interesting things. In this post I’ll…

677

Curl is inside 22,734 Steam games

About a year ago I blogged about games that use curl. In that post I listed a bunch of well-known titles I knew use curl and there was a list of 136 additional games giving credit to curl. Kind of amazing that over one hundred games decided to use curl! At the time, lots of … Continue reading Inside 22,734 Steam games…

679

Tidy First?

“Software design is preparation for change; change of behavior” Tidy First? is a new book by Kent Beck. It is a short little book, only about 100 pages (and lots of white space on them)…

680

Solving SAT via Positive Supercompilation

The boolean satisfiability problem (“SAT” for short) is arguably the most famous NP-complete problem in theoretical computer science. According to Wikipedia, it is “the problem of determining if there exists an interpretation that satisfies a given Boolean formula ”; or, in simpler terms, if there is at least one…

684

Pratt Parsers: Expression Parsing Made Easy (2011)

Every now and then, I stumble onto some algorithm or idea that’s so clever and such a perfect solution to a problem that I feel like I got smarter or gained a new superpower just by learning it. Heaps were one, just about the only thing I got out of my truncated CS education. I recently stumbled onto another: Pratt or…