Topics /

Software Engineering

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

2023
722

Reverse-Engineering YouTube: Revisited

Back in 2017 I wrote an article in which I attempted to explain how YouTube works under the hood, how it serves streams to the client, and also how you can exploit that knowledge to download videos from the site. The primary goal of that write-up was to…

727

I Built Linux from Scratch

Linux From Scratch or LFS is a project that provides and maintains a set of instructions of how to build your own Linux system from scratch. I am always curious to understand how things work ‘under the hood’, and since I’m a daily Linux user i decided to take on the challenge to try and complete building Linux From…

735

Understanding every byte in a WASM module

In my last post, we explored how to build WASM modules, both with and without WASI support, using Clang. In a comment on Reddit, it was mentioned that much of the setup I walked through in that post could be avoided by just leveraging Zig’s WASI supprt. This is a great point, and I would recommend doing the same. The…

742

Fantastic Learning Resources

People sometimes ask me: Alex, how do I learn X?. This article is a compilation of advice I usually give. This is things that worked for me rather than the most awesome things on earth. I do consider every item on the list to be fantastic though, and I am forever grateful to people putting these resources together.

743

Setenv Is Not Thread Safe and C Doesn't Want to Fix It

You can't safely use the C setenv() or unsetenv() functions in a program that uses threads. Those functions modify global state, and can cause other threads calling getenv() to crash. This also causes crashes in other languages that use those C standard library functions, such as Go's os.Setenv ( Go issue ) and Rust's…

745

My Problem with the Four-Document Model

Two universal facts about user documentation: Documentation is really important. We are really bad at writing it. We don’t have good theories on what makes for useful documentation. That is except for the four document model, or Diátaxis.1 I’m glad that people use it. I’m also a little frustrated that people use it…

747

The beauty of finished software

Let me introduce you to WordStar 4.0, a popular word processor from the early 80s. WordStar 4.0 As old as it seems, George R.R. Martin used it to write “A Song of Ice and Fire”. Why would someone use such an old piece of software to write over 5,000 pages? I love how he puts it: It does everything I want a word…

749

Turbo Rascal Syntax Error

TRSE (or its full original name “Turbo Rascal Syntax error, “;” expected but “BEGIN”) is a complete suite (IDE, compiler, programming language, resource editor) intended for developing games/demos for 8 / 16-bit line of computers, with a focus on the MOS 6502, the Motorola 68000, the (GB)Z80, the M6809 and the X86…