In fall of 1985, I tried going back to school. It didn't work. The financial-aid folk kept dragging their feet. With only a couple of weeks left, after I'd already quit my job and made plans to move back to the dorm, I finally found out that what they were offering wouldn't be enough. What followed was a mad scramble to find a new job and a place to live. These were my poorest days. I ended up living in a single attic room with a shared bathroom and (very sparse) kitchen, working night shift at an on-campus convenience store selling beer and cigarettes to students. Really, the less said about that the better. One thing that didn't change was that I kept taking advantage of that little deal with the Computing Center consultants, continuing to use their Macs "illegally" in return for helping people with their broken MacWrite documents and such.
So it was in 1986 that I actually did manage to go back to school. As before, a significant part of my aid package was in the form of work-study. I'd have to say that the academic part of my return really didn't work out, but the work-study part did. With my new computer skills, I ended up working at the Center for Research on Learning and Teaching, under Karl Zinn. Karl had a long record of taking on "non-traditional" workers and mentoring them toward success. In fact, one of these earlier "projects" had been the guy who wrote PicoSpan, which M-Net used, and that had worked out pretty well for him.
Through CRLT, I ended up working on MIDI drivers for a guy in the music department. At first this was on an IBM RT - one of the very early RISC machines. To be honest, I'm drawing a bit of a blank when I try to remember more than the fact that it happened. Later, the work switched to the Mac with which I was more familiar. I was particularly excited to be working in Lightspeed Pascal, an early IDE which was generally considered among the best of its generation, instead of assembly. Later, this same work-study job got me the opportunity to work on the Mac II before its release. CRLT didn't get one, but CITI up on North Campus did. I remember having to take a bus up there and use a weird-looking key (the kind with dimples that I'd never seen before) to unlock the little room where this crown jewel was kept. This also led to my first ever business trip, to Cupertino for the Mac II pre-launch event.
Unfortunately, since the academic part of my return wasn't working out, I dropped out again - this time for good. Back to the poor life. This time, though, I had some actual referenceable programming work under my belt, not just the under-the-table kind of stuff I'd done before, and the reference was from someone pretty highly respected in the local computer community. This brought me to a little company called International Consumer Technologies, across State Street from the Briarwood mall in Ann Arbor. They hired me for what must have seemed like a pittance to them - after all, I was still a bit of a risk with only one brief part-time job under my belt - but seemed like a lot to me. I felt like I'd hit the big time, and this is what I generally count as the real start of my career in 1987.
There were a couple of interesting things about ICT, which had all of about a dozen employees while I was there. One is that the president was Bobby Kotick, who had a somewhat-prescient interest in interactive computer media. This undoubtedly played a part in ICT's subsequent acquisition by Activision, then Bobby's rise through those ranks to become the CEO of Activision Blizzard.
My own work at ICT was to port a word processor called DeluxeWrite, originally written for the Amiga, to the Apple IIgs. What I started with was actually a Mac port, which I don't think was ever released as a product in its own right. There was also a PC port, with similar status, but I had nothing to do with that. I do remember the project lead forcing me to write my first-ever real design doc for the printing subsystem, and pushing me in other ways. If you're still out there, Ron, thanks for that. Here are a bunch of more technical things from that project.
- Because the IIgs used a weird slow 8/16 bit hybrid processor and had little memory, my work consisted of cross-compiling on a PC and downloading binaries to the IIgs.
- This was my first job working in C instead of Pascal. I think. I don't actually remember learning C. There was certainly no particular process I went through; I just picked up what I needed on the job, as I'd do much later with C++ and bits of some other languages.
- There was no real source control. Instead, we'd periodically save snapshots of our work into zip files. I think these were sometimes copied onto floppies and stored somewhere, but I don't know for sure.
- This was also my first exposure to the emacs-like Epsilon editor. I continued to use it even after I'd left ICT, and I still have the 5.25" floppy for it.
- Despite the weakness of the platform, ProDOS on the IIgs was more sophisticated than contemporaneous MacOS in several ways. For one thing it had color (sort of). I also remember hierarchical menus being new at the time.
- Color on the IIgs was typical Apple weird. Colors weren't specified directly, but as entries in a color table. This table was itself divided into four groups of four, with successive pixels using successive quadrants of that table. You could set up the quadrants to be the same for solid colors, or different to get a larger palette (a form of dithering). Figuring out how to set up this color table for each page of a document was one of the more interesting problems I had to solve.
- I also remember working to finish the transition from a single-document program to multi-document. Clearly the people who had started the process weren't into object-oriented programming (few were in those days) so it was a horrible hack. When you switched from one window to another, we literally called a function that saved about a hundred global variables into a window- or document-specific structure and then repopulated them with values from another such structure. Ick.
- I might have worked on undo/redo as well. Hey, it was a long time ago.
My strongest memory from ICT was not technical, but I suspect will resonate with a lot of my technical peers. ICT was a small, struggling company. The VP of engineering - the guy who had hired me and would eventually fire me - didn't exactly have the greatest leadership skills. There were many deadlines to get features ready for various demos and such. Leading up to one such deadline, I was unable to work through one weekend and Howard gave me tons of shit for it - questioning my commitment to the company, etc. Of course, he hadn't been around himself. At the next arbitrary deadline I worked not one but two all-nighters back to back. Nobody else was around. When folks finally rolled in the next day, I handed off my work and left for a nap. I like to think I said something snarky (maybe "where the hell were you?") on the way out, but I don't think I really did. Missed opportunity.
As I said, ICT was small and struggling. They were small and struggling enough in 1988 that a time came when they had to reduce headcount. As the most recent hire - and I really don't think this had anything to do with any other factor - I was let go. Though I didn't know it yet, that heralded the end of my time in Michigan. We'll pick up again in Massachusetts.