My Origins Story

Someone asked me “What got you started in computers?” or “How did you become a geek?” That’s a tough one to answer. It’s like the #1 question Stephen King gets asked: “Where do you get your ideas?” Unlike King’s brilliantly-short answer, mine’s pretty long. But someone asked, so here you go.

My childhood involved a lot of gadgets. With my dad being an avid rummage sale shopper and junk collector, we came across a lot of police scanners (they required purchasing specialized “crystals” back then – one for each channel, or frequency, you wanted to listen to), CB Radios (first 23 channels, then they expanded to a massive 40-channel range), other radios, boomboxes, stereos, turntables, and other assorted gadgets. It was my job to see what I could do with them, to make them work and show my dad how to use them.

Ted Meimar, a good friend of my dad’s from work (AMC) often had a lot of items to sell and peddled these items to his friends and at various flea markets and at 7-Mile Fair. It seemed no matter what it was, I could pick it up, learn all about it, and pass that information on to my dad. It was all fun, just another challenge to take on, a chance to learn something new.

Ted eventually came across video game systems and early computer models, which was my introduction to a whole new area of gadgetry. It started with the Atari 2600 (aka Atari VCS – Video Computer System), Colecovision, Intellivision and Odyssey videogame systems. Not all at once, mind you, but slowly, over time. I think the Atari 2600 was the first though. It became quite popular with tons of cartridges available for it after having been out for some time. The other systems came afterward and never stopped evolving and innovating.

Somewhere in there came the Commodore 64 and Atari 800 (aka “Colleen”). At that point the real fun began–I started learning how computers worked and how to write programs. Sure, there were plenty of games for these computers, which helped a lot to keep us entertained, but the thought of creating a game or a useful program others might be able to use really fascinated me to no end. First it was printed magazines–like one for the Atari 800 and other similar Atari computer models. They would include actual games in the magazine. PRINTED games. In machine code. Just page after page packed with columns of hexidecimal digits. With no other viable medium to distribute actual programs at the time, we would sit for hours typing in these thousands of digits–sometimes alone, sometimes with as friend reciting the digits as I quickly typed them in. After a certain about of digits you’d enter a “checksum” code. If it returned the proper response, great, you typed every digit correctly and could move on. If it returned and error, it was back to the beginning to re-check everything you typed just to find that one digit you entered wrong somehow. But once you successfully finished entering all of the pages of code, you could save it to tape and run it. This often provided a nice reward in the form of a new game or useful application you could then play or use.

Saving to cassette tape (usually specially-designed high-quality cassette tapes specifically intended for saving computer programs) was always a bit of a troubling prospect, since they didn’t seem to be very reliable. They would often fail to read small pieces of long programs, resulting in errors when trying to load them in. This was pretty darned frustrating, especially when it was a program you spent days or weeks typing in by hand from a magazine, or something you wrote yourself in BASIC (Beginner’s All-purpose Symbolic Instruction Code) – a high-level very easy-to-learn computer language that I learned extensively over several years. So we would end up saving multiple copies of everything as a way of backing things up to prevent losing them, and we’d guard these backups well, keeping them far away from any type of magnetic source such as speakers, CRT TV screens or electrical currents–any of which could erase a program in an instant.

Hard drives and floppy disks came out long after cassettes, but their high pricetag made them pretty rare for us, until newer models of computers and peripherals forced down the prices of older gear so us little guys could finally afford to start using them. Our tape collections were fairly small, but our floppy collections grew much larger due to their much better reliability. And this also allowed software vendors and developers to start distributing games and applications on floppies, so there was finally a way to get a decent program or game to the masses who wanted or needed them.

Somewhere around the time that personal computer evolution was in the “Radio Shack TRS-80” and “Commodore PET” stage (1980) I was a Junior in High School. Our school (Tremper High School, Kenosha Wisconsin) was just setting up it’s very first “Computer Lab” at the time, filled with those two specific types of computers–TRS-80’s and PETs. I was drooling. They expected to have the lab open when I started my senior year and I was very excited to be able to take my first computer class. I was a little disappointed that I’d only be able to have one year of computer classes when all the other students in a lower grade would have the opportunity to get much more advanced in computer education, but hey, we were at least the first.

I did very well in those classes and got all A’s, unlike my other subjects, unfortunately. But at least the A’s bumped my GPA up a bit more. I remember writing a program to sort a list of 100 random numbers. As it turned out, what I ended up writing on my own was already known as a “bubble sort” – I accomplished it by going sequentially through the list of 100 numbers and comparing each number with the one next to it. If the number to the right was lower than the one to the left, I would swap them, increase a swap-count variable by one, then move to the next number and do the same, all the way through the list. When I hit the end, my swap-count would tell me how many swaps it did, then it would reset the swap count to 0 and repeat the whole process again. Once I ran through the entire list with 0 for the swap count, the list was fully sorted and I was done. I got an A for that one, as well as many other programs I wrote for the class. The other notable program I wrote was an actual text adventure game. My friends and I were heavily into Zork on the TRS-80 at the time, so this was exciting for me. I drew out a huge map of the entire world I wanted in my game, including interesting, descriptive locations, then set out to code it all as a program from scratch. It ran pretty good when I was done, and it was fun to watch people try to solve it and learn the map on their own. I knew the entire map by heart at that point, so there were no surprises for me, but it was great fun watching others and seeing how they played it and wandered through my text-based world. They would hit the bugs and I would fix them as they found them, then they’d start over.

