@device(imprint10)
@make(report)
@definefont(Userfont, 1=<Typecase ComputerModernBold10R36>,
2=<Typecase ComputerModernBold10R14>,
3=<Typecase ComputerModernBold10R9>,
4=<typecase computermodernbold10R12>,
5=<typecase computermodernbold10R10>,
6=<typecase computermodernbold10R20>)
@modify(CopyrightNotice, Fixed -1 inch, Flushright)
@Modify(Titlebox, Fixed 1.5 inches)
@Style(Font computermodernroman12)
@Style(spacing 1,indent 0)
@Style(leftmargin 1.0inch)
@Style(Linewidth 6.5inches)
@begin(Titlepage)
@Begin(Titlebox)
@begin(MajorHeading,Flushright,Font Userfont, FaceCode 1, below .2inches)
Project Athena
Newsletter
@end(majorheading)
@begin(majorheading,flushright,font userfont, facecode 6,above 0)
February 4, 1985
Volume 2, No. 2
@end(Majorheading)
@End(Titlebox)
@CopyrightNotice(Massachusetts Institute of Technology)
@end(titlepage)
@newpage
@blankspace(5 inches)
@begin(Heading,flushleft, font userfont, facecode 6)
Editorial Policy
@end(heading)
@begin(quotation,indent 0)
The @i[Project Athena Newsletter] is the official publication of Project
Athena, a five-year experiment in the use of computer technologies to
improve the education of students at the Massachusetts Institute of
Technology.  The @i[Newsletter] prints articles of interest to members
of the MIT community who participate, or who are interested, in the
Project.  These articles present the general purpose, philosophy,
technical development, and direction of Project Athena, and specific
news items about Project Athena facilities and projects.  We encourage
article submissions from the community and publish appropriate
contributions whenever possible.
@begin(format)
@tabset(2.6 inches)
If you have any comments or questions on the newsletter--
Contact:@\Will Doherty
@\Editor
@\Project Athena Newsletter
@\MIT E40-426
@\Cambridge, MA  02139
@\(617)253-0110
@end(format)
@end(quotation)
@newpage
@set(page=1)
@Begin(MajorHeading,Flushright, below .2inches)
Project Athena
Newsletter
@end(MajorHeading)
@begin(majorheading,flushright,font userfont, facecode 4,above 0)
February 4, 1985
Volume 2, No. 2
@end(Majorheading)
@pageheading(immediate,left "DRAFT", center "DRAFT", right "DRAFT")
@Pageheading(left "2/4/85",
	center "Project Athena Newsletter", right "2/4/85")
@pagefooting(Immediate, left "Project Athena Newsletter",
	center <@value(page)>, right "Volume 2, No. 2")

@Section(Building 6 and 2 Clusters Open)

@i[Eva Tervo, Operations Coordinator]

On January 25, two new clusters joined the Athena system.  Building 6-218M
contains 16 IBM PC/XT's connected to two Digital VAX 11/750's in Building
E40. 
Supplementing these terminals are 8 IBM PC/AT's running standalone.
Building 2 has 8 XT's that run as terminals on a Digital VAX 11/750,
also located in Building E40.  Output from both 6-218M and 2-225 will
print on an LN01 laser printer located in 6-218M.

6-218M is in the building 6 stairwell between the second and third
floors.  It has
two doors, one in the stairwell and one in an interior corridor.
The stairwell door is the main front door.  The corridor door is
an emergency exit only.


@section(Students: Subjects for Spring 1985)

@i[Ed Moriarty, Course Consultant]

This spring, 37 subjects with a total of about 1750 students
will use the Athena system.
About 20 of these subjects are new to Athena.
The number of students for the Spring term will be about double
that of the Fall term.  We have added two terminal rooms (6-218M and
2-225) and three more Digital VAX 11/750's.  The table on the
following page shows which subjects are tentatively assigned to which 
machines.


@subsection(Athena Student Registration)

We have revised the process by which students get Athena accounts,
called "registration."  The overall process is as follows:
@enumerate[
Students who do not already have an Athena username
@b(MUST) first reserve an Athena username by visiting
a special registration terminal.

All students then submit a form that contains his or her username and
full name to their instructor or TA.

The "account administrator" for the subject then creates
accounts on the machines used by the subject for the students who
submitted their usernames.
]

@subsection(Step 1:  Reserving an Athena Username)

