Topics /

Software Engineering

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

Any year
12853

Reflections on Software Performance

At this point in my career, I’ve worked on at least three projects where performance was a defining characteristic: Livegrep, Taktician, and Sorbet (I discussed sorbet in particular last time, and livegrep in an earlier post). I’ve also done a lot of other performance work on the tools I use, some of which ended up on…

12854

Regexes vs. Combinatorial Parsing (2019)

Recently, I’ve been working on a music app that needs to get a musical sequence (like a melody) from the server to the client. To do this, we use a format called ABC. (You can read about how ABC music notation works here .) We chose ABC because it’s more readable than MIDI, it’s pretty concise, and it’s a standard, so…

12859

Guitar Chord Voicings with Prolog

Prolog is a language that excels at defining and exploring relationships. Let’s take advantage of that and use Prolog to explore a few of the myriad of relationships that exist between chords and the guitar’s fretboard.

12862

Postgres geography type is not limited to Earth

It's a little known fact that the PostGIS geography type since PostGIS 2.2 (well was introduced in 2.1 I think but had a bug in it until 2.1.4 or so), supports any spheroidal spatial reference system that measures in degrees. When an srid is not specified, it defaults to using 4326, Earth WGS 84 long lat.

12864

Racket v6.11

_posted by Vincent St-Amour_ Racket version 6.11 is now available from http://racket-lang.org/ A bug preventing OneDrive users on Windows 10 Fall Creators update from opening files has been fixed. Typed Racket supports refinement types and depe...

12868

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…

12869

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…