Dusty Digital and Forgotten IdeasPosted on October, 28 2019
Cobwebs appear to have a distinct glint in the digital era. After you've left something digital alone for some time, returning to that virtually legitimate concept of space has a certain effect. Lists of to-dos and this-thats that were once rummaged, written, and rethought on occasion are lost to the dry-erase eraser and poor organizational skills. As with the slow crawl of the calendar year, these idle ideas and problems collate and begin to grow into puzzles upon revisiting these digital vistas.
Revitalizing an old project
I have found my small index of thoughts scattered among notebooks, archives and stale git repositories as a treasure trove of inspiration and self-humiliation. I spent some time to revive an effort to implement this microcontroller architecture I named "tisc" : which is short for tiny instruction set computer. The whole mess of it was an undocumented circuit (implemented with Logisim) with vague instruction set definitions and cryptic hand-assembled test programs, complete with an absolute failure of an assembler half-assed in C. The catch was that it was indeed my past self who had created all of this mess, so how hard would it be to, y'know, remember it all?
To pick this project back up and breathe life back into the idea took determining what was working, what was broken, and where the work needed to be done. These tasks were at one point clearly pictured when this project was new to me. Simply learning what I haphazardly threw down was a unique experience in that, there was a kind of dust upon this digital form. The kind of dust you really notice after the code hasn't been seen in a few years. Once you get those layers of dust off, you get a better idea of what you are looking at.
Realizing why it was left to gather digital dust
After virtually dusting off a large portion of this project, wrapping up loose ends and actually writing the assembler; I got to a vantage point with the project and my work on it slowed to a stop. I really didn't know what to work on next. Besides, I have a fear of unnecessary effort, I tend to challenge any idea of work without clear results. The results of this effort had already came in the form of seeing what left the project in the dust in the first place.
Despite my lack of direction I had hit the notebooks and started to fork TISC into something with greater potential. When digging into how I could change the architecture, I came upon the conclusion that this process would require having to completely scrap what I originally laid out. To make matters worse I was trying to pull the project outside of the original scope I had in mind, which was to create a small-footprint microarchitecture that would be reasonably understandable to someone with limited knowledge of computer architecture.
Instead of reinventing TISC, I wrote this post explaining what picking this project back up meant to me, and what I hope it may eventually mean to you, reader. These universes of old ideas within archives are dormant seeds in my eye. If not seeds then when approached appropriately these ideas exist as stepping stones to even greater ideas.