DriveThruRPG.com

The simulator TIS-100 was in the July Humble Bundle (or perhaps June - time flies.)

It is an excellent program teaching the user the intricacies of Machine Code and Assembly programming.  It is probably mind-numbingly tedious to a large segment of the population, but for anyone who really wants to learn how to code and learn how and why computers do things at their most basic level, it is a must buy.  There were a few things about multi-threading, parallel processing, and multi-processing that I guess never sank in when I was scribbling up my various programs.  They did now, and the results have been amazing.  I have been engaged in rigorous code refactoring all week, and some of my older programs have dropped from a runtime of 10 minutes to a run time of 9 seconds.

If you want to learn to code, grab it now.  Even if you only do the first 10 levels and decide it is foolish and silly and never load it again, it will have made you a better programmer.