Conversation

Book idea: FROM SAND TO DOOM Go through each of the steps of increasing complexity in each chapter, building a computer from the raw materials level to the running software level
50
942
like, chapter 1, basic circuits with copper. quick and simple ch2: transistors! ch3: use transistors to make logic gates ch4: use logic gates to make adders and decoders and flipflops ch5: hey we can use those to make a simple CPU
7
178
Replying to
ch8: machine code sucks. lets write an assembler ch9: assembly sucks too, let's write a compiler ch10: now that we have a compiler, lets write a basic OS. something that can load our data off... oh no
1
134
ch11: WE NEED STORAGE. paper tape? punch cards? magnetic tape? hey what if we took the magnetic tape and flattened it out into a disc so we could get random access... CH12: THE MIGHTY FLOPPY DISK
2
148
ch13: now we can load code but we can't see what we're doing. let's build a display. the humble CRT
2
128
ch14: that got our educational computer science book banned from a bunch of schools, so let's build an LCD instead
4
195
ch15: we're gonna need a keyboard too ch16: silent doom is no fun. how do we build speakers and sound cards? ch17: finally, writing doom itself
1
129
every one of these chapters could easily be a book on their own (Doom certainly is: fabiensanglard.net/gebbdoom/) but the idea would be to do a relatively high-level summary on how each step works. not trying to be a full on CS textbook but more like one of my explainy-threads
2
126
like last night when I explained how the Antikythera mechanism isn't the kind of computer that can run Doom:
Quote Tweet
BTW people joke about running Doom on the Antikythera mechanism but it's an analog computer. Analog computers are a type of calculator, and generally are not Turing complete. So they can't run Doom.
Show this thread
2
89
anyway it's a subject I've been thinking about for like... a decade and a half now. I had to take a whole computer science degree to grasp the form of it, but it seems like it's something you could explain a lot more simply by not going into all the details
1
90
and specifically that's the whole end-to-end process. How do you take some sand and at the end of it, have the computer you're playing Doom on?
2
81
because a lot of the steps are easy enough to understand on their own, but that doesn't help with the whole process. You might understand how a computer program can turn into Doom, or how some transistors can be logic gates, but... how does it all work together?
2
78
a transistor is just a switch! it turns on or off a current based on another current. Does that mean if you got enough lightswitches together, it becomes Doom?
2
75
anyway maybe I'll write a book or I'll write 17 long twitter threads or I'll write 17 long twitter threads and then put them in a book
9
147
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. (this one was already on my to-read list!)
Image
7
90
The Elements of Computing Systems: Building a Modern Computer from First Principles by Noam Nisan & Shimon Schocken
Image
2
64
so definitely some books to check out first before I really consider writing this, since they may already do what I'm considering, or have ideas that'd push me in a different direction.
3
43
oh wait, "The Elements of Computing Systems: Building a Modern Computer from First Principles "is also nand2tetris! so that's one book/site, not two.
3
64