Chapter 5
USENET: The Global Bulletin Board

Remember that first day at a new school? The disorientation. Cryptic signs hanging from the ceiling and you wondering which one applied to you. Conflicting directions from different people about what you were supposed to do. The frustration. The desire to turn around and go home. USENET is a little bit like that.

On that first day, however, you knew that if you stuck it out, it would all be worth it. So instead of turning around and catching the next bus, you faced your apprehensions and went forward. In the end, that first day became a blur, shadowed by the successes you've had since. USENET is like that, too.

So read carefully, follow step by step, and the first-day blues can be, well, if not avoided, then certainly minimized. That is, unless you are one of those people who never read the introductions to chapters.

So, What Is USENET, Anyway?

USENET is a series of public bulletin board-like discussion groups, called newsgroups. Anyone with access can post to these newsgroups, and anyone can respond to anything that is said in any of the groups. You can even suggest the formation of a new newsgroup, and considering that roughly 90 megabytes of information are exchanged each day, USENET works amazingly well. (90 megabytes of information would fill over 3,000 books the size of this one.)


Tip: There are other newsgroups besides the USENET ones, but they all work basically the same way. You don't pay a subscription fee to join a newsgroup. You are just telling the network you want to read it on a regular basis. So go ahead, subscribe all you want, all it will cost you is time.
Like most of the Internet, USENET (also referred to as netnews) is managed by the people who use it. That's you and me. Pretty scary, huh?

Anatomy of a Newsgroup Name

Don't be intimidated by the long, cryptic names of newsgroups--yes, I know there are oddly placed periods and dashes, but it's really quite simple. All newsgroups use a similar syntax in choosing their names. For example, the group comp.sys.ibm.pc.games.flight-sim breaks down this way:

comp
tells us that this group is in the computer subcategory.

sys.ibm.pc
tells us that the operating system we're working with is for IBM and compatible PCs.

games.flight-sim
lets us know that the discussion will revolve around games, specifically around flight simulators.
There are roughly 6,000 different newsgroups and they are organized into seven major and several minor categories:

comp
Groups in this category contain discussions relating to computer science, computer games, different operating systems, artificial intelligence, and so on. If you want to know about computers, you can find it here. Some of the groups you will find there include:

news
This refers to netnews. You can find information relating to USENET here. These groups are good places to start looking when you have questions regarding the news. Some examples:

rec
As in recreation. Music, hobbies, the arts, skiing, and more, such as:

sci
Groups relating to the various disciplines of science. Offerings include:

soc
Groups of sociological concerns. There is a soc group for just about every country to discuss political and sociological concerns there. Some examples:

talk
Here is where debates on controversial (and noncontroversial) topics can take place. Discussions can become quite heated in these newsgroups. Groups in this category include:

misc
Everything else that doesn't fit into one of the other categories. Examples:

These are the major categories; you will most certainly see others at your site. Some of these will include:

alt
A wide variety of groups ranging from Barney to the supernatural.

bionet
Discussions among biologists.

bit
Many bitnet LISTSERVs are piped into newsgroups under this heading. Subscribing to these groups is an alternative to having these discussions come into your mailbox.

biz
Newsgroups relating to topics of interest to business.

clari
Groups from Clarinet. This is a subscription service that brings information from UPI into newsgroups.

k12
Groups relating to K12 education.

Seeing What's Available

Don't panic when you see the huge mass of information that awaits you on USENET. Depending on your site, you probably have anywhere between 1,500-3,000 different newsgroups you can read. That's more information than you want. When you enter the world of USENET for the first time, you will more than likely be subscribed to every one of them. The computer has no idea of your interests and leaves it up to you to decide. Everything from alt.simpsons.itchy.scratchy to soc.bosnia.news is waiting for your inspection.

That is, unless your school has already created a customized list for you. In that case, you'll be subscribed to between five and ten introductory groups. If so, you don't know how lucky you are, and you can skip the next part on clearing the newsgroup list, unless you want to see what I'm going to put the rest of these people through.

When you first start up a newsreader, a file called .newsrc will be created. If you have never used a newsreader before, I'm going to take you through it very briefly just so we can create this file. At your prompt, type:

nn
You'll see some introductory pages. Read this stuff and scroll through it by hitting the Spacebar until you come to a screen that looks reminiscent of your e-mail inbox. At that point, quit by typing Q, or if you really want to hit some other buttons and play around until you get so frustrated that you want to chuck the computer out the window, then go for it. USENET can do that to you. Watch out.

Once you have quit, type:

more .newsrc
First, let's find out what newsgroups your site has to offer. From your UNIX prompt, type:

more .newsrc

The file .newsrc is a listing of every newsgroup available for you to read. The more command will pass them across your screen one page at a time. Here is an example of what you will see:

(1b)news.admin: 1-16159
news.admin.misc: 1-10363
news.admin.policy: 1-12847
news.admin.technical: 1-557
news.announce.conferences: 1-4416
news.announce.important: 1-21
news.announce.newgroups: 1-3940
news.announce.newusers: 1-703
news.answers: 1-20677
news.config: 1-1162
news.future: 1-4102
news.groups: 1-73550
news.lists: 1-1691
news.lists.ps-maps:1-1194
news.misc: 1-6093
news.newsites: 1-1390
news.newusers.questions: 1-23600
news.software.anu-news:1-4991
news.software.b: 1-9805
news.software.nn: 1-5094
news.software.nntp: 1-6850
news.software.notes: 1-183
news.software.readers: 1-9035
news.sysadmin: 1-2596
comp.admin.policy: 1-4910
comp.ai: 1-13003
comp.ai.digest: 1-1
comp.ai.edu: 1-1525
comp.ai.fuzzy: 1-2000
comp.ai.genetic: 1-2550
comp.ai.nat-lang:1-1421
comp.ai.neural-nets:1-13010
comp.ai.nlang-know-rep:1-204
This is just a few of them. Press the Spacebar to advance to the next page. Notice that each newsgroup name in the list is followed by a colon. The colon means that you are subscribed to that particular newsgroup. News- groups that you aren't subscribed to will have a ! at the end of them.

Clearing the Newsgroup List

Notice that, at least in my list, there isn't a single ! in sight. (There probably won't be in yours either.) So the challenge is to change all of the : to !. (Yes, I know, you want to keep some of them, but this way we can begin with a clean slate and work from there.)

Luckily there is an easy way to unsubscribe all of them at once. Unluckily, you have to use the vi editor to do it. Don't get me wrong--I realize that vi is a powerful text editor, but it can also be powerfully intricate and confusing. So follow along and I promise this is the only time I will ask you to do this.

First, you have to open your .newsrc using vi. At your UNIX prompt, type this:

vi .newsrc
and press Enter. Your .newsrc appears on-screen just like it did when you used the more command, except now you can make changes to it. Follow these directions:

  1. Press Esc. This takes you out of editing mode and into command mode.

  2. Type :%s/:/!. The :%s means "substitute," the /: shows what to find, and the /! shows what to replace it with.

  3. Press Enter to execute the command.

  4. Type :wq to exit vi.

  5. Press Enter.
This is a global replace command that will substitute every : with a !, unsubscribing you from every newsgroup.


Note: If you inadvertently hit another key, or your cat jumps on the keyboard in the middle of the procedure, don't panic--just press Escape, and then type :q!. That will take you out of vi without saving any of the inadvertent changes you've made and you can start from scratch.
Now that you are unsubscribed from all the groups, it's time to start building a .newsrc that will meet your needs.

Choosing Your Newsgroups

For picking the newsgroups you want to subscribe to, you have a couple of options. You can either browse through your .newsrc for a newsgroup that looks good to you, or you can search through it for keywords. You can do a search like this from your UNIX prompt:
grep keyword .newsrc
I'm using the UNIX grep command to search through my .newsrc for newsgroups relating to my interest as defined by my keyword. If I was looking for a newsgroup relating to computer games, for example, I would type:
grep games .newsrc
Such a search brought the following results on my server:

