% Copyright 1993
% MIT Student Information Processing Board (SIPB)
% The use and redistribution of this Inessential Guide to Netnews
% is hereby granted.  With the  following restrictions:
% * non local bugs should be reported back to the SIPB (email to bug-sipb@mit.edu)
% * The use of any portion of this guide must be accredited to the SIPB
% * The use of this document in its entirety (except for local changes
% and additions) must maintain the credits, name and logo of SIPB and
% the Inessential Guide to Netnews.

\documentstyle[11pt,ifthen,guidemacros,twoside]{report}

\stdsizes
\setcounter{secnumdepth}{3}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}
\renewcommand{\thefigure}{\arabic{figure}}
\renewcommand{\theequation}{\arabic{equation}}

\def\$#1${{#1}}  % Kluge: collect RCS revision info without $...$
\xdef\manvers{\$Revision: 0.2 $}  % For use in headers, footers too

\title {\begin{center}
\hspace*{1mm}\special{psfile=funky-owl.PS hoffset=-100}\hspace*{1mm}
\vspace{2cm}
\end{center}
Inessential Netnews \\ {\small (\manvers)}
\\ {\Huge\bf BLEED ON ME}
}

\author {Greg Hudson}

\begin{document}
\maketitle
\newpage
\pagenumbering{roman}
\tableofcontents
\newpage
\pagenumbering{arabic}

\section{Introduction: What is Netnews?}

{\em Netnews} (or just {\em news}) is an international forum for
announcements and discussion.  Anyone with Internet access can read
and post news articles.

News articles are divided up by topic into {\em newsgroups}.  Just
about every imaginable topic of discussion has its own newsgroup.
Some newsgroups are for discussion; for instance, {\tt comp.risks} is
a newsgroups for discussion about the risks of technology.  Other
newsgroups are primarily for announcements.  Still other groups, such
as {\tt comp.binaries.ibm.pc}, are for distributing programs.  Often,
newsgroups for announcements and programs are restricted to postings
approved by a {\em moderator}.  Discussion newsgroups are usually
unmoderated, so that anyone can post to them.

When you read news, you do so using a {\em newsreader}.  Several
newsreaders available on Athena are {\tt rn}, {\tt trn}, {\tt xrn},
and {\tt gnus}.  Later in this document, I'll explain how to use each
of these newsreaders.

Because nobody has time to read every newsgroup, you generally pick
several newsgroups that you consider worth reading, and {\em
subscribe} to them.  When you start up your newsreader, it will inform
you of new articles in the newsgroups you have subscribed to.

Before we get started, some words on etiquette: when you post an
article to a newsgroup, tens or hundreds of thousands of people are
likely to read it.  If the newsgroup receives many articles (a
``high-volume'' newsgroup), then you should try to make sure that your
posting is part of the ``signal'' and not the ``noise'' of the group:
be clear, format your article well, check it over for errors before
you send it, and be as concise as possible.  If you are asking a
question, try checking basic documentation if possible; in particular,
look for and read FAQs (Frequently Asked Questions) sheets.  If you
see an article that is obviously wrong and easily rebutted, take into
account that other people have probably already replied to it, even
though their articles may not yet have shown up at MIT.  If you want
an article to go to several groups, crosspost rather than posting it
multiple times.  Above all, do not post an article which is irrelevant
to the topic of the newsgroup simply because you want a lot of people
to read it.

\section{Getting Started Reading News}

This document assumes that you have the SIPB locker in your path.  You
must type {\tt add sipb} before running any of the commands {\tt
newsetup}, {\tt Pnews}, {\tt rn}, and {\tt xrn}.  You can include the
line {\tt add sipb} in your {\tt .environment} file to add the SIPB
locker to your path when you log in.

All newsreaders maintain information about which newsgroups you are
subscribed to and which articles you have read in a file called {\tt
.newsrc}.  If you have never read news before, you probably don't have
a {\tt .newsrc} file.  The easiest way to create one is to run {\tt
newsetup}.  (If you have already started reading news and did not run
{\tt newsetup}, don't worry; your newsreader probably did it
automatically the first time you ran it.)  You should see something
like this:

