Topics /

Software Engineering

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

2022
904

What ID3v2 could have been

Speculations and specifications. If you were a Winamp user back in the day, or curate an MP3 collection currently, you might recognize the humble ID3 tag. It is what the metadata in the MP3 file is made up of. First it was pretty limited in the version later dubbed ID3v1. Like any good 2.0 they added a ton more…

909

Bad Emacs Advice

Most Emacs advice you'll find on the internet is largely good, and will improve your Emacs abilities, but people do occasionally share outright bad advice that harms your learning.

911

Forgejo

After many days of hard work and preparation by a team of former Gitea maintainers and enthusiasts from the FOSS community, we are proud to announce that the Forgejo project is now live.

912

Unfinished Business with Postgres

7 years ago I left Heroku. Heroku has had a lot of discussion over the past weeks about its demise, whether it was a success or failure, and the current state. Much of this was prompted by the recent, and on-going security incident, but as others have pointed out the product has been frozen in time for some years now…

913

When rustc explodes

One could say I have a bit of an obsession with build times. I believe having a “tight feedback loop” is extremely valuable: when I work on a large codebase, I want to be able to make small increme...

918

Two Years of Life with PinePhone

On June 9th, 2020, early into a still raging pandemic, I received my PinePhone UBports Community Edition. It's incredible how fast these two years went by, and how much the PinePhone experience improved in the meantime. This is just a subjective post about what I remember, you may also consider it a

920

A lock-free, concurrent, generic queue in 32 bits

While considering concurrent queue design I came up with a generic, lock-free queue that fits in a 32-bit integer. The queue is “generic” in that a single implementation supports elements of any arbitrary type, despite an implementation in C. It’s lock-free in that there is guaranteed system-wide progress. It can…

923

Verifying distributed systems with Isabelle/HOL

We use distributed systems every day in the form of internet services. These systems are very useful, but also challenging to implement because networks are unpredictable. Whenever you send a message over the network, it is likely to arrive quite quickly, but it’s possible that it might be delayed for a long time, or…

926

Verilog Is Weird

Verilog is the most commonly used language for hardware design in America (VHDL is more common in Europe). Too bad it's so baroque. If you ever browse the Verilog questions on Stack Overflow , you'll find a large number of questions, usually downvoted, asking “why doesn't my code work?”, with code that's not just a…

927

IDN is crazy

IDN, International Domain Names, is the concept that lets us register and use international characters in domain names, and by international we of course mean characters outside of the ASCII range. Recently I have fought some battles against IDN and IDN decoding so I felt this urge to write a lot of words about it ……