Students registering for one of the subjects listed in the table
below who do
not already have an Athena username (also referred to as a "login id")
will first have reserve a username.
Go to one of the Athena Registration Terminals
located in either the W20 Student Center fifth floor library
(6 terminals) or in 66-080 (2 terminals).

The registration program asks for your name and MIT ID number.  It then
looks for you in a database to see if you
have registered for the spring term.  If the database indicates that you
have registered, the registration program will allow you to reserve a
username and establish an initial password.

If the registration program does not locate you in the
database (because of mispelled entries in the database, late
registration, etc.), then you should contact Athena account
administration staff in the carrel across from E40-442C, between 1pm and
5pm, with proof that you are currently enrolled as an MIT student (an
MIT ID with current sticker or a reasonable facsimile).  They will make
sure that, if you are a registered student you get an Athena username.

@b(You must reserve your username before you give it to your instructor.)
Otherwise, the subject's account administrator will not be
able to set up an account for you.


@subsection(Step 2:  The Registration Form)

On the first day your class meets, you will receive an instruction sheet
that explains how to reserve a username.  You will also receive a
Registration Form.  After you have
reserved a username, simply fill out the form and
return it to the instructor.  @b(You will not get a working account until
you reserve a username and submit the form.)

@subsection(Step 3:  Account Creation)

Your account
administrator (instructor or TA) will 
take the registration form you gave him/her, 
check to make sure you have enrolled
in the subject, and then create an account for you on the machine
your subject will use.  This may take several days.  See your account
administrator for information on when your account will be available.

@newpage
@begin(format)
@begin(center)
@b[Tentative] Project Athena
Allocation of Courses to Machines
for the Spring '85 Term
As of January 14, 1985
@end(center)
@bar()
@center(@u[Bldg 1:])
@tabset(1.5 inches, 2.1 inches, 2.7 inches, 3.3inches, 3.9inches,
	4.5 inches, 5.1 inches, 5.7 inches)
@center(Subject Number)

@u(Machine)
zeus (server)
hera@\1.03
demeter@\@\1.12@\@\@\@\@\@\2.01
ares	
poseidon@\@\@\@\2.671@\2.672@\13.901@\16.62x
hades @\@\@\1.542@\@\@\@\@\2.01
@bar()
@center(@u[Bldg 2:])
@center(Subject Number)

@u(Machine)
andromache@\5.32@\18.330@\18.336
@bar()
@center(@u[Bldg 4:])
@center(Subject Number)

@u(Machine)
athena@\11.481@\13.76@\22.44j@\Tech & Policy Seminar
@bar()
@center(@u[Bldg 6:])
@center(Subject Number)

@u(Machine)
PC/AT's@\18.06@\8.22
odysseus@\@\@\14.01@\14.02@\17.401
agamemnon@\@\@\14.01@\14.02@\@\21.780
@bar()
@newpage
@bar()
@center(@u[Bldg 11:])
@center(Subject Number)

@u(Machine)
apollo (server)
charon	
aphrodite@\@\@\13.40
artemis@\12.21@\12.502
atlas@\@\@\13.40
@bar()
@center(@u[Bldg 38:])
@center(Subject Number)

@u(Machine)
trillian (server)
slartibartfast@\@\6.013@\6.014@\16.02@\16.04
zarquon@\3.185@\6.013@\6.014@\@\@\@\hst090
hactar@\@\6.013@\6.014@\16.02@\@\@\hst090
prak@\@\@\@\@\@\21.232
@bar()
@center(@u[Bldg 66:])
@center(Subject Number)

@u(Machine)
clio (server)
mnemosyne@\1.00@\2.10
erato@\1.00@\2.10
calliope@\1.00@\2.10
polyhymnia@\1.00@\2.10
urania@\@\@\10.01
euterpe@\@\@\10.01@\17.487
@bar()
@center(@u[Building W20:])

ringworld (server)
louiswu
nessus
speaker@\@\Student accounts for those who have completed
teela@\@\courses using Athena equipment
prill
@bar()
@end(format)

@newpage
@section(Consulting Coverage Spring Term)

@i(Mike Candan, Head Student Consultant)

@subsection(Walk-In Consulting Centers)

Our walk-in consulting centers are located in the most
heavily-used Athena clusters:  1-142, 11-113, 66-080, and the Student
Center (W20) fifth floor.

