Usenet getting started guide
=============================

On IRC I was asked to write a short "Usenet for dummies"
introduction.

Usenet is old, in decline, and is in danger of being forgotten.

It can sure use new users to keep it alive. Because of this, I loved
the idea. So here it is, a smol introduction into the use of Usenet.

What is Usenet
--------------
Usenet dates back to 1980 and was the first world wide discussion
system. The name refers to "User's Network". It hosts a number of
newsgroups. A newsgroup contains messages related to a certain topic.

Users can post and read messages. Posting is done to one or more
newsgroups (when posted to more than one newsgroup, this is called
"cross-posting").

The messages have a header and a body. similar to email messages. A
reaction of a user to a message is called "follow up", and the header
of the reaction message contains a reference to the original message.
This allows the clients to present the messages in a threaded view.

There is no central server. Usenet is a distributed system. It is a
network of so-called "news servers". When a user posts a message, it
is forwarded to all news servers.

Newsgroups
----------
Newsgroups are structured in a so-called hierarchy.

The newsgroup "comp.os.linux.announce", for instance, is part of the
top-hierarchy "comp", sub-hierarchy "comp.os", and so on.

A more graphical presentation:

  comp
  |-- os
      |-- linux
          |-- announce

The creation of newsgroups is a democratic process, before a new
newsgroup is added, a proposal must be validated through a voting
process.

Originally, the main top prefixes are:

* comp: computer related topics
* sci: science and technology related topics
* news: Usenet and newsgroups in general
* rec: recreational topics
* talk: discussions on many topics
* misc: everything else

Also, there are many country- or language-related top prefixes:

* de: German
* dk: Danish
* fr: French
* it: Italian
* nl: Dutch
* and so on

Not every news server give access to all the hierarchies.

The number of newsgroups is staggering. Most stem from the heydays of
Usenet and were once teeming with life, but are abandoned now.
Browsing through the list of newsgroups is like walking through a
spooky ghost town from a John Steed and Emma Peel episode. Everything
is still there, but there are no people.

You will see a lot of newsgroups with no messages, or with old
messages. That is the way it is. There are still some active groups,
however.

Text or binary groups
---------------------
Usenet was created for text messages. Binary content could be
encoded with uuencode and decoded with uudecode. Later base64 was
created.

Because of the size and often potentially copy-right infringement
nature of binary posts, a separation of text messages and messages
with binary content was created. Specific newsgroups for binary
content were introduced.

Most providers of Usenet accounts give only access to text
newsgroups. Access to binary newsgroups often require an account at
a more expensive provider.

Register an Usenet account
--------------------------
An account at an Usenet news server is required.

A free (as in free beer) Usenet provider is Eternal September, see
https://www.eternal-september.org

Eternal September is located in Germany.

Newsreader, or Usenet client
----------------------------
A Usenet client is often called a newsreader. There are newsreaders
with a TUI --a text-based user interface-- and newsreaders with a GUI
--a graphical user interface.

Well known --in the old days-- TUI newsreaders are rn, tin, and slrn,
and well known GUI newsreaders are Pan and Sylpheed. Also several
email clients offer newsreader capabilities, such as Evolution, Mutt,
Pine, and Thunderbird. Gnus has been part of Emacs from 1987 and
functions as a newsreader and email client.

Also there are specific clients to fetch binary content from binary
newsgroups.

General flow
------------
Initially, the user selects a number of newsgroups to follow,
also known as "subscribing".

At the start of a session, the client fetches the headers of the
messages in the subscribed newsgroups. The client shows the headers
for a newsgroup, the user selects a message to read, the client
fetches the complete message and shows it to the reader. Usually the
client shows only messages that the user have not seen before.

The reader can decide to follow up on the message (writing and
posting a reply) or move to the next message, and so on. When all
the messages of the newsgroup are processed, the client shows the
headers from the next newsgroup, and so on.

During the processing of a newsgroup the user can decide to discard
all messages of the group, with a so-called "catch-up" command. The
client updates its housekeeping system, so the messages won't be
shown again at a later session.

The number of Usenet messages tended to be very large in the old days.
Because of this most Usenet clients have fine-grained capabilities to
automatically select messages to show and select messages to ignore or
discard.

Install srnl, a Usenet client
-----------------------------
slrn (S-Lang Read News) is a popular TUI Usenet client that dates
back to 1994.

Use your package manager to install slrn.

