ITS wiki

The Incompatible Timesharing System

User Tools

Site Tools


luser

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
luser [2015-12-29 16:06] – [What to do] victorluser [2016-03-05 16:42] (current) – [LOCK] victor
Line 2: Line 2:
 ====== A Luser's Guide to ITS ====== ====== A Luser's Guide to ITS ======
  
 +<note>
 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...  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... 
 +</note>
 ===== ITS is an open system ===== ===== ITS is an open system =====
  
Line 26: Line 26:
  
  
-  * Don't overwrite files in other directories than your own. If you do it anyway, please let someone know so they can perhaps do something about it. ({{emacs_init|Here}} is a piece of TECO for your EMACS init file to help against involuntary disasters.)+  * Don't overwrite files in other directories than your own. If you do it anyway, please let someone know so they can perhaps do something about it. ([[emacs_init|Here]] is a piece of TECO for your EMACS init file to help against involuntary disasters.)
   * Please try to shut the system down nicely if you have to, instead of crashing it (or its host system). This minimizes the risk of filesystem breakage.   * Please try to shut the system down nicely if you have to, instead of crashing it (or its host system). This minimizes the risk of filesystem breakage.
  
Line 32: Line 32:
  
  
-  - **Connect** using ((Supdup)). Supdup (the Super-Duper Image Telnet protocol) allows ITS programs (such as EMACS and PEEK) to display faster and better on your terminal (window) than using Telnet. +  - **Connect** using [[supdup|Supdup]]. Supdup (the Super-Duper Image Telnet protocol) allows ITS programs (such as EMACS and PEEK) to display faster and better on your terminal (window) than using Telnet. 
-  - If you don't get a * prompt, press CTRL-Z (henceforth ^Z) to get attention from the ITS system.+  - If you don't get a * prompt, press <key>CTRL-Z</key> (henceforth <key>^Z</key>) to get attention from the ITS system.
   - You are now talking to ''PWORD'', a replacement for HACTRN which allows only a small number of commands. Try pressing <key>?</key>. If you want to log in, use the :LOGIN command. Once you have successfully logged in, you're talking to the real HACTRN.   - You are now talking to ''PWORD'', a replacement for HACTRN which allows only a small number of commands. Try pressing <key>?</key>. If you want to log in, use the :LOGIN command. Once you have successfully logged in, you're talking to the real HACTRN.
