Best of 2022

The blog posts Hacker News loved most in 2022. 1,551 posts.

Software Engineering
212

Zulip 5.0: Threaded open-source team chat

We’re excited to announce the release of Zulip Server 5.0, containing hundreds of new features and bug fixes! Zulip is an open-source team collaboration tool with unique topic-based threading that is ideal for both live and asynchronous conversations. Fortune 500 companies, leading open-source projects, …

214

Dear sir, you have built a compiler

I am afraid to inform you that you have built a compiler. I know you wanted a “simple prototype” that would just add that one feature to your programming model. You said that “SSA is an overkill” and “it’s just way too much infrastructure to maintain for a simple task” and yet, six months later, you have pile of…

220

Learn TLA+

tl;dr: online TLA+ manual/advanced techniques/examples here. TLA+ is a tool for testing abstract software designs. I first stumbled on it in 2016 and found it so useful I wrote a free online guide to help others learn it. Then I decided the guide wasn’t good enough and wrote Practical TLA+ in 2018. Then I decided the…

225

Advice for the next dozen Rust GUIs

A few times a week, someone asks on the #gui-and-ui channel on the Rust Discord, “what is the best UI toolkit for my application?” Unfortunately there is still no clear answer to this question. Generally the top contenders are egui, Iced, and Druid, with Slint looking promising as well, but web-based approaches such…

229

We're moving on from Firebase

We’ve launched dozens of applications on Firebase, utilized nearly every facet of the platform, and designed a playbook for scaling gracefully. Suffice it to say, it’s proven an invaluable tool for K-Optional Software. As recently as March 2022, our developers were cheering innovations like Firebase Extensions…

231

The Hare programming language

Hare is a systems programming language designed to be simple, stable, and robust. Hare uses a static type system, manual memory management, and a minimal runtime. It is well-suited to writing operating systems, system tools, compilers, networking software, and other low-level, high performance tasks.