Computing From Scratch

These hypotheticals hope to teach the fundamentals of computing. They are not real projects I actually want to build, but I do enjoy toying with these ideas.

Audio Basics (may later get folded into an actual hypothetical)

Quick tour of what’s involved in a computer recording & generating audio.


How do computers convert a 3D scene into multiple megabytes of 2D image data to be sent to your monitors 30+ times a second in realtime? This hypothetical strives to be as accurate to real hardware as public documentation allows.

Includes a segment on early arcade graphics.

Browsers from Logic Gates

How do web browsers & their underlying operating systems (including I/O, text, & networking) work? How would we build one from-scratch, starting from logic gates? While this will cover core computing concepts in a relatively simple context, it will take a while!

To keep things interesting this hypothetical device won’t support JS, thus necessitating a somewhat-typical CPU. To keep things simple I’ll focus on a happy webby codepath, you should be able to intuit error handling & e.g. Gemini support. The vital UI component of webforms will likewise be a reader exercise.