Hacker News new | ask | show | jobs
by dang 3288 days ago
Part 2 didn't exist when I worked through the book and watched the Part 1 lectures a couple years ago, so presumably this is new. The big question is: do they actually take you all the way to Tetris? Surely it is their duty to deliver on the best course title of all time!

The book, btw, is a masterpiece for anyone unfamiliar with the material it covers—particularly for programmers like me who are comfortable with the language layers and up, but to whom the hardware and lower programming layers were a mystery. Getting a simple, but rich enough to be demystifying, understanding of the those layers by actually building them myself was (no exaggeration) a healing experience for me, and made me want to fly to Israel just to hug those guys.

For any programmer who never took courses like this or tinkered at the hardware level, and thus has that alienated feeling of skating on a frozen mystery their whole career, this book is the antidote. It's a classic of economy, given how short it is and how much it covers. Of course it gets through it all by oversimplifying, which you realize the moment you get to a chapter whose topic you already know. But it does get through it all, which is astonishing.

4 comments

>"Part 2 didn't exist when I worked through the book and watched the Part 1 lectures a couple years ago, so presumably this is new."

Thanks for the confirmaton, I didn't remember seeing this either.

"The book, btw, is a masterpiece ..."

Agreed. The paper back is a nice format and reasonably priced for a technical book as well:

https://www.amazon.com/Elements-Computing-Systems-Building-P...

I was considering it based on positive feedback for a bootstrapping project where cleanslate hardware, software, compiler, and/or interpreter are done simple as possible to mske root of trust. Far as hardware, I was looking at Forth, JOP (Java) or Wirth's RISC as lowest layer with simple language targeted to it.

You're endorsement adds extra corroboration it might be useful for that. Also, if they keep it simple, might be able to use the FOSS tools like Qflow and ABC.

"The big question is: do they actually take you all the way to Tetris?"

In Part II, when they introduce the java like programming language, the assignment is to write a game. One can write whatever game they wish. Tetris is one possibility. I myself wrote Tetris so I know it is possible, and it is possible to implement using the architecture developed in the class. However, not everyone is forced to implement Tetris at that point. They have the freedom to choose other classic games, or even new games if they wish.

After this assignment comes both the full compiler and the implementation of the operating system.

Skating on a frozen mystery” is a wonderful turn of phrase. Is it yours or is it an idiom I haven't (yet) come across?
I wouldn't say it's 'mine' but it just popped into my head.