Topics /

Software Engineering

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

2025
1052

Leeks and Leaks

On the completely impossible situation of blocking the Tor .onion TLD to avoid leaks, but at the same time not block it to make users able to do what they want. dot-onion leaks The onion TLD is a Tor specific domain that does not mean much to the world outside of Tor. If you try … Continue reading Leeks and leaks →

1054

Cottagecore Programmers

Every programmer I know has at some point longingly expressed how “[they] want to work with [their] hands”. Some say they wish they were a carpenter, some want to be in the fields on a farm, some want to raise chickens, or milk cows. It is however inevitable that I either hear someone say it or agree with it at some…

1062

Quirks of Common Lisp Types

Humans have a tendency toward binary thinking (pardon the pun). If it's not A, it's B. Perhaps because Lisps have REPLs, they are often thought of from the outside as being dynamic, interpreted languages. Our years of Python have taught us that such languages don't really have strong typing - it's all a wild guess…

1065

The Geometry Behind Normal Maps

Tangent space is often presented as a confusing block of shader math. This is a deep dive into what tangent vectors actually mean, how they emerge from UVs to bridge 2D and 3D space, and the geometry that makes normal mapping possible.

1069

The messy reality of SIMD (vector) functions

We’ve discussed SIMD and vectorization extensively on this blog, and it was only a matter of time before SIMD (or vector) functions came up. In this post, we explore what SIMD functions are, when they are useful, and how to declare and use them effectively. A SIMD function is a function that processes more than… Read

1072

ImapGoose

ImapGoose is a small program to keep local mailboxes in sync with an IMAP server. The wording “keep […] in sync” implies that it does so continuously, rather than a one-time sync. ImapGoose is designed as a daemon, monitoring both the IMAP server and the local filesystem, and immediately synchronising changes. When…

1073

A catalog of side effects

Optimizing compilers like to keep track of each IR instruction’s effects. An instruction’s effects vary wildly from having no effects at all, to writing a specific variable, to completely unknown (writing all state).

1079

What is Local first development

What is local-first software and why does it matter? This guide covers local-first architecture, offline-capable apps with automatic sync, data ownership, and how to build a local-first web app with Vue step by step.