Netnews on Athena (AC-33)


Table of Contents || Revision history || Copyright information

Introduction

Netnews, short for network news, is a large number of computer bulletin-board systems you can access via a "news-reading" program. Netnews is an extension of the idea of a mailing list. It provides a means of efficient professional communication among many users on a variety of topics, ranging from the highly technical, to the deeply philosophical, to the extremely mundane.

Netnews is a logical (as opposed to physical) network that spans many of the major physical networks including USENET and ARPANET, so Netnews connects users from universities, corporations, internet service providers and research organizations around the world.

Structurally, Netnews consists of a large number of newsgroups. A newsgroup is a collection of messages all pertaining to the same topic. Anyone is free to post (send a message to) or read the messages of any given newsgroup. In this way, the audience for a given newsgroup is self-selecting, and the tone and emphasis of the newsgroup reflects the interests of those interacting with it. A few newsgroups are moderated and the moderator controls who can post messages to the group, but anyone can read the group.

Quick distribution and access to information is one of the major features of Netnews. A newsgroup is an appropriate place to announce new pieces of software, to report bug fixes (or simply the bugs themselves), or to ask for specific pieces of software. It is also an appropriate place to ask questions and discuss issues (possibly controversial) such as "Cold fusion is ..." or "Don't ever use ... because...". The specific nature of the messages is naturally dependent on the topic of the newsgroup. You wouldn't expect many software-oriented messages in sci.bio (a biology newsgroup), or many physics questions in comp.lang.c (a newsgroup on the computer language C).

How useful Netnews will be to you depends both upon your interests and your level of interaction with the newsgroups. An aggressive (rather than passive) approach can enable Netnews to do more for you. Ask and answer questions!!



Getting Started with Netnews


Setting Up For Netnews

A news reader is a program that lets you read the messages in a the various newsgroups. All of the news readers are kept in the sipb filesystem. To access any of them you must enter the following command:

  athena% add sipb
To avoid having to do this each time you login and want to read news, you can place this command into your ~/.environment file. To do this, use Emacs (or another plain-text editor) to edit or create a file in your home directory called .environment, and insert the following command:

  add sipb
Be sure to save the file. The command that adds the sipb locker will now be automatically read the next time you login, and you will be able to call one of the news readers at your athena% prompt.

For more information about account customizations take a look at the document Dotfiles on Athena.


Available News Readers

The news readers available on Athena include the following:
  -----------------------------------------------
  Name   Description
  -----------------------------------------------
  rn     the standard command-based news reader *
  tin    threaded text-based news reader
  xrn    an X-based/mouse-oriented interface
  gnus   an Emacs interface
  -----------------------------------------------
  * rn is also callable as rrn.
rn is the standard and most commonly used news reader; tin is easier to navigate than rn. xrn is probably the easiest news reader to learn because of its X-based interface; Emacs fans frequently prefer gnus. (Note that the news reader you pick only determines the interface between you and the news groups -- it does not affect which news groups you may access. And you can switch readers at any time.)

Each news reader is discussed in its own section later in this document.


About Subscriptions

