How I Spent Maai Weekend

My friend Tim Schutz and his malfunctioning robot Maai came over for our third Robot Sunday last weekend. (Robot Sunday one, two.) We’re trying to restore the robot, a Heathkit HERO-1, to full 1980s lustre. Maai was wearing a kind of clown mask Tim made to replace its protective faceplate, and an elastic belt to keep its panels on. On boot, the robot said “Low voltage”. (This was to be a recurring motif.) Then Tim demoed adjusting the pitch and speed of Maai’s voice.


Last time, we hypothesized a couple of chips had to be replaced on the main sensor board. Tim had bought the chips for our proposed repair from Alphatronics USA in the Tukwila warehouse district near Seattle. Entering the store, he said, was like entering the twentieth century.

Concerned about the voltage, Tim checked it on the robot power supply: 5.3 volts, so probably OK.


The robot was plugged into the wall, because Tim didn’t charge it the night before; he left the robot in the car all night…


Bad robot, no chips. Well, OK, a couple – Tim yanked the sensor board, I replaced the analog-to-digital chip and one other, and Tim replaced the board.

It was now time for diagnostics, as many diagnostics as the galaxies in the sky. Fortunately, we had the arm and pendant (wired remote) this time, and Tim and I were both getting the gist of the diag routines through the sheer rotework of entering them in hexadecimal machine language over and over.


We got through the initial diags to the first sensor tests (motion sensors), but then once again, no response. The LEDs were supposed to light up on motion. (As we worked on Maai, the robot intermittently complained of low voltage. Aloud.)

The main sensor board had light and sound inputs, so we tried those tests next. The light sensor worked a little, but didn’t display a full range of response to bright light, dim light, and darkness. The sound sensors also seemed not as sensitive as expected. Batteries low again, maybe. We were seeing excellent voltage jumps on the board, though, from 0.x to 3.x to 5.x – dark to dim to bright. Was it just that the robot’s display was busted? There was no voltage when we made a loud noise during the sound test. Problems with the sensor board and sound receiver? Mic disconnected? Conclusion: Whatever it was, it wasn’t the chips we replaced after all.

Many other things were kind of working. Sonar was, but it was raining outside so we could only test it for short distances. The pendant seemed to be working. The motion sensor and display were actually working perfectly on second examination. (We had been looking at the wrong board for the motion test. When we found where the right one was tucked away, the motion LED was blinking cheerily.)

The voice synthesizer worked. Tim wanted to do a spoken haiku demo where the robot would spin around afterward, but the drive motors were not working. There were also mechanical problems with the arm as well as electronic ones. Tim is going to strip the arm’s corkscrew motor and other parts down and rebuild them himself. He schooled me in the mechanics of the arm and its claw, but there’s so much to do on this little guy, and we only meet once a month.


So what was wrong with Maai, at base? For one thing, the onboard battery might have needed charged, even though we had it hooked up to wall power the whole time. Some new capacitors couldn’t hurt, either. “They’re 30 years old. When they dry out, they tend to wreak havoc,” said Tim. He may replace the capacitors on the sense board before next time. (Moribund capacitors are a bane to all kinds of retrocomputers, from HERO robots like Maai to Apple IIs.)


We thought of some future improvements:

  • Maai doesn’t have a serial interface, but Tim has the schematics, so we could build one. That would enable saving robot software on an external medium like a thumb drive, and expedite diagnostics, among other tasks.
  • Rare earth magnets to hold the side panels on instead of an elastic belt.
  • Various new masks for the front faceplate area, such as creepy humanoid eyes.

Moral if you want one: Debugging is harder than coding, and repairing something is so much harder than building it from scratch.

See you next Robot Sunday.

Comments on the blog, please, not on Twitter or F*c*b**k.


The Time Cadet Keyboard


A few entries ago in this blog, I used a photo of the so-called Space Cadet Keyboard, the keyboard shipped with the famous Lisp machines of the 1980s. Depending largely on whether you are an Emacs user or a vi user, the Space Cadet Keyboard was either the most brilliant input device of all time, or the cause of everything that has gone wrong in any field of human endeavor under discussion.

That photo attracted lots of attention, for certain very, very wee values of “lots”. My friend John Braley remarked on F*c*b**k, “My new mantra: Hyper super meta – meta super hyper.[repeat]”, referring to the special modifier keys present on the Space Cadet but not most other keyboards – unlike Shift, Control, Alt, and so on. Of course, the Space Cadet wasn’t only long on modifier keys, but on Greek characters, math and logic keys, and keys of dubious utility – Roman numerals, friends?

