Its funny reading some of the comments about the video, many of them seem to wonder why I'm doing it - so I thought I'd answer.
When I started coding all those years ago I did it for fun, nothing to do with money or a career (although it was a distant hope), but plain old fun. Years later when I started coding profesionally, I was pretty good at at because I'd spent years getting good at optimising things and making things fun.
Now...fast forward to today. I spend all my profesional time working on high end PC's/Consoles doing the games that these people say we should be playing and something is missing. It's been brought up a couple of times on the DIGG list. Machines are so big and powerful, we just dont need to take the same care and attention that we once did. Microsoft Windows being a case in point; it swallows virtuall all power from the latest processors and we hardly ever feel the upgrade the way we used to. We've lost something.
So, aside from the huge amounts of fun I get from writing of limited systems, and remember that this doesn't JUST mean retro machines that we won't let die but things like mobile phones and whatever the latest limited system is - theres always going to be a new one. I learn lots of new things by working with these systems. If you work on systems that are hardly ever taxed, that are heavying with memory, and have huge resources, then its hard to learn optimisational tricks any more. Working with these smaller machines keeps our minds ticking, thinking and working so that we can use these tricks when we need them on real projects. These days, it doesn't take a programming god to make a game that looks okay, but still you have to be pretty good to push the machine; its just harder to know that you've reached that limit and its not that you've just turned into a lazy coder.
Necessity really is the mother of invention. If you dont really need it, you'll never discover it.