This is an old revision of the document!
Disclaimer: I write this as friendly advice to new users of ITS, and the term “luser” is not meant degeneratively. I'm still discovering ITS myself, and while I know PDP-10 assembly language, TECO and DDT from my TOPS-20 days, I'm probably still an ITS luser myself. I'm working on it, though…
It is important to understand right away that ITS is a very open system. While you may not be able to log in without an account, you can still read people's mail after just connecting to the system, and once you are logged in “you can hack anything you want with TECO and DDT”, or indeed shoot yourself in the foot rather severely.
If you write/delete files in some of the system directories, this is logged, but this is about it. Luckily files can exist in more than one generation/version, so if you overwrite a file the old one (may) still be around.
Although processes can't poke eachother by mistake, users can, e.g., take over other users' processes, debug them, etc. This is good, since it lets hackers help others.
For example, anyone (logged in) can take the system down by using the LOCK program. The minimum warning time is five minutes, allowing others to undo the shutdown if necessary, but since all programs can be patched at runtime, the limit can also be circumvented (if you know how).
So some “ethics” are necessary. Try not to break things, but do explore and experiment! And don't forget to have fun!
PWORD
, a replacement for HACTRN which allows only a small number of commands. Try pressing ?. If you want to log in, use the :LOGIN command. Once you have successfully logged in, you're talking to the real HACTRN.Some useful commands (not case sensitive, but traditionally in upper case):
?? :DDTDOC
:: Shows documentation for DDT commands (i.e. not for programs). Try :DDTDOC ^F to get documentation for the ^F command, or just :DDTDOC for interactive mode. !!
?? :WHAT
:: Answers questions, both silly and useful. Try :WHAT is this or :WHAT source for NAME, or :WHAT bus (for MIT buses in '87 or so). !!
?? :LUSER
:: This command calls for help from more knowledgable hackers, if any are logged in. !!
?? :SEND user message^C
:: sends a message to user. If the user is logged in, the message is displayed on his/her terminal. If you get a message and don't see it or want to re-read it, press ^A in HACTRN. (:SEND is similar to write in u*ix, but better.) !!
?? :KILL
:: kills the current “job” (subprocess). To see which jobs you have, use :JOBS (or $$V); to switch between them, use :JOB (or $J) (or :JOB jobname or jobname$J). !!
?? :EMACS
:: This is the original EMACS! Not really as powerful as the follow-ups (FSF Emacs, XEmacs), but leaner and meaner. Written in the “write-only” language TECO. Try M-x Teach Emacs to learn. !!
?? :PEEK
:: Similar to top in u*ix, but show more kinds of information. Try pressing ?. Pressing Q quits. !!
?? :FINGER, :F, :NAME, :N, :WHEN, :WHOIS
:: These commands show information about who is logged in, and take an optional user name as argument, showing info also about non-logged-in users. !!
?? :PRINT file
:: prints file on your terminal, similar to more in u*ix. Try :PRINT HACK;MD NEWS! !!
?? :LISTF
:: lists the files in the default directory. Also try :LF, which is different. !!
Directories are flat (i.e., no subdirectories). Initially you'll share home directory with other users. Do M-x List Directories in EMACS to list them.
File names have four components. Each can be up to six characters.
Example: “MD:.INFO.;DDTORD >”. Sometimes filenames are shown in another order, as DIR; DEV: FN1 FN2.
About file versions:
If your connection is lost and you connect again, your old job (set of processes) is probably still around. Sometimes ITS detects your disconnection, “detaches” your old job from its “terminal”, and offers you to attach it when you log in the next time. If you get prompted –Attach Your Detached Tree– when you log in, just press ⟨SPACE⟩ to say “yes” (or ⟨RUBOUT⟩ for “no”). Sometimes ITS doesn't detect your disconnection. When you log in again, your visible username will have a “0” (or “1”, “2” etc) at the end, and if you try :FINGER you see your old job without the “0”. You can then “reattach” the old job (replace your new job with the old one) by using the command :REATTACH uname/K where uname is your username (without the “0” etc).
The program used for (among other things) shutting down the system cleanly.
The system will start shutting down when either the n minutes have passed, or all users have logged out. (Please do not quit KLH10 or shut down the host system until ITS has shut down completely, which is visible on its console or by observing the CPU usage of kn10-ks going up towards 100%.)
To cancel a shutdown, use the REVIVE command of LOCK.
From HUMOR;JARGON 68 [August 1983]:
LUSER
See USER.
USER n.
A programmer who will believe anything you tell him. One who asks questions. Identified at MIT with "loser" by the spelling "luser". See REAL USER. [Note by GLS: I don't agree with RF's definition at all. Basically, there are two classes of people who work with a program: there are implementors (hackers) and users (losers). The users are looked down on by hackers to a mild degree because they don't understand the full ramifications of the system in all its glory. (A few users who do are known as real winners.) It is true that users ask questions (of necessity). Very often they are annoying or downright stupid.]