Topics /

Software Engineering

The most popular blog posts about software engineering on Hacker News. 14,544 posts.

Any year
12482

Cargo's next few years

The Cargo team have been thinking about and discussing long-term plans for Cargo. In this post I'll talk about what we hope Cargo will look like around the time of the next edition (assuming there is another edition and that it happens in about three years, neither of which is

12485

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…

12489

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…

12490

Ways to generate SSA

Static Single Assignment is a program representation where each “variable” (though this term can be misleading) is assigned exactly once. Mostly the variables aren’t variables at all, but instead names for values—for expressions. SSA is used a lot in compilers. See this lesson from Cornell for converting Bril to SSA…

12492

Top-Down LR Parsing

This semester, I am teaching Compilers , and I'm quite happy with how I covered parsing this year. Specifically, I taught students to build a top-down LR parser and it seemed to go relatively well.

12497

A Healthy Diet For The Mind

I've been enjoying teaching Intelligent Systems again this semester. A big part of the fun is re-reading old papers. I had a lot of fun re-reading and thinking about the ideas in William Clancey 's classic paper, Heuristic Classification . Long-time readers may recall me mentioning this paper in a long-ago post about…

12498

Writing an Efficient Vulkan Renderer

In 2018, I wrote an article “Writing an efficient Vulkan renderer” for GPU Zen 2 book, which was published in 2019. In this article I tried to aggregate as much information about Vulkan performance as I could - instead of trying to focus on one particular aspect or application, this is trying to cover a wide range of…

12506

A simple way to get more value from tracing

A lot of people seem to think that distributed tracing isn't useful, or at least not without extreme effort that isn't worth it for companies smaller than FB. For example, here are a couple of public conversations that sound like a number of private conversations I've had. Sure, there's value somewhere, but it costs…

12507

I got the GNU Modula-2 compiler working on OpenBSD

When it rains it pours. After making a splash with D , 1 I remembered that some time ago I began an attempt to bring the GNU Modula-2 compiler to OpenBSD . Because why not? Modula-2 is a language that exists and has compiler implementations. I guess my goal is to bring all the languages and compilers to OpenBSD. And…

12510

Game Engine Black Book: Wolfenstein 3D

How was Wolfenstein 3D made and what were the secrets of its speed? How did id Software manage to turn a machine designed to display static images for word processing and spreadsheet applications into the best gaming platform in the world, capable of running games at seventy frames per seconds? If you have ever asked…