Topics /

Software Engineering

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

2023
181

Learn AutoHotKey by stealing my scripts

tl;dr annotated AHK scripts here. Anybody who’s spent time with me knows how much I love AutoHotKey, the flat-out best Windows automation tool in the world. Anybody’s who’s tried to use AutoHotKey knows how intimidating it can be. So to help with that, I’m sharing (almost) all of my scripts along with extensive…

183

How Python virtual environments work

After needing to do a deep dive on the venv module (which I will explain later in this blog post as to why), I thought I would explain how virtual environments work to help demystify them. Why do virtual environments exist? Back in my the day, there was no concept

189

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…

192

Why do people still use VBA?

Introduction Recently, I watched a video by YouTuber ThePrimeTime which details a dev’s frustrations with business culture. Prime is an ex-entrepreneur who currently works in software development at Netflix. His views in this video have been criticised for being jaded by FAANG business cultures he has worked in. I…

193

Memory-efficient enum arrays in Zig

Proper support for sum types or tagged unions have become table stakes for systems programming languages. However, they can incur a lot of memory fragmentation that's not trivial to avoid without good support for metaprogramming. This post goes into Zig's powerful comptime feature, and how it allows some radical…

194

Use GNU Emacs

This work by Keith Waclena is copyright 2026 and is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 (CC BY-NC-ND 3.0) license.

196

Why take a compiler course? (2010)

[…] Embedded in Academia : Why Take a Compiler Course? – Seconded, or whatever – my compiler course was briefer than I'd have liked but many of my peers didn't take it and I spent ages explaining what I thought where simple concepts to them when working on group projects and the like. […]

197

Writing a debugger from scratch: Breakpoints

(New to this series? Consider starting from part 1) At the end of the last post, we started to get some interesting functionality with the ability to resolve addresses to names in a module. This was the last functionality missing before we could implement breakpoints! This part adds the ability for DbgRs to set…

204

BB(3, 3) is Hard

I’m excited to share a 3 state, 3 symbol Turing Machine that cannot be proven to halt or not (when starting on a blank tape) without solving a Collatz-like problem. Therefore, solving the \(BB(3, 3)\) problem is at least as hard as solving this Collatz-like problem, a class of problem for which Paul Erdős famously…

206

What a good debugger can do

When people say “debuggers are useless and using logging and unit-tests is much better,” I suspect many of them think that debuggers can only put breakpoints on certain lines, step-step-step through the code, and check variable values. While any reasonable debugger can indeed do all of that, it’s only the tip of the…

209

Modern SPAs without bundlers, CDNs, or Node.js

I typically start new front-end prototypes with a single HTML file that I view using a file:// URL. I enjoy this practice of incrementally growing my projects, so I’ll keep working in that single file for as long as I can. Once it becomes unwieldy, I’ll split out the CSS and JavaScript into dedicated files. Then when…