comp.sources.games! 1-765
comp.sources.games.bugs! 1-372
comp.sys.amiga.games! 1-47535
comp.sys.ibm.pc.games! 1-62417
comp.sys.ibm.pc.games.action! 1-30867
comp.sys.ibm.pc.games.adventure! 1-20229
comp.sys.ibm.pc.games.announce! 1-449
comp.sys.ibm.pc.games.flight-sim!1-14799
comp.sys.ibm.pc.games.misc! 1-15608
comp.sys.ibm.pc.games.rpg! 1-21396
comp.sys.ibm.pc.games.strategic! 1-18144
comp.sys.mac.games! 1-49855
rec.games.chess! 1-33879
rec.games.moria! 1-15023
bit.listserv.games-l!1-25366
comp.os.os2.games! 1-800
comp.sys.acorn.games! 1-108
comp.sys.ibm.pc.soundcard.games! 1-25
comp.sys.ibm.pc.games.marketplace! 1-1384
If you did such a search on your server, you would probably see some of the same groups and some different ones. Not all hosts carry every newsgroup that's out there.

Let's pick one that looks interesting and see what it has to offer. However, before we do that let's look at our options.

Newsgroup Reading Programs

Before we go any further, you're going to have to decide on a newsgroup reading program. There are four basic newsreading programs you can use from your UNIX prompt. They are as follows:

rn (read news)
This is one of the older programs and doesn't have the features of the newer programs but still gets the job done.

trn (threaded read news)
A new and improved version of rn that allows you to view the differing conversations in a threaded version.

nn (netnews)
It's fairly easy to use and configure.

tin
The newest of all programs and probably the easiest.

Of all these, I would recommend either tin or nn if you're just getting started with USENET. Since nn is the most common program, I'll be using it for most of the examples in this chapter.

Finding out which program your school supports is easy. Try typing in the commands at your UNIX prompt: nn or tin. If either works, you are in luck and on your way, if not, try rn or trn. Any of these will get you into USENET. If none of these work, check with your campus computer people and find out what your options are for reading the news.

Reading and Subscribing--The First Time

Ready to check out what USENET has to offer? Good. Remember that we cleared out our .newsrc and are not currently subscribed to any newsgroups. Now it's time to subscribe. Let's try it using nn. Invoking nn from the UNIX prompt is going to bring us this message:
No News (is good news)
It's only right. When you cleared out your .newsrc list, you indicated that you didn't want to read any groups, but now, you want to check out a news-group to see whether it's interesting enough to subscribe to. To check it out without subscribing, use the following command:
nn -X newsgroup
where newsgroup is the name of the group you want to check out. (Make sure the -X is uppercase.) Once you've subscribed to one or more newsgroups, you can read them anytime by just typing nn--this -X business is only for reading newsgroups that you haven't subscribed to yet.

Which group should you check out first? Absolutely your call. Turn back to the list you created with the grep command a few pages ago for some ideas. Personally, I like rec.games.chess, so I will type:

nn -X rec.games.chess
I'll get the following response:
Newsgroup: rec.games.chess                            Articles: 469 UNSUB
a Ian Torwick      22  >Star Trek 3D board now so
b Elliott Winslow  26  >>Estrin
c Kevin Gowen      13  >chess is stupid.
d ed.knowles       13  >>1 d4 Nf6 2 c4 e6 3 Nc3 Bb4 4 Bg5!?
e Glen Newbury      9  Chess Books
f LewisP4909       10  >
g Timothy Takach    6  >>
h Glen Newbury      3  Time Clocks
i Darrin Bond      13  >
j crawf            23  >>
k Jordan S. Berson 13  >
l Peter Stein      53  >Chess Databases: my decision: Chess Assistant
m Herb Wolfe       12  >E-MAIL CHESS
n Ramjet           24  -
o cowboy2          43  >
p Robert Hams Jr.  30  :tHE gAME rOOM The Game Room THE GAME ROOM
q Herb Wolfe       30  >>>>Weakest GM's Ever
r J E H Shaw       14  >>
s Jeffrey Golds    29  >>>>
--21:28 --SELECT --help:? -----Top3%-----
This screen shows 19 messages relating to the game of chess. The 3% at the bottom lets us know that we are only seeing the top 3% of all the messages available for us to read. So if 19 messages is only 3%, that means there is a total of, um" well" you can figure that one out yourself. There's a whole bunch of them.

