nullable but not null

When working on backend applications, especially those with evolving database schemas, it’s common to see a recurring pattern: A new field is added to a model. To avoid locking the table during the migration, the field is added as nullable. The application logic is updated to start filling in this field. A backfill job runs […]
Getting the KIM-1 to talk to my Mac

I’ve written before about my 1976 KIM-1 and code I wrote for a similar one long ago. But I hadn’t done much with the KIM-1 and strongly believe that old hardware need to be living machines not still lives. But using the KIM-1 directly (via its keypad and little hexadecimal display) is painful. I wanted […]
Programming Vehicles in Games

The fundamental principles needed to get a functional vehicle in your game. From my talk at the Better Software Conference on July the 13th, 2025. est. reading time: 45 minutes Watch the video of the talk here: Table of Contents Cars are everywhere in games. They’re a staple element of many genres, even in games […]
Google’s shortened goo.gl links will stop working next month

Links created with Google’s URL shortener will return a 404 error starting August 25th. Links created with Google’s URL shortener will return a 404 error starting August 25th. by Emma Roth Jul 24, 2025, 3:47 PM UTC Emma Roth is a news writer who covers the streaming wars, consumer tech, crypto, social media, and much […]
Show HN: The Montana MiniComputer

The MonTana state Mini Computer is a virtual computer intended to show how digital computation works in a fun and visual way. The MTSC combines ideas from the PDP-11, MIPS, Scott CPU, Game Boy and JVM to make a relatively simple 16-bit computer that can accomplish basic computing tasks. The computer is displayed via […]
Dwl: Dwm for Wayland

Join us on our IRC channel: #dwl on Libera ChatOr on the community-maintained Discord server. dwl is a compact, hackable compositor for Wayland based on wlroots. It is intended to fill the same space in the Wayland world that dwm does in X11, primarily in terms of functionality, and secondarily in terms of philosophy. Like […]
It’s DE9, Not DB9

You have been misusing the D-sub connector terminology, and we’re guilty of it, too. You’ve seen them everywhere, especially on older computer equipment: the classic 9-pin serial connector. You probably know it as a DB9. It’s an iconic connector for makers, engineers, and anyone who’s ever used an RS232 serial device. Here’s a little secret, […]
Who has the fastest F1 website (2021)

I once spent an hour creating an F1 lights-out reaction test which went viral and was even played by F1 drivers. That sounds like a brag, and it kinda is, but now whenever I pour days or even weeks of work into something, it just seems so inefficient compared to that time I spent an […]
Exploiting zero days in abandoned hardware

We successfully exploited two discontinued network devices at DistrictCon’s inaugural Junkyard competition in February, winning runner-up for Most Innovative Exploitation Technique. Our exploit chains demonstrate why end-of-life (EOL) hardware poses persistent security risks: when manufacturers stop releasing updates, unpatched vulnerabilities remain frozen in time like fossils, creating perfect targets for attackers. Both of the devices […]
Cells that breathe oxygen and sulfur at the same time

Take a deep breath. A flow of air has rushed into your lungs, where the oxygen moves into your bloodstream, fueling metabolic fires in cells throughout your body. You, being an aerobic organism, use oxygen as the cellular spark that frees molecular energy from the food you eat. But not all organisms on the planet […]