The first computing device I remember using was The Little Professor (1976). Designed like a calculator, the Little professor worked backward: it presented unsolved equations the user then needed to solve. Many years later, future-me would see a Little Professor in a computing exhibit at London’s Science Museum and wish that past-me could have known.
My first programmable computer was the Timex-Sinclair 1000 (1982) with 2K of RAM. I don’t remember what—other than the low price of $99—spurred my mother to buy this for me. It was connected to a Radio Shack audio cassette recorder for data storage and the family’s TV in the living room via an RF converter switch for video output.
I remember coding Conway’s Game of Life on that little computer. I must have read about it in a hobbyist computer magazine, rather than the original article by Martin Gardner published in 1970. I was very fond of reading such magazines, but the details have long since escaped my active memory. I must have been 10 or 11 at the time and had already found my way to ideas of artificial life, cellular automata, and computational complexity.
Cellular automata (CA), of which Game of Life is an example, are the primary subject of Stephen Wolfram’s 2002 book, A New Kind of Science which posits, among other things, that CAs can exhibit a level of computational complexity that is incompressible. That is, for some CAs there is no shorter way to describe the behavior of the system over time than to execute the system itself from time = 0 up to the moment of interest. From simple rules comes maximum complexity. See, for example, Rule 110.
My 1980’s self must have demonstrated quite an aptitude—or been an incessant pest—because soon after, my mother bought me a Commodore VIC-20. The VIC-20, also connected to a cassette deck and the family’s TV, allowed me to explore sound and graphics and no doubt become even more of a pest.
Using the BASIC programming language, which was built into the VIC-20, one could write modest amounts of code that behaved in larger than life ways. One could, in short, create. And other people were creating in BASIC, too! You could share your creations with others and have them share their creations with you via this common language, so long as you knew which line number to GOTO. Programming is social.
Through my interest in the VIC-20, I discovered the Capital District Commodore Users Group (CD-CUG?); a hobbyist group that met in the Albany, NY, area to swap code, share insights, and hack both software and hardware. There, I first learned how to notch a floppy disk to double its storage capacity, how to PEEK and POKE RAM, and many other technological wonders.
In an act that would surely land her in jail these days, my mother agreed on many occasions to drive me the 30 minutes or so from our apartment into Albany to drop off my 11 or 12 year old self so I could hang out at random locations with random groups of much older strangers who had soldering irons. I may have been aided in this lobbying effort by my slightly older brother, who I think our mother took to the near-by comic book store (FANTICO?) while I met with the CUG. Two hobbies, one weekend drive.
CUG meetings introduced me to the wonders of the Commodore-64, the VIC-20’s more capable upgrade. The C64 included improved graphics in the form of sprites, allowing flip-based animations, as well as a more sophisticated sound chip that allowed for improved sound synthesis. I had to have one!
A particularly popular demo of the C64’s sound capabilities was a rendition of the Axel-F Theme from Beverly Hills Cop (1984). Be kind and remember that both this sound synthesis and the movie were considered high art at the time and that I had the artistic judgement of a 13 year old.
The C64 also introduced me to the FORTH programming language which is a stack-based language; a decidedly different programming paradigm to BASIC. FORTH uses reverse polish notation (RPN) where the usual in-fix notation of “2 + 5” is expressed in post-fix form as “5 2 +”.
I also encountered the notion of fuzzy logic while working with FORTH. Fuzzy logic extends ideas from the classical, two-valued logic of TRUE and FALSE to include degrees of truth: is an idea 20% TRUE or 80% TRUE? “Tomorrow it will rain” is TRUE to what degree?
Discovering that the notational systems used to write code were arbitrary and flexible was revelatory. Discovering that logic itself was similarly flexible was unnerving, but still offered fertile ground for further explorations of artificial intelligence.
For use with my C64, my mother bought a 300 baud modem—that’s 300 bits per second, or roughly 37 bytes per second. At that rate, a typical 3 minute song MP3, had they existed at the time, would have taken 33 hours to download. Even those painfully slow speeds enabled me to connect to a world of like-minded computer users around the world via bulletin board systems (BBSes). Using the family’s phone line, one used the computer in your bedroom to dial directly to another computer—likely also in someone’s bedroom—that was running BBS software and awaiting outside connections. At 300 baud, one could watch as lines of text drew themselves on the screen and stories unfolded.
I spent one summer taking a computing class at Skidmore College where we worked on paper-based teletype terminals (TTYs) connected to the college’s time-shared main frame. When your code was ready to be run with graphics, you moved to one of the Wyse green video display terminals (VDTs).
By the time I was 15, I began working for local businesses that had much more interesting computers than I owned or could afford. It would be another 10 years before I would purchase a computer for myself again. By then, the mid 1990s, the personal computer had taken hold and we were at the dawn of the World Wide Web. But that’s a story for another time.