The names in the left column indicate the author of the posting. The number in the middle shows us the length of the message and the right column gives us the subject. Notice there are a fair amount of >s and >>s and >>>s and so on. These signs indicate that posting is a follow-up to the message directly above it. For instance, in the sequence:

e Glen Newbury      9  Chess Books
f LewisP4909       10  >
g Timothy Takach    6  >>
Glen had something he wanted to say regarding Chess Books. LewisP4909 found it of enough interest that she/he wanted to add his/her two cents worth. Then in comes Timothy who responds to whatever it was that Lewis said. Got that? Good.

We have tricked the computer into thinking that we are subscribed to this group, but we're not yet. Being subscribed means that this group (or groups) will automatically come up onto our screen when we invoke nn. To formally get yourself into the group, type U (uppercase again). This will bring up the message:

Already unsubscribed.  Resubscribe to rec.games.chess ?
Answer with a resounding y, and you have just subscribed to your first newsgroup.

Newsgroups with nn: The Cliff's Notes Version

Let's review. Here are the steps you need to follow to get set up with nn:

  1. In vi (or some other text editor), edit your .newsrc file to change all the colons (:) to exclamation points (!). This unsubscribes every newsgroup.

  2. Inspect your list of available newsgroups by typing more .newsrc at the UNIX prompt.

  3. To read a newsgroup, type nn -X newsgroup.

  4. Once in the newsgroup, type U, and then answer y to subscribe to it.
Simple as that.

Subscribing to More Newsgroups

From this point on, subscribing to new newsgroups is easy. From inside nn, type G (uppercase). nn will ask you what newsgroup you want to read. For example, let's see how the job market looks in Michigan. I type G and see the following message at the bottom of the screen.
Group or Folder (+./~ %=sneN)
I type mi.jobs and press Enter. Themi.jobs newsgroup comes up:
Newsgroup: mi.jobs                            Articles: 23 of 3389/29 UNSUB
a Fred Bosch        1  Telecommunications recruiters, sales, managers
b Jimbo98086       20  ****MUMPS Programmers (Search Firm)
c Jimbo98086       20  -
d Brady Hartman    49  ATEGRA NEEDS SQL RDBMS DE<>S/SYSTEM ARCHITECTSNATIONWIDE
e Brady Hartman    49  -
f Arbor I Systems  45  Smalltalk and Gemstone de<>nted Ann Arbor MI andNew York
g KHANSEN@suvax1   24  Your Cover Letter Critiqued Online and Free
h Khris Hruska      6  Looking for people who found a job through the Net...
i James Downward   23  Job opening for Macintosh/Newton Programmer
j PEKKAN           54  URGENT JOB OPENINGS!
k MISTHWEST2       19  SAP R/2 and R/3 Positions for Consideration
l Patrick Lademan  42  >>--->Software Jobs >>--->
m johnrody@onramp  36  BROADCASTING JOBS-freesample!!
n Dan Karbal       18  Computer Operations Manager
o JAMES GARY       12  Sales to Physicians/Chiropractors
p Jim Dakin        15  Tandem Non Stop SQL, Pathways
q Jim Dakin        19  MS C++, GUI, DOS, Windows 3.1, contract
r Charles Garces   21  freelance work/experience requested
s Patrick Lademan  18  >>--->Oracle w/Forms Exp. >>--->
--18:05 --SELECT --help:? -----Top81%-----  
At this point, I type U to subscribe to this group.


Note: Don't let it confuse you that you use the U command to subscribe as well as unsubscribe. Yes, I know, there should be an S command for Subscribe, but let's just leave it alone and go with what works, okay?

Reading and Posting to a Newsgroup

Let's take a look at some of the postings in the mi.jobs newsgroup, now that we're here. The bottom line tells me that I am looking at 81% of all of the postings available to me at this time to read. This means there are just a few more on the next page. I can handle that.

I choose the postings that look interesting to me and type the letter next to each one to select them. The posting

