The laws of unintended consequences seem to live in computer science and software development. Most good software products seem to wind up being used in unexpected ways. More than that one thing seems to always lead to another and not always in expected directions. For example start with XNA Game Studio Express . It was designed to let hobbyists create their own video games for the Xbox 360 and for Windows PCs. It does that very well. And then other people with other ideas started looking at it as