I was (briefly) a computer science major at Yale in the mid-1980s, when this bizarre beastie flourished. I remember typing my APL homework on a similarly baroque keyboard – they were in all the labs – but I wouldn’t swear it was a Cadet. In fact, it was probably a descendant of the IBM 2741.


One thing I wanted to show in this post is that the Space Cadet was a lot more complicated than the first photo I included as a joke. As you can see up top, the keys are very tall – that is, high off the base – and they have room for even more characters on their fronts – the parts facing the user when she is facing the screen. (Closeup)

These characters can be Metaed, Supered, and Hypered until your carpal tunnel becomes inflamed. It says here that the Cadet could generate over 8,000 discrete characters. (Another large illustration.)

Space Cadets and Christianity (what?)

As an atheist, I am no friend of Madeleine L’Engle’s YA Christian propaganda A Wrinkle in Time and its four sequels, the “Time Quintet”. But I haven’t always been an atheist, and I’m pretty familiar with the books, especially the first two – I used to love them.

I’m sure that the Space Cadet Keyboard influenced the fourth book in the Time Quintet – Many Waters – just as I am that the board game Cosmic Encounter influenced William Sleator’s novel Interstellar Pig

Sandy stuffed another large bite of sandwich into his mouth, and left the warmth of the stove to wander to the far corner of the lab, where there was a not-quite-ordinary-looking computer. “How long has Dad had this gizmo here?”

“He put it in last week. Mother wasn’t particularly pleased.”

“Well, it is supposed to be her lab,” Sandy said.

“What’s he programming?” Dennys asked.

“He’s usually pretty good about explaining. Even though I don’t understand most of it. Tessering and red-shifting and space/time continuum and stuff.” Sandy stared at the keyboard, which had eight rather than the usual four ranks of keys. “Half of these symbols are Greek. I mean, literally Greek.”

Dennys, ramming the last of his sandwich into his mouth, peered over his twin’s shoulder. “Well, I more or less get the usual science signs. That looks like Hebrew, there, and that’s Cyrillic. I haven’t the faintest idea what these keys are for.”

Long story short, merely by typing into what I must refer to as the Magic Time Cadet Keyboard that they want to go somewhere warm and dry, the twins Sandy and Dennys are transported to the antediluvian Earth – the time of Noah himself – where they both fall in love with Noah’s forgotten daughter, and conclude that the people of Noah’s time are so unmentionably evil that it’s only right that God murder all of them. The Flood was good to the last drop!

Given its profound spiritual powers and the fact that it has not only math and Greek characters on the keys, but Hebrew and Cyrillic (what about Enochian?), I am forced to conclude that the Time Cadet Keyboard is to the Space Cadet Keyboard as the Space Cadet is to a random decrepit IBM Model M. The Time Cadet Keyboard is a must-have for the retrocomputing enthusiast who has everything. Five thumbs up!

I bet you didn’t think this post was going to swerve from the retrocomputing hobby to the history of board games to atheist apologetics, did you?

What do you think? And hey, how about leaving comments on this blog, rather than on Twitter or F*c*b**k or wherever else you found this link? Thanks.