For each newsgroup, you may be either subscribed or unsubscribed to it (just like a magazine, except you don't have to pay for it!):

You can subscribe or unsubscribe at any point. Thus, if you discover that there is important information in a newsgroup you aren't currently subscribed to, you can always subscribe to that newsgroup and read the articles in it.


About the ~/.newsrc File

To read Netnews on Athena, you need to have a specially formatted file named ~/.newsrc. This file keeps track of:

You don't need to create the file yourself -- if you start any news reader and don't have a ~/.newsrc file, the news reader creates one for you. However, the manner in which it does so differs among news readers. There are two basic ways to go about it:

When a news reader starts up, it first looks at your ~/.newsrc file and compares it to the list of newsgroups that it knows about. If any new newsgroups exist, the news reader informs you of this and gives you options for acknowledging each new newsgroup (i.e., by adding them to the list in ~/.newsrc, either subscribed or unsubscribed).

The order of the newsgroups in your ~/.newsrc file is the same as the order they are presented to you when you read news. (You can override this order when you are actually reading news, but usually it is convenient and most efficient to put them in an order that pleases you right from the beginning.)



Determining What Newsgroups Exist

The ~/.newsrc file is just a behind-the-scenes tool to keep track of things. What you will want to concentrate on is deciding which newsgroups you want to be subscribed to, and roughly what order you want to view them in. After you have done this, the rest is just busy work (~/.newsrc is automatically updated), and you can enjoy Netnews at your leisure.

If you don't already have some sort of idea as to what newsgroups you might want to subscribe to, see Newsgroup Naming Conventions. (Your other option, of course, is just to wing it -- use xrn to create your ~/.newsrc file and select whatever looks interesting; you can worry later about getting things that you missed.)

It's not too hard to obtain a list of all the newsgroups that you can subscribe to -- just start rn without a ~/.newsrc file, and your ~/.newsrc file will contain the name of all the existing newsgroups. You can even get an abridged version of the list that contains only newsgroups that are distributed world-wide by reading the article on active newsgroups in news.announce.newusers. The problem is that there are just too many of them. And, just what do those names mean anyway?


Newsgroup Naming Conventions

The key to making sense of all of this is to understand the naming conventions and the hierarchy involved. The majority of the newsgroups fall into one of the fundamental categories that get distributed world-wide, which include (but are not limited to):
  --------------------------------------------------------------
  Category   Description
  --------------------------------------------------------------
  clari      Wire-service "news" articles

  comp       Topics relating to computers (hardware, software,
             philosophy and science of, etc.)

  misc       Miscellaneous

  news       Groups about the news network itself

  sci        Technical (and not so technical, depending on the
             group) discussions of established sciences

  soc        Groups pertaining to social issues and socializing

  talk       Debate oriented groups, with lots of discussion and
             little information

  rec        Topic oriented towards hobbies and recreational
             activities
  --------------------------------------------------------------
There are also a number of other groupings that have a more limited distribution (US or local). Included among these are the following:
  ----------------------------------------------------------------
  Category   Description
  ----------------------------------------------------------------
  mit        Local newsgroups relating to MIT community

  athena     Same as above, but further restricted to Athena
             community.

  ne         Newsgroups whose information is primarily relevant to
             those in the North East area of the United States

  ----------------------------------------------------------------
There are also groupings by country. Some examples are:

 ----------------------------------------------------------------
  Category   Description
 ----------------------------------------------------------------
 aus         Australia

 de          Germany (Deutschland)

 fr          France

 uk          United Kingdom
  ----------------------------------------------------------------

The other major classification of interest is:

  ----------------------------------------------------------------
  Category   Description
  ----------------------------------------------------------------
  alt        Alternate newsgroups (i.e., more miscellaneous stuff,
             or newsgroups offering nonstandard topics/approach)
  ----------------------------------------------------------------
The name of a newsgroup reflects which category it belongs to. Most newsgroups begin with one of the above prefixes, indicating that it belongs to that category. Each category is further subdivided into reasonable groupings, and even those may be subdivided if the need exists. For example, comp.lang.c is a newsgroup about the computer language C. The comp prefix identifies this as a computer related newsgroup, lang shows that it deals with computer languages, and the c suffix restricts it to the language C.

This system of organization sorts the newsgroups roughly by subject. To find newsgroups that interest you, scan through the list of newsgroups in the pertinent categories. If you have specific interests in mind, you can search the list for keywords. Another good way to find useful newsgroups is to ask your friends or colleagues what they subscribe to. Lastly, once you start reading newsgroups, you will notice that some messages are "cross posted" (sent to more than one group). If you find a particular newsgroup useful, it is possible that you will be interested in groups that show up frequently in cross postings.


Suggested Subscriptions

Some of the newsgroups you may want to subscribe to include the following:

  news.announce.newusers    athena.forsale    athena.misc
  athena.announcements      athena.housing    mit.bboard
The first newsgroup (news.announce.newusers) contains articles of interest to new users. Topics include the history of news, available news readers, currently existing world-wide newsgroups, etiquette on using Netnews (particularily with regard to posting articles and replies), and answers to commonly asked questions. The other newsgroups are intended for the MIT and Athena community. Some of the topics they address include Athena consulting schedules, expected machine maintenance and down time, and general community happenings. Of these other lists, mit.bboard is the most active, and hence the most useful. Since none of the MIT groups receive very many messages, subscribing to them will prove helpful by keeping you informed about potentially important happenings while requiring very little time or effort.



Text-Based News Reader: rn

The rn news reader (also known as rrn) is the standard command-line-based news reader. It makes use of underlining and inverse video capabilities when available, and runs on any standard terminal.

Unlike many programs, most rn commands are simple, one-character responses; thus, you typically should not press the Return key after entering the command character. (You need to press Return only after commands that require arguments.)

rn has an extensive man page. If man rn doesn't work at first, make sure you have access to the SIPB filesystem by typing add sipb, then try again.


Using rn

Assuming that you have added the sipb locker and have a ~/.newsrc file (see Getting Started on Netnews), you start rn by typing:

  athena%  rn
The program first reads your ~/.newsrc file to determine which newsgroups to display. If any new newsgroups have been formed since the last time you accessed Netnews, rn askes you if you want to subscribe to them. Answer yes (y) or no (n) accordingly. Next, rn displays a list of the first five newsgroups you are subscribed to that have new messages, and asks you if you want to see the messages in the first newsgroup.

  Unread news in sci.med                3 articles
  Unread news in sci.bio               11 articles
  Unread news in sci.math               7 articles
  Unread news in mit.bboard             9 articles
  Unread news in comp.unix              2 articles
  
  *******  3 unread articles in sci.med---read now?   [ynq]
There are many commands available within the news reader to help you make efficient use of Netnews. These commands let you search for items and move around the various newsgroups. Letters in brackets indicate likely, appropriate responses (in the above example, for instance, you can press y to read the messages in that newsgroup, n to go to the next newsgroup, and q to quit). At any point where you see a prompt, you can enter h to have the program display a list of all currently available responses, with a short explanation of each. (This list varies depending upon what you are doing.)

The first step to becoming comfortable with rn is to realize that there are fundamentally two modes that you can be in:


Newsgroup-Level Options

At the top level you have a set of newsgroup-selection commands available, including the following (type h to see a more complete list):
  --------------------------------------------------------------
  Command     Action
  --------------------------------------------------------------
  y or SPACE  Read this newsgroup now.
  n           Go to the next newsgroup with unread news.
  N           Go to the next newsgroup.
  p           Go to the previous newsgroup with unread news.
  -           Go to the previously displayed newsgroup.
  1           Go to the first newsgroup. (This is the number 1.)
  ^           Go to the first newsgroup with unread news.
  $           Go to the last newsgroup.
  g name      Go to the named newsgroup.
  c           Catch up (mark this newsgroup all read).
  u           Unsubscribe from this newsgroup.
  --------------------------------------------------------------
  /pattern    Search forward for newsgroup matching pattern.
  ?pattern    Search backward for newsgroup matching pattern.
  l pattern   List unsubscribed newsgroups containing pattern.
              (This is the letter l.)
  m name      Move named newsgroup elsewhere (no name moves
              current newsgroup) within the ~/.newsrc file.
  o pattern   Display only newsgroups matching pattern. 
  a pattern   Add and display only unsubscribed newsgroups
              matching pattern.
  --------------------------------------------------------------
  L           List current state of ~/.newsrc, with status.
  Ctrl-k      Edit the global KILL file. (A KILL file is a
              file containing a list of subjects that you do
              not wish to read. Articles with these subjects
              are not shown to you and are automatically
              marked as read.)
  --------------------------------------------------------------
  q           Quit rn.
  x           Quit rn, restoring ~/.newsrc to its state before
              this session.
  --------------------------------------------------------------
To change your subscription status to a particular newsgroup (i.e., to subscribe to a newsgroup that you have previously unsubscribed to, or to unsubscribe to a current newsgroup), just go to that newsgroup: g name.of.newsgroup. If you are currently subscribed, you can unsubscribe by entering u at the prompt. If you are currently unsubscribed, rn asks you if you want to resubscribe to the newsgroup.


Article-Level Options

Commands that are available to you at the article-selection level include:
  ---------------------------------------------------------------
  Command       Action
  ----------------------------------------------------------------
  N             Go to next article.
  -             Go to previously displayed article. 
  number        Go to specified article.
  n             Scan forward for next unread article.
  Ctrl-n        Scan forward for next unread article with
                same subject.
  /pattern/mod  Scan forward for article containing pattern
                in the subject line. (Use ?pattern? to scan
                backwards; modifiers can be h (scan 
                headers), a (scan entire articles), r (scan
                read articles), c (make case sensitive).
                e.g., /myname/ra will scan already
                read articles for the string myname.
  ----------------------------------------------------------------
  Ctrl-b        Back up one page.
  Ctrl-l        Refresh the screen (returning you to the pager).
  ----------------------------------------------------------------
  C             Cancel this article, if yours.
  #             Print last article number.
  m             Mark article as still unread.
  =             List subjects of unread articles.
  c             Catch up (mark all articles as read).
  u             Unsubscribe to this newsgroup.
  ----------------------------------------------------------------
  k             Mark articles with current SUBJECT as read.
  K             Mark current SUBJECT as read,
                and save command in KILL file.
  Ctrl-k        Edit KILL file for this newsgroup.
  ----------------------------------------------------------------
  f,F           Submit a followup article (F=include this article)
  r,R           Reply through net mail (R=include this article)
  ----------------------------------------------------------------
  s             Save to file or pipe via sh
  S             Save via preferred shell
  w,W           Like s and S but save without the header
  | ...          Pipe to... (e.g., s | lpr )
  ----------------------------------------------------------------
  q             Quit this newsgroup for now. (Return to
                newsgroup-selection level.)
  Q             Quit newsgroup, staying at current newsgroup.
  ----------------------------------------------------------------


Threaded Text-Based News Reader: tin

The tin news reader makes use of underlining and inverse video capabilities when available, and runs on any standard terminal. It has threading capabilities that group articles and followups to that article together so they can be read together and in the order they were sent. This makes reading groups with many conversations going on at once easier because you can follow once conversation at a time.

Like rn, most tin commands are simple, one-character responses; thus, you typically should not press the Return key after entering the command character. (You need to press Return only after commands that require additional input.)

tin also has an extensive set of man pages. If man tin doesn't work at first, make sure you have access to the SIPB filesystem by typing add sipb, then try again.


Using tin

Assuming that you have added the sipb locker and have a ~/.newsrc file (see Getting Started on Netnews), you start tin by typing:

  athena%  tin
The program connects to the news server then reads your ~/.newsrc file to determine which newsgroups to display. If any new newsgroups have been formed since the last time you accessed Netnews, tin askes you if you want to subscribe to them. Answer yes (y) to subscribe, no (n) to not subscribe, or quit (q) to go directly to reading newsgroups. If you quit the new groups will be presented to you again later so you can decide wether or not to add them. Next, tin displays a list of the newsgroups you are subscribed to that have new messages and how many new messages are in each group. The first group will be highlighted. You can scroll up and down the list with the arrow keys.


                   Group Selection (news.mit.edu  74 R)                h=help

       1     2  mit.bboard                                                     
       2   777  rec.arts.sf.tv.babylon5.moderated  Babylon 5 creators meet Baby
       3    11  clari.living.bizarre               Unusual or funny news storie
       4   197  ne.forsale                                                     
       5     1  rec.humor.oracle                                               
       6    21  clari.living.entertainment.misc    Miscellaneous entertainment 
       7   114  clari.living.music                 News of the music scene. (M        8    56  clari.local.florida                News of Florida. (Moderated)
       9     4  athena.housing                                                 
        
       =set current to n, TAB=next unread, /=search pattern, c)atchup,
    g)oto, j=line down, k=line up, h)elp, m)ove, q)uit, r=toggle all/unread,
      s)ubscribe, S)ub pattern, u)nsubscribe, U)nsub pattern, y)ank in/out

