Two-word parser, 1966 AD
Friday, August 25, 2017
Comments: 2 (latest 2 days later)
It's common to note that the Apollo 11 guidance computer had just 4K of RAM, less than (a microwave | a toaster | your car keys) whatever the current IoT gizmo of the day is. The complete source code was posted to Github in 2016, to the delight of space geeks everywhere.
(I see that the repo maintainer has been accepting patches all this time, which will be handy when... when... I'm not sure how to finish that sentence. But you see a typo, you fix a typo. I get it.)
|Image from NASA via Wikipedia|
Every time the astronauts entered information to activate a program, they interrupted the software program that was running with any of the 100 verb-noun pairs. For example, Verb 37 (verb 3-7-enter) signaled to the computer that there was a pending change of command. Then hitting 3-1-enter would run program 31, the rendezvous targeting program. The crew could request maneuver angles (verb 50, noun 18), monitor the changes while a maneuver was in progress (verb 06, noun 18), or request the velocity change required for the next maneuver (verb 06, noun 84), among other functions, all of which would then display the information numerically on the DSKY.
There were also different kinds of verbs, extended and regular. Extended verbs (49 through 99) didn’t need a noun to execute a program; they told the computer to perform a simple operation. Regular verbs (00 – 37) were used to display, monitor, or update data, meaning they needed a noun.
-- How Verbs and Nouns Got Apollo to the Moon, Amy Shira Teitel
Can I connect this to the use of verbs and nouns in interactive fiction? No, okay, not directly. But the notion of a verb-and-noun control system has proven durable: CLI shell commands and GUI icon-menu systems are both well-entrenched examples. It seems to be a comfortable model; easy to grasp, lots of power, not too much to memorize.
Two axes seems to be the sweet spot. A one-axis control system is just a row of buttons -- fine for an elevator, no good for anything more complex. Three-axis systems must exist, but I expect they're in highly specialized tools.
(Note that I'm not talking about physical degrees of freedom. Any two-stick shooter uses four control axes, mathematically speaking. That's not weird. I'm talking about systems where you select one of N interestingly different choices, and then apply that to one of M interestingly different choices on the other side: two logical axes.)
Anyway, I have nowhere in particular to go with this. I just thought it was a neat tangent.
You can play with a simulator of the Apollo computer system, but I haven't tried it.