Eine Einfuerung in USENET und tin
Begriffe wie USENET, netnews oder schlicht news kennt wohl jeder. Der
richtige Umgang mit diesen Dingen und die effiziente Bewaeltigung der
enormen Informationsmengen ist aber nicht unbedingt
einfach. Insbesondere dann nicht, wenn man keinen guten Newsreader
kennt und beherrscht. Diese Probleme sollen hiermit beseitigt werden.
Was ist das USENET ueberhaupt?
Am ehesten koennte man das USENET mit einem verteilten bulletin board
system vergleichen. Es ist unterteilt in verschiedene Themenbereiche,
sogenannte Gruppen (groups, oder auch newsgroups), von welchen es im
Moment rund Dreitausend geben duerfte und umspannt die ganze
Welt. Innerhalb einer Gruppe werden verschiedene zum Namen der Gruppe
passende Themen diskutiert, sogenannte Threads. Ein Thread hat einen
Titel (der Titel des ersten zu ihm gehoerenden Artikels) und besteht
meistens aus einer Anfrage und eventuell einigen (1 bis in seltenen
Faellen ueber hundert) Antworten und kann sich in mehrere Subthreads
aufspalten. Die meisten Newsreader (Programme, um die news moeglichst
komfortabel lesen zu koennen) sortieren die Artikel einer Gruppe
leider nur nach ihrem Datum, dabei ist es viel angenehmer, die
Artikel, die zu einem bestimmten Thread gehoeren, gerade nacheinander
lesen zu koennen. Diese Moeglichkeit bieten sogenannte "threaded
newsreader", wie z.B. trn oder eben tin.
Vorbereitung von tin
Zuerst einmal muss man tin sagen, woher die News zu beziehen
sind. Fuer Studenten liegen sie auf neptune.ethz.ch, also ist
folgender Befehl in einer shell (csh, tcsh) auszufuehren:
setenv NNTPSERVER neptune
Die syntax fuer sh, bash und zsh ist:
set NNTPSERVER=neptune
export NNTPSERVER
Damit tin weiss, dass es die News nicht auf dem lokalen Rechner
findet, startet man das Programm mit der Option -r (remote) oder
verwendet den Namen rtin anstelle von tin. Der Pfad von tin ist
/usr/local/bin, der komplette Befehl zum starten von tin ist also:
/usr/local/bin/rtin
Wenn man /usr/local/bin in seiner PATH-Variable schon eingefuegt hat
(z.B. in der Datei ~/.cshrc), genuegt
rtin
Zudem empfiehlt es sich, auch die obigen Zeilen zum Setzen des
NNTPSERVERs in die jeweilige startup-Datei der eigenen Lieblingsshell
einzutragen, damit man sie nicht jedesmal von Hand wieder eingeben
muss.
Nachdem tin erfolgreich gestartet wurde, heisst einen das Programm
ersteinmal herzlich willkommen. Nach dem Druecken einer beliebigen
Taste erscheint ein mehrheitlich leerer Bildschirm. Falls man nur
einige ganz bestimmte Newsgroups lesen moechte, deren Namen man schon
kennt, kann man diese nun direkt mit 'g' anwaehlen. Dazu jedoch
spaeter mehr. Fuer all diejenigen, die sich im USENET noch nicht
auskennen und somit auch noch nicht wissen, welche Gruppen sie
ueberhaupt lesen sollen, empfiehlt es sich, tin sogleich wieder mit
'q' zu verlassen. Das Programm hat naemlich eine Datei namens
~/.newsrc angelegt, in der alle im Moment auf diesem Server
verfuegbaren Newsgroups drin stehen.
Die Qual der Wahl
Nun laedt man sich die Datei ~/.newsrc in einen Editor und schaut sie
sich einmal an. Die ersten paar Zeilen sehen dann etwa so aus:
alt.3d!
alt.abortion.inequity!
alt.activism!
alt.activism.d!
...
Zuerst steht jeweils der Name der Newsgroup, dann ein Kennzeichen
dafuer, ob es sich um eine vom Benutzer abonnierte Gruppe handelt
(':') oder um eine, die ihn nicht interessiert ('!'). Danach kommen
noch die Nummern der bereits gelesenen Artikel. Da bis jetzt noch
keine Gruppe angewaehlt wurde, steht nach den Ausrufezeichen nichts
und da erst recht auch noch nichts gelesen wurde, sind auch keine
Artikelnummern vorhanden.
Um nun aus den ueber 2300 Gruppen, die auf neptune gespeichert sind,
die interessanten zu finden, sucht man am besten mit der Suchfunktion
des Editors nach bestimmten Woertern, z.B. nach 'mac', 'unix' oder
nach was es einem auch immer geluestet (einen etwas besseren
Ueberblick erhaelt man, wenn man die Datei vorher sortiert. Sie sieht
zwar sortiert aus, ist es aber nur am Anfang). Meistens findet man auf
diese Art mehr Gruppen, als einem lieb ist. Folgende Aufstellung der
verschiedenen Gruppen-Hierarchien soll eine kleine Hilfe sein, damit
man sich in der riesigen Vielfalt leichter zurechtfindet:
- alt.*: Alternatives. In dieser Hierarchie ist es besonders leicht,
neue Groups zu installieren, deshalb gibt es einige etwas
merkwuerdige oder ungewoehnliche Namen. Hier findet man haeufig Fans
von Themen, die in keine der anderen Gruppen passen
(z.B. alt.fan.james-bond).
- bit.listserv.*: Bitnet-Mailinglisten.
- biz.*: kommerzielle Angebote.
- ch.*: Schweiz-spezifische Themen. Nicht sehr viel (sowohl Anzahl
der Gruppen als auch Artikel/Woche), aber zum Teil durchaus
interessant wegen der lokalen Relevanz. Wird nur innerhalb der
Schweiz verbreitet.
- comp.*: Hier wird es fuer Informatiker interessant, denn es geht
um alles rund um Computer. Einige der wichtigeren Unterhierarchien
sind: comp.lang.* (Computersprachen), comp.os.* (Betriebssysteme),
comp.sys.* (verschiedenste Systeme wie Amiga, Atari, PC, DEC, SUN,
HP, SGI, NeXT,...), comp.unix.* (allgemeines zu UNIX und zu
verschiedenen Versionen davon).
- de.*: Alles nochmals in etwas kleinerem Rahmen fuer den
deutschsprachigen Raum.
- ethz.*: Hier gibt es auch nicht sehr viel, dafuer aber fuer
ETH-Angehoerige wichtiges.
- gnu.*: Wichtiges rund um die GNU-Utilities (emacs, gcc, ...)
- misc.*: Miscellaneous. Verschiedenes wie z.B. Verkaufs- und
Job-Angebote.
- news.*: Netnews ueber sich selber (Organisation des USENET,
Ankuendigungen, Missbraeuche, Statistiken). Fuer Neulinge duerfte
insbesondere news.newusers.questions von besonderem Interesse
sein. Wenigstens am Anfang sollte man hier ein paar Mal
hereinschauen, um etwas mehr ueber's USENET zu erfahren.
- rec.*: Hier findet man vor allem Diskussionen ueber nicht
Computer-abhaengige Hobbies wie Kunst, Autos, Spiele, Musik und
Sport.
- sci.*: Science. Wissenschaftliche Themen.
- soc.*: Society. Kulturen verschiedenster Laender und die
wichtigsten Religionen.
- talk.*: Hauptsaechlich Politik und Philosophie.
- inf.*: Einige lokale Groups, die nur innerhalb der ETH gelesen
werden koennen und vor allem fuer Informatiker wichtig
sind. Studenten sollten wenigstens inf.students und inf.info
regelmaessig lesen, um ueber Aenderungen an den Systemen rechtzeitig
informiert zu sein.
Um die gefundenen Themenbereiche nachher im tin lesen zu koennen,
ersetzt man das Ausrufezeichen am Ende der entsprechenden Zeile durch
einen Doppelpunkt. Nun nocheinmal tin gestartet und es geht richtig
los!
Erste Schritte mit tin
Hat man vorher (wie oben beschrieben) einige Gruppen in der Datei
~/.newsrc mit einem Doppelpunkt angewaehlt, so sieht der
Hauptbildschirm von tin nun schon etwas interessanter aus. Zuoberst
steht, wo man sich gerade befindet ("Group Selection". Die Auswahl der
Newsgroups), sowie die Anzahl angezeigter Gruppen. Ein eventuell
vorhandenes 'R' bedeutet, dass nur die Gruppen angezeigt werden, in
denen sich ungelesene Artikel befinden und die restlichen unsichtbar
sind. Darunter sind Zeilenweise die abonnierten Gruppen in folgender
Form:
Nummer Artikel Name [Beschreibung]
Die einzelnen Spalten bedeuten:
- Nummer: Nummer der Gruppe (fuer direkte Anwahl, siehe weiter unten).
- Artikel: Anzahl der noch nicht gelesenen Artikel. Diese Zahl
duerfte jetzt bei einigen Groups noch erschreckend hoch
sein. Allerdings werden dabei auch Artikel mitgezaehlt, die schon
laengst geloescht wurden.
- Name: Der Name der Gruppe.
- Beschreibung: Eine ganz kurze Beschreibung, worum es in der Gruppe
geht. Zum Teil fehlt diese Beschreibung.
Im unteren Teil des Bildschirms befindet sich ein kleines
Hilfsmenu. Es ist uebrigens ueberall im Programm moeglich, mit 'h'
eine Liste aller momentan gerade moeglichen Befehle und ihre Bedeutung
anzuzeigen. Die wichtigsten davon im Hauptmenu sind: Pfeil hoch und
Pfeil runter (bzw. 'k' und 'j') zum Verschieben des Cursor-Balkens und
'Return' zum Anwaehlen einer Gruppe. Hat man mehr Gruppen abonniert
als auf einer Seite Platz haben, so kann man entweder wie gerade
beschrieben durch die Liste scrollen, mit 'Space' seitenweise
vorwaertsgehen oder mit 'g' und dem genauen Namen einer Gruppe direkt
zu ihr hin springen. Ist endlich eine gute Gruppe gefunden, kommt man
mit 'Return' zum Group-Level, wo man einen Ueberblick ueber die
gewaehlte Gruppe erhaelt. Zuerst muss tin allerdings noch alle Artikel
indizieren, damit sie nachher leichter zu Ordnen sind. Die auf den
rifrafs installierte Version von tin ist leider nicht von neuestem
Datum, deshalb kann sie die auf dem Server bereits vorhandene
Vorsortierung der Artikel nicht ausnuetzen. Besonders beim ersten
Anwaehlen einer Gruppe kann das ein Weilchen dauern (Es ist auch
moeglich, tin einmal mit 'rtin -u -v' aufzurufen, um auf einmal alle
Gruppen zu indizieren oder diesen Befehl in der privaten crontab
einzutragen, dann wird die Indizierung z.B. ueber Nacht
erledigt). Spaeter wird dieser Vorgang dann nicht mehr so lange
dauern, da jeweils nur noch die neuen Artikel bearbeitet werden
muessen.
Das Menu auf Gruppen-Stufe sieht aehnlich aus wie das Hauptmenu:
Zuoberst steht der Name der Gruppe, sowie einige Zahlen. Die wichtigen
sind die vor dem 'T' und vor dem 'A'. Sie zaehlen die Anzahl
angezeigter Threads bzw. Artikel. Ein allfaelliges 'R' zeigt wiedrum
an, dass nur die ungelesenen Artikel aufgefuehrt sind. Darunter folgen
zeilenweise die einzelnen Threads mit folgendem Zeilenformat:
Nummer [+] [Antworten] Titel Autor
Die Bedeutungen sind:
- Nummer: Die Thread-Nummer zum direkten Anwaehlen.
- +: Hier hat es noch ungelesene Artikel.
- Antworten: Anzahl ungelesene Artikel, falls es mehr als einen in
diesem Thread gibt. Steht gar keine Zahl, so handelt es sich um
einen einzelnen Artikel ohne (ungelesene) Antworten.
- Titel: Der Titel des ersten Artikels in diesem Thread (die
nachfolgenden unterscheiden sich meist nur durch ein vorangestelltes
'Re: ').
- Autor: Der Name oder die e-mail Adresse des Autors.
Darunter ist wieder ein kleines Hilfsmenu, diesmal mit geringfuegig
anderen Befehlen. Auch hier kann man mit Pfeil hoch und Pfeil runter
(bzw. 'k' und 'j') die zur Auswahl stehenden Threads anwaehlen oder
mit 'Space' seitenweise durch die Liste blaettern. Mit 'Return' zeigt
man den ersten Artikel eines Threads an, und zwar auch dann, wenn man
ihn schon gelesen hat. Auf diese Art wird man zuerst nocheinmal daran
erinnert, worum es in dem Thread geht. Mit 'Tab' ueberspringt man den
ersten Artikel eines Threads (falls man ihn bereits gelesen hat) und
kommt direkt zum ersten ungelesenen. Zur besseren Uebersicht ueber
einen Thread kann man ihn auch anwaehlen und sich dann mit 'l' eine
Liste aller darin enthaltenen Artikel ausgeben lassen.
Auf der Artikel-Stufe sieht der Bildschirm etwas anders aus als
vorher. In der obersten Zeile steht das Datum und die Zeit, zu der der
Artikel abgeschickt wurde (bereits umgerechnet in die lokale
Zeitzone), der Name der aktuellen Newsgroup und die Nummer des
Threads, zu dem der Artikel gehoert. Die naechste Zeile enthaelt die
Anzahl Linien des Artikels, seinen Titel (invers) und wieviele
Antworten darauf bereits geschrieben wurden. Der unterste Teil des
Seitenkopfes ist dem Autor des Artikels vorbehalten, er enthaelt
dessen e-mail Adresse, seinen Namen und die Organisation, von wo der
Artikel abgeschickt wurde (z.B. 'ETH Zuerich'). In der Mitte ist ein
Ausschnitt des Artikels und zuunterst wieder das kleine Hilfsmenu
(welches sich uebrigens mit 'H' aus- und einschalten laesst). Ganz
unten wird angezeigt, wieviel Prozent des Artikels bereits gelesen
wurden und das Verhaeltnis gelesene/totale Anzahl Bytes. Mit 'Space'
und 'b' scrollt man eine Seite weiter bzw. zurueck. Am Ende eine
Artikels geht 'Space' zum naechsten Artikel eines Threads, oder, falls
es der letzte Artikel war, direkt zum naechsten Thread. Die
Tabulator-Taste fuehrt immer (nicht nur am Ende eines Textes) zum
naechsten ungelesenen Artikel. Diesen sucht tin ebenfalls zuerst im
aktuellen, dann im naechsten Thread.
Beantworten von Artikeln
Beim Lesen eines Artikels gibt es noch zwei weitere wichtige
Funktionen, die man kennen und nicht verwechseln sollte: Persoenliches
(reply, Taste 'r') und oeffentliches (followup, 'f') beantworten eines
Artikels. Eine persoenliche reply wird als e-mail direkt an den Autor
geschickt, waehrend ein followup in allen Gruppen landet, in denen
auch der aktuelle Artikel verschickt wurde (meistens ist das nur eine,
man kann Artikel aber auch in mehreren Gruppen verschicken). Der Text
geht dann durch Tausende von Rechnern auf der ganzen Welt (ausser bei
lokalen Gruppen) und belastet dabei sowohl Netzwerk-Kapazitaeten als
auch unzaehlbare CPUs und Festplatten. Man sollte sich deshalb gut
ueberlegen, ob es nicht auch genuegen wuerde, eine Antwort als e-mail
zu geben. Viele Fragesteller im USENET bieten jeweils an, man solle
die Antworten direkt an sie schicken, sie wuerden dann das Ergebnis
falls gewuenscht ein paar Tage spaeter in einem followup
zusammenfassen. Dies ist haeufig eine gute Methode, da e-mails
wesentlich weniger Resourcen brauchen als USENET-Artikel. Nachdem man
sich mittels 'r' oder 'f' zum Beantworten einer Frage oder zum
Ergaenzen einer Antwort entschlossen hat, wird sofort der Editor
gestartet, der in der Environment-Variable EDITOR der shell steht. Im
Normalfall ist es angenehmer fuer die anderen Leser, wenn noch ein
paar Zeilen des vorherigen Artikels im Text stehen, damit sie den
Zusammenhang besser sehen. Beantwortet man mit den Tasten 'R' oder
'F', so wird der alte Text gequotet, d.h. ganz in den Artikel
uebernommen, aber zusaetzlich wird vor jeder Zeile ein Doppelpunkt
(laesst sich mittels Voreinstellungen auch in das gebraeuchlichere '>'
aendern) eingefuegt, damit man die zitierten Stellen auch als solche
erkennt. Aber Achtung: Quoten will gelernt sein. Es ist sinnlos und
gilt im USENET als unhoeflich (gelinde gesagt), einen langen Artikel
vollstaendig zu quoten und am Schluss einen winzigen Kommentar wie
z.B. "me too" anzufuegen. Man sollte sich gut ueberlegen, welche
Stellen fuer's Verstaendnis wirklich wichtig sind und den Rest wieder
loeschen.
Ist man fertig mit der Antwort, hat den Text abgespeichert und den Editor verlassen, so steht man vor drei Moeglichkeiten:
- Abbruch ('q' wie quit), wenn man sich's anders ueberlegt hat und
die Antwort doch nicht abschicken moechte,
- Editieren ('e'), falls einem noch etwas eingefallen ist und man
den Text naechtraeglich noch aendern moechte, und
- Abschicken ('s' wie send bei einem reply und 'p' wie post bei
einem followup).
Im Inhaltsverzeichnis einer Gruppe wird ein eben abgeschickter Artikel allerdings noch nicht erscheinen. Es dauert meist einige Minuten, bis der Artikel auf dem Server in die Gruppe aufgenommen und weitergeschickt wurde.
Starten eigener Threads
Bis jetzt habe ich nur beschrieben, wie man auf bereits existierende
Artikel antwortet. Wie aber beginnt man einen eigenen Thread?
Eigentlich ist es recht einfach: Man sucht sich die passende Gruppe
(mit scrollen oder 'g' im Gruppen-Menu) und tippt ein 'w'
(write). Dann muss man einen Titel (Subject) eingeben, der moeglichst
passend und kurz ist. So aussagekraeftige Ueberschriften wie "Help me"
werden wohl von vielen Leuten gar nicht erst gelesen, weil sie nur
diejenigen Artikel anwaehlen, die sie vom Titel her interessieren und
den grossen Rest schlicht ueberspringen. Zu lange Titel sind auch
nicht gut, weil sie in der Liste der Threads sonst nicht mehr
vollstaendig zu lesen sind. Ist der Titel eingegeben, wird der Editor
gestartet, wobei ein Teil des Headers bereits vorgegeben ist. An der
ersten Zeile (Subject) gibt es eigentlich nichts mehr zu aendern, es
sei denn, es ist einem in der Zwischenzeit ein besserer Titel
eingefallen. In der zweiten Header-Zeile steht die Gruppe, in der der
Artikel verbreitet wird. Man kann auf dieser Zeile auch noch weitere
Gruppen angeben, aber man sollte das nur tun, wenn es unbedingt noetig
ist! Einen Artikel, der auf diese Weise in mehreren Gruppen verschickt
wird, nennt man "Cross-posting". Massives cross-posting von Artikeln
(oder gar wiederholtes posten eines Artikels in jeder Gruppe einzeln)
in unpassenden Gruppen ist im USENET aeusserst unbeliebt und kann zu
ziemlich boesartigen Reaktionen fuehren. Wenn man zum Beispiel seinen
PC gegen einen Mac eintauschen moechte, ist es durchaus angebracht,
diesen Artikel in eine PC- und eine Mac-Gruppe zu cross-posten (aber
nicht in alle PC und alle Mac-Gruppen!). Cross-postings sind auf jeden
Fall besser, als den gleichen Artikel mehrmals in verschiedenen
Gruppen von neuem zu verschicken, da cross-postings nur einmal
uebertragen und gespeichert werden (in den Gruppen der Newsserver
werden einfach Pointer auf den Artikel eingetragen). Zudem werden
cross-postings in allen Gruppen, in denen sie verschickt wurden, als
gelesen markiert, wenn man sie in einer davon gelesen hat. Die dritte
Header-Zeile ist fuer das Gebiet der Verbreitung des Artikels
zustaendig (Distribution). Meistens kann man hier einfach "world"
eintragen, wodurch der Text weltweit ueberallhin verschickt wird, wo
die jeweilige Gruppe auch empfangen wird. Moechte man einen Artikel
nur gerade auf dem benutzten Newsserver lokal speichern und nicht
weiterverbreiten, kann man hier auch "local" eintragen. Die letzten
beiden Zeilen ("Summary:" und "Keywords:") sind freiwillig und werden
nicht von allen Newsreadern unterstuetzt. Es emfpiehlt sich vielleicht
trotzdem, hier ganz kurz etwas passendes einzutragen. Nachdem der
Header richtig vervollstaendigt wurde, kann man den eigentlichen Text
schreiben. Nach dem Speichern und Verlassen des Editors kommt wieder
die bereits oben beschriebene Frage, was nun mit dem Text geschehen
soll.
Nun muesste eigentlich das wichtigste klar sein. Wer seine neu
erlernten Faehigkeiten mit einem Test-Artikel ausprobieren moechte,
der kann das in der Gruppe alt.test tun. Falls im Titel nicht "ignore"
steht, wird man in den naechsten Tagen von Mails aus aller Welt
ueberschwemmt werden, die einem bestaetigen, dass der Artikel richtig
verschickt wurde. Da die News-Installation aber eigentlich schon
funktioniert, genuegt es, einen Test-Artikel nur lokal zu verbreiten.
So, dies muss fuer einen ersten Einstieg in's USENET und den
Newsreader tin reichen. In einer der naechsten Visionen werde ich noch
ein paar fortgeschrittene Themen behandeln. Fuer Fragen, Kritik und
Anregungen stehe ich selbstverstaendlich gerne zur Verfuegung.
Felix Rauch (IIIC/6)
frauch@iiic.ethz.ch