I think I should write down some of this stuff before I forget it all. Others might find it interesting. If anything, the amount of good luck that has befallen me is impressive.
I worked in a toy store when I was 19. When the store was unable to hire a new manager, they let the lady in the stationary & art supplies area run the store in the daytime and let me and a co-worker run it at night. We managed pretty well that way and I ended up doing official paperwork and making bank deposits. It makes me wonder why they ever needed someone making ore than minimum wake to run the place :)
At the toy store, I met a guy named Russell (Russ). He was a good guy and we had a few similar interests. After leaving the toy store and working in a typewriter shop, run by two of my many uncles, for a while, Russ helped me get a job at a company named FutureNet. I was hired as a graphic artist and was responsible for creating art and layout for the product documentation. While I was there, I met some very good computer programmers who I still admire. I had a computer at home and then borrowed a better computer from work and taught myself how to write software. This was in about 1986 or 1987 and the IBM XT was the top of the line computer at the time. This was a time of very small Mac computers, Amiga’s, and Atari’s.
I was working on getting good enough to transfer into the software engineering group as an assistant rookie peon. I could write command-line utilities in C but complex algorithms were a bit beyond my reach. Then the company went out of business.
FutureNet was the best place I’ve ever worked. Most everyone there was competent at their jobs and they were also a friendly helpful bunch of people. Many employees took vacations together in groups to do things like skiing, river rafting, and spelunking. The company told everyone that those who were not packing up the company stuff (to send to the parent company that would repurpose it) could spend the next three months using office resources to find jobs! After a month of me doing nothing, someone left an ad on my desk; Pleasant Hawaiian Holidays was looking for programmers and no experience was required. Of course, I applied and got that job.
Pleasant Hawaiian Holidays was a very different company from FutureNet. We had a dress code and I ended up with a lot of Hawaiian shirts since I had no interest in business attire and Hawaiian shirts were allowed. The company used software written in Fortran so I learned a new programming language. While I was there, I instigated the adoption of programming standards (because single-letter variable names are pure evil) and I got to be employee-of-the-month once. Okay, so I think I was employee-of-the-month because I had a few good days in a row and because no one in any non-reservations department had ever won it. One way that PHH was different from FutureNet was in the corporate culture at the higher levels. I was under the impression, and I could be wrong, that the top guy was prone to angry outbursts. My boss was an amazing person because he absorbed a lot of abuse (again, alleged abuse) and never passed it down to us. Oh yeah, and while I was there, I had the programming department rewrite the database management tools to let the user browse through the database and then, once a record of interest was found, do various different modifications to it. Before that, the user had to pick what they wanted to do and then browse through the database to find the records that would get altered. It was inconvenient because if you say a problem and it wasn’t what you had planned to fix, you had to go back to the main menu, pick your action, then go find that record again.
Somewhere around 1989, I got called by one of the people I had worked with at FutureNet. Daver (yes, I spelled that right; it’s a nickname), needed a programmer to help with a startup company he founded. He was interested in digital video and this was before PC’s had the processing power to show any sort of video. The company, whose name was “Impact” or something like that, would sell a box that let users show business presentations with digital video embedded in them. From history, we know that the company would have survived for only a few years with just that product; Digital video on PC’s first became available in limited formats just a few years later. The Impact Presentation Case/Box/Thing did have a higher quality than what would be available for many years but we could not get more than startup funding. After a year or so, we abandoned the presentation device and started to earn a little money designing a reference plug-in board for a company making digital photo chips. A pair of photo codec (compressor/decompressor) chips could record and playback digital video at 30 frames per second. While doing that, we borrowed office space from some consultants who also paid me to work on a variety of small projects like a Z80 closed caption decoder.
While working on the digital video systems, I was constantly pushed to my limits. I had to learn how to write software for custom hardware of various sorts while also learning to program for Windows 3.1. I wrote Z80 assembly language and I created a non-linear video editor in Windows that handled multiple audio channels. in the end, all we did was learn a lot and build a plug-in board for PC’s that we handed over to the chip manufacturer who paid for it.
Moving on to 1992… Daver was looking to sell our intellectual property to anyone who was interested. Or at least he was trying to sell our expertise. He came to me about moving to North Carolina, as a team, to work on the same sort of things. I had to say “no” because I had no interest in moving East and because the work didn’t sound interesting. There was an option to move to Indianapolis but that didn’t pan out. Finally, he came to me with the plan to work for a company in Berkeley, CA., and to live at Lake Tahoe where the company had an office (probably to help with tax evasion or something). The company, General Parametrics, build dye-sublimation printers and also sold a self-contained presentation system. I would end up writing software to control an external VCR for playing video on the device since the company wasn’t going to have us design a digital video system.
So moving forward a few years, I’m at Lake Tahoe in Incline Village writing that VCR software and other stuff when the company decides to shut down our office. I’ll mention that while I was there, I learned C++ and was very happy to use that whenever I could. Object Oriented Programming came naturally to me. At least I think it did. I wrote a craps game in C++ to challenge myself to learn the language. When the company shut down, Daver had had this idea to build an audio preview system for record stores. By now you are realizing that this guy I knew, Daver, liked to invent things. Yep, he sure did! So I borrowed some money from my mom and dad and we spent a tiny bit of time building a pre-prototype system to present to potential investors. We got interest from a well-of (rich) guy who bought into the company and funded us for a while. I had a pretty god stake in the company, something like 20% (similar to what I had been given while working on the Impact presentation system stuff) and we built a prototype. The audio preview system let users walk around a store and scan barcodes on CD’s. The hand unit would send the barcode, which I had to write scanning code to decode, to the base unit. The base unit, using some cool spread-spectrum radio technology, would stream compressed audio (MP3 I think) to the hand unit that would play it over the attached headphones. I had to spend a few days at an audio company in Kansas digitizing audio off CD’s to have a good library for the prototype. There are companies that have hundreds of thousands of CD’s in their libraries so they can track what radio stations play what music at what time.
While working on the audio preview system, I had to write SCSI software to control the hard drives on the system and then write a file system to manage the data. Daver was a never ending source of help and I consider him to be both my mentor and the main driving factor in my early career. To this day, he is still inventing things and has actually had some success at designing a product and selling his company. He recently filed for a patent related to algorithms for drone pathfinding algorithms. Sadly, the audio preview system was not something the record industry could handle. Previous preview stations in record stores were placed there by specific record companies with their specific content and the record companies paid for them. Record stores would not be able to afford our systems and the record labels had no interest in an “all content is available” preview system. We had a huge distributor that became interested in possibly funding it but it didnt’ work out. And of course, it was only a few years later that iPods showed up and the idea was obsolete.
One thing I learned about business is that 20% of nothing is nothing. I also learned that if you are the sole entity funding a company and you decide one month to loan the company the money instead of “buying stock,” so to speak, you can later get all of the intellectual property of the company as payment for that loan. yeah, that’s what our funding guy did to us after we finally gave up. Although the money guy did keep the intellectual property, it was not worth much and it did end up costing him about $250K over the course of that business venture. We shut down sometime around 1995 or about a year after we had started.
A month went by with me not knowing how to look for a job when the same money guy from that previous venture called and asked if I wanted to write some software. I was a dick and refused to consider it until he paid me the final paycheck from the audio preview work he had funded, a paycheck that I had actually gotten stiffed on. He paid and I worked for a year on the software his wife needed for her company. She was a psychologist and sold books about money management personalities. I rewrote some software that presented a questionnaire and then later revealed a person’s money management personality type. It’s sort of silly stuff since the questions asked things like “Do you like to take risks?” and then later, if you answered yes, you would be told that you like to take risks. But there was a little subtlety to it. It was Windows 95 software that would print out nice reports after the questionnaire.
If you are starting to see a trend, you are correct that there is one. I don’t look for jobs, they look for me. I may be that good of a programmer but I might also be damn lucky. Seriously lucky. Damn serious lucky.
So it’s getting to be early 1997 I think. My wife sees an ad for a job at a computer company in town. This is a town of 3000 full-time residents and up to 300 tourists during the peak of tourist season to hike, ski, and do other mountain/lake sports stuff. It’s also the town where all the rich people live because it’s in Nevada and taxes are much lower here than on the California side of the lake. Nevada doesn’t have state income taxes. This will be the second programming job I try to get in the area. The first try resulted in a rejection of my resume because I don’t have a college degree. I interviewed and the guy interviewing me, Jim, gave me some documentation and asked me to write some software that would use this weird Windows device driver to talk to a VCR. This company, TimeLogic, build a broadcast delay system. Broadcast delay systems take incoming audio-video data and record it so it can be played back later at the appropriate time. Their system could delay by as little as 30 seconds by using super-accurate VCR controls with multiple VCR’s. I spent the weekend and with a little help from my dad who was visiting at the time, wrote software to control the VCR. Keep in mind that I didn’t have the hardware that the device driver would control so the only way to test any of this was to use a serial port for output and another for input and then create a fake VCR to talk to. I came back after the weekend and presented my software to Jim. He ran it and when he selected a menu option to eject the tape from the VCR. the tape ejected and the software popped up a message “The tape was ejected.” he asked me if that message would be different if the tape had failed to eject and I said “of course.” And from that, I got the job.
Read more in my next post…