Techie-cality

I was reading a story about how this computer from 1985 was becoming a museum piece, and couldn’t help but chuckle to myself about how times have changed.

Like many who will read this blog, I started playing with computers when I was a kid…about seven or eight years old. Unlike many of you who will be reading this blog, I didn’t have the option then of using a PC or a Mac, or even an Apple II…they were still at least half a generation away from being invented. No, my first computers were the Digital Equipment Corporation (DEC) mini-computers, the PDP-4, PDP-8, and PDP-10, that were more-or-less available to me at the Jet Propulsion Laboratory (JPL) where my dad worked. Each of these computers was the size of a refrigerator and boasted upwards of 32K words (about 48 KiB) of memory. The access time on the memory was between 3-8 microseconds…almost three orders of magnitude slower than what’s in the computer you’re using now. Programs were entered via paper tape, and saved the same way. Sometimes I got to use the printer/typewriter that sped along at 10 characters per second (cps). Hey, it seemed fast at the time.

While in public school, I got the honor of getting to play on some time-shares. These were mainframes that where hooked up to teletype terminals (again, at 10 cps) — about two to four per participating school — so that we could learn the rudiments of programming and to play computer games such as tic-tac-toe, chess, and spacewar. Exciting stuff.

The first computer I could call my own was a Synertec SYM-1 single board computer (SBC) somewhere around 1978. This was built around a 1-MHz 6502 microprocessor. The guys who worked with and for my dad at the Naval Research Lab (NRL) tinkered with it some, giving it a keyboard (the computer came with a hexidecimal keypad installed), a cassette tape interface for loading/storing programs, a simple BASIC language, and an additional 4 KiB of RAM to boost the total memory to 8 KiB (the memory upgrade alone cost $500). That was a great computer to learn on. I wrote many, many BASIC programs on it, and learned to use and love assembly language…though I will admit that at first I wasn’t sure I was ever going to learn how to program in assembly. Once I grokked it, it was simple, and has stayed my favorite programming environment ever since.

When I got to college and became a computer science major, I got to enjoy the fruits of antiquity. The computer science department was a study in endurance. The main undergrad computer was a Univac 1100/40, though some of us also used the older Univac 1108. For the most part, these were punched-card machines. We’d all go down to the computer science building basement and wait our turn to type in our programs on keypunch machines onto Hollerith computer cards (limited to one hour at a time during busy times). When finished, we’d hand over our stack (or box, for non-trivial programs) of cards to a student aid who would feed them into the card reader. We’d move over to a different window to collect our cards with a job number attached. Then we’d climb the stairs to the system window to collect our printout…maybe. Sometimes you’d have to wait a few hours because of some hardware problem, or sometimes just because of an over-loaded queue. Then you’d find you forgot a comma on line 978, go back downstairs to fix it, and start the whole thing all over again.

The sneaky people (like moi) would also spread out around campus to find the few keyboard/printer terminals around school. These were speedy things, running at 30cps, but they were few and well-hidden. Many of them weren’t in the computer science building at all, but in the engineering building, so you needed to have friends in that department to guide you to the right closed-door closet (I’m not kidding…there would be just two or three terminals in a re-purposed closet). The search was definitely worth it as it saved a lot of time from having to type cards and then sprint to get your printout.

About the time I decided computer science was a path to pursue, two critical events happened. I got an Atari 800 computer with a 5.25″ disk drive plus an Epson MX-80 printer; and I started working at NRL as a programmer in the space sciences division. Now I started having some true computer geek fun. Oh sure, subbing in at the help-desk in the computer sciences building was cool, but now I was playing with fun stuff. Sure, there were still some old PDP-8s and PDP-11s around, but there was also a VAX 11-780 (about 4 or 5 refrigerator-sized cabinets worth, anyway), and tons of nifty micro-computers. The one I remember most was a DEC LSI-11/23. This baby came with a couple of floppy disk drives. Now, when I talk floppy disk, I MEAN floppy disk. These were the original 8″ sized disks, and inserting them into the drive slot could be challenging because when they said floppy, they meant floppy. The 5.25″ disks were like squares of plywood in comparison.

The IBM-PC came out during this period, and I was far from impressed. Many other computers were much better. In fact, when it came time to upgrade from my Atari, I chose a Kaypro-2, which was a “luggable” portable CP/M computer. That was my workhorse computer for many years before I got to a point where a decision had to be made: Mac or PC? I’m glad I chose PCs. To this day, after many computer systems, the Mac is still the one that gives me the most grief. (For those curious, to-date my favorite computer to play on was the venerable Commodore Amiga.)

I can’t imagine doing all the things I need to do without a computer. They have been part of my life for almost forty years. I have no problem describing myself as a total computer geek. I have been for a long time. I sort of feel sorry for the kids today, though, who never had to learn how to fit a complicated BASIC computer game into only 4 KiB of RAM. Of having to count every clock cycle of processor power you were using. In fact, I sort of feel sorry for all of us. The program bloat we all experience now is because as processors got more powerful, sloppy programming was able to be masked by processor speed.

Back at NRL, I was reviewing some code on a satellite simulation for computer square roots in software. Each computation was taking almost two seconds to finish (slower than even the calculators of the day)–which was slow even considering the pokey speed of the computer it was running on. I did a little research and then rewrote the program to be more efficient. Now the calculations finished in about 20-80 milliseconds (depending on precision)…about a hundred times faster. So when I see a program gobble up clock cycles and consume large amounts of storage (cough…Vista…cough), I know, even without seeing the code, that there is a lot of inefficiency that even processor speed and massive hard drives can’t hide.

I guess I’m just old-school. When a test-run of a simple program would take an hour of your time; when a dropped box of cards would shatter your desire to live (well, for those without enough foresight to also wrap the cards in rubber bands)…you come to appreciate the need for precision and efficiency. It’s that sort of mindset that keeps shuttles from blowing up, and is something that isn’t being stressed enough nowadays.

The kids today are oh so talented and have such imaginative freedom as they’ve never known a time without monitors and computers and the Internet. If they also used the capabilities of the technology to their fullest, instead of taking advantage of the sort of carelessness the technology can allow, then the sky is no longer the limit. While there is a lot of computer info to learn, there are also a lot of solutions that have already been developed. Whether the kids are in Peoria, or Silicon Valley, or Moscow, or Bombay…there should be some really extraordinary stuff going to be developed in the next 10-20 years. Or everything will collapse from a mega-computer virus pandemic. Po-tay-to, po-tah-to.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.