Next, create the file "~/.slrnrc", with the following contents:

   set username <username>
   set realname "<real name>"
   set hostname "your.host.name.FQDN"
   nnrpaccess "news.eternal-september.org" "<username>" "<password>"
   set force_authentication 1

The username and hostname are used to construct a From:-address when
posting messages, so make sure this is a valid e-mail address.

The line with nnrpaccess should contain the username and password of
your account at news.eternal-september.org.

The last line is needed to enforce password authentication.

Also add a line to your .profile, or the rc-file of your shell:

   NNTPSERVER='news.eternal-september.org' && export NNTPSERVER

or, depending on the type of shell:

   setenv NNTPSERVER 'news.eternal-september.org'

Log out and in again to get the NNTPSERVER exported to your
environment, or type the line on your command line.

Next, create a ~/.jnewsrc file with the following commands:

   slrn --create

The newsreader maintains its housekeeping in the .jnewsrc file, like
the list of subscribed newsgroups, which message have been seen, and
so on.

Subscribing to newsgroups
-------------------------
Start slrn, and give the "Shift-L". This will prompt for a search
string. To search enter a pattern like "comp*unix", "*bsd*",
"*comp*emacs*", or "*gopher*".

If you are very curious, you can input just "*", to get a list of
all the newsgroups that the news server provides.

The list of newsgroups has the following format:

* Status: U: not subscribed, blank: subscribed.
* Number of messages
* Name of the newsgroup

Search with a slash, just like in vi.

Subscribe to a group with the command 's'.

Don't worry, later on you can always subscribe to other groups or
unsubscribe from groups. Just press "Shift-L" again to get the prompt
for newsgroups to search.

When the list shows all newsgroups with zero messages, leave slrn
and on the command line issue the command

   slrn -d

This will re-read the list of available newsgroups.

After selecting some groups, quit with 'q'.

Reading news
------------
Start slrn. It fetches the headers of the subscribed newsgroups and
show a list of the newsgroups, each with the number of unseen
messages.

Enter a group to see the available messages. When there are follow
ups (replies), slrn shows a threaded view.

The display of the list of messages in a group can be changed by
choosing one of the predefined settings. Switch to a predefined setting
with "Esc <number> Esc a". See the file "manual.txt" that came with
the slrn install.

For instance, "Esc 4 Esc a" shows the message date at the right side
of the display.

Reading a message
-----------------
Select a message to read with the Enter key. To toggle the view of
the headers, use 't'.

The headers that are displayed when not in toggled view can be set
in the .slrnrc.

In normal view (not toggled) the date is missing. To solve this, add
the following line to .slrnrc:

   visible_headers "From:,Subject:,Newsgroups:,Date:,Followup-To:,Reply-To:"

to also show the date header above the message.

Use the Spacebar to scroll down through the message and the
Backspace to scroll up again.

When scrolling down past the end of the message, slrn will
automatically open the next unread message.

Follow up
---------
First, check the date of the message you want to follow up to.
Usenet is in decline, and there are more old messages than recent
ones. There are two ways to react to a posting:

* by email: only the receiver will see it
* by posting a follow up to the newsgroup (the whole world can see it)

Following up creates or expands a thread.

Press 'f' to follow up on a message.

Posting a message
-----------------
You can start a new thread by posting a message.

Press "Shift-P" to create a new message to post in the current
newsgroup.

Catch up
--------
Press 'c' to catch up. This means that the unseen messages in the
current newsgroup will be considered 'seen' and will not be shown in
future sessions.

Read the fine manual
--------------------
slrn is a powerful newsreader with many options, so it comes with
several helpful text files. The manual.txt and the man page, among
others, are highly recommended.

Cultural heritage
-----------------
The existence of Usenet was very important and, together with mailing
lists, played a major role in the rise of open source software and the
democratic character of the internet. Usenet gave birth to several now
commonplace internet conventions, including the concept of FAQs
(Frequently Asked Questions) [1].

Be respectful
-------------
There are several reasons why Usenet is in decline. Aside from the
more convenient and less complicated internet fora, the amount of
spam and the amount of trolls were an important reason for people to
look elsewhere.

Let us be thankful that Usenet is still there and use it in a
respectful and responsible manner.

There is more than enough trolling, hate and negativity in social
media and in the online internet fora. Don't behave like that on
Usenet, and only post friendly, helpful and positive messages. That
is the only way we can keep it alive.

[1]: http://www.columbia.edu/~hauben/CS/usenet-culture.txt


Last edited: $Date: 2023/11/28 11:01:33 $