\begin{verbatim}
athena% newsetup
Creating /mit/ghudson/.newsrc to be used by news programs.
Done.

If you have never used the news system before, you may find the articles
in news.announce.newusers to be helpful.  There is also a manual entry for rn.

To get rid of newsgroups you aren't interested in, use the 'u' command.
Type h for help at any time while running rn.
athena% 
\end{verbatim}

You will now have a {\tt .newsrc} file in your home directory.  At
this point, you are subscribed to every newsgroup available---over
three thousand of them.  To unsubscribe to every newsgroup so that you
can subscribe to them selectively, enter the following commands:

\begin{verbatim}
sed s/:/\!/ ~/.newsrc >~/.newsrc.new
mv ~/.newsrc.new ~/.newsrc
\end{verbatim}

This works by replacing the {\tt :} characters in your {\tt .newsrc}
with {\tt !} characters.  Newsreaders understand a {\tt :} after a
newsgroup name as ``this is a subscribed-to group'' and a {\tt !} as
``this is not a subscribed-to group.''

The {\tt .newsrc} file is a plain-text file containing names of
newsgroups and article ranges.  Feel free to edit it using a text
editor such as {\tt emacs}.  You can reorder the newsgroups or delete
unwanted newsgroups without causing any trouble.

If you are new to news, then your first step after creating a {\tt
.newsrc} should probably be to look for newsgroups you are interested
in.  One way to do this is with the {\tt grep} command.  For instance,
if you wanted to look for groups about Star Trek, you could use {\tt
grep} as follows:

\begin{verbatim}
grep startrek ~/.newsrc
\end{verbatim}

This would output a list of newsgroups whose names contain the word
``startrek.''  (Newsgroup names never contain spaces or capital
letters, which is why you look for 'startrek' instead of 'Star Trek'.)
Besides newsgroups with interesting topic names, you should probably
also subscribe to the two newsgroups {\tt news.announce.important} and
{\tt news.announce.newusers}.

Once you are armed with the names of a few newsgroups you might be
interested in reading, you are ready to start reading news.  The
following chapters document how to use the various newsreaders on
Athena.

\section{Using {\tt rn}}

{\tt rn} is a simple newsreader, and probably the most popular.  To
run it, just enter the command {\tt rn}.  If there is any news in
groups you are subscribed to, it will display a list of the first
several groups and the number of new articles in each of
them\footnote{You can control how many newsgroups get displayed this
way by using the {\tt -s} argument to {\tt rn}.  For instance, {\tt rn
-s 15} would cause {\tt rn} to display the first fifteen newsgroups
with new articles.}.

If new newsgroups have been created since you last used {\tt rn}, it
will ask you if you want to subscribe to them.  You can type {\tt y}
to subscribe to the group it is asking you about, {\tt n} not to
subscribe to it, {\tt Y} to subscribe to all the new newsgroups, and
{\tt N} not to subscribe to any of them.  In all cases, {\tt rn} will
add the groups to your {\tt .newsrc} file.  You can invoke {\tt rn} as
{\tt rn -q} to avoid this step altogether.

After it finishes with the above steps, {\tt rn} will put you in {\em
newsgroup selection mode}.  If there is new news in any groups you are
subscribed to, the newsgroup selection mode prompt should look
something like this:

\begin{verbatim}
********   5 unread articles in news.announce.newusers--read now? [ynq]
\end{verbatim}

At any prompt like this, you can type {\tt h} for a list of commands.
Commands near the top of the help listing are usually the easiest to
understand.  Also, notice that there are several suggested commands in
brackets at the end of the prompt.  Just typing a space will select
the first of these commands.  In this case, {\tt y} means ``yes, read
the articles in this group,'' {\tt n} means ``no, go onto the next
group,'' and {\tt q} means ``quit reading news.''

