These are old and current notes from reverse engineering, game hacking, compatibility work, hardware dongles, Windows internals, arcade boards, and the occasional “this should not work, but let’s find out” engineering detour.
The archive is intentionally readable rather than glossy. Some claims are artifacts of their original date, but the useful parts are the method: how the target was explored, where the assumptions broke, and what the tooling revealed.
Start Here
A few good entry points into the archive, depending on what kind of rabbit hole you want today.
-
2023-02-01Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2023-01-29Go To Shell - Reverse Engineering Kernel Modifications with QEMU/gdb
Using QEMU and gdb to chase a kernel modification path until the boot flow gives up its shell.
-
2019-07-21WOW64 Rant
An opinionated but technical walk through WOW64, compatibility surface area, and what happens when you try to remove it.
-
2013-12-23Pwning a SafeNET Microdog
A practical teardown of a low-cost hardware security module, its client libraries, and the assumptions around dongle-backed licensing.
Topics
Masterpiece Series
A six-part homebrew experiment around making PC games feel more console-like, from filesystem layering to the frontend.
-
2021-10-25Masterpiece - Consolizing PC Gaming (Part One)
The opening context for a homebrew attempt to make PC games behave more like a console library.
-
2021-10-25Masterpiece - Implementing a Layered Filesystem (Part Two)
A filesystem-layering approach for packaging and redirecting game files without making every install special.
-
2021-10-25Masterpiece - Making a Custom Operating Environment for our Processes (Part Three)
How the project shaped process environment, hooks, and operating context once the filesystem layer existed.
-
2021-10-25Masterpiece - Putting together an App Format (Part Four)
Packaging the filesystem and runtime assumptions into an app format that can be moved around sanely.
-
2021-10-25Masterpiece - Creating an App Controller (Part Five)
The controller layer that ties app packages, process control, and runtime behavior into one launch path.
-
2021-10-25Masterpiece - Slapping on a Frontend and Wrapping it Up (Part Six)
The frontend wrap-up for the Masterpiece experiment: enough UI to make the system feel like a coherent console shell.
Full Archive
-
2026
Small Models, Big Haystack: Triaging Everything Our Agents Write and Run
We should be checking what our agents write and run all the time, and most teams can’t afford to. I tested whether small local models can take the first look at everything, and found that the pipeline around them matters more than the model.
-
2026
Lessons From Running a Swarm of Agents
Why agents skip steps, and what to keep in mind when you start something with a swarm of them, while it runs, when it gets stuck, and when you change your mind about what you wanted. From weeks-long projects with anywhere from five to fifty agents working at once.
-
2026
Bug Hunting in Retro Games
The bugs that went undetected, or that everyone accepted as intended, are the interesting ones, and retro games have a lot of them. An emulator with good instrumentation lets an agent test many configurations and compare the results, which makes it practical to search for these bugs. The example: a Parasol Stars bug where the second controller port controls whether enemies can fly through walls.
-
2026
Why Minus Twelve?
A colleague sent me a decompiled length check in 2019 asking why it read twelve bytes backwards. Four years later the answer turned out to be statically linked Boost, welding a 2010 std::string layout permanently into the binary.
-
2026
Building the Boundary
Part two: how I built Toolstack as a brokered tool layer for agents. The agent can ask; the broker decides; tools execute; secrets stay with the workload.
-
2026
Agentic Governance for People Who Don't Trust Agents
Useful agents need autonomy. This is why I trust agents with action requests, not standing access: brokered operations, scoped authority, and approvals that describe the operation, not the command.
-
2023
Reversing an ASIC-Assisted Arcade Game
A decade-spanning arcade reverse-engineering story involving Linux, protection hardware, timing, and one very stubborn game.
-
2023
Go To Shell - Reverse Engineering Kernel Modifications with QEMU/gdb
Using QEMU and gdb to chase a kernel modification path until the boot flow gives up its shell.
-
2021
Masterpiece - Slapping on a Frontend and Wrapping it Up (Part Six)
The frontend wrap-up for the Masterpiece experiment: enough UI to make the system feel like a coherent console shell.
-
2021
Masterpiece - Putting together an App Format (Part Four)
Packaging the filesystem and runtime assumptions into an app format that can be moved around sanely.
-
2021
Masterpiece - Making a Custom Operating Environment for our Processes (Part Three)
How the project shaped process environment, hooks, and operating context once the filesystem layer existed.
-
2021
Masterpiece - Implementing a Layered Filesystem (Part Two)
A filesystem-layering approach for packaging and redirecting game files without making every install special.
-
2021
Masterpiece - Creating an App Controller (Part Five)
The controller layer that ties app packages, process control, and runtime behavior into one launch path.
-
2021
Masterpiece - Consolizing PC Gaming (Part One)
The opening context for a homebrew attempt to make PC games behave more like a console library.
-
2021
IOPort Compatibility Patching
A practical compatibility patching note on old software that expects direct I/O port access.
-
2021
Time Travel - Win9x Heaps for the 2020s
Compatibility patching notes around old heap behavior, modern Windows, and the weird glue needed between them.
-
2020
Pushing the Envelope - Part Deux
A follow-up unpacking pass that turns earlier reversing notes into cleaner tooling and better assumptions.
-
2019
WOW64 Rant
An opinionated but technical walk through WOW64, compatibility surface area, and what happens when you try to remove it.
-
2019
Pushing the Envelope
A deep dive into unpacking and understanding a protected SDK/library stack rather than just patching around it.
-
2016
System N2 Exposed
A look inside Namco System N2-era arcade hardware and software from the perspective of a reverser trying to make it behave.
-
2015
Adding Keyboard Support to a Crazy Taxi Clone
Input patching and control adaptation work on a game that was never especially interested in keyboard players.
-
2014
Hacking 'I Wanna be the Boshy' Game Saves
A compact game-save hacking note that turns a small target into a useful data-format exercise.
-
2014
Hacking Clocktower - The First Fear
Reverse engineering Clocktower internals, scripting, and tooling around an old console horror title.
-
2014
Compatibility Patching for Classic PC Games
Small compatibility patches and debugging notes for getting older PC games across newer Windows behavior.
-
2013
Pwning a SafeNET Microdog
A practical teardown of a low-cost hardware security module, its client libraries, and the assumptions around dongle-backed licensing.
-
2013
Culdcept Series
A tour through Culdcept save data, compression, and brute-force tooling from a game-hacking angle.