Topics /

Software Engineering

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

2024
935

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.

937

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…

938

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…

942

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…

944

Porting to GCC 14: C language issues

The GCC 14 release series differs from previous GCC releases in a number of ways . Some of these are a result of bug fixing, and some old behaviors have been intentionally changed to support new standards, or relaxed in standards-conforming ways to facilitate compilation or run-time performance.

951

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…

952

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…

953

Half My Life with Perl

I had never met Randal Schwartz before, but when I reached out to him about contributing to year 25 of the Perl Advent Calendar, he immediately agreed. This year I wanted to try some new things and Randal suggested giving a Perl-specific talk which he had given once before, but which was lacking in recording quality…

956

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…

958

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)…

959

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…