Students consultants will be staffing our walk-in consulting
centers primarily during the afternoons and evenings this term.  The
consultants will not be on duty during dinner hours (5-7 p.m.), Friday
and Saturday nights, and the early morning hours (midnight to about
10 a.m.).  We'll be adjusting the schedule slightly to provide the best
coverage possible as the term progresses.  A schedule will be posted
in all the Athena clusters.

@subsection(Phone Consulting)

You can also try calling the Consultant's Office at (25)3-4435.  Although
we do not guarantee coverage at every hour, we will be trying to answer the
phone during the late morning to 4 p.m. and evening hours on weekdays,
and on weekend afternoons.

@section(Athena Survival Courses)

@i[Cecilia d'Oliveira, User Services Manager]

First-time students in Athena-sponsored courses should consider
attending a two-hour introduction to Athena entitled ``Athena
Survival.''  Scheduled  several times during the first two weeks
of the term, the Survival course will teach the basics of the system,
such as how to login, use the text editor, send mail, and run programs.

Anyone who plans to attend a Survival course should obtain a "starter set"
of the Athena @i(Essential) series of documentation and review it prior to
the session.  Students in Athena-supported courses will
receive this "starter set" documentation at the first class of the term.
Otherwise, you can obtain the documentation from the IS Publications
Office in 11-209 weekdays from 11am to 3pm, or in any
Athena terminal cluster.  If you feel you need more
explanation than the documentation provides, you should attend one
of the Survival courses.  The Survival courses will cover what is in the
@i(Essential) documentation.

The Survival courses are primarily intended for student, but
they will be open to anyone else who wants to attend on a first come,
first serve basis.

Here is the Survival course schedule.  Survivals may be offered later in
the term if there is sufficient demand. If your schedule permits, we
encourage you to attend one of the sessions offered in 34-101, because
more people can be seated there  comfortably.

@begin(format, leftmargin +.5inches)
@tabset(2 inches, 4 inches)
@bar()
@b[@=Date@\@=Time@\@=Location]
@bar()
Wed, 2/6@\6-8PM@\34-101

Thurs, 2/7@\9-11AM@\1-390

Thurs, 2/7@\6-8PM@\34-101

Fri, 2/8@\10AM-12noon@\1-390

Mon, 2/11@\1:30-3:30PM@\34-101

Wed, 2/13@\3-5PM@\34-101
@bar()
@end(format)

@section(No W20 Dial-Up Service)

There is currently no dial-up access to any W20 host.  There are no plans
to provide dial-up service to W20.

@section(Consultant's Corner: The History Mechanism)

@i(Win Treese, Student Consultant Staff)

The @i(history) mechanism is one of the most useful
parts of the C shell. (The C 
shell is the piece of software that interprets the commands that you type
on Project Athena machines.) The @i[history] mechanism
makes it possible for you to
repeat commands that you have already executed, to reuse arguments such
as filenames from
previous commands, or to fix typing errors, all quickly and easily without
having to retype the commands over again.

@subsection(The History List)

The C shell maintains a list of commands that you have executed,
called the ``history list.''  The shell variable @i(history), usually
set-up in the @i[.cshrc] file in your home directory, specifies the
length of the history list.  The @i[.cshrc] file supplied by Project
Athena sets the @i(history) variable to 40, which means that your forty
most recent commands are in the list.  You can see this list by typing
@i(history) to the shell.  For example, if the @i(history) variable is
set to 5, you might see (what you should type is shown in bold face):
@newpage
@begin(format, leftmargin +1inch)
% @b[history]
     7  emacs myfile
     8  talk fakeuser
     9  date
    10  diff thisfile thatfile
    11  history
%
@end(format)
We will use this short history in examples later in this article.

@subsection(Re-Executing Previous Commands)

When you want to make use of a previous command in the history list,
you signal the fact with the character !.  This ! is called the
"history substitution" character because it tells the shell you want
to substitute some historical text for parts of the command to come.

You can put the !
anywhere in a command line.  When you type a command line with a
history substitution, the C shell echos the command line as you type it,
then prints the command line again with the history substitutions
expanded to their actual values.  This happens before the C shell
executes the command line, so you can see exactly what commands the C
shell executes.

The simplest  case is the command @b[!!], which runs
the previous command again; for example:
@begin(format, leftmargin +.5inches)
% @b[pwd]
/mit/a/u/auser
% @b[!!]
pwd
/mit/a/u/auser
%
@end(format)

You can repeat other previous commands by specifying:
@begin(itemize, spread 0)
the ``event number'' of the desired command line relative to the current
command line, or

the event number of the desired command line, or

the first few letters of the initial command name in the desired command
line
@end(itemize)
Thus, using the history list shown above as the example, you would
execute the command @b[date] again by typing:
@begin(itemize, spread 0)
@b[!-3], since it is the third most recent command, or

@b[!9], since its event number is 9, or

@b[!da], since @b[da] is a unique prefix for this command
@end(itemize)
Your screen would appear as follows:
@begin(format, leftmargin +.5inches)
% @b[!-3]
date
Mon Feb 4 12:00 EST 1985
% @b[!9]
date
Mon Feb 4 12:00 EST 1985
% @b[!da]
Mon Feb 4 12:00 EST 1985
@end(format)
In general, you need only indicate enough letters to uniquely specify
the string you want in the most recent command with that prefix.  If you
typed @b[!d], the shell would execute @b[diff thisfile thatfile] again
instead of @b[date.]  

@subsection(Substituting Parts of Previous Commands)

It is also possible to select a particular word from a previous command
line.  (A "word" is a string of characters
separated by spaces.  For example, in the command @b[chmod 777 myfile],
the words are:  @b[chmod], @b[777], and @b[myfile].)  These words are
numbered beginning with 0, which is usually the name of the command.
Word number 1 is the first argument, and so on.  You select a particular
word using a @b[:] (colon) after the event number, followed by 
the number of the word.  For example,
to edit the file @b[thisfile] from command line
10 in the history example above, you could type:
@begin(format, leftmargin +.5inches)
% @b[emacs !10:1]
emacs thisfile
@end(format)
and then Emacs would run with file @i[thisfile].

There are several other ways to pick a particular word.  You can find
more of these substitutions in parts of the Unix manuals.  See the last
paragraph of this article to find out more.

After you select a word using the word designators, you may use
several "modifiers" to it.  With these, you can substitute one string for
another, alter filenames, and so on.  To make a substitution, use
@b[s/@p(oldstring)/@p(newstring)] as in:

@begin(format,leftmargin +.5inches)
% @b[!di:s/file/prog/]
diff thisprog thatfile
{ no output would indicate that @i[thisprog] and @i[thatfile] are identical }
% @b[emacs !10:1:s/file/prog/]
emacs thisprog
@end(format)
and Emacs would run with file @i[thisprog].

The first example changes the command line @b[diff thisfile thatfile] to
@b[diff thisprog thatfile] and the second takes word 1 from event number
10, substitutes the string @b[prog] for @b[file], and uses the result as
an argument to @b[emacs.]

A shorthand notation for the substitution command uses the up-arrow
character @b[^].  When a line begins with a @b[^], the history mechanism
treats it as a substitution, with the original and replacement strings
separated by another @b[^] character.  For example,
@begin(format,leftmargin +.5inches)
% @b[ls /usr/unspported]
/usr/unspported not found
% @b[^spp^supp]
ls /usr/unsupported
{ a directory listing of @i[/usr/unsupported] would print here }
@end(format)
In this case, we use the @b[^] to correct the spelling of @b[unspported]
in the previous command line.

Another useful option is @b[t], which strips the leading parts of the
pathname and leaves only the actual name of the file.  Thus,
@begin(format, leftmargin +.5inches)
% @b[ls /usr/unsupported/kermit]
/usr/unsupported/kermit not found
% @b[ls !!:1:t]
ls kermit
{ list of contents of directory @i[kermit] under the current directory }
@end(format)

Here the second command line takes the file name from the first argument
of the previous command.

@subsection(For More Information)

You can find more information about the history mechanism
by looking at the man page for @b(csh) (the C shell) under "History
Substitution."  Do this online by typing @b(man csh), or look in
the Athena @i(Unix Commands) manual under csh.  The document
@i(An Introduction to the C Shell) also describes the history mechanism
in its section 2.3.  This is available separately, or as part of
the Athena @i(Unix Users Guide).

References copies of all documents are available in each Athena cluster.
They can be also be purchased from the IS Publications Office in
11-209.


@section(Newsletter Deadlines)

@b[The deadline for submission of articles and article ideas for the
March 4, 1985 issue is 5pm on Friday, February 15.]

@b[The	deadline for submission of articles and article ideas for the
April 1, 1985 issue is 5pm on Friday, March 15.]