When the group you want to read is highlighted hit enter, or type the number of he group you wish to read and hit enter (for example, 4 for ne.forsale). You do not have to read the groups in order.

There are many commands available within the news reader to help you make efficient use of Netnews. These commands let you search for items and move around the various newsgroups. A few of the most commonly used commands are listed at the bottom of the screen. To see more options press h for help. The options vary depending on the mode you are in.

The first step to becoming comfortable with tin is to realize that there are fundamentally three modes that you can be in:


Newsgroup-Level Options

At the top level you have a set of newsgroup-selection commands available, including the following (type h to see a more complete list):
  --------------------------------------------------------------
  Command     Action
  --------------------------------------------------------------
 ^L       Redraw page
      Read current group
 c       Mark group read (C=and goto next unread group)
 d        Toggle display of groupname or groupname and description
 g        Choose a new group by name
 h	  Command help
 m        Move current group within group selection list
 M        Menu of configurable options
 N        Goto next group with unread news
 q or Q   Quit
 r        Toggle display to show all / only unread subscribed to groups
 w        Post an article to current group
 y        Yank in subscribed/unsubscribed from .newsrc
 Y        Yank in active file to see any new news
 z        Mark current group as unread
 ----------------------------------------------------------------


Thread-Level Options

Commands that are available to you at the thread-selection level include:
  ---------------------------------------------------------------
  Command       Action
  ----------------------------------------------------------------
  4        Goto article 4
  ^L       Redraw page
       Read current article
      Goto next unread article or group
  aA       Author forward (A=backward) search
  b Back (=forward) a page
  B        Article body search
  c        Mark all articles as read and goto group selection menu
  C        Mark all articles as read and goto next unread group
  d        Toggle display of subject or subject & author
  g        Choose a new group by name
  h        Command help (H=toggle mini help menu)
  K        Mark article/thread as read & goto next unread
  l        List articles within current thread
  m        Mail article/thread/hot/pattern/tagged articles to someone
  np       Goto next (p=previous) group
  NP       Goto next (P=previous) unread article
  q        Return to previous level
  Q        Quit
  r        Toggle display to show all / only unread articles
  w        Post an article to current group
  z        Mark article (Z=thread) as unread
  ----------------------------------------------------------------


