PWNED! I've never been one to shout at my computer, even in multiplayer games, but I've been doing plenty of yelling over here, and a few victory dances too.<p>This is AWESOME, thank you for putting it together. This should be mandatory training for developers in languages with no bounds checking. It's downright scary how easy some of these exploits can be. Yes, I know x86 makes things more complicated, but I had no idea the basic concepts could be so simple after reading disclosures about buffer overflows, stack smashing, and other spoilery stuff I won't mention here. Working on Algiers right now.<p>Minor bugs: I like to hit "enter" in the debugger to keep single stepping, but every now and then the focus disappears from the input window. Typing "s" works because it seems to jump back to the window, but typing "enter" does nothing.<p>Several levels produce garbled text from puts() -- doesn't affect the playability, just looks funny. Or maybe you fixed that already, I'm not able to reproduce it now.<p>It would be nice to be able to copy/paste from the memory dump to the disassembler without having to trim the other columns off first.<p>And the cherry on top: remember my "hide box headers" setting. Thanks!