i James Downward   23  Job opening for Macintosh/Newton
looks good. So does

n Dan Karbal       18  Computer Operations Manager
I type i and n (the letters in front of these messages) and those two postings become highlighted (selected for later reading). I can check out the message summaries on the next page by pressing the Spacebar.

Once I have selected all of the postings I want, I type Z (uppercase) to read the messages I've marked. Let's look at one:

Macintosh/Newton Programmer/Analyst Position
Innovation Associates, Inc. has an immediate opening for a full
time programmer/analyst to assist in completing a six month
development project to develop a mobile, pen-basedgraphic
interface to a database system for medical applications.  If the
project is successful, this position may lead to permanent
employment.  Applicants should have a BS in Computer Science or
Engineering and some experience in developing applications for
Macintosh computers and Newton PDA's in C/C++ and NewtonScript.
Experience in developing database applications and graphic user
interfaces is desirable.  For immediate consideration, please
send your resume in confidence to:
James Downward
Innovation Associates, Inc.
P.O. Box 1506
Ann Arbor, MI 48106
Tel:    (313) 997-9338
FAX:    (313) 997-9338
E-mail:Downward@Sphinx.Biosci.Wayne.com

Note: Note to desperate job seekers: This is not a real job. Out of fairness to Innovation Associates, I've altered their info just enough so they aren't inundated with résumés from the readers of this book. After all, this is an Internet manual and not an employment agency.
If I find a message that interests me, there are a couple of ways that I can respond. Of course, I can use the phone or "snail mail" to get my résumé to them, but it would make me look a lot more technologically saavy if I can get a snappy reply off to them via the Internet. That not only demonstrates my mastery of the Internet, but my résumé will get there before all of those bozos who are still in the dark ages communications-wise. Who would you rather hire?

My options for responding to this posting are:

I'll show you how to do each of these, but first, a word about text editors.

Time Out: Change Your Default Text Editor
Before you compose a message for USENET, you may want to consider changing what editor you will be using. (A text editor is nothing more than a simple word processing program.) On many systems, vi is the default editor. The frustrations of using vi have turned a lot of people off to USENET; avoid vi if you can.

How do you know what your choices are? Check with your system administrator. Most systems have at least a few text editor choices. If you have another text editor available, let nn know that you want to use it instead. From within nn, type :set editor editorname where, of course, editorname is the name of the text editor program you want to use.

Pico is a common editor and fairly easy to use. To install pico as my editor on my system, I entered:

:set editor pico
From here on, pico (or whatever) will be your editor. Other editors you could try instead of pico include emacs, elm, or med. I like pico the best, though.

--and now, back to our regularly scheduled program.

Posting a Follow-Up
To post a follow-up article, with the article on my screen, I type F. After being asked if I want to include the original article in my posting, I am thrown into my editor (pico, in my case), then I make my response and send it off just as if I were sending e-mail. My posting will appear in the newsgroup as a follow-up article, for the whole world to read:

i James Downward   23  Job opening for Macintosh/Newton
j David Clark      45  >
This may not the best choice to deal with this particular posting, especially if I did a fair amount of groveling and some creative résumé stretching in this message to impress these potential employers. In this case, you would want to consider the next option: responding via private e-mail.

Responding Via E-Mail
Type R, and you'll be thrown into the editor as before. Only this time when you send it, it will go directly into the author's mailbox. This will feel much like sending e-mail. And for good reason. It is.

Saving the Message
If you're not ready for that degree of commitment or don't have your résumé ready to zip off via e-mail, you'll want to save this posting for future reference. Send a copy to yourself by typing M. Doing so will bring up an option for you to type in an e-mail address. You can then mail a copy to yourself.

If you prefer, you can save the file in your UNIX account. Type S and nn will ask you where you want to put it. Type a path (a directory and a file name); if the directory doesn't exist, nn will create it. You can then read the message whenever you want using the more command (remember, just like you did with the .newsrc file at the beginning of this chapter).

Posting Your First Message

Can you feel the excitement building? Yes, it's time to make a contribution to the general welfare and post an original message to a newsgroup.