Article-Level Options

Commands that are available to you at the article-selection level include:
  ---------------------------------------------------------------
  Command       Action
  ----------------------------------------------------------------
  0        Read the base article in current thread
  4        Read response 4 in current thread
  ^H       Show articles header
  ^K       Kill / Auto select (hot) current article
  ^L       Redraw page
       Goto to next thread
      Goto next unread article
  b Back (=forward) a page
  aA       Author forward (A=backward) search
  B        Article body search
  c        Mark all articles as read and goto group selection menu
  C        Mark all articles as read and goto next unread group
  d        Toggle rot-13 decoding for current article
  fF       Post (f=copy text) a followup
  gG       Goto first (G=last) page of article
  hH       Command help (H=toggle mini help menu)
  kK       Mark article (K=thread) as read & advance to next unread
  m        Mail article/thread/hot/pattern/tagged articles to someone
  M        Menu of configurable options
  pP       Goto the previous (P=unread) article
  q        Return to previous level
  Q        Quit
  w        Post an article to current group
  /        Article forward search
  ----------------------------------------------------------------



X-based News Reader: xrn

The xrn newsreader has a mouse based interface. It makes use of the X window system capabilities of a workstation. xrn is very easy to use because your options are clearly displayed as buttons that you can click on with the mouse. The disadvantage to xrn is that it is very slow at performing the actions you request and requires a lot of memory to run.


Using xrn

Once you have added the sipb locker and have a ~/.newsrc file (see Subscribing to Newsgroups for details), start xrn by typing:

  athena%  xrn &