That was another A. You get where I’m going with this. I had found my direction for sure. And it was my last year of high school. Perfect timing, if you ask me. Now all I had to do was figure out how to make a career out of this. After I graduated high school, I took out a government loan and went to Gateway Technical College for “Data Processing”, which is what Computers & Programming was called back then. I had a good foundation in BASIC by that time, which helped a lot, especially with learning the logic and how programs work. At Gateway I learned a few more languages and did ok, but because there were several other non-computer and non-tech prerequisites and other required classes to supposedly “round out” my my education, I didn’t do as well as I had expected, but I got through it ok.

As I looked for work somewhere in the IT field, my dad got me a job at AMC, where he worked, as a Security Guard, just so I’d have some income and could start paying back my government loan. After that, I got my first break when I was hired by ITO Industries–a circuit board shop in Bristol, Wisconsin. It wasn’t exactly a computer job, but it was technical, so I gave it a shot.

I was a Chemical Lab Technician at ITO. I worked in the laboratory, testing chemicals used in the manufacturing of printed circuit boards. It primarily involved the testing of chemical “baths” used by their “plating” department, which are big tanks that the circuit boards are dipped in to etch and plate the circuits onto the circuit boards.

For about six months I learned the procedures, got fully trained on how the equipment worked, how the records were kept, etc., and over that first six months I came to realize that much of what we did in the lab could be automated a simplified a great deal with a simple computer program. The was perfect for me. We do the same calculations, day-after-day, calculating the concentrations of chemicals based on a fixed procedure we perform, then calculate the addition of various chemicals to adjust the levels, and then re-test the results to verify that our corrections adjusted the chemicals properly. We used a calculator for all of the calculations and kept log books with all of our test results and the adds we made. A computer program could do all of the calculations for us, all it would need is the result figures from the tests we performed in the lab. Then it could automatically calculate the additions we need to make and store all of our results, automatically recording the date and time of the test, etc., and we would even be able to later look at those results, plot them on a SPC chart, etc., all of which we would do normally, manually, using the list of test results we had written in our log books.

Before I could propose such a big change to the lab though, I would need to have something to show leadership. Sort of a “proof of concept” that it would work as I explained and save the lab a lot of time, materials, efficiency and accuracy. So over the course of a few months, while working in the lab “the old-fashioned way”, in my spare time I worked on a program for us. It ended up being named “MicroChemLab”. I originally wanted to name it “MicroLab”, but as it turned out the US government already had dibs on that name. I had named it MicroLab originally until I found that out, then added the “Chem” to it a while later just to be safe. Anyway, after a few months I presented my manager with a DOS-based program that would run on the PC in the lab. It would display the procedure that the lab tech would perform, then prompt the tech for the variables of the test results. Once the tech supplied the results, for example “The mls of xxxx titrated”, it would specify exactly how much of what chemical was needed as an addition to correct the concentration, then it would allow the tech to enter the ACTUAL amount added and would save the test results in the system.

The hardest part of writing this program was developing a complete “formula parser” in BASIC. At first I didn’t even know of it was possible, but after some research I realized how it could be done. What a “formula parser” does is take a user-supplied chemical calculation–for example: “(mls of H2O Titrated x 60) / 500” and “parse” it out to extract the variables from the formula, then reconstruct the formula to replace the variables with the actual user-entered data, then calculate the actual result of the formula. Not easy, but I accomplished it.

By the time I completed the first version of “MicroLab” there were a few other programs on the market that were very similar. They always had a very high pricetag and there was always a catch–like they’d come as sort of a “shell” with no test formulas or calculations in them, and they would charge a fee for each test you needed, then they’d custom-add the tests to the program for you. So a company with, say, 50 different tests would end up paying thousands of dollars to get all of those tests built into the program. Need a test changed “slightly” down the road as your company’s needs change? There’s a another fee for that change, etc.. It seemed like such a scam. So when I was done with my first version of MicroLab, the user could create a “New Test” or “Edit” an existing test, enter the full procedure, the calculation of the test, the “addition calculation”, etc., and save it, then it would be there in the program, ready to use. Need a change at any point? Just edit it and re-save it.

I charged ITO a fixed price for MicroLab–$1,000. I made sure all of the programming and debugging was done on my own time, at home, and not at work, which would have given ITO some rights to it. After they realized the price of similar software programs, and how they seem to gouge their customers and always need support from the developer costing more and more money, a flat fee of $1,000 was a bargain and they gladly paid for it. It also made my job a lot easier and made us much more efficient in the lab. Tests were done much more quickly and we were able to do much more with the test results than ever before.

I supported that program for several years, and even ended up re-writing it two more times as “MicroChemLab 2” and “MicroChemLab 3”, which were both way better than the DOS-based version 1, and were fully Windows-based, using the Windows GUI (Graphical User Interface) extensively. ITO, of course, always got free upgrades to the latest version, so I could actually make sure everything worked right in each version when used on-the-job. I sold that program to a few other Circuit Board shops over the years, thanks to Dave Plescher, one of my supervisors at ITO. He went on the other companies after he left ITO, and ended up getting each of his subsequent employers to use MicroChemLab in their labs.

I guess I could go on and on with details of other programs I wrote, the different jobs I worked, etc., but that would probably extend far beyond what an “origins” story is, so I’ll just stop right here. You can see how deep I was into computers and programming at this point, and I was extremely grateful that I was able to take, what at first seemed like a non-computer tech job I might not enjoy, and turn it into a very fun computer-related tech job I could actually enhance and make much more efficient and productive. I feel I made a big difference in that area for ITO and a few other circuit board shops.

Leave a comment