To subscribe to a newsgroup, you can use the {\tt g} command in
newsgroup selection mode.  For instance, to subscribe to {\tt
news.announce.newusers}, you would type {\tt g\ %
news.announce.newusers}.  {\tt rn} will ask you for confirmation that
you want to subscribe to that group; type {\tt y}.  Now you can start
reading articles in that group by pressing {\tt y} again.

While reading articles in a newsgroup, you will usually be in {\em
paging mode} or {\em article selection mode}, depending on whether you
are at the end of an article.  The commands in the two modes are very
similar.  You can use the space bar to read the next page of the
current article, or the next article if you are at the end of an
article.  The {\tt n} command moves to the next article even if you
haven't finished the current article.  The {\tt P} and {\tt N}
commands let you move back and forth among articles you have already
read.  The {\tt q} command moves you back to newsgroup selection mode.
There are many other useful commands in these modes; use {\tt h} to
get a listing.

Often a newsgroup you subscribe to has several hundred articles in it.
If you don't want to read all these articles, you can use the {\tt c}
command to ``catchup'', or skip all the existing articles.  This
command works in any mode.

You can ``follow up'' to an article to a newsgroup by typing the {\tt
f} or {\tt F} commands.  The capitalized command will include the
quoted text of the article you are responding to, most of which you
should edit out.  You can use the {\tt r} or {\tt R} commands to reply
to the poster of an article privately through email.

There are two ways to post an article which is not a followup to
another article.  One is to type {\tt f} at a random article in the
newsgroup and respond affirmatively to the question ``Are you starting
an unrelated topic?''  The other way is to enter the command {\tt
Pnews {\em newsgroup}} at the Athena prompt; this does not require
using {\tt rn}.

{\tt Pnews} looks at the environment variable {\tt VISUAL} to find the
editor to use while composing an article, or {\tt EDITOR} if {\tt
VISUAL} is not defined.  The standard Athena dotfiles define these
variables to be ``emacs'', but you can change them if you wish to use
a different editor.

Tables \ref{rn-group} and \ref{rn-art} describe some of the useful
commands in {\tt rn}.  The tables do not include all {\tt rn}
commands; see the help listings and the {\tt rn} man page (type {\tt
man rn}) for a complete description of {\tt rn}'s features.

\begin{table}
\label{rn-group}
\caption{Useful Newsgroup Selection Commands in {\tt rn}.}
\begin{center}
\begin{tabular}{ll}
\makebox[1in][l]{\verb+y+}	& Read this newsgroup now.\\
\verb+=+	& Read this newsgroup, listing articles first.\\
\verb+u+	& Unsubscribe from this newsgroup.\\
\verb+c+	& Catch up (mark this newsgroup all read).\\
\verb+n+	& Go to the next newsgroup with unread news.\\
\verb+N+	& Go to the next newsgroup.\\
\verb+p+	& Go to the previous newsgroup with unread news.\\
\verb+P+	& Go to the previous newsgroup.\\
\verb+g+ {\em name} & Go to (and possibly subscribe to) the named newsgroup.\\
\verb+q+	& Quit rn.\\
\verb+x+	& Quit rn without updating your {\tt .newsrc} file.
\end{tabular}
\end{center}
\end{table}

