Long ago, I wrote this little humor piece… with fantasies about my homebrew computer developing intelligence and getting bored with sitting around in a keyboard wait loop. This was its first publication, and it later appeared in Mensa Bulletin (June, 1979) and InfoWorld (November 10, 1980).
The artwork below was done by David Caudill after this version was published, and that inspired the AI image above. The cover of the Vol II, No 1 issue of GBNS is shown at the bottom of this page, and it was a treasure trove of computer humor… mostly from the data-processing world. It billed itself as “a quarterly compendium of computer satire, irrelevant nonsense, and outright lies.”
by Steven K. Roberts
General Bull News Sheet
Written Sept 4, 1977
(BEHEMOTH stands for : Badly Engineered Heap of Electrical, Mechanical, Optical, and Thermal Hardware.)
BEHEMOTH is a homemade patchwork computer, comprised of an assortment of CPUs, off-the-wall mutual bus structures, and some shared peripherals. It has grown over the years into one of those architectural monstrosities analogous to the home of an occasional rich eccentric: vaulted ceilings adjoining a British Colonial sitting room, which serves as the entrance foyer to a French Provincial visitors’ wing hung with San Francisco Art Nouveau. An 8080 arbitrates bus arguments between an ancient 8008 and a random-logic disk controller. Hardware LIFO makes an 8 byte piece of memory look like a window into another dimension. An 8K chunk of Z-80 address space slides quietly through the LSI-11’s address space, moving in gentle increments of 1 K. Revision 732.5 of the operating system, at home in the confusion, somehow keeps it all together.
It has become rather eerie in there of late. An obsession with artificial intelligence, coupled with a latent “more is better” design philosophy, have conspired to turn the system into a heirarchical multiprocessor.
BEHEMOTH is bored.
He spends most of his time saying, “Did anyone hit a key yet? No? Well, then, are there any other interrupts? No? Well, then, did anyone hit a key yet? No? Well, then,…”
How would you like to do that eighty-two thousand times a second, for seeming eternity?
Can’t you almost see those F or 10 memory locations smoldering? Can’t you just imagine all those others lying there in atrophy? And can’t you almost hear the processors yawning?
I guess I need to do something about it. I mean, after all, don’t we have a responsibility to these quasi-sentient chunks of hardware that seem slowly to be evolving from the “rich protein stew” of our collective technological consciousness?
While I sit here typing and drinking a beer, BEHEMOTH is over there frantically questioning the status bits, trying with unflagging urgency to determine the condition of the peripherals that can mean only one thing: Action!
It makes me feel kind of guilty. I mean, even when I’m asleep, he’s still at it. I lay there sometimes and wince at the hell he’s going through. (Sometimes I get up and initiate a long dump, with the printer off. It doesn’t make me feel much better: an unsatisfying little spurt of data and then back to the ol’ grind for almost a second. Big deal.)
When he was young, and but a single wirewrapped 8008, I used to give him random numbers to do at night. It was a machine language simulation of a 31-bit shift register with the exclusive-OR feedback of bits 28 and 31. Eight iterations and presto! Another random byte. To make it look better, I put it into FAST STEP. Relaxen und watch das blinkenlights.
Can’t do that anymore. Oh yes, I could do the random numbers all right, but FAST STEP is a thing of the past. Some of the CPU’s would not understand a processor slaved in the WAIT state by a free-running 555 timer. They just wouldn’t understand. And it’s really not any fun unless the lights are blinking. Yes… I’m a front panel freak. Guilty as charged.
You see my dilemma? What can I give him to do that is challenging and interesting? What is the software equivalent of therapeutic knitting?
A girlfriend suggested meditation. I can see it now! I’m trying to solve one of those troublesome analog design problems:
** RUN FILTER-BUTTERWORTH
THE ANSWER LIES NOT IN
ALL FILES HAVE BEEN MERGED
I AM ABSOLUTE. I AM NOT BOUND
BY AN OPERATING SYSTEM.
The prospect makes me shudder – I need BEHEMOTH in my work. One of us has got to stay straight.
Oh, I know what you’re thinking: “Why don’t you just HALT the system and be done with it?”
C’mon now. HALT??? It’s unethical! (And besides, the logical inertia of all that processing horsepower speeding through the dimension of time is not to be idly tinkered with. A guy could get hurt like that.)
No, we’ve got to come up with something reasonable for BEHEMOTH to do while waiting for the interrupt to arrive. How about n-dimensional GO?
Anybody wanna write the software?
Aha, now we get to the real crux of the problem! Anything that would challenge the computer is too hard to write. Anything that would challenge the computer… do you smell an impasse?
I mean, what is growth if not an outgrowth of challenge? Isn’t that how we do it? So, for these “things” to achieve sentience through growth, they have to be given sentience to begin with. We have to provide the spark!
That’s a pretty tall order.
Somebody once said: “The computer is incredibily fast, accurate, and stupid. The human brain is incredibly slow, inaccurate, and brilliant. The marriage of the two is a power beyond calculation.”
Maybe that’s it. “Say, doctor, I’d like this DB-25S connector installed in my occiput, with these here platinum wires implanted in the cortex…”
** RUN FILTER-BUTTERWORTH, PLEASE
WHAT ABOUT THAT LADY YOU ADDED
TO MEMORY LAST NIGHT?
**DAMN IT, DO I HAVE TO MAKE ALL
MY GOOD MEMORIES NONVERBAL?
IT'S UP TO YOU.
Maybe that’s not it. I’ll be damned if I want BEHEMOTH sniffing around in my life. (He has a quick mind for apparent inconsistencies: he wouldn’t understand human awareness, acting in order to deal with society, and the midnight desire to write even though another in the endless series of software updates is clearly necessary.)
I guess I’ll just make the keyboard- and interrupt-wait loop continuously relocatable and let it wander around memory as it executes. It is no less boring, but at least it will keep the memory exercised.
So it goes.