I Met a Real Computer in 1982
I first encountered an Apple II in my high school’s introductory class on computing. I was terrible at math—still am, admittedly. But my friends convinced me to take the class with them, and I reluctantly agreed, dreading the dismal grades I expected to earn.
In the first day of class, Mr. Brenner, our instructor, introduced us to the machine’s components, explaining how they worked together. Not so scary, I thought. Then he inserted 5.25" floppy disks into the boxy external drives and booted up various programs and games to demonstrate what the Apple II could do. One of those programs was Colossal Cave Adventure, written in BASIC.
Mr. Brenner showed us the software—the actual code—a long listing of text in all uppercase letters. We could access it by stopping the program with Control-C
and typing LIST
. So, I tried it. It looked like gibberish to me, but something clicked. I realized this wasn’t math. This made sense. This was something I could grasp. Suddenly, I wanted to write my own program and make the computer do something.
After the first week, I changed my plans from studying graphic design to computer science. I didn’t yet own a computer, but I began writing BASIC programs by hand in a paper notebook, imagining how the processor would execute each statement. One day, I’d type them into my own machine and see what happened. I was unquestionably hooked.
Waffles and WarGames
After high school, with the personal computer revolution in full swing, I enrolled in computer science courses at two local community colleges. I also helped my dad run his coffee shop and waffle eatery, the world-famous John's Waffle Shop. After a year of hard work, I saved up $2,000—enough to finally purchase an Apple IIe. I used it for schoolwork and games, but my greatest joy was writing programs. You couldn’t pull me away from the keyboard.
The year was 1983, and the movie WarGames had just hit theaters. It captured the thrills and dangers of hacking into remote computers via modems. And—as everyone knows (spoiler alert)—this leads a nerdy teenager to nearly start a global thermonuclear war with the Soviets. Classic! But what stuck with me after watching it wasn’t the near-apocalypse; it was the realization that I needed a modem. The problem? They cost $400, and I had just emptied my savings for the Apple IIe.
Modems and BBSs
Around that time, I was incredibly fortunate to land a part-time job at CompuSoft Publishing, a local book publisher. They needed tech-savvy kids who could write well enough to adapt their Learning BASIC series to the new wave of personal computers hitting the market. A dream job!
CompuSoft had an acoustic coupler modem they let me borrow over weekends. I started dialing into bulletin board systems (BBSs) all over San Diego. It didn’t take long before I was completely hooked. Email, Usenet newsgroups, access to Unix systems—this was an entirely new world. Before long, I had saved up enough to buy my own 300-baud modem, quickly followed by an upgrade to 1200 baud.
The difference between me and David Lightman, Matthew Broderick’s character in War Games, was that while he wanted to play the games he found over his modem connections, I wanted to write the software that made those connections possible. And avoid cataclysmic annihilation, if possible.
In the Deep End and Loving It
So, in addition to studying BASIC, Pascal, and COBOL (which I dropped out of), I started taking data communications classes as part of my computer science major. I dissected every piece of Apple II modem software I could find. That exploration pushed me beyond BASIC, requiring me to work closer to the hardware. That meant learning 6502 assembly language.
Meanwhile, at CompuSoft, I was researching and writing about different computers and their variations of BASIC—including Apple’s revolutionary new Macintosh. It launched in 1984, but I got my hands on one early, thanks to my role as a tech writer. There was no Internet, no Google, no StackOverflow, no Reddit, no ChatGPT—none of that existed then. To learn how a computer worked, you had to get very intimate with it, explore, discover, and really use your brain to figure out how to make it do what you wanted. This instilled in me a mindset that the computer will never beat me, and I would pound away until I mastered whatever I was working on. That kind of learning gives you something you cannot get when all the answers are at your fingertips.
At college, our computers were a mix of mainframe systems and Apple IIs. When I transferred to San Diego State University, I learned VAX assembly language. I could even dial into the VAX system from home on my Apple IIe, doing remote work at a time when few people even had modems.
It was a gloriously delightful time for me. I was immersed in all things computing, experiencing so many facets of the technology. It was an incredibly special, unique advantage.
The “Online Community”
My focus on data communications led me to create ProLine, the first software that connected the Apple II to Internet email and newsgroups—about ten years ahead of its time. That immense project depended on several other Apple II products I created out of sheer necessity. Together, they formed the catalog of software I published under my company, The Morgan Davis Group.
My involvement online during those years is preserved in numerous web pages and hundreds of Usenet news postings. I met incredible people online—many of whom became lifelong friends—as well as business associates.
As a direct benefit of being connected, my writing and programming career began to take off. I had a literary agent. I co-wrote several programming and Internet books with some great authors. I had the privilege of working for renowned San Diego companies like United Software Industries and Beagle Bros Software, where in the late 1980s I started developing applications for the Macintosh.
Thinking About Apple
With over a decade of experience on Apple II and Macintosh systems, I felt ready to make the leap to Silicon Valley to work at Apple—the natural next step for me. But Apple itself was in a state of flux. Apple was thinking differently about the Apple II. They were phasing it out while struggling to push the Mac in a PC-dominated world. The energy that once fueled Apple II development was shifting, and many of us Apple II programmers could feel the air escaping. While I had some experience coding on the Macintosh, I hadn’t yet mastered it.
For the sake of my family, I began to rethink my plans. I ultimately decided against moving from San Diego and pursuing a career in Cupertino. Instead, I set my sights on something bigger—something that aligned with my skills and the changing times: helping to build the Internet. It was right in my backyard, and it was the right decision at the right time.
Résumé sent to Apple Computer, Inc. in 1991
OBJECTIVE
System Software Engineer, Apple II Business Unit
Apple Computer, Inc.
QUALIFICATIONS
- 10 years of experience programming Apple II series computers
- Fluent in Assembler (6502, 65816, and 68000), C, Pascal, and BASIC languages
- Versed in Apple II, Macintosh, and UNIX operating systems and toolboxes
- Productive in MPW, APW, ORCA, and THINK C development environments
- Author of two Apple IIGS programming books
- Currently produces commercial-grade software and documentation
EMPLOYMENT
Period | Company |
---|---|
1987-1991 | Morgan Davis Group Owner, commercial software development company |
1988-1991 | NeTel, Inc. Consultant/programmer, Apple II communications, LAN, and utility software |
1989-1990 | Beagle Bros, Inc. Programmer, Macintosh productivity software |
1987-1989 | United Software Industries, Inc. Programmer, Apple II telecommunications software |
1987-1988 | Compute! Publications, Inc. Co-author, Apple IIGS toolbox programming manuals |
1986-1987 | Oasis Systems / FTL Games, Inc. Programmer, Apple II productivity software |
1985-1986 | Optimum Management Systems, Inc. Programmer, vertical market software for McDonald’s Corporation |
1983-1987 | CompuSoft Publishing, Inc. Researcher/writer, BASIC programming book series |
EDUCATION
Period | Institution |
---|---|
1987 | Hecht-Nielson Corporation Neural Network Training |
1982-1986 | San Diego State University Computer Science, Data Communications and Business Studies |
1982-1986 | Grossmont College Computer Science, Data Communications and Business Studies |
1982-1986 | Cuyamaca College Computer Science, Data Communications and Business Studies |
1979 - 1982 | Lutheran High School, San Diego |
ACHIEVEMENTS
- Created first comprehensive application to link Apple II computers over the Internet
- Manages Internet-connected network of 200 Apple II systems
- Leader, Apple II forum on the BYTE Information Exchange (BIX)
- Published articles in A+ Magazine and 8/16 Magazine
- Wrote two programming books for the Apple IIGS Toolbox
SOFTWARE
TextDraw — C & 65816 Assembler — Text version of QuickDraw, Menu, Dialog, Event, and other managers, presenting a text-based desktop interface for applications while emulating the Apple IIGS toolbox at the source code level. (Continuing development)
SunDesk Strip — Macintosh C — Support utility for a popular INIT. Scans through the Desktop file matching its icons with those found in a database, then builds a resource file containing only those icons. (Commercial)
MD-BASIC — C & 65816 Assembler — A C-like Applesoft preprocessor/compiler and BASIC development system. (Commercial; over 300 sold)
Object Module Manager — 6502 Assembler — An object-oriented solution for 8-bit applications and drivers, offering a system of dynamically relocatable code modules complete with intermodule communication and memory management. (Commercial)
Dialog — Macintosh C — Communications module for an integrated productivity package. (This may debut at MACWORLD in a new product by Beagle Bros, Inc.)
ProLine — 6502 Assembler & MD-BASIC — Fully Internet-compatible, RFC-822 compliant, networked BBS, including UNIX-like shell with over 120 tools. Developed a multiuser educational version for Corvus, DigiCard, and Velan local area networks. (Commercial; over 400 sold, over 200 currently networked world-wide)
ModemWorks — 6502 & 65816 Assembler — Communications toolbox for Applesoft. Involves interrupt handling, I/O control, terminal emulation, file transfer protocols, and hardware drivers for serial ports, internal and external modems, printers, and clocks. (Commercial; over 500 sold).
MouseTalk — 65C02 Assembler — Terminal program with a MouseText desktop interface. Responsible for user interface, file transfer protocols, designing a 4K XMODEM extension, and much code optimization. (Commercial, United Software Industries; thousands sold)
MiniScreen — Macintosh C — An INIT/cdev that shrinks the visible desktop on large monitors to that of a standard 9" Mac screen for real-time development usage. (Public Domain)
Mail Reader — Macintosh HyperCard — Fully RFC-822 compliant e-mail management and composition stack for Mac GNUUCP. Includes custom XFCNs written in THINK C. (Public Domain)
VirusMD — BASIC & C — Virus detection and eradication utility. (Public Domain)