Sign up or log in to save this to your schedule and see who's attending!

If you've played games or worked in any one of a number of popular programming languages you're likely to have relied on a software machine written by a small but dedicated team of virtual machine enthusiasts. And unless you've taken a course in programming language implementation you probably have only a loose idea of what software machines are, how they work, or how easy it is to write your own. My interest in this field was sparked during the era of home micros when I chanced upon an article in a programming magazine on how to implement Forth in Basic. That article with its inscrutable magic became an obsession that lead to a career in coding and much else beyond. In this fast-paced introduction I'll use code written in C and Go to explain the basic building-blocks with which we can model computing machines in software, covering as many of the main architectural features as possible in the time: stacks; heaps; dispatchers; clocks; registers; instruction sets. I've rated the session as intermediate because it has a lot of code (and some mildly gnarly C), but if you're a beginner who wants to see a little of the magic underneath the tools you use, I'll hopefully have you covered to.

London-based hacker Ellie is the sometime writer of A Go Developer's Notebook. During the course of her career she's worked on mission critical systems ranging from avionics to banking security and digital trust arbitration. | Ellie is co-founder of Innovative Identity Solutions, a startup focused on driving innovation in digital identity and personal data privacy. | As a responsible parent Ellie enjoys polyhedral dice, home brewing and... Read More →