-  -  You will notice that what we these days mean by "commands" start with <key>:</key> (colon). Once you have logged in, you can also use DDT commands such as ^A, $L (where $ means ESCAPE), etc. Please study the DDT Primer and Reference Manual (see below), and for the gory details, the file .INFO.;DDTORD > - here are some quick basics: +  -  You will notice that what we these days mean by "commands" start with <key>:</key> (colon). Once you have logged in, you can also use DDT commands such as <key>^A</key><key>$L</key> (where <key>$</key> means <key>ESCAPE</key>), etc. Please study the [[http://victor.se/bjorn/its/ddt.html|DDT Primer and Reference Manual]] (see below), and for the gory details, the file ''.INFO.;DDTORD >'' - here are some quick basics: 
-    *    ^Z stops the program which is running. To let it continue, use :PROCEED or $P (that'ESCAPE⟩ P). +    *    <key>^Z</key> stops the program which is running. To let it continue, use '':PROCEED'' or <key>$P</key> (that'<key>ESCAPE</key> <key>P</key>). 
-    *    ^D forgets what you typed so far on the input line. Something like ^U in bash, but doesn't erase the line, just prints XXX?. (And ^U does something entirely different in HACTRN.) +    *    <key>^D</key> forgets what you typed so far on the input line. Something like <key>^U</key> in bash, but doesn't erase the line, just prints ''XXX?''. (And <key>^U</key> does something entirely different in HACTRN.) 
-    *    ^^ (CTRL-^) is the escape character for Supdup (at least the C version). +    *    <key>^^</key> (<key>CTRL-^</key>) is the escape character for Supdup (at least the C version). 
-    *    ^_ is (probably) the Help character in EMACS, but also a special escape character in ITS, so you have to type it twice! +    *    <key>^_</key> is (probably) the Help character in EMACS, but also a special escape character in ITS, so you have to type it twice! 
-    *    The key marked BACKSPACE⟩ or RUBOUT⟩ or DELETE⟩ is different from ^H (CTRL-H). The first typically removes the previous character. The latter (^H) typically moves backwards through a file, or in DDT, resumes the current program (but for full details, try :DDTDOC ^H).+    *    The key marked <key>BACKSPACE</key> or <key>RUBOUT</key> or <key>DELETE</key> is different from <key>^H</key> (<key>CTRL-H</key>). The first typically removes the previous character. The latter (<key>^H</key>) typically moves backwards through a file, or in DDT, resumes the current program (but for full details, try '':DDTDOC ^H''). 
 + 
 +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 <key>SPACE</key> to say "yes" (or <key>RUBOUT</key> 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). 
 + 
 + 
 +===== Some commands =====
  
 Some useful commands (not case sensitive, but traditionally in upper case): Some useful commands (not case sensitive, but traditionally in upper case):
  
   ??  :DDTDOC   ??  :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. !!+:: 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   ??  :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). !!+:: 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   ??  :LUSER
 :: This command calls for help from more knowledgable hackers, if any are logged in. !! :: This command calls for help from more knowledgable hackers, if any are logged in. !!
   ??  :SEND user message^C   ??  :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.) !!+:: sends a message to user (end with <key>CONTROL-C</key>. 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 <key>^A</key> in HACTRN. (:SEND is similar to write in u*ix, but better.) !!
   ??  :KILL   ??  :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). !!+:: kills the current "job" (subprocess). To see which jobs you have, use '':JOBS'' (or <key>$$V</key>); to switch between them, use '':JOB'' (or <key>$J</key>) (or '':JOB jobname'' or ''jobname$J''). !!
   ??  :EMACS   ??  :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. !!+:: 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 (where ''M-x'' means Meta-X or <key>ESCAPE</key><key>x</key>. !!
   ??  :PEEK   ??  :PEEK
-:: Similar to top in u*ix, but show more kinds of information. Try pressing ?. Pressing Q quits. !!+:: Similar to top in u*ix, but show more kinds of information. Try pressing <key>?</key>. Pressing <key>Q</key> quits. !!
   ??  :FINGER, :F, :NAME, :N, :WHEN, :WHOIS   ??  :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. !! :: 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   ??  :PRINT file
-:: prints file on your terminal, similar to more in u*ix. Try :PRINT HACK;MD NEWS!!+:: prints file on your terminal, similar to more in u*ix. Try '':PRINT HACK;MD NEWS'' !!
   ??  :LISTF   ??  :LISTF
-:: lists the files in the default directory. Also try :LF, which is different. !!+:: lists the files in the default directory. Also try '':LF'', which is different. !!
  
- +More commands: 
-  * For a fun introduction to more commands, read ((hactrn|The HACTRN)) by Guy L. Steele. +  * For a fun introduction to more commands, read [[http://victor.se/bjorn/its/hactrn.php|The HACTRN]] by Guy L. Steele. 
-  * For a gentle introduction to more commands, read Getting Started Computing at the AI Lab (PDF [new 101222]) especially chapter 6. +  * For a gentle introduction to more commands, read {{AI_WP_235.pdf|Getting Started Computing at the AI Lab}} especially chapter 6. 
-  * For a serious introduction to DDT/HACTRN, read the DDT Primer and Reference Manual, e.g. by using the command :INFO DDT. +  * For a serious introduction to DDT/HACTRN, read the [[http://victor.se/bjorn/its/ddt.html|DDT Primer and Reference Manual]], e.g. by using the command :INFO DDT. 
-  * For historical information, read the Wikipedia article.+  * For historical information, read the Wikipedia article on the [[wp>Incompatible Timesharing System]].
  
 ===== Directories and files ===== ===== Directories and files =====
Line 76: Line 83:
  
 File names have four components. Each can be up to six characters. File names have four components. Each can be up to six characters.
-  *         Device, ended by : (colon), e.g. DSK: or MD: (ITS host name) +  *         Device, ended by '':'' (colon), e.g. ''DSK:'' or ''MD:'' (an ITS host name) 
-  *         Directory, ended by ; (semicolon), e.g. USERS1;, .TEMP.;, or HACK;.+  *         Directory, ended by '';'' (semicolon), e.g. ''USERS1;''''.TEMP.;'', or ''HACK;''.
   *         "FN1" (File Name 1), the "main file name".   *         "FN1" (File Name 1), the "main file name".
-  *         "FN2" (File Name 2), separated from FN1 by a space. FN2 is used for file type (e.g. BIN) or more often for file version/generation.+  *         "FN2" (File Name 2), separated from FN1 by a space. FN2 is used for file type (e.g. ''BIN'') or more often for file version/generation.
 Example: "MD:.INFO.;DDTORD >". Example: "MD:.INFO.;DDTORD >".
 Sometimes filenames are shown in another order, as DIR; DEV: FN1 FN2. Sometimes filenames are shown in another order, as DIR; DEV: FN1 FN2.
  
 About file versions: About file versions:
-  *         If you write a file FOO >, you create the next version of FOO. If FOO 41 exists, you create FOO 42. +  *         If you //write// a file ''FOO >'', you create the **next** version of FOO. If ''FOO 41'' exists, you create ''FOO 42''
-  *         If you read a file FOO >, you read the latest version (or largest version number).+  *         If you //read// a file ''FOO >'', you read the latest version (or largest version number).
   *         The FN2 "<" represents the oldest (lowest) version.   *         The FN2 "<" represents the oldest (lowest) version.
-  *         So you may need to clean up once in a while, e.g. by using the H command in DIRED (in EMACS).+  *         So you may need to clean up once in a while, e.g. by using the <key>H</key> command in DIRED (in EMACS).
  
-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). 
  
 ===== Quick Ref for various commands ===== ===== Quick Ref for various commands =====
Line 100: Line 104:
 The program used for (among other things) shutting down the system cleanly. The program used for (among other things) shutting down the system cleanly.
  
-  *         Type :LOCK to start it, and it prompts you with _ (underscore). +  *         Type '':LOCK'' to start it, and it prompts you with _ (underscore). 
-  *         To schedule a shutdown, give the command nDOWN, where n is the number of minutes to wait (minimum 5). +  *         To schedule a shutdown, give the command ''nDOWN'', where ''n'' is the number of minutes to wait (minimum 5). 
-  *         You are now asked if you really want the system to go down. Answer y if you really do. +  *         You are now asked if you really want the system to go down. Answer <key>y</key> if you really do. 
-  *         You are then asked to enter a brief message to users, ended by ^C. Please do.+  *         You are then asked to enter a brief message to users, ended by <key>^C</key>. Please do.
  
 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%.) 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%.)
Line 109: Line 113:
 To cancel a shutdown, use the REVIVE command of LOCK.  To cancel a shutdown, use the REVIVE command of LOCK. 
  
-From HUMOR;JARGON 68 [August 1983]:+==== DSKUSE ==== 
 +'':DSKUSE'' 
 +shows how full your current directory is. 
 +'':DSKUSE hack;'' 
 +shows how full the HACK; directory is. 
 + 
 +==== PRUFD ==== 
 +'':PRUFD''  
 +PRints the User File Directories, i.e., lists the directories on disk. 
 +===== Footnotes ===== 
 + 
 +==== Lusers ==== 
 + 
 + 
 +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.]  
 + 
 +==== Alice's PDP-10 ==== 
 +(See [[http://www.hactrn.net/sra/alice/alices.pdp10|Alice's PDP-10]].)
  
-LUSER +You can hack anything you want, with TECO and DDT.\\ 
-    See USER.  +You can hack anything you want, with TECO and DDT.\\ 
-USER n+$U in and begin to hack.\\ 
-    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+Twiddle bits in a core dump and write 'em back.\\ 
-    [Note by GLS: I don't agree with RF's definition at allBasicallythere 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.] +You can hack anything you want, with TECO and DDT.\\ 
 +(But be careful typing <RET>)\\ 
 +With TECO and DDT! 
  
luser.1451401592.txt.gz · Last modified: 2015-12-29 16:06 by victor