Note: With most groups, it is a good idea to read some of the traffic before jumping right it. Spend some time and get the feel for the personality of the newsgroups. Doing so will keep you from being spotted as a newbie. When posting, all of the etiquette discussed in the e-mail chapter applies here as well. It may be a good idea to review those before making your first posting.
You can post to USENET either from within a newsgroup (within nn) or directly from your UNIX prompt. To post from your UNIX prompt, type:

nnpost newgroup

where newsgroup is the name of the newsgroup (of course). To post from within a newsgroup, type:

:post

You will be asked which group you want to post to. At this point, you can fill in the name of the group, or if you leave it blank, it will post to whatever group you are in at the moment.

Before you can actually type your message, there are several hoops you will have to jump through. Included are the following:

subject
Filling in the subject line is pretty important, just as it was with e-mail. This line is what will make people want to read what you have to say, so make it interesting.

keywords
Some news programs can use these to help the reader determine whether or not they want to read your posting. This can be left blank.

summary
Same as for keywords.

distribution
Distribution refers to how far and wide you want your article to be posted. By leaving it blank, it will be distributed out to newsfeeds all over the world. Ask yourself if this is really necessary before hitting return. Other options you can type in here include the following:
can	Canada
usa	United States
na	North America
eunet	Europe
CO, FL	State within the US
This can be handy if you are posting something for local eyes only.

Quick Summary of nn Commands

Are you one of those types who reads the Cliff's Notes rather than the whole book? Then this section is for you--a handy reference of nn commands.

There are two types of commands in nn: selection commands and reading commands. When the newsgroup menu is on the screen and you are choosing which articles to read, you're issuing selection commands. When you have an actual message on your screen and you're deciding how to dispose of it, you're issuing reading commands.


Note: Watch out for case sensitivity! Those of you who are DOS users may not be accustomed to "a" meaning something different than "A." But you're in UNIX now, and the rules have changed. Make sure you type letters exactly as they're shown.
Selection Commands
Use these when choosing what articles to read in index mode.

a-z	Select article for reading.
space	Move to next page.
?	Bring up the Help menu.
G	Go to another group.
N	Move to next newsgroup.
Q	Quit nn.
U	Unsubscribe or subscribe.
X	Mark all articles as read.
Z	Read selected articles.

Reading Commands
Use these commands when article is on-screen.

Space	Move to next page in selected article.
?	Bring up the Help menu.
F	Post a follow-up to selected article.
M	Mail copy of article to anyone.
R	Reply via e-mail to selected article.
S	Save article to a local file.
Q	Quit nn.
U	Unsubscribe/subscribe to newsgroup.

A Look at tin

tin is the newest of all the news reading programs. It's not as common as the other programs, but we will probably be seeing more of it. Start tin by typing tin at the UNIX prompt. When it starts, you'll see your list of subscribed newsgroups in a menu.
               Group Selection (nntp.msstate.edu  14 R)              h=help
1 75840  misc.jobs.offered
2  4765  misc.jobs.resumes
3   258  news.announce.newgroups
4    31  news.announce.newusers
5    46  news.lists
6   964  rec.arts.drwho
7 11161  rec.motorcycles
8 26525  rec.music.gdead
9    15  sci.nanotech
10 19402  soc.culture.japan
11    50  alt.exotic-music
12 21606  alt.folklore.computers
 13   171  rec.juggling
14   216  comp.mail.pine

<n>=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
*** End of Groups *** 
Where nn will take you through your newsgroups one at a time, tin gives you the option of choosing which newsgroup you want to read first. The commands are listed at the bottom of the screen. To read a newsgroup, I can type the number in front of it and hit return. Doing so will bring up another menu of all the postings in that particular group. You can then go through them and read the ones that are of interest to you. If you haven't subscribed to any groups yet, typing y will bring in all the groups available to you (expect several hundred). You can then use s to subscribe to the ones you want.

tin is moving in the right direction of providing us a program that is intuitive and easy to use. It is worth keeping your eye on and asking your campus computer folks if they can put it on, if it's not there already.

Great Ideas for USENET