The outline of a window eventually appears. To make the full window appear, position the outline with the mouse then click the LEFT mouse button.

The upper scrolling area of the xrn window is used to display a list of newsgroups (if you are in add or newsgroup mode) or a list of articles in a newsgroup (if you are in article mode). You can use the scroll bar on the left hand side of the listing area to page through the list easily, or you can use standard Emacs key bindings (such as C-v or M-v):

The "current newsgroup" is indicated by a caret (^) next to it in the newsgroup listing. To move the caret to a displayed newsgroup, position the mouse directly on top of a newsgroup and click the left button. If you wish to perform an operation on a consecutive set of the newsgroups all at once, first click the left button over the first newsgroup in the list. Then, move to the last newsgroup in the list and click the right button over it. This highlights the region upon which your actions will have an effect.

The instruction line (beneath the newsgroup listing) indicates what mode you are in and provides brief instructions as to what you should do next.

Note: Unlike other interfaces you may be used to, in the xrn interface the Quit command performs a different action depending on what mode you are currently in -- it does not necessarily exit you all the way out of xrn. Quit takes you out of the mode you are working in, so it may be the command you're looking for when things seem confusing.


Add Mode

If any new newsgroups have been formed since you last used a news reader, xrn starts up in "add mode". Add mode asks you to subscribe or unsubscribe to each of the newsgroups currently unclassified. The unclassified newsgroups are listed in the newsgroups listing area, with a caret (^) beneath the newsgroup that is currently affected by the action buttons.

The Add ... buttons add the highlighted newsgroups to your ~/.newsrc file, in an appropriate place. (If nothing is highlighted, an Add ... action defaults to the line with the caret.) To explicitly unsubscribe from one of the new newsgroups, use the Add unsubscribed button. When you have finished with all of the unidentified groups, xrn switches you to newsgroup mode.

You don't actually have to respond for each newsgroup. You simply need to look through the list, mark the ones you are interested in as subscribed, and then click on Quit. When you quit, you are automatically unsubscribed to any group that you didn't explicitly subscribe to, and taken to the newsgroup mode of xrn (in other words, Quit exits you from add mode only, not xrn).


Newsgroup Mode

The "newsgroup" mode (newsgroup level) allows you to perform actions on newsgroups such as reading the messages in the group. Appropriate actions have buttons with solid lettering. Inappropriate actions are greyed out. Moving the cursor over an appropriate button causes a brief description of the button's action to be displayed in the instruction/status line.

The quit button in newsgroup mode exits xrn.


Read Mode

In "read" mode (article level), as in newsgroup mode, you can obtain descriptions of button actions by placing the mouse over the button in question. Read mode also uses the buttons at the bottom of the screen. The message status line displays the current article number, newsgroup, and remaining number of articles.

A brief listing of the articles is contained in the newsgroup listing area. (You move within the message window the same way you move within the newsgroup listing window.) The caret once again indicates the item under consideration. Clicking on the Next button moves you to the message below it. To move to a specific message, position the caret on the message above it and then click on the Next button (or move the caret to that message, click the LEFT mouse button, and then click on the Next button). When you have viewed an article, a plus (+) is placed next to it in the brief message listing.


Changing Your Subscriptions

Like any news reader, xrn allows you to change your subscriptions (i.e., to subscribe to a newsgroup that you have previously unsubscribed to, or to unsubscribe to a current newsgroup).

To unsubscribe to a newsgroup in xrn, move the cursor to that newsgroup in the newsgroup listing and click on the unsubscribe button.

To subscribe to a newsgroup, click the subscribe button and specify the name of the newsgroup you wish to subscribe to. Alternatively, click on the all groups button -- this provides you with a list of all the newsgroups, and identifies each as subscribed or unsubscribed; it also makes active a set of buttons at the bottom of the window that allows you to subscribe to the newsgroup that has the cursor next to it (you can reposition the cursor with the standard movement commands).


Warnings



Emacs-Based News Reader: gnus

Gnus is a major Emacs mode designed for the purposes of reading and posting network news articles. Experienced Emacs users find gnus easy to customize and convenient to use. Anyone else willing to use the help files and gnus manual will also find the same. As with the other newsreaders, make sure the sipb locker is added before trying to start gnus.


Initial Set-Up (additions to ~/.emacs)