Photo by Dave Fischer, Retro-Computing Society of RI (Own work) [CC BY-SA 3.0 ( or GFDL (], via Wikimedia Commons.

APL keyboard diagram By User:Rursus (APL-keybd.svg) [GFDL ( or CC-BY-SA-3.0 (], via Wikimedia Commons.

Robot Sunday, Sunday, Sunday


As described in an earlier post, I’m helping my friend Tim Schutz restore his antique Heathkit HERO robot, Maai. It’s like restoring a Mustang, but more interesting and less macho. We meet one Sunday a month.

My Pomeranian Humphrey loafed about while we were working on the robot, but our other Pom, Bridget, had to hide. The robot seemed to fall into her uncanny valley. Odd, because usually Humphrey is more susceptible to that effect, barking at weird cartoons on television. I guess everyone’s valley is different.

Because it had been a while, we decided to run Maai’s diagnostics from the top. The robot mostly passed, although Tim had left the arm at home, so we were less sure about those routines that required it.

We did find the motion sensors weren’t working. And then the vision and audio sensors weren’t either. What the hell? How could so many sensors go out at one time? Was the main sensor board malfunctioning, as we had thought once before?

I stepped through the diagnostic flowcharts in the technical manual, and Tim measured voltages with his meter. It developed there was nothing wrong with the sensors. The hidden problem was that the display board was malfunctioning. The sensors might have been working just fine, but we couldn’t see the results at all. We traced the problem to two chips on the display board, and Tim planned to order them online. Good thing, because all the motion sensor flowcharts had dead-ended in a box reading “Return to Heath Co. for service.”

Dear Mr. Heath,

We are sending you this robot for repair from the future, where it makes the phone in my pocket look like Richard Feynman. Yes, I said the phone in my pocket

Coffee by Tandy

Our international scavenger hunt challenge: “VIDEO: Program a Commodore 64 (or similar vintage) personal computer to turn on a coffee maker and brew you a cup when you type in the command, ‘Rise and shine!'”

A couple of weeks ago, as aide-de-camp, I helped my wife Marty’s team with their attempt to win GISHWHES (the Greatest International Scavenger Hunt the World Has Ever Seen), on a challenge that if judged successful should net them 80 points — pretty substantial.

Marty and I made a regulation 30-second video to prove we had done it. The index card at the beginning reads (so you don’t have to freeze it):



We connected an X10 Firecracker controller to my computer’s serial port, and plugged the coffee pot (“Mr. Coffee” to you) into an X10 TM751 wireless transceiver, which actually switched on the pot. In between, there were various cables and thin air.

I already had the Tandy 102, but I’m not a home automation junkie, even though I had some of this X10 junk left over from the turn of the millennium, so there were false starts. At the last minute, I realized I had a female serial cable and needed a male one, so Marty had to schlep through Fry’s while I was at work to make it right. She later remarked, “Buying a male-to-male gender-changing connector isn’t as exciting as it sounds.”

We also had to buy a cheap coffeemaker that could be turned on by simply plugging it in; the one we normally use has an extra button you have to press. The first one we tried, from a thrift store, wouldn’t power up at all. Marty googled the model and found out it was the subject of a factory recall for electrical faults. Lucky us! She cursed and ordered Mr. Coffee from Amazon. The Mister really doesn’t do the fine Magic Beans roast justice, but he was just what we needed otherwise.

Ken Pettit’s FIRE.BA X10 software for the Model 100/102 was also just about right; I only had to add a single line of BASIC to comply with the contest requirements:

18 IF SELECT$ = “Rise and shine!” THEN SELECT$ = “A1N”

Translated into English, this means that if I type “Rise and shine!” at the prompt on my computer, as I do in the video, the computer should tell the X10 interface to turn device A1 (in this case, the coffeemaker) on.

Apart from the missteps, and a couple of hours of research to prove to myself it was possible to do what we wanted in the allotted week, most things were almost plug’n’play. The bulk of the week was spent waiting for serial cables to arrive from Amazon. We shot the video in one take, but Marty had to edit the length for GISHWHES because it takes more than 30 seconds to make coffee.

Shoutouts to the TRS-80 Model 100 mailing list for helping keep my 102 running, and the Seattle Retro-Computing Society for general retroawesomosity (I wish I could have been at the big four-club summit last week).

Now for some joe…

p.s. This Wondermark parody of MAKE magazine says it best: “How to do it terribly — expensively — and with great difficulty”.

Tim’s HERO, Maai HERO


Spent the day running diagnostics on a 34-year-old Heathkit HERO 1 robot with my friend Tim Schutz. (It’s his robot.) At first this activity felt strangely like Raiders of the Lost Ark (“Behold! This primitive robot was built by the ancient Egyptians!”) but, partly because HERO looks a little like R2-D2 (small coincidence), everything morphed into that scene from Star Wars where Luke takes the droids out to his garage for repairs. We were actually punching in machine language routines on a hexadecimal keypad on the little guy’s head. I was expecting HERO to twitch at any minute and start projecting a hologram of Princess Leia. (Tim observed that if it did, Leia would be about 60.) Another difference from the cinematic original was that we were accompanied by two curious, fierce, and slightly alarmed Ewoks, my Pomeranians Humphrey and Bridget.

We determined the robot was in pretty good shape for being so old. The sensor board must be repaired, but the robot came laden with schematics, and in true Heathkit style, everything was labeled clearly. There was even a flowchart in the manual for the necessary fix. The wheel motors work, so the robot can move around, and the arm basically works, but the claw needs a bit of mechanical repair.

I said the robot was primitive, but really it reminded me of a larger version of a 21st-century LEGO Mindstorms robot, and I am filled with admiration for the Heathkit engineers, who made an interface breadboard available even after the head carapace goes back on. Very makery!

Tim named his robot Maai, a Japanese word he knew from Aikido that means “distance”, so its full name would be Maai HERO. Ironically, the distance sonar is the only sensor working right now.

Photo credit: Heathkit catalog circa 1979, via

How I built my first computer


Assembled FIGnition (right) shortly after boot (left, my Android tablet displaying documentation)

I just finished building a computer — a FIGnition single-board, 8-bit microcomputer kit. You can think of it as like the Heathkits of old, only about the size of a credit card and much resembling a Raspberry Pi.

There’s a bit of a paradox here. The Raspberry Pi costs about the same as a FIGnition — US $35 — and is meant for education. Yet it comes preassembled because it is literally about 10,000 times more complex than a FIGnition (five orders of magnitude). On the third hand that grows out of the center of my forehead, I love the Pi and have two of them. They are modern computers and the FIGnition is not — at least, it doesn’t feel like one.

Why did I buy a FIGnition, then? I wanted something I could build myself that was simple enough to understand thoroughly. The fact it boots into Forth also attracted me strongly — a FIGnition is probably the closest thing I can afford to a Jupiter Ace any time soon.

It took me, a complete newbie at through-hole printed circuit board soldering, six hours over two days to assemble the board with the expert advice and troubleshooting of my friend Tim Schutz. Half an hour was then devoted to a break, per the instructions, and an hour to testing by eye and with a multimeter. (Tim advised skipping the hundreds of complicated meter tests in the instructions and focusing on the basics — it’s only a $35 kit computer, after all.) Total build/rest/test time was 7.5 hours. If you’re already an electronics person, it will take much less for you.

After testing the unit, we plugged it into an old CRT TV and powered it on. The FIGnition welcome screen flashed by too fast to capture with a camera, then the Forth prompt. (See the photo above.)

We plinked around with the built-in chord keyboard for a minute and then, after Tim left, I ran most of the diagnostics — everything was OK. I didn’t take the last step, upgrading the firmware, because there hasn’t been a new firmware version since 2012, and I didn’t want to risk pointlessly bricking something I had just spent almost eight hours building.

I plan to keep working with this device and learning about it. The website has a great little knot of pages called “Understand It” that explains many of the hardware and software details. I also plan to extend my Forth skills — most of which come from cursory work with Jupiter Ace emulators, Wikireader, and Open Firmware — just because Forth is an interesting language, not because I ever expect to get a job programming in it. I’ll also blog about it in whatever time I have left over…

Discover lost (Geo)Cities with digital archeology


As I write this, Yahoo (I omit the exclamation mark because Yahoo bores me) is acquiring Tumblr for $1.1 billion, a move many are comparing to its 1999 acquisition of GeoCities — an arguably similar virtual community it subsequently neglected for a decade and then literally destroyed. Will the same be said of Tumblr’s 300-million-strong community in ten years? “We promise not to screw it up,” says Yahoo. Really. That’s what they said. I’m betting on the “condemned to repeat it” side of Santayana’s maxim, myself.

Before GeoCities was paved over, several teams of digital archivists saved as much as they could, and now there are GeoCities mirrors scattered around the Web. The best of them are Reocities,, Oocities, and of course, the Internet Archive. I’ve written a script that enables you to search all of them at once when you encounter a broken link to a Geocities site.

Just drag the “Dig GeoCities!” bookmarklet (click the link to go get it; that’s not the bookmarklet itself) to your browser’s bookmarks bar (giving it a shorter name if you prefer) and when you try to open a broken GeoCities link, click the bookmarklet while the GeoCities error page is in front. Three more tabs (or windows, if you swing that way) will open to potential mirrors of the page you’re looking for, and the last one will display an Internet Archive link if it can’t find anything.

I wrote this bookmarklet because the GeoCities archives have yet to merge their data; sometimes one or two will preserve a page, but not the others, and some are only partial. I was inspired by the Resurrect Pages Firefox add-on, but nothing did quite what I wanted, even the add-on.  I would like to see Resurrect Pages incorporate this functionality in future for GeoCities URLs.

By the way, this is something I started sketching on paper over a week ago, well before I heard of the Yahoo/Tumblr merger. I’m releasing it under the GNU GPL 3.0 license, so feel free to adapt it for Tumblr when you guys inevitably need something like it up there in 2023.

Finally, here are some of my favorite GeoCities URLs for practice. Open each in a new tab/window and click the bookmarklet (on your bookmarks bar) to see the archived versions.

EDIT: Although this is quite a simple script, apparently it doesn’t work fully on Chrome because of a known bug introduced by Google in the overzealous pursuit of popup window blocking. I’ll see what I can do.