\begin{table}
\label{rn-art}
\caption{Useful Article Selection and Paging Commands in {\tt rn}.}
\begin{center}
\begin{tabular}{ll}
\makebox[1in][l]{\verb+n+}	& Read the next unread article\footnote{\tt{rn} marks an
article as read when you reach the end of it, or hit {\tt n} while
reading it}.\\
\verb+N+	& Read the next article.\\
\verb+^N+	& Read the next unread article with the same subject.\\
\verb+p+	& Read the previous unread article.\\
\verb+P+	& Read the previous article.\\
\verb+^P+	& Read the previous unread article with the same subject.\\
\verb+-+	& Go to the last article that was displayed before this one.\\
{\em number}	& Go to the article numbered by {\em number}.\\
\verb+f+	& Post a followup to this article.\\
\verb+F+	& Post a followup to this article, quoting original.\\
\verb+r+	& Reply to this article through email.\\
\verb+R+	& Reply to this article through email, quoting original.\\
\verb+s+{\em filename}	& Save this article to a file\footnote{{\tt rn} will
save the article to {\em filename} in the directory {\tt News} in your
home directory.  If the file already exists, {\tt rn} will write to
the end of it; otherwise, it will ask you if you want to use ``mailbox
format''.  If you answer yes to this question, {\tt rn} will save the
article in a subdirectory of {\tt news} corresponding to the newsgroup,
like {\tt news/announce/newusers}.}.\\
\verb+w+{\em filename} & Save this article without the header.\\
\verb+C+	& Cancel this article, if yours (may not be successful).\\
\verb+^R+	& Reread this article.\\
\verb+^X+	& Restart this article in rot13 mode\footnote{Sometimes people
will post articles in rot13 mode, meaning that all alphabetical
characters have been rotated forward 13 characters.  This is so that
people who might be offended by them will not have to read them while
they are paging through articles.  The {\tt \^X} command allows you to
read these articles.}.\\
\verb+c+	& Catch up (mark this newsgroup all read).\\
\verb+b+	& Back up one page.\\
\verb+^+	& Read the first unread article in this newsgroup.\\
\verb+$+	& Go to the end of this newsgroup.\\
\verb+j+	& Mark this article as read.\\
\verb+m+	& Mark this article as unread.\\
\verb+k+	& Mark all articles with this subject as read.\\
\verb+=+	& List subjects of unread articles in this newsgroup.\\
\verb+u+	& Unsubscribe from this newsgroup.\\
\verb+q+	& Quit reading this newsgroup.
\end{tabular}
\end{center}
\end{table}

\section{Using {\tt trn}}

{\tt trn} stands for ``threaded rn.''  You can use it just like you
use rn; however, it also lets you read ``threads,'' or chains of
replies.  This is helpful for high-volume newsgroups.  {\tt trn} is
also more efficient than {\tt rn} about reading your {\tt .newsrc}
file when it starts up.

At the time of this writing, {\tt trn} is located in {\tt
/afs/sipb.mit.edu/project/trn}.  You can use {\tt trn} by adding {\tt
/afs/sipb/project/trn} to your path, or invoking {\tt trn} with the
command \verb+/afs/sipb/project/trn/$bindir/trn+.

When selecting a newsgroup from {\tt trn}'s newsgroup selection mode,
you can type {\tt +} or the spacebar to go into {\em thread selection
mode}.  Each thread is marked by a letter or number.  You can select
or de-select threads by typing their letters or by moving to them with
the arrow keys and typing a period ({\tt .}).  Once you have selected
the threads you want to read, you can press Return to begin reading
these threads.  For small newsgroups, you can simply type {\tt y} in
newsgroup selection mode to begin reading the newsgroup at the first
article instead of going into thread selection mode.

While reading articles with {\tt trn}, you will notice diagrams at the
right side of the header, illustrating part of the chain of replies.
These diagrams may be confusing at first.  To illustrate their
meaning, consider the following diagram:

\begin{verbatim}
-(1)+-(3)+-(4)--( )+-(6)--[6]-
    |    |         \-[6]
    |    |-(3)--(3)
    |    \-(3)
    |-(1)
    |-[3]+-[3]+-[3]--[3]--[3]-+
\end{verbatim}

Parentheses indicate articles which have already been read; square
brackets indicate articles which have not been read yet.  The current
article will be hilited along with its enclosing parentheses or
brackets; the most recently-read article will have its number hilited.
The numbers inside the parentheses and brackets indicate the subjects
of the articles as they change; 1 indicates the original subject,
while other numbers indicate new subjects.  A blank inside parentheses
or brackets indicates an unavailable article.

