Still Coding After All These Years

Today is my 40th anniversary of programming a computer.

December 22, 1978: This day marked the first time I walked into a computer store, the first time I played a game on a home computer (or even touched one), and the very first time I wrote a computer program.

Exidy Sourcerer

Of course, that very first program was pretty BASIC. 😉  I learned the concept of programming, line numbers, how to RUN and LIST a program, and (at least) my first two commands, PRINT and GOTO, on that same day.

The very next day, I learned (more) about variables, FOR loops, and number theory (mathematics, not programming), as I helped an MSU student debug his program, and then further experiment with it.  We noticed that abundant numbers are often bounded on each side by primes, but this is not universal.

I urge you to read more about My First Programming Experience.

Computers were awesome!

A few years later, as I was on an airline flight, I took out my pen and paper and started writing a wishlist for the “perfect computer” for me, dreaming about what could be possible in the future.  I envisioned lots of colors, crazy amounts of memory (like 64K!), and larger custom character sets, which idea gave way to (really out there) thoughts of individually addressable pixels at very high resolution (say, 640×400).  At a conference, I saw a display with a “true color” screen image of an apple (fruit) at 1024×1024 and that blew my mind.

In the intervening years, I have had loads of milestones and accomplishments:

  • January 13, 1982: founded Sophisticated Software Systems
  • Summer 1982: had first professional programming job
  • Late summer 1982: purchased very first computer, a Commodore VIC-20
  • 1984: won the ComCon ’84 International Programming Competition
  • 1984: started first full-time programming job with Michigan State University
  • 1988: landed game programming job with Quest Software
  • 1989: published first retail game product, Legacy of the Ancients
  • April 22, 1990: self-published shareware game, Pacmania 1.10
  • February 1, 1993: started as Senior Software Engineer at Spectrum Holobyte
  • 1994: went full-time as an independent game developer
  • 1995: incorporated business as SophSoft, Incorporated
  • 1996: launched Digital Gamecraft for developing independent games
  • 2002: Goodsol Development released Pretty Good MahJongg
  • 2004: served as Chairman for the Association of Software Professionals
  • 2007: created first Mac game, Pretty Good Solitaire Mac Edition
  • March 27, 2013: A Little Solitaire became the #1 card game for iPad
  • 2013: published first Digital Gamecraft title for iOS, Demolish! Pairs
  • 2016: established and ran Advanced Concepts Group at DAQRI
  • 2018: published an Android version of Demolish! Pairs

These are just a few of the major highlights, but none of these events made as much of a difference in my life as that day I walked into New Dimensions in Computing.  Of course, there are a few personal milestones that really affected things as well, but most of these also happened within this time frame (more than 76% of my lifetime).

Today, I am back doing what I love: programming.  Even when things are tough, I truly enjoy the development process and can get ‘in the zone’.  When people would ask me what my favorite game was, I would often reply something like, “C++”. 🙂

Amazingly, I now have a stable of portable devices, each of which far exceeds my ultimate imagination for my perfect computer, and many of them blow away the visual capabilities of that screen that mesmerized me back in the early 1980s (and I never even considered the possibility of 3D rendering capabilities).  My phone fits in my pocket yet is more powerful than my first PC, and my watch is more powerful than that first computer.

Computers are awesome!


Lightning Strikes

Inexpensive computer versus Mother Nature

Being discouraged from access to my computers for a while by an intense electrical storm, I thought back to this interesting experience I had back in the distant past, in the earlier part of my career.

For a couple of years, ending in 1987, I was the Service and Support Coordinator for a local computer store, Midwestern Technical Products, now long deceased.  In addition to programming, which was (initially) not enough work to fill a full-time position, I also served as the Service Manager, overseeing 4 technicians, as well as administering the (nominal) internal network and handling various other technical duties.

One day, a customer came into the store with a non-working Texas Instruments TI-99/4A, which had been the victim of a lightning strike.  Apparently, his house had been struck directly, destroying most of the electronics, and while the insurance company had replaced his television and stereo, he still wanted to recover this inexpensive computer.  Keep in mind that the TI-99/4A was already obsolete by this time, and when it was last available for purchase the retail price was down to only $99.

While “checking in” the computer (filling out the work order, etc.), I explained to the customer that, at a service charge of $65/hour, with (usually) a 30 minute minimum, it was highly unlikely that we would be able to fix the computer for less than it was worth.  Nevertheless, the customer insisted that we take a look.

Later that day, when the technician assigned to the initial assessment got to that work order, I was summoned back to the service room so that he could take pains to explain to me exactly what I had already told the customer.  Of course, being the manager, I also got a question along the lines of “What exactly do you expect me to do with this?”

So, just combining troubleshooting with a little brainstorming, I asked how much had been done so far, and was able to ascertain that that the problem has been verified, i.e., the computer has been plugged in and did absolutely nothing.  The technician was guessing, based on the lightning story, that the power supply was fried.  I then asked whether we were able to confirm that electricity was even getting to the power supply.  He had been so anxious to tell me how unlikely an economical solution would be that he had not even gotten that far, so while I watched, he learned that no voltage was getting through the power cord.  Of course, it was possible that the whole computer was toast, but until we could actually apply power to it, there was no way to know.

At this point, the technician (who appeared to just want my permission to dismiss this job and move on) said, “Now what?”  I looked at the power cord and noticed that, unlike many cords that had (and still do) a “wall wart” at the plug end, this cord had a wart in the middle of the cable.  Since we knew power was not getting all of the way through the cable, I thought that we could, literally, divide and conquer.  Looking closer at the bulge in the cord, I saw that there was a seam, and if we could split it, we could determine which half was at fault, or maybe get lucky and find something repairable in the middle.  I took the risk of destroying the (already failing) power cord and pried the wart apart.

What I discovered was surprising, but also surprisingly logical.  To move the wart electronics away from the wall, rather than design and manufacture a new cord, some brilliant engineer decided to simply plug the wart into a short extension cord (designed to match the size) and just glue the two together into one cord.  (Actually, I cannot say with absolute confidence whether it was glued, deliberately melted, or fused by lightning.)  In any event, pulling apart the cord gave us a shorter TI-99/4A power cord, and a short extension cord, with no exposed electronics at all.

I must admit here to skipping a couple of steps in our excitement.  Instead of testing each half of the power cord, I simply had the technician plug in the power cord, without the little extension, and, lo and behold, the computer sprung to life.  The cheap little extension, provided (apparently) just to make the cord easier to fit into a wall plug, ended up serving as an unconventional fuse, protecting the computer by self-destructing when lightning hit.

Availing myself of my (questionable) authority, I went ahead and reduced the minimum charge, in this instance, to only 15 minutes, and for $16.25, we had a happy customer with a working TI-99/4A, and also a story I remember 27 years later.

“I can’t stop, I can’t stop myself…”