-
Notifications
You must be signed in to change notification settings - Fork 87
/
Copy pathintro.29
executable file
·958 lines (736 loc) · 37 KB
/
intro.29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
-*-Text-*-
This is the file INFO;INTRO >, which contains information that
is, one hopes, useful to the beginning user. It is an attempt to
answer questions that are very common to the naive user. It is
not intended as 'full' documentation.
File: INTRO, Node: Top, Up: (DIR), Next: Terminals
This piece of documentation is designed for use of the new ITS
user, to give him or her a broad overview of the resources available
on the system.
If you need help in using INFO, "?" will get you a brief refresher
listing all the commands, and "H" will show you a primer. If this is
your first use of INFO, you should definitely type "H". To exit INFO
type "Q".
* Menu:
* Terminals:: How to get your terminal set properly.
* Files:: All about the ITS file system.
* DDT:: How to create and manipulate jobs with DDT.
* Users:: How to find and communicate with other users.
* Documentation:: Where to get written documentation.
File: INTRO, Node: Terminals, Up: Top, Next: Files
This node contains very basic information about how to get help
setting your terminal type properly.
To tell this machine about the type of terminal you are on, use the
:TCTYP command. Typing ":TCTYP ?" at DDT (followed by a carriage
return) will give info about the setting TCTYP can have. It will
also point you to more complete documentation if you desire it. One
of your first concerns on this machine should be telling the
computer what type of terminal you have so that it can do the most
effective possible job of using your terminal's features to its
advantage.
TCTYP knows about many standard types of terminal. For instance, if
you are on a VT52, you should just type
:TCTYP VT52
and all programs on the system will be able to do appropriate things
with your output to take advantage of your terminal type. (":TCTYP ?"
will, of course, give you all this info.)
If you find that TCTYP does not support your terminal, or the right
options to make it do reasonable things with your terminal, you
should also look in the INFO program under a topic called 'CRTSTY'
for a description of this program. CRTSTY knows about special
terminals that the operating system doesn't, and it can be of great
help in making them livable. ADM, Datapoint and Datamedia, VT100,
and others are in this category.
If you are getting a double-echo when you type characters, it is
because either you or your host computer is in half-duplex mode. ITS
expects to be echoing your characters for you as you type. To
correct the problem, make sure the button marked FULL/HALF DUPLEX on
your terminal is in the "FULL" position. If it already is, then try
to get your host computer to stop echoing. If this fails, be sure to
specify "HALF" in the list of options to TCTYP. That will tell it
that you are using a half-duplex terminal and not to echo your
input. All programs on ITS assume full duplex, and some are more
flexible than others about the need for full duplex, but you
shouldn't expect wonders from any programs that do fancy display if
you are set in half-duplex mode.
(See also the TCTYP node under INFO for more complete documentation.)
File: INTRO, Node: Files, Up: Top, Next: Dirs
This node contains information about the ITS file system.
* Menu:
* Dirs:: What a directory is and how to see it.
* Names:: How to make sense out of ITS file names.
* Manipulation:: How to manipulate files with DDT.
File: INTRO, Node: Dirs, Up: Files, Next: Names
This node contains information about the structure of file
directories on ITS.
ITS file directories are not hierarchical in nature. There are a
finite number of directories, all at one level, and no subdirectories.
To see the files in a directory, use:
:LISTF directory-name
File: INTRO, Node: Names, Previous: Dirs, Up: Files, Next: Manipulation
This node is designed to teach a new user how to read and
understand the various formats in which file specifications
can appear.
* Menu:
* Basic:: The four fields of a file name and what they mean.
* Abbrevs:: Abbreviations for and alternate forms of file names.
* Convention:: Special file-naming conventions.
File: INTRO, Node: Basic, Up: Names, Next: Abbrevs
Each file name in an ITS file specification has four fields, not all of
which need to be specified (some may default), but all of which will at
some time be used. This section will deal with the meaning of each
field.
A file specification will normally look something like this:
DSK: MYDIR; MYPROG NEW
and is organized into four fields. The structure of the above file
specification is as follows:
<device>: <directory>; <file-name1> <file-name2>
where <device> = DSK, <directory> = MYDIR, <file-name1> = MYPROG, and
<file-name2> = NEW.
What follows is a description of the four fields of a file name:
<device> - the hardware/software device on which the file lives.
For the naive user this should always be DSK, which is the
normal disk packs. The device is DSK by default, so, if you
pretend it isn't there, and if you leave it out of every
file name that you ever deal with, then the whole world
should continue to function properly.
<directory> - the name of the directory (if applicable). Most devices
(like DSK for example) do use directories of some sort.
<file-name1> - the first 1-6 characters of the file name.
<file-name2> - the second 1-6 characters of the file name.
To specify files to DDT (the top-level job that you are running) --
and to almost any other job, since all try to adhere to the convention
-- you should type:
<device>:<directory>;<file-name1> <file-name2>
File: INTRO, Node: Abbrevs, Previous: Basic, Up: Names, Next: Convention
If you wish to omit <device> or <directory> -- or rearrange their
order -- that's OK. DDT recognizes the device because it ends
with a ":" and the directory because it ends with a ";".
<File-name1> and <file-name2> must be separated by a space.
Example: The disk file on directory "JOE" with File-name1="MY" and
File-name2="FILE" would look like:
DSK: JOE; MY FILE
Spaces may be included between any of the four items. They are
necessary at the end of file-name1 and the beginning of file-name2, of
course. Other valid ways of naming the same file are:
DSK: JOE; MY FILE
JOE; DSK: MY FILE
DSK:JOE;MY FILE
DSK:MY FILE JOE;
MY JOE; FILE DSK:
and probably anything else that is similar -- except, of course, that
file-name2 may not precede file-name1.
File: INTRO, Node: Convention, Previous: Abbrevs, Up: Names, Next: Manipulation
There are a few special file-naming conventions on ITS. Some are just
traditions; but some are specially recognized by the operating system, and
interesting things are done with them.
* Menu:
* Greater-Than:: The ">" convention.
* Fn1/Fn2:: Unusual first and second file names.
File: INTRO, Node: Greater-Than, Up: Convention, Next: Fn1/Fn2
There is one other important feature, or convention, for file names
on this system. It is called the greater-than convention. This node
will deal with that convention.
When the operating system sees the symbol ">" as a second
file name in a file specification, it will not think you mean a file
whose second file name is that character. This is a special
convention which is very useful in creating numbered file names.
Why would anyone want a numbered file name? Well, let's suppose you are
working on a program that involves considerable debugging. It is
likely that you will want to create the program, test it, correct
the file, and re-test. The most convenient way to do this on ITS
is to create a file originally with a first file name the same as the name
of the program, and a second file name which is a number.
So, let's say you've created a file called "MYPROG 1", and you
discover it has a bug. What you would like to do is read it back
into your editor (see other documentation on editors) and make
corrections, writing the new revision out to "MYPROG 2". That way
you can keep track of which is the newest revision, because it has
the highest revision number.
To do this efficiently, there is the 'greater-than' convention. It
says that if you try to read in (or print, or open for input in some
other way) a file named "something >", what you really mean is to
read in the file whose second name is the highest-numbered file with
that first file name. And when you write out a file named "something >"
-- you NEVER want to clobber an existing file, so it will have a
second file name one higher than any existing second file name for
that group of files.
You can then go and delete the old revisions of the file by naming
them explicitly.
Note that if you DELETE the ">" file, you delete the largest-numbered
file in existence.
File: INTRO, Node: Fn1/Fn2, Previous: Greater-Than, Up: Names, Next:
DDT treats files specially that have a first file name of TS.
When a user types
:<job-name>
DDT will look for a file named "TS <job-name>" in the directories in
the user's search rules. If DDT finds such a file, the file is
expected to be in a runnable binary format.
Traditionally, many second file names of files have been treated
specially. The following is a list of some of those file names.
COMPRS This is a TECO compressed library.
:EJ This is a TECO compiled library. (Note that ':' is special
to file naming and usually means the end of a device field.
To type in a file name with a ":" in it, you must type a ^Q
(control-Q) immediately before the colon.
Example: "DSK:FOO;BAR :EJ"
OUTPUT This is a temporary file output by a program. Such files
should be renamed to something more useful when the program
is finished with them. The GFR (Grim File Reaper) has been
known to delete files with this name without asking.
@XGP This is a temporary file created by the ":@" command. The @ program
normally queues this file for output on the XGP, and later deletes
this file automatically.
XGP This is a file created by some text-justifying program (for
example, TJ6) for output on the XGP. Such files are also
usually considered temporary.
PRESS This is a file, also temporary, created for output on the
Dover printer.
LAP This is a file containing a lisp-assembly program (compiled,
not assembled).
FASL This is a file containing a fast-loading lisp binary program
(compiled and assembled).
(INIT) In the past, initialization files had funny first file names
and '(INIT)' as a second file name. This convention has been
flushed, in favor of a first file name the same as the
user's login name and a second file name the same as the
program name.
Thus, the following old file names now convert into the new
file names as shown:
.DDT. (INIT) => <uname> LOGIN
.DDT_ (INIT) => <uname> LOGOUT
.EMACS (INIT) => <uname> EMACS
.TECO. (INIT) => <uname> TECO
.LISP. (INIT) => <uname> LISP
MACSYM (INIT) => <uname> MACSYM
File: INTRO, Node: Manipulation, Previous: Fn1/Fn2, Up: Files
This node describes the DDT commands for manipulating files
(for example, :PRINT, :COPY, :MOVE, :RENAME, etc.).
To print a file (don't use the term LIST - that's for directories)
means to see its contents on the terminal you are typing on.
:PRINT <file specification>
will print a file. For example, to print out the documentation
on DDT, you would do:
:PRINT .INFO.;DDTORD >
Remember, the ">" asks for the highest-numbered revision (which will
be the latest documentation).
Other useful things to do with files are:
:RENAME <file-spec1>,<file-spec2>
This will change the name of <file-spec1> to <file-spec2> --
providing they are both on the same directory.
:COPY <file-spec1>,<file-spec2>
This will copy a file named <file-spec1> anywhere, including
between directories, to the location specified by <file-spec2>.
Be careful that you have no existing <file-spec2>, because it
will be destroyed by this operation.
:MOVE <file-spec1>,<file-spec2>
This is just like :COPY but deletes <file-spec1> if the copying
to <file-spec2> is successful.
:DELETE <file-specification>
This makes <file-specification> go away.
Be careful with this! Type the whole file specification. Don't
leave any of the pieces out. The file specified by default (if you
just type :DELETE followed by a carriage return) is the last file
you referred to with DDT! There is no protection on files around
here to keep them from being deleted. Users are expected to be
sensible enough not to delete files that aren't their own (unless
they have the owner's consent, of course).
A full list of all DDT commands can be gotten by typing ":?"
at DDT.
While we're on the subject of printing, deleting, etc., it is well to
mention that most of these commands have control-character
abbreviations to aid in typing speed. ":PRINT" can be abbreviated as
"^R" (Control-R). Thus you can do
^R .INFO.;DDTORD >
to print DDT documentation if you don't like typing all of
:PRINT .INFO.;DDTORD >
With such power comes danger. ^O (control-O) deletes files. If you
are a TENEX hacker, DON'T use ^O thinking it means to stop output!!
It doesn't -- it deletes files! (^S stops output.) ^O followed by
a carriage return will delete the last file you printed or copied or
otherwise referred to with DDT.
The :? commands will list these abbreviations (if there are any; :MOVE
doesn't have one) in brackets at the end of the description. For
example, the entry for :COPY is
:COPY <old file>,<new file> copy file, preserving date & FN2 []
The abbreviation is "$^R". One thing that should be mentioned: When
you see a "$", it is probably NOT a dollar-sign, but an escape, so what
you should type is <escape><control-R>
File: INTRO, Node: DDT, Up: Top, Next: Manipulation
When you log in you are initially typing at DDT. DDT is your
top-level job. Its primary responsibility is to help you in your use
of other jobs. Things DDT can do fall into two categories: (1) DDT
commands and (2) jobs.
* Menu:
* Commands:: What are DDT commands; why are they useful?
* Programs:: What is a user program? How does it differ from
a DDT command?
* Ctrl-Char:: Useful control characters.
* Detached Trees:: How to get back a detached tree.
File: INTRO, Node: Commands, Up: DDT, Next: Programs
This node will describe what DDT commands there are, and what
you can do with them.
DDT itself is a job (DDT's formal name for a program), and it
takes up a job slot in the system. The system has a fixed number of
job slots (95 for MC, which has a large amount of real memory, fewer
for the other ITS sites). Most DDT commands do not take up job slots
(except those which are specific requests for creation of a job) --
instead, you may think of them as subroutines in the DDT job. A full
list of all DDT commands can be gotten by doing ":?" -- any command
that you do from DDT which is not on the list you get with ":?" is not
a DDT command but a job. (See next section: Programs.) DDT commands
include some file manipulation commands (see section on file
manipulation), system status, and many debugging commands.
All commands and job names are only six characters or fewer. You may type
more characters, but only the first six will be used in the creation
of a job name.
File: INTRO, Node: Programs, Previous: Commands, Up: DDT, Next: Ctrl-Char
Your process is structured in the form of a tree with its root at
the top. DDT is at the top and it may create lower nodes which may
(on rare occasions) create lower nodes below them. When you run a
DDT command, you stay in the node of the tree called HACTRN (the job
name of your DDT). If you create two jobs (called FOO and BAR, for
instance), your tree would look like this:
HACTRN
/ \
FOO BAR
DDT itself is a job. Other jobs can be created by DDT. DDT is
responsible for keeping track of which job you are in and moving you
from job to job. Jobs are created by typing a ":" followed by a job name
followed by a carriage return. (Note, many DDT commands use the same
syntax -- there are no jobs with the same name as DDT commands, so this
isn't a problem.) For example, typing ":NAME" followed by a carriage
return will start a job that will tell you the names of all the people
logged into the system.
To return from a job to DDT temporarily, you can type ^Z (control-Z), which
will harmlessly leave the job in a manner that it can be re-entered later.
For example, if you are in a Macsyma and receive a message from another
user to which you would like to reply, you can type control-Z, which will
return you to DDT temporarily; then send your reply; then re-enter your
Macsyma with ":CONTINUE" (see below) without having harmed what you were
doing in it.
The following DDT commands may be useful for manipulating jobs:
:LISTJ - lists all of your jobs. The current job (if you have any jobs)
will have a "*" beside it.
:CONTIN - continues running the current job, as if you had never left it.
:JOB - rotates the job tree. (It selects the next job in the tree as the
current job. It may be useful to think of your jobs as being
in a circle, upon which :JOB will move you from point to point.)
Typing this when you have no jobs will give the response:
"JOB?". This is a DDT error message equivalent to "Are you
implying that you think you have a job?" It isn't asking for
an answer -- all DDT errors just seem to end in a "?".
:KILL - You will see many jobs do this on their own when they are done
doing their thing (:NAME for instance). If you have control-Z'd out
of a job and are done with it, you should do ":KILL" to free up
the job slot it consumes.
:MASSAC - (short for :MASSACRE, but, due to the rule about 6 characters,
:MASSACHUSETTS will also work if you're fond of extra typing)
will kill all of your jobs in one fell swoop. (It won't affect
detached trees, however -- there's an entry later on about how to
deal with detached trees if you've run across one and wondered
what to do.)
Some DDT commands and jobs require additional information in
order to do their thing. Some may allow additional info but
not require it. This additional is called JCL (Job Control
Language), and, unlike IBM JCL, ITS JCL is simple and does not
require years of study to master -- you just put the info the
job needs on the line after the job name and before the
carriage return.
For example, the ":JOB" command -- that we mentioned will rotate your
tree to the next job -- may be given JCL to get it to do something
different. If you do something like
:JOB FOO
you will reselect the job FOO, no matter where it is in your job tree.
(Note: If no such job FOO exists in this case, a slot will be allocated
for it. The job will have no program in it and will be essentially useless
to you. If this happens, you can make the job go away with ":KILL".)
Also note that there is a DDT command called :JCL that allows you to
specify JCL for a job. Do NOT use it for the time being. Using it
correctly requires more advanced knowledge of DDT than you
probably have right now if you are reading this. It will likely have
an un-noticed effect on your jobs, but it may produce VERY odd results as
well under certain circumstances.
File: INTRO, Node: Ctrl-Char, Previous: Programs, Up: DDT, Next: Detached Trees
This node will discuss some of the useful control characters which are
recognized by DDT, and how to make use of them.
Control characters are produced by holding the control-key on your
terminal and typing the character. (It's like a different flavor of
Shift key.) Control characters are printed usually as up-arrow ("^")
followed by the character. Don't type the "^" -- just hold down
"control" and type the character following the "^".
<Altmode>, , or ^[
Many programs, including DDT, treat this character
specially. Note that there is a character $ (dollar sign)
on your terminal, and it probably echoes the same as
(Altmode). To get <Altmode>, type the key marked <ESC> or
<ALT> or <SEL> on your terminal. It will echo as a .
Very few programs mean $ (dollar sign) when they echo the
dollarsign - most mean <Alt>. But be aware that there is
a difference, so you're not completely lost.
If you're using a very fancy TV keyboard, there may be
two keys - one marked ESC and one marked ALT. Use ONLY
the key marked ALT in that case.
^D This flushes any partial input to DDT.
^G This is DDT's quit character. If you are at DDT
level, this will echo "QUIT?" (which doesn't mean it
wants an answer). You are then ready to type a new
command to DDT.
If you are using another program, ^G will be handled
by the program. Most programs will handle ^G by
quitting and going back to the main command reader.
^L This clears the screen. If there are pending,
unprocessed characters (that is, you're in the
middle of typing a command) it will redisplay those
characters.
^S This flushes output at DDT level. Once a given
output is flushed, you must type the command again
and restart the output all over. There is no way to
resume a flushed output from the point it was
stopped. This command is not meant to stop a
command from working. It just stops its output.
^Z This causes a program interrupt asking a job to
return to its superior. If you are running a
program, EMACS for example, and wish to exit for a
moment to do something else, type ^Z. This will
bring you back to DDT, suspending your EMACS job.
(For more info on job selection and re-entering
jobs, see the section on job manipulation.)
File: INTRO, Node: Detached Trees, Previous: Ctrl-Char, Up: DDT
If you have a detached (job) tree, you will be told so when you log in.
Typing <Space> to the message "--Attach your detached tree--" will work.
If you miss your chance, type the following magic incantation immediately
after you have logged in (if you want the old tree back):
:REATTACH <your-name>
where <your-name> gets replaced by the login name you use. For example, if
you log in as JSMITH, you do
:REATTACH JSMITH
and your old tree will be magically reowned. If this doesn't work, or you
are unsure, feel free to do :LUSER, which will request a system wizard
to help you.
File: INTRO, Node: Users, Up: Top, Next: Who
ITS is a time-sharing system. There are many other users who use the
computer, and it can be to everyone's advantage if you are able to
know who is logged in and how to communicate with them when you need
help (as well has how to give help to others when they need it).
This node attempts to deal with some of these issues.
* Menu:
* Who:: How to find out who's logged in.
* Communication:: Communicating with other users.
Using MAIL and SEND.
* Announcements:: How to enter items for others to read in :MSGS.
* System Load:: How to tell if the system is 'heavily loaded.'
File: INTRO, Node: Who, Up: Users, Next: Communication
There are many system programs for finding out who is using or has used
this computer, and whether they are currently logged in. This node
gives a brief description of what each does.
The following commands will give info about who's on the system (in
increasing levels of verbosity):
:U or :USERS
lists the user names only of all users logged in.
:W or :WHO
lists the user names and TTY (terminal) numbers of all logged in.
:WHOJ
lists the user names, TTY numbers, and job names of all logged in.
:NAME, :FINGER, :F
lists the user names, affiliations, real names, job names, idle time
(time since the user typed on the terminal) if any, TTY number, and
TTY location for all logged in.
:WHOIS
lists the same as :NAME plus an incredible array of extra stuff like
home addresses, nicknames, remarks to INQUIR, etc. for all logged in.
Some of the commands do different things with something on the same
line as the command (JCL line). Examples:
:WHOIS <name>
lists personal description of <name> regardless of whether he or
she is logged in.
File: INTRO, Node: Communication, Previous: Who, Up: Users, Next: Announcements
There are two basic forms of message sending, SEND and MAIL. This
node talks about how the :SEND and :MAIL commands are used, and
the cases in which it is desirable to use one over the other.
SEND is something that you use to send a message to a person who is
currently logged in and whom you want to get the message right away.
The usage is:
:SEND <name> <message> ^C
Note that since the message is terminated with a control-C, it may extend
over more than one line. So something like:
:SEND JOHN Hi. How are you.
I have a problem. I don't know how to use :SEND
^C
is perfectly acceptable.
When you type the control-C at the end of the send, JOHN will immediately
receive the message on his terminal. It will look like:
[Message from <Yourname> at <Machine> <Time>]
Hi. How are you.
I have a problem. I don't know how to use :SEND
He can then respond to you with a message explaining that you are
bothering him with untrue complaints since you had to know about
:SEND to send the message. Anything a user receives that is sent
via :SEND will be deleted when the user logs out. Until then, it
is accessible by the :PRSEND command...
:PRSEND or :PRSEND <name>
For more info on how to use :SEND try typing ":SEND ?" immediately
followed by a carriage return.
MAIL is the way to send mail to another user that you don't expect to be
read now or that you want to be saveable. MAIL will not be deleted
until it is explicitly read by the recipient(s). If they are logged in,
DDT will print a message on their terminal(s) telling them they have
mail, which they may choose to look at or not, depending on how busy
they are. If you try :SEND <name> and it immediately types "(Mail)",
it means the user is not logged in or not accepting messages (perhaps
they are trying to get a nice printout), and your SEND will go as
mail.
To print your mail, use :PRMAIL. The usage is:
:PRMAIL or :PRMAIL <name>
For more detailed information on MAIL, see *Note Mail:(Mail).
File: INTRO, Node: Announcements, Previous: Communication, Up: Users, Next: System Load
Announcements are messages that everyone will read with the :MSGS
command.
There are two kinds of announcements: System Messages and
Bulletin-Board Messages. (See *Note Announcements: (SYSMSG). You can
do that by typing "F" for footnote, followed by enough letters of the
word "Announcements" to distinguish it from the other footnotes in
this node. Then, type "L" to come back here to continue with your
introduction.)
File: INTRO, Node: System Load, Previous: Announcements, Up: Users
This node describes how to recognize a heavily loaded system, and
the meaning of the term "fair share," and what net ports are.
It is hard to define precisely what is meant by a "loaded" system.
There are several different kinds of system resources which are
needed from time to time, and, if any of them are exhausted, the
system may be said to be heavily loaded.
If you are connected to an ITS machine from the ARPAnet (or another
ITS machine), then you are using a net connection called a "port." If
you are using the CRTSTY program for a terminal type which ITS does
not support directly (VT100, ADM3A, etc.), you are using two net
ports. There are a limited number of net ports.
Additionally, your CRTSTY is using a job slot. A job slot is just what
it sounds like. Your HACTRN (the monitor program you are running when you
aren't doing anything else) and this INFO program are examples of jobs.
Like the number of net ports, the number of job slots is limited, and
it varies from site to site.
If you want to find out about system status, you can call the LOADP
program by typing
:LOADP
If you type ^Z and :LOADP now, you'll see something which looks like this:
12 users idle less than 1 minute.
5 idle 1 to 5 minutes.
3 idle 5 to 10 minutes.
4 free net ports.
3 free job slots.
:KILL INFOJ
Type "P" (or ":CONTIN ", since they do the same thing) to return to INFO.
The load described in the above example is too much for tourist
usage on any machine but MC.
SSTATUS is a DDT command which prints out some other system load
information. The following guidelines may be helpful in interpreting the
information that :SSTATUS will give you:
[1] Fair share below 40% -- Fair share changes a lot from moment to
moment, even with light load, but, if it is consistently below
40% or (Heaven forbid!) 10%, then the system is pretty loaded.
[2] Over 18 users on MC, 15 on AI, 7 on ML and DM. No matter what
else is happening, things start to slow down and job slots start
to get scarce when the number of users starts to climb.
[3] Fewer than 10 job slots.
Any time you get a message from a lab member (or the SYSTEM OVERSEER
or GUNNER) asking that you log out, you should do so immediately. Even
if the above guidlines indicate that you should be able to stay logged
in, other factors which are not mentioned here may be in play.
File: INTRO, Node: Documentation, Up: Top, Next: Manuals
This node contains documentation about where to find written
documentation on and offline.
* Menu:
* Manuals:: How to order manuals.
* On-line:: On-line (non-interactive) help files.
* Helpers:: Programs that give on-line help.
* Teachers:: Programs that teach things.
* Other:: How to order other documentation (besides manuals).
File: INTRO, Node: Manuals, Up: Documentation, Next: On-line
Available from the MIT Laboratory for Computer Science publications office:
* MacLisp Manuals ("Saturday Evening" Edition, 1983) are $8.90,
postage included.
* The Macsyma Manual (9th edition, maybe out of print) costs $5.00.
A 10th edition, published in 1982, is available as a three-volume set.
It costs more; we should look up the price and insert it here sometime.
* There are two manuals for MDL:
"The MDL Programming Language" ($4.00)
describes the language itself.
"The MDL Programming Environment" ($3.50)
describes MDL programs that can raise a MDL programmer
from "basic survival" to "comfortable living".
* A list of other LCS publications is free. These include Technical
Reports, Technical Memoranda, and Progress Reports.
The address of the MIT Lab for Computer Science publications office is
Publications Distribution
MIT Laboratory for Computer Science
545 Technology Square, room 112
Cambridge, MA 02139
Make all checks payable to "MIT Laboratory for Computer Science."
Please add $1.00 per order for postage and handling unless otherwise
noted.
----- ----- -----
Available from the publications office of the MIT A.I. Laboratory:
* The Lisp Machine Manual
* A list of AI Lab publications is free. These include Technical
Reports, Memos, Working Papers, Books in Print, etc.
The address of the MIT A.I. Lab publications office is
Publications
MIT Artificial Intelligence Laboratory
545 Technology Square, room 908
Cambridge, MA 02139
Make all checks payable to "MIT Artificial Intelligence Laboratory."
File: INTRO, Node: On-line, Previous: Manuals, Up: Documentation, Next: Helpers
This node contains nodes which are the long documentation files for
some of the major user programs available. These files are on-line
with more or less complete documentation about certain major aspects
of the system. (These files are ones which are not currently
structured for the INFO program.)
* Menu:
* ITS Intro: (.INFO.;ITS PRIMER)*
A more formal (and longer) introduction to the MC system
* DM Intro: (DM:.INFO.;ITS INTRO)*
An even longer introduction to the DM system
* DDT Doc: (.INFO.;DDTORD >)*
Full documentation of DDT
* DDT History: (.INFO.;DDT ARCHIV)*
In reverse chronological order, the changes made in recent
revisions of DDT
* MDL Doc::
This node describes how to get documentation using programs
and files available especially for this purpose (on DM only).
* EMACS Doc: (EMACS)Top
EMACS is an editor which is very smart about how to edit
files using a display terminal. If you have a CRT capable
of writing anywhere on the screen (that is, not just on the
bottom line), this is probably for you.
* TECO Doc: (.TECO.;TECORD)*
This file contains full documentation on the Teco text
editor. TECO is an old but reliable text editor used now
mostly by people on printing terminals.
Note: ITS TECO is not the same as DEC's version. Read the
documentation before using it (especially for any commands
starting with "F" or "E", which are all different on ITS).
Other files on the .INFO. directory may also be useful.
Do ":LISTF .INFO." for a list of the files.
There is also an INFO directory, which contains files in a format
used by the :INFO program. Don't bother to print these; run :INFO
instead, since it knows how to read those files in a nicer way!
File: INTRO, Node: MDL Doc, Previous: On-line, Up: On-line
The MUDMAN directory is the place to look for documentation on MDL.
There are two separate "manuals" on this directory. The larger is
an on-line copy of the printed "The MDL Programming Language". It is
contained in the file DM:MUDMAN;REFERENCE MANUAL. Its separate
chapters are in the ARChive file DM:MUDMAN;ARC MANUAL. You can
"step through" it a chapter at a time by
:PRINT MUDMAN;ARC:CHAP01 >
and incrementing the chapter number until you run out of them.
The :MUD program on DM may be useful in obtaining documentation on
individual primitives (SUBRs or FSUBRs) from a shorter on-line
reference manual (MUDMAN;MUDDLE ORDER). Sample usage:
:MUD
This command will list all of the MDL SUBRs and FSUBRs and a short
(one-line) description of what they do.
:MUD MAPF
This command will describe the MDL SUBR MAPF.
File: INTRO, Node: Helpers, Previous: On-line, Up: Documentation, Next: Teachers
This node deals with programs running on ITS that give helpful
information or documentation about programs not described through
INFO.
The following other methods of obtaining info on this machine's
programs are available (in addition to the INFO which you are now running):
:?
This will give a full list of DDT commands.
:LUSER
This will send a message to any system people now logged in,
saying that you are in trouble or greatly confused and need help.
It will send to a large number of people if all the helpers are
logged in, so try not to rely on it always, but these people can
be very helpful if you are really lost.
:SEND
(fully described in the section on SEND/MAIL commands in this
file) can be used of course, too. If you're wondering whom to
ask, do :NAME and pick a system native out of the logged-in users.
Natives to MC will have an "M" by their names, natives to ML a
"P" or "Z", natives to AI an "A", and natives to DM a "D". They
can probably either answer your question or suggest someone else
who can help.
>>> How NEVER to request info:
:SHOUT
This is a command to send a message to all users. It works like
:SEND but doesn't need a name of a person to send to, since it
sends to all logged-in users. This is NOT for casual use, since
it interrupts everyone. If you are thinking of using this to find
out the answer to a question, don't. Use :LUSER, which will
bother only people who have volunteered to help out in such
situations.
This command also DOES NOT put something in the system messages
that you see when you log in. The way to send a system message is
documented elsewhere in this file.
File: INTRO, Node: Teachers, Previous: Helpers, Up: Documentation, Next: Other
There are a few programs available, which will actually attempt
to teach you how to use themselves: EMACS (a text editor) and
MACSYMA (a symbolic algebra system (running on MC only)). This
node will tell you about how to start them up in teaching mode.
:TEACHE
This program works only if you are on a display terminal (CRT
which can display on other than just the bottom line of the
screen) and ITS knows your terminal type (via :TCTYP). This
program will teach the EMACS editor -- by far the fanciest and
most powerful of the editors available.
On the MC machine (ARPAnet host 236 decimal), the following are also available:
:TEACHM
This program goes through a basic primer for the Macsyma language,
interactively. Macsyma doesn't run on ITS machines other than MC,
so neither does this program.
:TEACH;LISP
This program offers an interactive introduction to the Maclisp language.
It is also available at MIT-OZ as <KMP.TEACH>TEACH-LISP.
File: INTRO, Node: Other, Previous: Teachers, Up: Documentation
This node contains information about ordering Macsyma documentation
via US Mail.
Documentation, which accompanies orders for Macsyma manuals
automatically, but which may be ordered separately if needed,
includes:
"An Introduction To ITS for the Macsyma User" -- $1.00
(available on-line as .INFO.;ITS PRIMER)
"The Macsyma Primer" -- free
(available on-line and interactively through :TEACHM)
If you need a photo-copy of these, you can send mail to
MATHLAB-SECRETARY (that is, :MAIL MATHLAB-SECRETARY ...) asking for
info. If you don't know how to send mail, there are directions
elsewhere in this piece of documentation.
If you are not planning to use Macsyma regularly, don't ask
for the documentation unless you are seriously interested
in it and cannot obtain it another way. Remember that you are
asking a favor of the secretary, so don't irritate her with
messages like "Send one manual immediately to ..." -- introduce
yourself and explain that you would appreciate it, etc., and you
will have a much better chance of being taken seriously.