Topics /

Software Engineering

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

2026
1322

A custom virtual machine for the Stars 4X game

Stars! is a 1995 4X game (explore, expand, exploit, exterminate) for 16-bit Windows 3.1 that I first played ~28 years ago. While Windows is famously backwards compatible, it’s notoriously difficult to play Stars! today. Windows x64 cannot run 16-bit applications, and playing requires either retro hardware or emulation…

1323

QBE – Compiler Backend – 1.3

QBE 1.3 took a while to cook, but it is the most significant release since 1.0 with around 7k new lines of code and 1.5k deleted ones. In addition to the usual bug fixes, QBE gained a new and original IL matching algorithm, new optimizations from Roland Paterson-Jones, Scott Graham added support for the Windows ABI…

1326

Reinventing the pull request

We have significantly improved how code reviews work in Lubeno. We think code review should do more than catch bugs, it should also help teams reduce comprehension debt. In this post, I want to explain how that idea shaped our recent work on code review in Lubeno.

1329

GPL upgrades via section 14 proxy delegation

I am not a lawyer. This is provided solely for the purposes of general information and does not constitute legal advice, guidance, or counsel. No attorney-client relationship is established by the provision of this information, and no reliance should be placed on this information in lieu of seeking professional legal…

1330

LittleJS is 2D and 3D now

LittleJS just got the biggest update since it launched! It is still the small, fast, dependency-free HTML5 game engine it always was. Now it also has a full 3D renderer sharing the canvas with your…

1331

Coding Agent VMs on NixOS with Microvm.nix

I have come to appreciate coding agents to be valuable tools for working with computer program code in any capacity, such as learning about any program’s architecture, diagnosing bugs or developing proofs of concept. Depending on the use-case, reviewing each command the agent wants to run can get tedious and…

1339

Sublime Text Build 4213

Sublime Text now ships with Python 3.14 and Python 3.3. Python 3.3 is disabled by default and will be removed in a future version. If you're experiencing plugin compatibility issues you can re-enable 3.3 using the setting "disable_plugin_host_3.3": false .

1342

80386 Multiplication and Division

When Intel released the 80386 in October 1985, it marked a watershed moment for personal computing. The 386 was the first 32-bit x86 processor, increasing the register width from 16 to 32 bits and vastly expanding the address space compared to its predecessors. This wasn't just an incremental upgrade—it was the…

1343

What it takes to transpose a matrix

Classical CPU architecture is a poor choice for performing matrix-oriented computations. Developers have to spend much effort to create efficient algorithms even for the problems appearing trivial on the surface. Matrix transpose is probably the most striking representative of such problems. It exposes numerous…

1348

Reflections on software engineering in the age of AI

For those of you who don’t know, when I’m not writing novels, I spend my days as a software engineer, writing code. The software industry these days relies heavily on artificial intelligence. Because it has studied trillions of lines of publicly accessible source code, because code solves problems with testable right…

1350

There's No Limit to How Bad Code Can Get

Metaphors like "a sinking ship" are often used to describe codebases, but are misleading. A _business_ will sink long before code quality reaches a hypothetical floor. Technical debt has no bankruptcy, no clean reset, so metaphors that imply an end provide a false sense of security.