Friday, April 23, 2010

The Expensive Break Clock

One of our Tandy Model 100 computers had become relegated to controlling the buzzer for indicating shift changes, breaks and lunch. We used the signal for controlling the cassette interface to turn the buzzer on and off. A twenty line BASIC program was used to check the time against a schedule that was hard coded into the program.

Invariably for one reason or another this computer would forget the program. Either Bob or I would then run over and type the program in from memory, set the clock and get it running again. I cannot even count the number of times I did this while I worked there, but it was really no big deal because after a few times it only took a minute.

So here was have this computer which was originally purchased for more than $1000 and we were using it to blow a whistle 8 times a day. Nowaways this would be completely appropriate because you can buy a computer on a chip with all the power of the Model 100 for about $30.

Wednesday, April 21, 2010

101 Stupid LaserJet Tricks

When I was moved into my new office downstairs, it was located in a space behind what used to be the reception area of the building. The front door was locked from the inside, and visitors would enter a door slightly off to the side and climb stairs to a new reception area.

When anyone visiting would come back down those stairs they would sometimes forget that they came through the side door. Instead they would go out the original glass door, which was an inner door and an outer door. The first door had a lever you pushed to unlatch and open the door. This was locked so that if you passed through this door you couldn't come back in. Once through this door there was another door right there. This had a locked bolt, but you could just unlock the bolt and get out, and invariably this is what people did.

Then I had this idea for a prank. Using the LaserJet printer I printed in great big letters READ THIS. Then below in a tiny 4 point font I printed "If you can read this then you are trapped!" I drew an arrow from the large words to the tiny words by hand. I hung this on the wall between the two glass doors.

Weeks later I was in my office working and I heard some banging and the sound of someone calling out. I went out to find out what was going on. Shock and amazement overcame me when I saw this fellow between the glass doors, banging with his fist and calling for help! He had read the sign and believed it! I laughed and opened the inner door for him and explained that he really wasn't trapped at all. So I showed him how to unlock the bolted outer door. Unfortunately he didn't think this was funny at all. He didn't smile or laugh but he just left without saying a word. Perhaps he was humiliated that he had fallen for the trap?

I was very pleased to see that someone had read the sign and believed it. This was absolutely priceless. Looking back at this prank I should count myself lucky that I didn't get in trouble.

Our First Laser Printer

We decided to purchase a laser printer so we could print bill of materials sheets for each job. I managed to find a used HP LaserJet cheap. This was the original LaserJet printer model and had only 128K of RAM. This was fine, except if you wanted to print graphics. You could not even draw a half page of black and white graphics with 128K. This also meant that there was very little room to load fonts into the printer. The saving grace was that there was a font cartridge slot. I bought one of those super font cartridges that had lots of fonts. It turns out that we really only needed one font. I don't remember which one we used, but it was a small monospaced font.

The printer had a serial port, not a Centronics printer port. Normally this would have been considered a limitation, but this was perfect for our shop floor control system which I was building around Arnet multiport RS-232 cards.

I needed to learn just a little bit of Hewlett Packard's PCL (printer control language) to make the LaserJet do its thing. I wrote some code in Smalltalk to drive the printer. Depending on how complex the board design was, these bills of materials sometimes had a lot of information on them. It was somehow very satisfying to produce software that would drive a printer elsewhere in the building. I had never done that before.

The printer was located up in the engineering department, and after they designed a circuitboard for an order they would fill in some fields into the shop floor control system and print out the bill of materials on the LaserJet.

Friday, April 16, 2010

Little Guatemala

Most of the employees at C.F.C. were from below the Texas border. I don't remember ever there being anyone from Mexico, but there probably was. There were people from Nicaragua, El Salvador, Costa Rica, Brazil, Chile, Peru, Ecuador and the Carribean islands like Puerto Rico, the Dominican Republic and Haiti. You name it. There seemed to be more people from Guatemala than from anywhere else. We liked to joke that we were going to fly the flag of Guatemala over the building and declare C.F.C. a sovereign nation, Little Guatemala.

Monday, April 12, 2010

The Fastest Computer in the World - CompuAdd


I invited Bob to my office to show him what I had done with the tracking system idea and I demoed the Smalltalk/V prototype I had written. I showed him what it could do and I explained that we could attach many terminals to it. This went over very well. I told him that in order to do this well we would need a copy of Smalltalk/V 286, which was a more powerful version of Smalltalk/V that could access up to 16MB of RAM. This was $199. We would also need a computer more powerful than anything we had in the factory at that time, and we would need to purchase at least one multiport RS-232 card to get started.

Bob agreed to all this. On top of that he was willing to go all out. The company usually quoted as having the fastest PC clones at that time was Compaq with their DeskPro systems. Bill Machrone from PC Magazine was famous (in my own mind at least) for having said that the DeskPro/20 ran its startup tests so fast that it made him giggle.


But the king of the hill at the time I went looking for a speed demon for our shop floor system was made by CompuAdd. In the reviews I read, the CompuAdd 386/25 was a terrific performer for the budget price of only $6100. Then we needed to add 4MB of RAM for about another $2000, and I'm pretty sure the multiport card was about $900. He agreed to buy this equipment. Wow. Just, wow.

