Blogs / Personal blogs

Fabien Sanglard

fabiensanglard.net

21/08/2026: My agent.md to improve LLM-assisted code quality 17/08/2026: Quake shareware, a CD just a little too full 13/07/2026: Jurassic Park computers in excruciating detail 11/07/2026: A dock that finally wakes up reliably! 10/07/2026: Don't you meant extinct? 28/06/2026: My favorite keyboards 01/06/2026: The art…

Popular posts
85
Total points
25,061
HN comments
9,003
Rank
#22 personal

Visit fabiensanglard.net → RSS feedOn Hacker News Apr 2009 – Aug 2026

Software Engineering 54Games & Graphics 49Hardware & Electronics 19History & Retro Computing 12Systems & Performance 9Tools & Productivity 7

31

Quake Engine Indicators

I was working on a bug in Chocolate Quake netcode. The issue was an edge case where starting two clients on the same machine resulted in the second one zombifying the first one. When the bug occurred there was no disconnection but the client could no longer move. Instead the screen would show an "indicator" looking…

33

The beautiful Silent ThunderBolt-3 PC

When I placed the last screw on the DB4 chassis of the Beautiful Silent PC [1] , I thought I would not have to open it up again for years. Perhaps, I hypothesized, it would be a decade before an upgrade. The beautiful silent PC. The imperative of working from home proved me wrong when the seemingly easy problem of…

36

Prince Of Persia Code Review

On Apr 17, 2012 Jordan Mechner released the source code of Prince of Persia. Even though it is the Apple II version written in 6502 assembly language, it was a pleasant experience to dive in the code of that mythical game: As usual there were many fascinating sofware wizardries to discover. The Apple II apparent poor…

38

Doom engine code review

Before studying the iPhone version, it was important for me to understand how Doom engine WAS performing rendition back in 1993. After all the OpenGL port must reuse the same data from the WAD archive. Here are my notes about Doom 1993 renderer, maybe it will help someone to dive in. January 13th, 2010 : Reddit…

39

"Another World" (game) Code Review

I spent two weeks reading and reverse engineering further the source code of Another World ("Out Of This World" in North America). I based my work on Gregory Montoir's "binary to C++" initial reverse engineering from the DOS executable. I was amazed to discover an elegant system based on a virtual machine interpreting…

43

The Confusing World of USB

For decades, my perception of USB was that of a technology both simple and reliable. You plug it and it works. The two first iterations [1] [2] freed PCs from a badly fragmented connector world made of RJ-45 (Ethernet), DA-15 (Joystick), DE-9 (Serial), DIN (PS/2), SCSI, and DB-25 (Parallel). When USB-3.0 came out…

44

The Polygons of Doom: PSX

It was a pleasure to research the material for the "Polygons of Another World" articles [1] . All the machines I studied were different from one another. The diversity I witnessed in the Amiga, Atari ST, PC, SNES, Genesis, GBA, and Jaguar demonstrated the richness of a field then still in its dawn. As I concluded the…

46

Doom 3 Source code review

On November 23, 2011 id Software maintained the tradition and released the source code of their previous engine. This time is was the turn of idTech4 which powered Prey, Quake 4 and of course Doom 3. Within hours the GitHub repository was forked more than 400 times and people started to look at the game internal…

48

Let's compile Quake like it's 1997

The first batches of Quake executables, quake.exe and vquake.exe were programmed on HP 712-60 running NeXT and cross-compiled with DJGPP running on a DEC Alpha server 2100A. In June of 1996, having shipped their title but concerned with NeXT stagnation, id Software switched their development stack.

50

Deciphering the postcard-sized raytracer

"He's done it again!" was my first thought as I looked at the back of a postcard sized Pixar flier [1] which was covered in code. In the lower right corner, the blob of statements and expressions had been signed by none other than Andrew Kensler. For those who are not familiar with him, Andrew is the programmer who…

51

Ode to the M1

It is not often I am blown away by a piece of hardware. My Hall of Fame features the 1991 Super Nintendo, the 1995 3dfx1, and the 2010 Intel's Serie 520 SSD [1] . This past month my 2021 MacBook Pro M1 [2] joined the club.

54

Building my childhood dream PC

In 1993, I was 14 and already passionate about computers [1] . That year my mother managed to buy a PC for the household. That was quite an effort for a single mother. My brother Aurelien and I spent every waking hour on this machine, staying up all night on weekends.

55

Game Engine Black Book Postmortem

I am pleased to announce that the Game Engine Black Book about Wolfenstein 3D has shipped. It is 316 pages, full color and made of three parts describing the hardware of 1991, id Software tools, and the game engine internals. You can read a preview on Google Books and buy it here:

57

Duke Nukem 3D Code Review

Since I left my job at Amazon I have spent a lot of time reading great source code. Having exhausted the insanely good idSoftware pool , the next thing to read was one of the greatest game of all time : Duke Nukem 3D and the engine powering it named " Build ". It turned out to be a difficult experience: The engine…

59

Revisiting the Business Card Raytracer

What is the most beautiful piece of code you have ever seen? Not only it is subjective, "beauty" is also a word that can mean a lot of things. If we were to be discussing of raw speed, I would bring up the Fast Inverse Square Root [1] . If we were to judge by aesthetic, my answer would be Andrew Kensler's, 1337 bytes…

60

Build Doom3 on MacOSX with XCode4

The source code of Doom3 has been released three days ago :) ! I have started to read it and I will probably write a code review if enough people are interested. According to the README.txt the source code is building well with Visual Studio 2010 but it is not building at all on Mac OS X with XCode 4.0 ( it is…