Author’s Journal: My First Print Publication

This is the second in a continuing series of posts about my experience (limited as it is) as an author. Click here for a complete index of all the stories in this series.

In my previous installment, I talked about a short story I wrote for a high school creative writing class. Although it’s an interesting story and I was pretty proud of it, I never attempted to get it actually published. In this installment I talk about the first time I was actually published.

I’m not sure exactly what year it was but it was probably 1980 or 1981. This is the story of a two-part article that I wrote for a personal computer technical magazine. If you have a hard time following technobabble talk or are not interested in the early days of personal computing, you can skip this section called “Technobabble” and read about the actual article that I wrote and had published.

Technobabble

This was back in the days when personal computers were brand-new. Although you could run out to Radio Shack to buy a TRS-80 Model I off-the-shelf and there were a few computer stores where you could pick up an Apple ][ Computer, many of the people who were using personal computers built them from kits. You would buy a basic chassis with a motherboard. Motherboards these days contain almost everything your computer needs… your CPU, slots for memory modules, USB ports, and perhaps built-in graphics processing… the most common motherboard in those days was something called an S-100 Bus backplane. Except for perhaps a voltage regulator or some capacitors and resistors it had no active components. It was simply large a circuit board with a number of slots that had 100 pins each. You would plug-in various circuit boards whose edge connectors would fit into these slots.

My first personal computer was a Cromemco Z-2. It consisted of a huge box about the size of a microwave oven that was capable of being mounted in a standard mainframe or minicomputer mounting rack. It had a massive power supply with a transformer that was a cube about 5 inches each way. It had capacitors the size of concentrated frozen orange juice cans. And it had an S-100 bus.

July 1997 advertisement for Cromemco Z-2

Plugged into that bus I had a processor card with a 4 MHz Z80 processor. There was an EPROM card which if you’re not familiar stands for Electrically Programmable Read Only Memory. In those days nonvolatile flash memory had not been invented so if you needed to write something permanently like a boot loader or a bios you had to burn your own ROM. If you made a mistake or wanted to upgrade the firmware you had to take out the chip, expose it overnight to a strong ultraviolet light which would erase it, and then burn it again. I also had a board for I/O connections which included a serial port, a parallel port, and a cassette tape interface. Another board had 16 K bytes of RAM memory. And finally there was a board used to generate a video display that was 64 characters by 16 lines of text with no graphics. That board was connected to an ordinary 12 inch black-and-white TV set fitted with a little RF modulator tuned to channel 3. About half of the circuit boards I bought preassembled but the other half were kits. You got the circuit board ready-made and a bag of parts. You had to solder them in, clip off the extra wiring, bolt on a heatsink or two and then hope you did it right.

My first computer after it had been upgraded with 2 floppy disk drives


Close-up of the insides of my computer showing the various circuit boards mounted in the S-100 bus motherboard.

I bought the system shortly after the famous blizzard of January 1978 which shut down the city of Indianapolis for three days. I was working as a computer programmer at the time. During the shutdown, I sat around and read Byte Magazine and swore that as soon as things thawed out I was going to buy a computer. I ordered the first pieces on Valentine’s Day 1978 and it took my dad and I several weeks to get it assembled and up and running. Initially the only way to save or load programs was on cassette tape. I don’t remember how long after I got the initial system built that I decided I needed to upgrade by adding a 5.25″ floppy disk drive. Later still I added a second floppy disk drive. The floppy disk controller I chose was made by a company called North Star. They had their own line of S-100 computers but they also sold their disk systems separately. As was common in those days, their operating system and its formatting system wasn’t compatible with anyone else. Eventually they began to make available other operating systems that had been converted to use North Star hardware.

The most popular operating system for 8-bit computers with the exception of Radio Shack and Apple was an operating system called CP/M. North Star had its own DOS called NSDOS that was completely incompatible with CP/M. Eventually North Star did make CP/M available for those systems and I did purchase a copy that I used for many years. But before that came along, there was another alternative to NSDOS called the UCSD p-System.

This was a portable operating system developed at the University of California at San Diego. It was built around the Pascal programming language which was one of the first so-called “structured languages”. While early languages like BASIC or Fortran would let you write code where the flow of the program could jump all over the place in a confusing manner, Pascal was one of the first modern programming languages that forced you to structure things more carefully. It made programs more reliable and easier to read. Structured programming probably isn’t a term that a young programmer today would even understand even though every language you use now such as Java, C++, Python and others are structured languages.

Programs for the UCSD operating system would be written and Pascal and compiled into something called p-code. Then there was an interpreter which would actually execute the p-code. The idea was that once you had compiled a program into p-code we could then be moved to any other kind of computer whether it was a huge mainframe, minicomputer, or a personal computer with a different kind of CPU. There was a p-code interpreter for each of them. The UCSD p-System was later made available for the IBM PC as an alternative to PC DOS. Although this ability to move compiled programs to different kinds of computers was supposedly the big idea behind the UCSD system, I never used that capability and my guess is not many people except in university settings made use of that capability either. The UCSD system was just the best, easiest to use way to write programs in Pascal and that’s why I and many other people adopted it.

I really loved writing Pascal and I loved the way the USCD operating system worked. The major problem with all these different operating systems is that not only was the hardware incompatible between various manufacturers (only North Star could read and write North Star floppy disks), the way in which the data was written on the discs was incompatible. CP/M converted to North Star hardware still could not read NSDOS discs or UCSD discs and vice versa. Note again at the time I had not yet begun using CP/M but I did want to be able to transfer data files between NSDOS and the UCSD p-System.

I needed to be able to transfer files between systems because under NSDOS I had written a small text editor that could be used for rather primitive word processing. It was basically a version of the DEC-System-10 line editor called “line-ed” that I had been using at IUPUI. It wasn’t a “WYSIWYG” word processing program (What You See Is What You Get). It was just a line by line text editor. I called it CUTE which stood for “Chris’s Universal Text Editor”. It made possible lots of puns such as “I just wrote this CUTE little program”. My mom and I used that CUTE little program for ordinary word processing. But if I was going to switch to the UCSD system, I needed to recover my text files from NSDOS discs.

There were ways that you could do a raw read of any track or sector of a floppy disk using the BIOS of the UCSD p-System. So I wrote a program using UCSD Pascal that would read and interpret the file directory of an NSDOS disk and then locate the file itself and write it to a UCSD readable disk. It was actually two utilities. One would transfer from NSDOS to UCSD and another one that would transfer from UCSD to NSDOS.

I Got Published!

If perhaps you skipped the previous section the bottom line was that I wrote to little utility programs that allow you to transfer text files between two different kinds of incompatible operating systems. My programs converted files between North Star DOS and another operating system called the UCSD p-System. These were both somewhat obscure operating systems. Most people used something called CP/M but this had nothing to do with that. Now we continue with the story…

There was no Internet in those days and I’m thinking that I didn’t really get onto CompuServe until 1981 or 1982 and this was before that. So there was no way to share these handy little utility programs with anyone else except to try to publish an article about them. It was such a small niche of people who would even need them that I didn’t try for a big computer magazine like Byte or Creative Computing. But there was a small publication called “S-100 Microsystems” or sometimes just “Microsystems” that seemed like the kind of place that would be interested in these utilities. So I wrote an article about one of the utilities. My poor mother was given the task of proofreading it which was next to impossible with all of the technical jargon and it. The best she could do was look at spelling and punctuation. At the time we had an IBM Selectric typewriter that had been fitted with a series of solenoids connected to a parallel port. I had written a small driver that would send text over the parallel port and it would type on the typewriter. I used that capability to print out the article. I mailed it off to Microsystems magazine and began polishing up part two of the article about the conversion the other way. I did mention in my submission letter that I would be sending them part two in a few weeks.

The day after I mailed part two I got an acceptance letter for part one. They were going to pay me $200 for each of the two parts totaling $400. I was ecstatic! I was a published author!

Microsystems was only published six times a year and my articles appeared in consecutive issues. I proudly showed them off to friends and family. The little handwritten acceptance note from editor Sol Libes was tacked on my bulletin board in a prominent place. It was really too small to put in a decent frame. I don’t know where it is today. It might be stuffed in a file cabinet somewhere.

Also somewhere in this house (only God knows where) are those two issues of Microsystems magazine containing my articles.

My Second Publication

I thought that was the end of the story. I didn’t have any other clever programs up my sleeve so I had nothing else to write about. I thought maybe someday I will get another bright idea and try again.

I’m guessing it was about a year after my articles appeared that a package came in the mail containing a book titled “Programmers Guide to CP/M”. The cover described it as “an in-depth look at the most widely used microcomputer DOS in the world. Edited by Sol Libes Editor, Microsystems Magazine”. My thoughts were “Gee that’s nice. He published a book and I guess since I was one of his authors published in his magazine he sent me a free copy.” The book went on the shelf and I never bothered to look inside. Although I probably was starting to use CP/M by that time, I was learning enough on my own to use it and didn’t need to read a book about the topic.

By the way, I mentioned earlier I couldn’t find copies of the magazines where my article appeared. I did find a copy of this CP/M book and its copyright page says 1982 so that’s how I estimated when all of this occurred. Anyway on with the story…

Another several months passed and I got a check in the mail for another $400! It was for the republication of my articles in a book titled “Programmer’s Guide to CP/M”. I said WTF! I had my mom grab the book off-the-shelf and we looked at the table of contents. Under Chapter III “CP/M on NorthStar Systems was my article “DOS/BIOS Directory and File Conversion (Parts I & II) page 79”.

Under any other circumstances I would’ve been jumping for joy about getting published in a real book instead of just a magazine and indeed the extra $400 sure was nice. But in fact I was highly insulted. The title of the book was “Programmers Guide to CP/M”. Every other article in the entire book was about the CP/M operating system. My articles were in a section about CP/M on North Star Systems. Well… It was about North Star Systems but it didn’t have jack-shit to do with CP/M. If the editor Mr. Libes would make such a mistake by putting my non-CP/M articles in a CP/M book that told me he never really understood what the fuck the articles were about in the first place. The money still spent the same but it was a big letdown that my work really wasn’t appreciated for what it actually was!

I don’t remember if I wrote him a letter but I seem to recall I may actually have called the guy on the phone. Basically I thanked him for republishing my articles in the book and thanked him for the extra royalties. But I pointed out to him what I described as “an embarrassing situation” where my non-CP/M articles appeared in a CP/M book. I don’t recall if I got so nasty as to say something like “Did you not really understand what those articles were about?” But I certainly let my confusion and disappointment be known. His explanation was that the original title of the book was going to be “The Best of Microsystems Magazine” and that’s why my articles had been chosen to be reprinted. They had changed the title as a marketing ploy thinking it would sell more copies as a general CP/M handbook. Okay I thought so I’m “among the best” yawn. It still seemed more of an insult than an honor. My articles did have to do with North Star Systems and they were included in that section of the book with other articles about North Star. Maybe some North Star user would see them and find them useful.

I don’t remember in particular what I spent the money on. Probably some new program or hardware upgrade. The money still spent the same but it wasn’t exactly the kind of recognition that I thought it was going to be. I knew that Microsystems was a small (not quite as bad as fly-by-night) magazine that was only published for a few years. I knew it wasn’t the big time. But I certainly expected they did have an inkling of what it was they had really published.

I’ve not had another opportunity to write technical articles in print. However I do maintain a technology blog where I document a lot of my projects these days. I’m also very proud of the tutorials I’ve written for the Adafruit Learning System online. Adafruit Industries is a wonderful electronics company in New York where I buy all of my electronic parts. It’s interesting that the CPUs that I use in these gadgets note from Adafruit parts are more than a thousand times more powerful than that first giant microwave oven sized computer that was my first. One of the things I enjoy about tinkering with these tiny microcontroller boards is they give me fond flashbacks to those early days when you had to build everything yourself. Initially I wrote articles for the Adafruit Learning System in exchange for free parts to build the projects. But now they also pay me to write articles as well. At least I know that they really do understand and appreciate my work there. It’s been a very rewarding relationship working for them. Here is a link to the articles I’ve written for them.

In the next installment of my Author’s Journal I will talk about an award-winning autobiographical magazine article I wrote for Indianapolis Monthly Magazine.

Leave a Reply

Your email address will not be published. Required fields are marked *

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