Topics /
Software Engineering
The most popular blog posts about software engineering on Hacker News. 21,819 posts.
Concurrent Programming, with Examples
Mention concurrency and you’re bound to get two kinds of unsolicited advice: first that it’s a nightmarish problem which will melt your brain, and second that there’s a magical programming language or niche paradigm which will make all your problems disappear.
A distributed systems reading list
An old document I surfaced with my quick tour of distributed systems theory fundamentals
Major Linux Problems on the Desktop, 2016 Edition
In this regularly updated article, which is without doubt the most comprehensive list of Linux distributions' problems on the entire Internet, we only discuss their main problems and deficiencies (which may be the reason why some people say Linux distros are not ready for the desktop) while everyone should keep in…
Android 14 blocks all modification of system certificates, even as root?
Update: This post sparked a lot of excellent discussion and debate on workarounds, and there are now multiple working solutions to allow certificate injection...
JavaScript's New Superpower: Explicit Resource Management
The Explicit Resource Management proposal empowers developers to explicitly manage the lifecycle of resources.
Rails on Docker
Rails 7.1 will include a Dockerfile to help ease production deployments
State of CSS
Web styling features of today and tomorrow, as seen at Google IO 2022, plus some extras.
My Go Resolutions for 2017
’Tis the season for resolutions, and I thought it would make sense to write a little about what I hope to work on this year as far as Go is concerned.
Zig's New Async I/O
In celebration of the std.Io introduction patchset landing today , here is the text version of a short, interactive demo I gave at Zigtoberfest 2025 .
Postmortem for Malicious Packages Published on July 12th, 2018
A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.
Little known features of iTerm2
[iTerm2](https://iterm2.com/) has a lot of little-known features that can make development much easier.
How I turned Zig into my favorite language to write network programs in
I’ve been watching the Zig language for a while now, given that it was created for writing audio software (low-level, no allocations, real time). I never paid too much attention though, it seemed a little weird to me and I didn’t see the real need. Then I saw a post from Andrew Kelley (creator of the language) on…
Unpacking Elixir: Concurrency
Elixir is the thing I do most of my public writing and speaking about. It is my default programming language for the last 5-6 years. It suits my brain. Performs well for the kind of work I typically do. And using it I have experienced very few drawbacks. Rather than writing yet another post trying to widely summarize…
Zulip Server 1.9: HipChat import and much more
We’re excited to announce the release of Zulip Server 1.9, containing hundreds of new features and bug fixes. Especially relevant for users migrating from the recently discontinued HipChat is our new HipChat data import tool. Zulip is the world’s most productive team chat software, an alternative to …
Creating a QR Code step by step
This JavaScript demo application visualizes in detailed steps, how a text string is encoded into a QR Code barcode symbol. The content of this page essentially explains and justifies how my QR Code generator library works internally.
Rust at OneSignal
Read all about our blazing fast Push Notification delivery system, OnePush, which is written in The Rust Programming Language.
Visualizing Garbage Collection Algorithms
Developers take garbage collection for granted, but it's hard to see how it works. Watch 5 different GC algorithm visualizations.
The next two years of software engineering
Exploring five critical questions shaping software engineering through 2026, with contrasting scenarios for each. These lenses help prepare for the evolving ...
Swift is a more convenient Rust (2023)
From the Archive: Thoughts on Swift, while learning Rust
The Zen of Go
This article was derived from my GopherCon Israel 2020 presentation. It’s also quite long. If you’d prefer a shorter version, head over to the-zen-of-go.netlify.com .
Let's compile like it's 1992 (2014)
I have been tinkering with the vanilla source code of Wolfenstein 3D from 1992. Even though it is more than 20 years old and has rotten for modern systems, you can still compile it if you recreate the environment. All you need is :