I’ve always been interested in how things work under the hood. Unfortunately, computer science courses I’ve taken in the university haven’t covered low-level details of how a computer works. And the last Uncle Bob’s blog post “Make the Magic go away” convinced me that it’s time to play a little bit at a low level. At first I was thinking about reading a book on IL written by Serge Lidin (as far as I’m a C#-programmer), but then I decided to take a look at the lowest level a programmer can dive into – Assembler. So I made a couple of queries on amazon and found an interesting book named “Assembly Language Step-by-Step: Programming with Linux” by Jeff Duntemann. This book has a pretty high rating and good reviews.