Top posts

Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,540 posts.

Software Engineering
Any year
3215

Hide macOS Tahoe's Menu Icons

I really dislike Apple’s choice to clutter macOS Tahoe’s menus with icons. It makes menus hard to scan, and a bunch of the icons Apple has chosen make no sense and are inconsistent between system applications. Steve Troughton-Smith is my hero for finding a Terminal command to disable them: Here’s one for the…

3218

Prince Of Persia Code Review

On Apr 17, 2012 Jordan Mechner released the source code of Prince of Persia. Even though it is the Apple II version written in 6502 assembly language, it was a pleasant experience to dive in the code of that mythical game: As usual there were many fascinating sofware wizardries to discover. The Apple II apparent poor…

3220

A byte string library for Rust

bstr is a byte string library for Rust and its 1.0 version has just been released ! It provides string oriented operations on arbitrary sequences of bytes, but is most useful when those bytes are UTF-8. In other words, it provides a string type that is UTF-8 by convention , where as Rust’s built-in string types are…

3221

Finding Free Food with Python

If you live in a major city, there’s a good chance you’ve used (or at least heard of) food delivery services like Postmates, GrubHub, or DoorDash. These services are great for times when I’m behind on groceries or when I’m getting some late night studying in before a big midterm or final. The only problem with these…

3224

Java 26 is here

Java 26 is here, and its main purpose seems to be to provide a solid foundation for future things to come. It comes with a few new features, some performance improvements and multiple enhancements that mention Project Valhalla as the inspiration for their existence. This post has all the info!

3225

Uncle Bob and Silver Bullets

A while back I wrote that Robert Martin was ruining software by being too good at programming. That was supposed to be a joke. Since then he’s done his damndest to actually ruin software by telling people they’re doing it wrong. His most recent response where he yells at software correctness was the breaking point for…

3226

How to zero a buffer

Now, we don't want to truly change the observable behaviour of our software — but fortunately the C standard has a more liberal concept of "observable" than most people. In particular, the C standard states that the observable behaviour includes accesses to volatile objects . What is a volatile object, you ask? It is…

3227

How to do distributed locking

As part of the research for my book , I came across an algorithm called Redlock on the Redis website. The algorithm claims to implement fault-tolerant distributed locks (or rather, leases [1]) on top of Redis, and the page asks for feedback from people who are into distributed systems. The algorithm instinctively set…

3230

Remember when people tracked bugs?

I've done some well-known bitching about the halfassed and haphazard way that Open Sores projects have handled their bugs in the past, but man, things have only gotten worse since then. I mean, projects used to actually have bug databases. Boy, those were the days. Failing that, developers used to put their email…