You can view a diagram of the entire thread from article selection
mode using the {\tt t} command.  This also displays a list of which
numbers correspond to which subjects.

You can use the arrow keys to move around in the diagram.  You can
also use the {\tt [} and {\tt ]} commands to move left and right, and
the {\tt (} and {\tt )} keys to move up and down; these may be useful
over dialup if your arrow keys are not working properly.

Tables \ref{trn-thread} and \ref{trn-art} describe some of the useful
command in {\tt trn}'s thread selection mode, as well as some commands
{\tt trn} adds to article selection mode.  Naturally, all {\tt rn}
commands work as they do in {\tt rn}, except that the {\tt n}, {\tt
N}, {\tt p}, and {\tt P} commands follow threads\footnote{You can mark
a newsgroup ``unthreaded'' in newsgroup selection mode using the {\tt
t} command, in which case {\tt trn} will act just like {\tt rn} while
reading that newsgroup}.  In particular, the {\tt h} command in thread
selection mode will give a complete listing of commands in that mode.

\begin{table}
\label{trn-thread}
\caption{Useful Thread Selection Commands in {\tt trn}.}
\begin{center}
\begin{tabular}{ll}
\makebox[1in][l]{\verb+.+}	& Toggle the current thread's selection.\\
\verb+@+	& Toggle the selection of all visible threads.\\
CR		& Start reading, or read current thread if none selected.\\
\verb+Z+	& Start reading, or read all threads if none selected.\\
\verb+#+	& Start reading the current item only.\\
\verb+k+	& Mark the current thread as killed.\\
\verb+E+	& Toggle between showing or hiding unselected threads.\\
\verb+L+	& Cycle between display modes (varying levels of brevity).\\
\verb+U+	& Switch beteween selecting read or unread articles.\\
\verb+X+	& Mark all threads as read and start reading.
\end{tabular}
\end{center}
\end{table}

\begin{table}
\label{trn-art}
\caption{Useful Article Selection Commands in {\tt trn}.}
\begin{center}
\begin{tabular}{ll}
\makebox[1in][l]{\verb+<+}	& Read the previous selected thread.\\
\verb+>+	& Read the next selected thread.\\
\verb+[+	& Move left in diagram.\\
\verb+]+	& Move right in diagram.\\
\verb+(+	& Move up in diagram.\\
\verb+)+	& Move down in diagram.\\
\verb+{+	& Go to root of tree in diagram.\\
\verb+}+	& Go to leaf of tree in diagram.\\
\verb+t+	& Display the entire article tree and all subjects.
\end{tabular}
\end{center}
\end{table}

{\tt trn} is actually a lot more customizable than this
section may have led you to believe.  It is possible to have the
selector select on articles or subjects instead of threads, for
instance.  See the {\tt trn} man page (type {\tt man
-M /afs/sipb/project/trn/man trn}) for details.

\section{Using {\tt xrn}}

{\tt xrn} is an Xwindows newsreader.  To start up {\tt xrn}, simply
type {\tt xrn} at your Athena prompt.

Like {\tt rn} and {\tt trn}, {\tt xrn} has different modes.  Depending
on the mode you are in, you will see different buttons between the
listing at the top of the window and the article at the bottom.  If
you move the mouse pointer to a button, the line underneath the
listing will display a description of the command which the button
performs.

When you start up {\tt xrn}, if there are any existing newsgroups not
in your {\tt .newsrc} (even if they are not new), {\tt xrn} will
display a listing of these newsgroups and allow you to subscribe to
them.  You can press the {\tt Quit} button to exit this stage.

At this point {\tt xrn} will produce a listing of groups with new
articles, which may be empty.  You can use the {\tt List old} button
to display groups with no new articles so that you can go back and
read old articles, or the {\tt All groups} button to display all of
the newsgroups.  The {\tt Subscribe} button allows you to subscribe to
a group.  The {\tt Read} button allows you to read articles in the
current newsgroup.

\end{document}

