Telerin

A multitasking Piki executive for Windows.

 ,:::.                        :: ::
::   ::                       ::
::       ,:::.  ::,:::.  ,:::.:: ::  ,:::.  ,:::.  ::,:::,:::.
::      ::   :: ::      ::    :: :: ::     ::   :: ::   ::   ::
::   :: ::   :: ::      ::    :: :: ::     ::   :: ::   ::   ::
 `:::'   `:::'  ::       `:::':: ::  `:::'  `:::'  ::   ::   ::

  ,::::::::::'           ::                      ::
     ,:'                  ::
    ::          ,:::::.   ::   ,:::::.  ::,:::.  ::' ::,:::.
   ::          ::.....::  ::  ::.....:: ::    `  ::  ::    ::
    ::         ::''''''   ::  ::''''''  ::       ::  ::    ::
     `:::::'    `:::::'   :::  `:::::' ,::      ,::  ::  ,:'

                               _,.
                           _,-'   \
                        .-'  _     \
                         \,-' \  ,-'
                            _.-' \
                           `  \   \   _,
                               \   ``
                                '

So it was late Summer 2004 that I started to get a distinct impression that there was little sexier than old computers—actually a very specific kind of old computer; the General Electric 645, running Multics. Actually the one at Project MAC up until the Honeywell buyout, but we don't need to get that specific. I was infatuated with the breadth and depth of hacker culture that permeated the sixties, seventies, and eighties at various American institutions of academic and technical note. This meant ITS, PDP-10s, PDP-11s, and maybe a little bit of Unix once in a while. But mostly it meant Multics.

The result of all this, anyway, was a terminal server simulator in Visual Basic that could handle multiple telnet connections and multiple jobs. The first programs for it were simple and had deliberately clumsy evocation syntax: in order to start the first shell, hacktran (named in dull-minded honour of the far more impressive hactrn of ITS) one had to first load it and then dial the resultant job number. Identification on hacktran was voluntary, and accomplished after logging in. Jobs started by hacktran would have the user name added to their memory space—there were no attempted isolation mechanisms, so jobs could access each other's memory at will, and so hacktran set user names on other programs with about as much ease as it set them on itself.

It wasn't very advanced, but it amused the hell out of me. The original implementation had a console window modelled vaguely after the front panel of a minicomputer (complete with cryptic abbreviations, 9-bit address space limits, and actually toggling in job and line numbers with checkboxes to serve as switches!) with all of the buttons labelled in—what else?—abbreviated, unpunctuated, all-caps... Telerin. It's hard to conceive of a more esoteric design, no doubt.

Silly names were Telerin's forte: the Telnet multiplexer, based on the source code for the Gumdrop OpenRME server, was called SKYNET, and hardly deserved the title. A function to create a job without parameters was named cujo (Create User JOb), and the in-simulator help program was called fatima, to complete the strange mythos. (Of course, as no one has ever played Anachronox, I suppose I'm safe with that reference.)

Anyway, time went on, and Cordicom Telerin (generally just Telerin) grew profusely, primarily because it was so suited to serving as a backbone for multiuser communication. Its flagship development was a MU*-like program called the Multi-User Environment (MUE), for which a world was developed, the Multiverse Exchange. Not knowing much about MUDs and MUCKs at the time, it grew without any sense of object-orientation, which severely harmed the efficiency of its development. Players, items, and rooms were represented in the filesystem in non-interchangeable ways, which meant that creating a room with fully-customised doorway messages was quite a herculean effort. Eventually the client got very bogged down with the complexity of the basic hard-coded verb set, as a design flaw meant that Telerin took O(n) to access line n of a script every time it executed a line. This was eventually fixed, but an intermediate solution was to swap out blocks of the running script—it was stored in ASCII, after all—with others, one per command, all stored on the disk. This made it possible to vastly optimise the client program, though it was never perfect.

MUE had a wide range of developments added onto it that I don't know of on any other MUCKs. It was built with the fullest intentions of being scaled to other machines, had vastly complicated language bots, public areas with 288 different seasonal descriptions based on month * hour of day (updated by a cron-like system called cordica), and a combat system that emphasised the user's ability to improve efficiency with given skills and not limit them to any particular agenda or class. One feature that was never finished particularly pertinent to its reinstallability was the Multiverse Exchange Program (MXP)—the idea that a user character could be borrowed by another MUE installation, during which time it was "on loan" and could not be accessed on the original server, but would be fully present on the other. This involved developing a native archive format for Telerin, .archive, which could recreate directory trees and encoded the name of the originating machine. Eventually, the plan was to actually bridge MUE installations outright, so that you could step from room A on server A into room B on server B and have completely transparent access.

Anyway—check out the pages below for more information!

Telerin and its sub-projects

Copyright © 2009 Samantha Wright.
All those rights are, like, totally reserved. This mumbling is legally binding.