My office wasn't the best place for this machine, so they moved me downstairs into a more central location. The office they gave me was spacious with a very large window. This was great except sometimes the window leaked when it rained. Our facilities manager Joe (yes that was his real name) helped me run some serial cables, and I soldered the 25 pin D connectors onto each end. RS-232 is only designed for 50 foot cable lengths. We needed longer runs than 50 foot. I had to source special low capacitance cable so that we could run cables of 100 foot or more. I needed to short across handshaking lines to make them work, and I made a null modem adapter for each one. I found a supplier in Framingham called Marcus Associates where we bought some used ADM-5 terminals, which were much newer and nicer than the ADM-3A I had prototyped the system on.

Before long we had a working system with terminals in different departments, and a printer for reports. I created a simulated terminal window for the computer itself so I could test the system without consuming a valuable serial port in my office.

This was the beginning of what was an exciting and productive project, even with some very challenging hurdles to overcome.

Sunday, April 4, 2010

My Skunk Works Project

What is a skunk works? A definition from Wikipedia: The designation "skunk works", or "skunkworks", is widely used in business, engineering, and technical fields to describe a group within an organization given a high degree of autonomy and unhampered by bureaucracy, tasked with working on advanced or secret projects.

In order to prototype the multiuser shop floor control system, I needed a real video terminal. The idea would be to take a computer and install one or more multiport RS-232 cards and connect terminals to them from all over the building.

The following work was done more or less under the radar. I wasn't trying to get away with anything, but I hoped to surprise Bob with the results I hoped to achieve. I managed to requisition an old Lear Sieglar ADM-3A terminal on the cheap. This was one of those pastel blue terminals with a "space age bubble" look to it. Needham High School had a few of these connected up to their PDP-11.

In order to make this work with Smalltalk/V I needed a tiny machine code routine so I could make calls to the serial port. I was lucky to find someone on a bulletin board who was kind enough to write this for me. I was even luckier that it worked! The machine code file was only 14 bytes long!

It didn't take me very long at all to create a master monitor, a login routine, a simple command parser, a simple job object, departments that could hold jobs, and the ability to move the work from one department to another and list the contents of each department.

What was absolutely most amazing about what Smalltalk/V made possible is that the system was extensible and debuggable... as it ran! If there was a runtime error while executing some command from the terminal, a debugger opened on the computer screen. I could then fix the bug right there, and the terminal could be restarted without bringing the system down for a recompile.

This was very promising to say the least.

Saturday, April 3, 2010

Christmas Vacation

I didn't take the plunge into Smalltalk right away. I wasn't completely sure it was the right choice. I was at the SoftPro store in Burlington in late 1988 and I noticed that they had a copy of the Smalltalk/V software from Digitalk. I asked them if they had any brochures, and they did. Three different full color, double sided marketing sheets. Very nicely done. Everything I saw about the language reminded me of Forth, but it had this idea of objects.

I wasn't about to ask my boss to buy yet another programming tool, so in December I bought it myself. I took the Tandy 1000SX home from work over Christmas vacation and dove into the Smalltalk/V manual, following the tutorial.

I was not disappointed. What an amazing language! I had never used anything so dynamic, or so graphical. Almost all the source code for each and every thing in Smalltalk is there. You can see it and you can modify it if you like. This was very compatible with my observation that Smalltalk and Forth were conceptually similar. The one surprise that really topped off this sundae with a cherry? Smalltalk has built-in multiprocessing. This was the ingredient that I sorely needed to produce the multiuser shop floor control system! What luck!

From Actor to the Real Thing

I decided that I needed more information about the Actor programming language. While at The Bit Bucket one day I asked Laird if he could get me some literature about Actor, figuring the store could place an order for me. He gladly accepted my request.

A few weeks later Laird had the materials in hand and he presented them to me. Then he said something that would completely change everything. He asked me, "Why don't you have a look at Smalltalk?" He told me that Smalltalk was the real deal.

This was not the first time I had heard of Smalltalk. At the New England Mobile Book Fair I had seen a book about it. I ran back to my office and started digging through issues of BYTE until I found an ad for something called Smalltalk/V.

I had seen this sort of ad before, but I just skimmed over it thinking it was a kind of communications program of the sort used with modems. There was at this time a very popular application of this kind named Crosstalk XVI, and this was the source of my confusion.

The ad seemed very interesting. I began to research Smalltalk. I learned that there was an August 1981 issue of BYTE dedicated to exploring Smalltalk. I went to the Boston Public Library and xeroxed all the articles from that issue. It cost me about $40 to do this. So I began to educate myself about Smalltalk.

Friday, April 2, 2010

What's a Popkin?

Well, the question really is "Who is Laird Popkin?" Good question.

In the summer of 1988 I met Laird Popkin when he was working at The Bit Bucket in West Newton. The Bit Bucket was this cool store with cool people and with cool stuff in the windows, like Amiga computers showing ray traced animations with shiny chrome balls and also a PDP-8. Try to find one of those on ebay!

Now, Laird was this nice fellow a couple of years older than me. He gave me my first ever demonstration of Windows 2.1. He showed me how an Atari ST could run Mac software if you ripped the contents of a Mac ROM. He introduced me to bulletin boards and FidoNet, and emoticons! He even invited me to his place in Sudbury (or was it in Weston?) where he shared a house with a bunch of other techies and their Apple II's and a Jaguar motoring enthusiast. He loaned me his copy of The Eudamonic Pie, which is this fascinating book about how some west coast nerds invented a computer in a shoe for beating roulette. Eat your heart out Maxwell Smart! I still have the book. Sorry Laird.

Laird and I had lunch a few times and struck up some great conversations. We talked about computers, science, consciousness and God.

Wherever you are Laird, thank you!