In 1967, during excavation for the construction of a new shopping center in
Monroeville, Pennsylvania, workers uncovered a vault containing a cache of
ancient scrolls. (...) Based on a translation of these documents, we now
know that the society, the Cult of the Bound Variable, was devoted to the
careful study of computation, over two millennia before the invention of the
digital computer.
This year's contest was truly impressive; it's obvious the organizers have
poured an enormous amount of work into it. It was so fun many (most) people
will keep working on it even though the contest is over. And there was much to
be learned as usual!*1
Imagine how exhilarating playing a text adventure game in a simulated OS
running on a VM you implemented yourself can be...
Overview
The "qualifying problem" involved writing a small VM; you can find my
implementation, a fairly fast Ruby extension, below.
We were given the description of a virtual machine (the Universal Machine) and
a rather mystifying codex which was actually a program to be executed on
that machine. After running it, you'd get a larger program that corresponded
to something resembling an OS, named UMIX for its superficial similarity with
UNIX.
There were 8 user accounts (in addition to root), each with its home
directory, containing the descriptions of the actual problems to be solved.
Most of them involved writing a program in some obscure programming language,
whose documentation and reference interpreter could be found in the FS
embedded in the UMIX machine!