\documentstyle[triplespace?]{article}
\title{Introduction to Athena for the Computer Literate}
\author{Notes by Matthew Gray}
\begin{document}
\section{Introductions}
We are Matthew Gray <mkgray> and Chris Shabsin <shabby>
We are both class of '95, and our majors are 8 and 6.3, respectively.
We are both members of the Student Information Processing Board (SIPB).
Welcome to MIT.

Why are we doing this?
\hspace{1in}
Different/supplemented approach from mini-courses.
"We're doing this out of the goodness of our heart, so be nice to us."
\section{What do you know?}
What kind of programming has been done?
What kinds of computers used? DOS? Mac? Unix?
\section{Overly Brief introduction to UNIX}
What is an Operating system (OS)? 
Some important commands:
\begin{itemize}
\item{more/cat/less}  These commands allow you to look at files.
			differences?
\item{cd} Change Directory
\item{ls} List Directory  (like dir, in DOS)
\item{man} Manual page.  Very important.  Also see section on help resources.
\item{pwd} Print Working Directory
\item{alias} Allows you to create shortcuts and define default options
		on a command - other more powerful things too.
\item{xterm} The primary program used to run a shell.  (shell =
		command interface program, basically speaking)
\item{emacs} The most popular and recommended text editor.
\item{ln} Create link.
\item{mv} Move or rename a file
\item{cp} Copy a file
\item{rm/delete} Ways of ditching a file.  Use delete.  rm is forever.  alias rm delete
\item{fs} A suite of commands to change permissions, check your quota,
etc.
PERMISSIONS
\end{itemize}
\par
Some important tools to understand include:
\par
pipes:
\par
redirection:
\par
Some important concepts:
\begin{itemize}
\item{STDIN/STDERR}  Two different 'channels' of output.
\item{Core dump, Segmentation Violation, Bus Error} Common errors.  Understand them
\item{Cutting and pasting} Very useful.  Saves retyping.
\item{Path}  Where the computer looks when it looks for things. (.:sipb:consult:watchmaker)
\item{regexps} Useful way of defining string patterns
\end{itemize}
\section{Help Resources}
This is \em{very} important to know about.  It will allow you to learn things
on your own if you become familiar with their usage.
\begin{itemize}
\item{man pages}  Your first resource.  Want to know all the options to the 'ls'
command?  Type "man ls".
\item{apropos}  If you don't know the name of the command you are looking for,
apropos can help.  For example if you are looking for a command that lists files,
you would type "apropos list", and "ls" would be one of the items on the list.
\item{lockers} There are numerous lockers which may be helpful.  Read the READMEs
\item{other people's homedirs} If they want it private, they'll make it so, so
don't feel guilty looking around.  Just be sensible.
\item{instance help} This is a zephyr instance.  It is very valuable.  Be aware,
however, of flaming.  See Asbestos. [zctl sub message help \*], [zwrite -i help]
\item{olc} This is the official Athena help resource.  It is actually rather
good.  Use it.
\item{olh} online help.  not bad...
\item{sipb} The Student Information Processing Board.  A really awesome bunch
of people.  Always glad to help.
\item{documentation}  SIPB stuff and official Athena stuff.  Read it.
\section{Asbestos}
How to avoid getting flamed.  RTFM (Read The Fine Manual)
Becoming clued is a long and hard process.  There's a lot of people out there
eager to help you though.
\par
Three steps to avoid getting flamed:
\begin{itemize}
\item{Know what's possible}  If you're not sure, ask "Is it possible to..."
\item{Look elsewhere first}  Use your resources.  Don't be lazy.
\item{Ask good questions}  See below.
\end{itemize}
\par
Now, there are a number of important aspects of 'good questions':
\begin{itemize}
\item{Be specific}  This is the single most important feature of a good question.
Vague questions are just frustrating.
\item{Admit what you don't know}  Don't guess how things work that you don't
understand.  
\item{Use correct terminology}  Don't make up a term for something without
explaining it, and be sure you know what the terms you use mean.
\item{Know what you're doing}  OK, so this may sound silly, but basically it
means don't plunge in too deep to something you don't know anything about yet.
\item{Be flexible} Don't insist that a solution has to be one way.
\item{Be a good sceintist}  Keep track of error messages.  Make sure the problem
is reproducible.
\end{itemize}
\par
Overall, try not to be too sensitive.  Even the best sometimes get flamed.
\section{Some Big Concepts}
\begin{itemize}
\item{Fileservers}  Where files are stored.  Swap.  Cache.
\item{Zephyr servers}  Controls the functioning of zephyr.  Very hosed.
\item{Shells} Interface.  UNIX.  A program itself.  Not a Kernel.
\item{Layers of Abstraction}  Making things 'general' and 'specific'
\item{X} X windows and the X server.  Rather complicated.
\item{Load} How 'hard' the machine is working.
\item{Swap} Temporary space to look through files. (Ok, this is a bad descrip)
\item{Memory} There are lots of different kinds of memory. (disk, cache, local...)
\end{itemize}
\section{Programs}
\begin{itemize}
\item{ftp} File Transfer Protocol  - explain networking?
\item{telnet (rlogin)} Remote Login programs.
\item{rrn (xrn, gnus)} How to waste your life away, er, read netnews.
\item{discuss (edsc)} The Discuss system.
\item{\latex (ez)}  Like a word processor.  This was written in \latex.
\item{games} tetris, xconq, xgrav, bridge, etc.
\end{itemize}
\section{Utilities}
\begin{itemize}
\item{sed} Stream Editor
\item{whatis} Somewhat self explanatory.
\item{grep} Searching program
\item{make} Used usually when compiling
\item{blanche} Interface to Moira.  Make group modifications.
\item{expn} Expand mail names.
\end{itemize}
\section{Languages}
\begin{itemize}
\item{C and C++} Available on Athena.  Also gnu compilers.
\item{Lisp/Scheme}  Available on Athena.
\item{Csh}  The C shell language.  Very yucky.
\item{Perl}  A very useful language.  Some people love it, others hate it.
\item{Other Languages}  Many exist, many don't.
\end{itemize}
\section{Customization}
\begin{itemize}
\item{Window Manager}  Vtwm or twm is better than mwm.
\item{Shell} Tcsh, Tcsh6
\item{Zephyr} Modify your .zwgc.desc to customize zephyr.  Be careful.
\item{Dotfiles locker}  One repository of customizations.  attach dotfiles.
\end{itemize}
\section{The Net}
\begin{itemize}
\item{Usenet} Netnews.  It's big.
\item{Internet} It's big.  (access_on, xhost, mail)
\item{Resources} There are lots. (archie, netnews, etc.)
\item{Talk v. Zephyr}  They are {\em very} different.
			talk with other sites
			beeblebrox
\end{itemize}
\section{People and Maintainers}
\begin{itemize}
\item{Not Deities}  Believe it or not.
\item{Good resource}  Read the READMEs before bothering someone though.
\item{Students too}  Many maintainers are students.  They have classes too.  Have mercy.
\end{itemize}
\section{Etiquette}
\begin{itemize}
\item{Be nice} to people who are helping you.
\item{Don't waste bandwidth} but if you must, use the accepted channels (wm, certain
newsgroups)}
\item{Know what you're doing.}  At least try.
\item{Ignore rude people} don't even bother reacting usually.
\item{Don't copy wholesale}  Understand what you are copying.
\item{Read READMEs}  That is why they are called that.
\end{itemize}
\section{Hardware}
\begin{itemize}
\item{Rebooting} Don't do it unless it is absolutely necassary.
\item{Drives} Many don't work, so be aware.
\item{Power Cycling}  Don't do it.  Ever.
\end{itemize}
\section{The SIPB}
\begin{itemize}
\item{What} Student Information Processing Board
\item{Who} expn gsipb.  Lots of people.  Students, alums, nice people.
\item{Where} W20-557, -i sipb
\item{When} Since who knows when.  We're up all night usually.
\item{Why}  We like to hack and help people.
\end{itemize}
\section{Heierarchy}
\begin{itemize}
\item{SIPB}  A Student Organization
\item{OLC}  Run by Athena, some paid some volunteer
\item{IS}  The big guys
\item{Athena}  Run by MIT with assistance from various corporations
\end{itemize}
\section{Vocabulary}
Jargon file is /afs/athena/user/m/a/marc/stuff/jargon/jargon.
\par
Foo, bar, hack, frob, gnu, FSF, kluge, flame, eit, script, hosed
\end{document}