You should place the following commands in a file called ~/.emacs, (or in an existing ~/.emacs file if you have one.) These commands automatically tell Emacs where to find the news reader, as part of Emacs' start-up:

  (autoload 'gnus "gnus" "Read network news." t)
  (autoload 'gnus-post-news "gnuspost" "Post a new news." t)
  
  (setq gnus-nntp-server "news.mit.edu"
	load-path (append load-path 
			  (list "/mit/sipb/lib/elisp")))
If you do not expect to use gnus frequently, you might want to omit the first two lines above (they help make gnus itself start-up faster, but might cause Emacs initialization to take a little longer).


Using gnus

If you added all three entries above to your ~/.emacs file, you need only type the following to start gnus from within Emacs:

  M-x gnus
If you omitted the autoload entries, you start gnus in Emacs as follows:

  M-x load-library
  Load library: gnus
  M-x gnus
When you type M-x gnus, gnus begins by reading your ~/.newsrc file and displaying a title/version message. Following this it displays a list of the newsgroups that you are subscribed to that contain new articles. Common responses are displayed initially in the message line at the bottom of the Emacs window (if it has been erased, you can type a question mark to make it reappear). The Emacs status line displays useful information including the name of the current newsgroup, the current message number, and the number of remaining messages.

  The newsgroup list looks something like this:
   27: rec.arts.movies
  111: sci.math
   32: mit.bboard
    9: ne.general
       etc....
The number indicates the number of unread articles in the newsgroup. The cursor appears between the colon and name of the current newsgroup. You can move the cursor to different newsgroups (see movement commands) and choose to read that newsgroup.

The organization of gnus is parallel to that of rn. Effectively, there are two major states: the newsgroup-selection level, where you can look at or select various newsgroups; and the article-selection level, where you can look at or select among the various articles of that newsgroup.


Changing Your Subscriptions

To change a subscription, first type L to get a list of all of the newsgroups. Those with U's next to them are the ones that you are unsubscribed to. Next, use u for the current newsgroup (i.e., the one with the cursor next to it) or U to specify a newsgroup explicitly. For the affected newsgroup, you are then unsubscribed to it (if you are currently subscribed to it), or subscribed to it (if you are currently unsubscribed to it). Finally, you can use l to return to a listing of the newsgroups.


Help About gnus

Gnus has an extensive built-in help system. At any point you can obtain standard Emacs help (Ctrl-h ...). For example, to get a list of mode bindings (e.g., a list of available commands), use:

  Ctrl-h m
More information on gnus is available from the gnus manual. Normally, this can be accessed through Emacs. At the present time however, it is only available in file format. These files are:

      /mit/sipb/lib/elisp/gnus-dist/gnus-1
      /mit/sipb/lib/elisp/gnus-dist/gnus-2
      /mit/sipb/lib/elisp/gnus-dist/gnus-3

Newsgroup-Level Commands

Many commands are available at the newsgroup level. Useful ones include:
  ----------------------------------------------------------------
  Command  Action
  ----------------------------------------------------------------
  L        List all newsgroups.
  ----------------------------------------------------------------
  Space    Read articles in this newsgroup.
  =        Select this newsgroup.
  j        Move to specified newsgroup. (Jump)
  n        Move to next unread newsgroup.
  p        Move to previous unread newsgroup.
  C-n      Move to next newsgroup.
  C-p      Move to previous newsgroup.
  <        Move point to beginning of this buffer.
  >        Move point to end of this buffer.
  ----------------------------------------------------------------
  u        Unsubscribe from or subscribe to this newsgroup.
  U        Unsubscribe from or subscribe to specified newsgroup.
  c        Mark as read all articles in current newsgroup,
           preserving marked articles.
  C        Mark as read all articles in this newsgroup.
  ----------------------------------------------------------------
  g        Get new news.
  R        Force to read raw ~/.newsrc file and get new news.
  b        Check ~/.newsrc for bogus (non-existent) newsgroups.
  r        Restrict visible newsgroups to current region.
  ----------------------------------------------------------------
  /        Do incremental search forward in newsgroup.
  ----------------------------------------------------------------
  M-k      Edit local KILL file applied to this newsgroup.
  M-K      Edit global KILL file applied to all newsgroups.
  C-k      Kill subject of this newsgroup.
  C-y      Yank killed newsgroup here.
  C-c C-y  Browse killed newsgroups.
  ----------------------------------------------------------------
  a        Post a new article.
  ----------------------------------------------------------------
  ?        Describe Group Mode commands briefly.
  C-h m    Describe Group Mode.
  C-c C-i  Read Info about Group Mode.
  ----------------------------------------------------------------
  s        Save ~/.newsrc file.
  z        Suspend reading news.
  q        Quit reading news.
  Q        Quit reading news without saving ~/.newsrc file.
  ----------------------------------------------------------------

Article-Level Commands

Some of the commands, variables, and hooks available at the article level include the following (to see a complete list, enter C-h m when in article mode):
  ----------------------------------------------------------------
  Command  Action
  ----------------------------------------------------------------
  Space    Scroll to next page of current article (at end, next
           unread article is selected automatically)
  Delete   Scroll to previous page of current article.
  Return   Scroll up (or down) one line of current article.
  <        Move point to beginning of current article.
  >        Move point to end of current article.
  ----------------------------------------------------------------
  n        Move to next unread article.
  p        Move to previous unread article.
  N        Move to next article.
  P        Move to previous article.
  M-C-n    Move to next article with same subject as current
           article.
  M-C-p    Move to previous article with same subject as current
           article.
  J        Jump to article specified by numeric article ID.
  l        Jump to article read last.
  ----------------------------------------------------------------
  u        Mark current article as unread, and go forward.
  d        Mark current article as read, and go forward.
  M-u      Clear current article's mark, and go forward.
  k        Mark as read articles with same subject as current
           article, then select next unread article.
  M-k      Edit local KILL file applied to current newsgroup.
  M-K      Edit global KILL file applied to all newsgroups.
  ----------------------------------------------------------------
  /        Do incremental search forward on subjects.
  s        Do incremental search forward in current article.
  M-s      Search forward for article containing regexp.
  M-S      Search backward for article containing regexp.
  ----------------------------------------------------------------
  a        Post a new article.
  f        Post a reply article. (follow-up)
  F        Post a reply article with original article.
  ----------------------------------------------------------------
  r        Mail a message to author.
  R        Mail a message to author with original article.
  m        Mail a message in other window.
  ----------------------------------------------------------------
  o        Save current article in your favorite format.
  C-o      Append current article to a file in UNIX mail format.
  |         Pipe contents of current article to a subprocess (e.g.
           | mhmail yourfriend  mails a copy to your friend.)
  ----------------------------------------------------------------
  ----------------------------------------------------------------
  Command                                  Action
  ----------------------------------------------------------------
  M-x gnus-Subject-catch-up                Mark as read all
                                           articles in current
                                           newsgroup, preserving
                                           articles marked 
                                           as unread.
  M-x gnus-Subject-catch-up-all            Mark as read all
                                           articles in current
                                           newsgroup.
  c                                        Catch up all articles
                                           not marked as unread,
                                           then exit current
                                           newsgroup.
  M-x gnus-Subject-catch-up-all-and-exit   Catch up all articles,
                                           exit current newsgroup.
  ----------------------------------------------------------------
  M-x gnus-Subject-next-group              Exit current newsgroup
                                           and select next unread
                                           newsgroup.
  M-x gnus-Subject-prev-group              Exit current newsgroup
                                           and select previous
                                           unread newsgroup.
  q                                        Quit reading news in
                                           current newsgroup.
  ---------------------------------------------------------------
  C-c C-s C-n                              Sort subjects by
                                           article number.
  C-c C-s C-a                              Sort subjects by
                                           article author.
  C-c C-s C-s                              Sort subjects
                                           alphabetically.
  C-c C-s C-d                              Sort subjects by
                                           date.
  --------------------------------------------------------------

Variable and Hooks

There are a number of Emacs variables and hooks that can help you customize the way gnus behaves for you. These are explained in detail in the C-h m listing of mode bindings.

Newsgroup-Level Variables and Hooks

Some of the variables affecting newsgroup-level include:

  gnus-startup-file              gnus-signature-file
  gnus-author-copy               gnus-kill-file-name
  gnus-novice-user               gnus-interactive-post
  gnus-use-full-window           gnus-window-configuration
Some of the hooks related to newsgroup-level include:
  gnus-Group-mode-hook           gnus-Startup-hook
  gnus-Group-prepare-hook        gnus-Save-newsrc-hook
  gnus-Inews-article-hook        gnus-Suspend-gnus-hook
  gnus-Exit-gnus-hook

Article-Level Variables and Hooks

The following variables are related to saving articles. The first three variables customize the manner in which gnus decides which article to show you next:

*gnus-auto-select-first*
A non-nil value of this variable means that the first unread article is displayed when a newsgroup is selected. Setting this variable to nil prevents the selection of the first unread article.

*gnus-auto-select-next*
This variable determines which newsgroup is selected when you finish a newsgroup. If it is set to a non-nil value the next newsgroup is selected. If that value is t and the next newsgroup is empty, gnus returns to the top level. Otherwise, gnus displays the next non-empty newsgroup. If the non-nil value happens to be 'quietly', it skips over empty newsgroups without saying anything.

*gnus-auto-select-same*
A non-nil value of this variable means that gnus selects an article with the same subject as the current article to be the next article displayed (if one exists).

*gnus-default-article-saver*
This variable allows you to specify the format in which articles is saved. Available formats are:
  Rmail            gnus-Subject-save-in-rmail
  UNIX mail        gnus-Subject-save-in-mail
  MH folder        gnus-Subject-save-in-folder
  as a file        gnus-Subject-save-in-file
*gnus-use-long-file-name*
If you set this to a non-nil value the newsgroup name is used as a default file name when saving articles.

Other variables of interest in article-level include:
  gnus-large-newsgroup            gnus-rmail-save-name
  gnus-mail-save-name             gnus-folder-save-name
  gnus-file-save-nams             gnus-article-save-directory
  gnus-show-all-headers           gnus-optional-headers
  gnus-break-pages                gnus-page-delimiter
  gnus-more-message               gnus-digest-show-summary
  gnus-digest-separator           gnus-auto-center-subject
Hooks related to article-level include:
  gnus-Subject-mode-hook          gnus-Select-group-hook
  gnus-Subject-prepare-hook       gnus-Select-article-hook
  gnus-Select-digest-hook         gnus-Rmail-digest-hook
  gnus-Apply-kill-hook            gnus-Mark-article-hook
  gnus-Exit-group-hook


Posting to Newsgroups

The difficult part about posting an article to a newsgroup is knowing when and what to post, not how to post.

All users posting for the first time are strongly encouraged to examine the articles in news.announce.newusers. There are a number of humorous and informative articles on net etiquette ("netiquette") and commonly asked questions.

It is also a good idea to read the articles on a newsgroup for a while to become familiar with the flavor and emphasis of the discussions. This is not to say that new perspectives aren't appreciated, but instead to help you decide what would be relevant to the newsgroup as a whole.

The modules in this section describe important issues in posting to a newsgroup:


Posting Netnews (How to...)

Posting to Netnews is as easy as reading Netnews. Each of the news readers has options that allow you to post original letters or reply to previous articles.

It is a good idea to be familiar with the newsgroup you intend to post to, as there are frequently specific conventions concerning both the content and the format of articles that are posted to a group.

If this is your first time posting an article, you should look at the module on Etiquette, which explains some of the basic conventions that pertain to all newsgroups, and indicates a number of articles that may also be useful in determining what to put in your article.

Moderated newsgroups

Some newsgroups are moderated, which means that articles must be submitted to a coordinator or editor for review. If the article is deemed appropriate it is posted to the newsgroup. To post to a moderated group, mail your article to the appropriate submission address. A listing of the coordinators and submission addresses for the various moderated newsgroups can be found in the news.announce.newusers newsgroup, in an article appropriately titled List of Moderators.

Distribution

Distribution is one of the most important header fields on an article. It limits how far the article is sent. This is important! If you are posting about a seminar that is happening next week in Boston, you don't want the message being sent to people in Japan (and vice versa). Appropriate use of the distribution field cuts down significantly on the number of irrelevant pieces of news that appear. Please be sure to set the distribution.

Appropriate distribution abbreviations are:

  --------------------------------------
  Distribution                    Abbrev
  --------------------------------------
  Local organization              athena
  Organization                    mit
  State (Massachusetts)           ma
  Multi-State area (North East)   ne
  Country (United States)         usa
  Continent (North America)       na
  Everywhere                      world
  --------------------------------------
Other distribution abbreviations refer to other locations (ba refers to the San Francisco Bay area in California, ny refers to New York, etc.)

Using rn to Post an Article

With rn, you can send a follow-up article by using the f command. The F command includes a copy of the original article with your follow-up. The C command cancels your article. Original articles can be posted using the Pnews program.

Using Pnews to Post an Article

Pnews (for Post news), is interactive and easy to use. Just type:

  athena% Pnews
Pnews prompts you for distribution, subject, newsgroups, and any files you want to include in the article. It then starts your default editor so that you can complete the body of the message. When you exit the editor, it asks whether or not to send the article.

Using xrn to Post an Article

To post news in xrn, first go to the newsgroup that you intend to post to. This makes a post button active (boldfaced). Clicking on this button starts an editor with appropriate header fields. Fill them in and enter your article.

Using gnus to Post an Article

The a command allows you to post an article. If you are currently in a newsgroup it assumes you are sending to that newsgroup, otherwise it prompts you for a newsgroup. You can use the C command to cancel an article once you have posted it.

Set the variable gnus-interactive-post to a non-nil value if you want to be queried for newsgroup, subject, and distribution.


The Etiquette of Posting to the Net

Listed below are some of the important guidelines to consider when posting to any newsgroup. Individual newsgroups may have additional expectations of you.

  1. Set a distribution field. This reduces irritation and cost to users of the net.

  2. Keep your signature concise. For the same reason as above.

  3. Recognize that other people will be reading your articles. It is improper to be obnoxious or irate on the net, if you must yell at someone do it through the privacy of mail. Under the same heading, but in a different direction, consider your audience when choosing the tone and level of your message.

  4. Use descriptive subject lines. This makes life easier for everyone.

  5. Be brief. Don't repeat what everyone else has said, and say what you have to say concisely. Minimize the amount of quoted information in your articles. People have access, and may just possibly have read the articles you are quoting. Space is time and money.

  6. Use mail when appropriate. When someone asks a question it is often more appropriate to reply directly to them. Frequently, they will summarize replies and post. Ask them to post a summary if you are interested.

  7. Check headers. Be sure you are sending to the appropriate place, pparticularly when using automatically generated headers from follow-up commands.

  8. Don't use the net for mail. The net is not for personal correspondence. If you are having trouble sending mail, solve the problem.

  9. Format for the lowest common denominator. In formatting your article, remember that all machines are not created equal:

    • Keep lines under 80 characters wide (except for source code).
    • Don't justify your articles.
    • Tab and space are the only special characters guaranteed to work consistently on different systems.
    • Don't use embedded tabs in pictures.

  10. Refer to articles by message-ID number, NOT article number. Article numbering and ordering is machine specific.

  11. Restrict flaming to newsgroups created for it. This should be self-explanatory!


MIT Information Systems Comments and feedback to olh-suggest@mit.edu