The increasing accessibility of computing and scripting languages means more and more of us don’t have computer science fundamentals and hand-wave our laptops and servers as magic. But, it doesn’t take much to learn that the wizard box you type on every day is just layers of simple logic wrapped and reused all the way up. Indeed, starting with a single nand gate you can build the entire realm of boolean logic, and from that, a computer.
Working through a curriculum called Nand to Tetrisand its associated text book The Elements of Computing Systems, the Seattle.rb Study Group did exactly that. In just 12 short weeks,we went from nothing to a whole stack computer starting from just a single nand gate. We built a (simulated) computer, an assembler for its machine code, a virtual machine, a high level language compiler, and an OS with games to run.
In this talk, I will start with the nand gate, and build up a working computer explaining each layer as I go. You may not be able to build along with me in just a half hour, but I hope to infect you with my love for this curriculum and hopefully have it spread to your ruby/study group.