Welcome
Welcome indeed. Here is a part journal, part conduit for my thoughts, part (hopeful) inspiration to others, and part reference for posterity.
Why Read This?
I don’t really expect anyone to read through this. As-is it’s hard enough for me to read it and I’m working on the project.
I have tried very hard to break things down into straightforward explanations, mostly to benefit my forgetful mind. The upside is maybe I’ve succeeded in creating some semblance of educational material.
So read this if you’re interested in Computer Engineering, scientific process, ramblings of an at-times obsessed builder, or maybe if you like my prose?
Or just look at the pictures. I spent a lot of time making them :).
History
This Theoputer started in my head decades ago. That is wild to consider, but I have evidence from backups of old computers that at least by 2001 I was researching logic gates for the purposes of building a “computer” from scratch.
That idea lay dormant, somewhat, in my head for a very long while. I tried several times to pick up the thread, but each time I was thwarted by something. The first time around, frankly, I don’t think I had the engineering talent necessary to really put this all together without significant help. I also didn’t really have any help.
The second time I tried, during undergraduate, I lacked the discipline to stick with the work. I also still likely lacked enough engineering and scientific rigor, but it’s hard to say for sure.
The third time was in 2022. At this point I had developed a strong foundation of engineering and scientific rigor, but I quickly found that I lacked the right mindset and the necessary income to make a lot of mistakes. And let me assure you that I made and continue to make a lot of mistakes.
So here we are. Round four. Started in roughly late January of 2024. Though to be fair when we are is in fact December of 2024. I am only recently started on the slightly tangential path of writing about what I’ve been building nearly 12 months after starting!
Nevertheless, welcome all the same. I expect very little from writing this up as I expect very little from building my little Theoputer. This has been a sort of “bucket list” desire and through the encouraging and kind words of some people in my life who have seen the results of my efforts I have decided to document it all.
Comments and corrections are welcome; I’ve added a commenting system. Please use it respectfully. I am wide open to constructive feedback. I have very low tolerance for hostility or destructive feedback.
“The Reason”
The most often asked question I get from people is of the form: “Why did you do this?” Almost no one asks that in a judgemental way, for what it’s worth. I can understand this question very deeply. It doesn’t make a lot of sense. I’ve spent a lot of time on this project and I have no expectation for getting anything out of it beyond something deep within me.
So why? Well, I don’t know exactly why. I know that when I was a younger person I learned that computers were really just a bunch of logic gates connected together in a very clever and specific way. That sparked a thought in my head that is a very common thought in this particular head: “How does that work?”
Most of my formative professional life has been spent towards answering questions like that. It’s been a series of different “thats” but the question has been the same. This project started the same way, albeit from a much younger age. I did try to answer that question back in 2002, but I lacked several skills and a lot of wisdom necessary to make any progress.
So I suppose this is part of it. I want to teach that little boy from 2002 how this all works. I want to show him that he can do something like this. It’s incredible to me that a single person can put all of this together and build a computer that is powerful enough to land a spacecraft on the moon or simulate a modest neural network.
I also love to learn and I love to try hard things that I’m not positive I can do. It’s something like playing a sport for me. When I play soccer with my teammates I’m not sure we will win. I try to do the best I can, but I know I can fail. Building a computer from scratch feels similar, and the rush I get when I see a part of the Theoputer literally light up after spending months getting it working is similar to the feeling of winning a soccer final.
Seems like a good enough set of “whys”, but in the end I just started working on it and it stuck. I don’t really have a better answer than something about doing this calls to me on some deep-enough level to pull me into it.
Acknowledgements
-
Ben Eater: I am indebted to Ben Eater even though I don’t know him nor he me. He sparked my most recent try at building this computer in 2024, which is the try that has stuck. In large part that stickiness I think is due to him. The biggest impact he had on me was showing me that I wasn’t crazy for thinking I could build a computer from scratch. He gave me the courage boost I clearly needed to really dig into this. He also is a great educator, so on a practical level some of his videos helped me think through some design considerations.
-
My Wife: Feel free to hear that in the Borat voice. I always do. Chelsea, my wife, is very cool. She got excited about various milestones with me even though she knows exactly nothing about any of the things I’ve built. She gave me the space to run free and got excited when I hit those finish lines. While she didn’t contribute directly, just providing that kind of emotional and mental safety has been so important.
-
My Son: His name is Theo… the puter. :). He helps me solder, he dumps the ICs all over my office floor forcing me to take a step away and clean up, and he loves pushing buttons and twisting dials. I think part of the reason this project stuck this time was because of him. Part of me wants to show him what his dad can do, and to inspire him to look at barriers as walls to be scaled rather than boundaries that cannot be crossed.
-
Colleagues and Friends: John F., Kevin, Tristan, Ward, Phil. Some of whom I don’t think were/are interested in what I’m doing but got excited with me anyway. Some of whom definitely are interested and have been so encouraging and celebratory. Another part of me is still working on this because people are interested.