An Introduction to Usenet News and the trn Newsreader Jon Bell Department of Physics and Computer Science Presbyterian College Clinton, South Carolina 29325, USA January 4, 1995 Copyright 1993, 1994, 1995 by Jonathan Bell. For free or non-profit use only. You may modify this document for local use and/or redistribute it, provided that you keep the original credits intact. Acknowledgements Many thanks to the following people for their corrections, suggestions, and other help: Matt Ackeret Jesus Aguillon David Barr B.G. Mahesh Robert Nicholson Michael O'Henley Bonnie Ross Table of Contents Part I: Introduction Overview of Usenet News Your News Administrator Overview of the trn Newsreader Part II: Tutorial Prompts and Commands Universal Commands Getting Started Subscribing to Newsgroups Reading a Newsgroup Posting a Followup Article Beginning a New Discussion Thread Replying by E-Mail Part III: Miscellaneous Topics New Newsgroups Rearranging the Newsgroup List Anatomy of a News Article Creating a Signature File Changing Your Default Editor Re-Reading Articles Canceling and Superseding Articles Saving Articles Reading Saved Articles with an E-Mail Program Posting the Same Article to Several Newsgroups (Crossposting) Redirecting Followups Moderated Newsgroups Searching for Information (Introduction) Searching for Newsgroups within trn Searching for Newsgroups outside of trn Searching for Articles on Particular Subjects Searching for Articles by Particular People Searching for Text Junking Articles Selecting and Junking Articles Automatically (Introduction) Selecting Threads Automatically Junking Threads Automatically Selecting or Junking Articles Automatically Using Search Commands Further Information Obtaining This Document Part I: Introduction The purpose of this document is to give you a quick introduction to Usenet news, and get you started on reading and posting news articles. The first part is a brief overview of Usenet news and the news-reading software. The second part is a tutorial on the basic steps involved in reading and posting news articles. You should read it in sequence, and work through the examples yourself. The third part is a collection of intermediate-level topics, in no particular order. If you find something confusing, or would like me to add something in a future edition of this note, please let me know. Thanks! This document assumes that you are using version 3.6 of trn. Some of the details may be slightly different for other versions. You can find out which version you are using by typing v (lower case!) at the newsgroup-selection prompt (read now?). Also, some details depend on how your news system has been configured. You should contact your news administrator if you have questions about these. See the section Your News Administrator for more information. Finally, this document assumes that you are using the Bourne shell, so that your UNIX command prompt is $. If you are using some other shell, your command prompt may be different (usually %, as in the C shell). Everything described here should work under any shell, except as specifically noted. Overview of Usenet News Loosely speaking, Usenet is a collection of computers which allow users to exchange public messages on many different topics. (The term "Usenet" is also used more precisely to refer to a specific subset of these messages, as described below.) These messages are similar to electronic mail, but are transmitted by special software which is separate from the electronic mail system. They are intended for public discussions rather than personal communication. If you have ever used a computer bulletin board service (BBS) or the public discussion areas of commercial online services (e.g. Compu Serve's "forums"), you will find that Usenet strongly resembles both of these. A Usenet message is called an article. Articles are grouped by topic into newsgroups. The entire collection of articles and newsgroups is called news. Each Usenet computer maintains a database of articles, which it keeps up to date by exchanging articles periodically with its "neighbors" on Usenet. Periodically, your news system receives batches of articles from its Usenet neighbors; this may happen anywhere from once a day to once every few minutes. Similarly, your news system periodically sends locally-created articles to its neighbors. It may also pass its incoming batches on to some of its neighbors. Finally, your news system periodically (usually once each night) expires (removes) old articles to make room for new ones. How long articles are kept can vary from one newsgroup to another, and depends on the amount of disk space available and the perceived "value" of the newsgroup. Usenet and the Internet are not the same thing. Usenet was originally developed on UNIX computers which set up temporary dial-up telephone connections among themselves via modems. They exchanged news articles using the UUCP (UNIX to UNIX copy) protocol which is built into the UNIX operating system. Many computers still exchange news in this fashion, but in recent years more and more computers have been using the permanent high- speed connections of the Internet, exchanging articles using NNTP (Network News Transfer Protocol). Therefore, not all Usenet computers are part of the Internet, and not all Internet computers participate in Usenet. There are more than 1500 commonly distributed newsgroups, on a wide variety of topics including computers, scientific fields, politics, national cultures, and hobbies. Newsgroup names generally contain two or more parts, separated by periods. As you read from left to right, the various parts of the name progressively narrow the topic of discussion. The first part of the name indicates the top-level hierarchy to which the newsgroup belongs. The standard "Big Seven" top-level hierarchies are: comp for discussions of computer hardware and software (e.g. comp.sys.mac.apps, for Macintosh application software) misc for discussions which don't fit anywhere else (e.g. misc.kids) news for discussions about Usenet news itself: news administration, creation of new newsgroups, news statistics, etc. (e.g. news.admin.policy) rec for discussions about "recreational" topics: sports, movies, hobbies, etc. (e.g. rec.sport.baseball, rec.travel, rec.autos.antique) sci for discussions of science-related topics (e.g. sci.physics) soc for social and "cultural" discussions relating to various groups of people (ethnic, national, religious, occupational, etc.) (e.g. soc.culture.german) talk for high-traffic, "noisy" discussions of controversial topics (abortion, religion, guns, etc.) (e.g. talk.politics.soviet) Strictly speaking, Usenet consists only of these "Big Seven" hierarchies. Proposals for new newsgroups in these hierarchies are discussed and voted upon according to a set of rules known as "The Guidelines." If you're interested in learning about this process, read the articles How to Create a New Usenet Newsgroup and Usenet Newsgroup Creation Companion, which are posted regularly to news.announce.newusers, news.groups, and news.answers, among other places. Then read both news.announce.newgroups and news.groups for a few weeks to get a feeling for Usenet politics. There is a somewhat widely distributed alt hierarchy which contains newsgroups that are too "big" (e.g. contain large files of encoded computer graphics), too controversial (sex, drugs, etc.), or too "off-the-wall" for the standard Usenet hierarchies, along with many newsgroups on "mainstream" topics. Creating a new newsgroup is much easier in the alt hierarchy than in the standard hierarchies, so a new newsgroup is sometimes created there with the intention of building enough traffic to justify creating a newsgroup in one of the standard hierarchies, or if there is not enough interest in creating one there. For more information, read the article So You Want to Create an Alt Newsgroup, which is posted regularly to alt.config, alt.answers and news.answers. Then read alt.config for a while. Finally, there are various special-purpose hierarchies which are not distributed as widely as the "Big Seven" and alt. Some of these focus on specialized fields, for example, bionet for biology, hepnet for high-energy particle physics, and vmsnet for users of computers from Digital Equipment, Inc. which run the VMS operating system. Others are intended mainly for distribution within limited geographical areas or within single institutions, for example ba for the San Francisco Bay area or de for Germany. The total amount of traffic in the "Big Seven" hierarchies (Usenet proper) is now about 100 megabytes per day, and has been almost doubling each year. Many sites receive only a limited selection of newsgroups because of limitations in disk space and the capacity of their network links, or because of specific policies on what kind of newsgroups can be received. Which newsgroups you might want to read obviously depends on your interests. You should browse through the newsgroup lists and sample various groups. I strongly recommend that you at least scan the following newsgroups: news.announce.important contains important messages of interest to all Usenet users. Very few articles appear here. news.announce.newusers normally contains a standard set of articles with general information about Usenet, and guidelines for network etiquette (netiquette). You should read through these articles at least once. news.answers contains copies of articles which are periodically posted to various newsgroups, answering various "Frequently Asked Questions" (FAQs). These are worth browsing through in order to get an idea of the range of topics which are discussed on Usenet. news.newusers.questions contains questions posted by new users and (hopefully) answers from more knowledgeable users. Complete lists of "Big Seven" newsgroups and extensive lists of alt newsgroups, with very brief descriptions, are posted every month or two in the newsgroups news.lists and news.announce.newusers. Your News Administrator Most Usenet sites have a news administrator who maintains the news software, monitors disk space, creates new newsgroups, etc. On small systems, this person may simply be the overall system administrator. On larger systems, the system administrator may designate someone else as news administrator. The job may be only part of the person's overall responsibilities, and it may even be strictly a spare-time job. If you have any questions which might depend on how the news software is set up on your particular system, you should contact your news administrator. For example, if you want to read a newsgroup which is not currently available on your system, your news administrator is the only person who can either arrange to receive that newsgroup, or explain why that is not possible. The only sure way to find out the identity of your news administrator is to talk to people at your computer center. Many systems define the e-mail address usenet for use by the news administrator. You could also try sending a message to root or postmaster or whatever other address your system administrator uses. Overview of the trn Newsreader To read news and post new articles, one uses a program called a newsreader. The newsreader program which is described in this document is called trn ("threaded read news"). It is an extension of the venerable rn ("read news"), originally written by Larry Wall of NASA. The threading extensions were added by Wayne Davison of Borland, Inc. In addition to the fundamental organization of articles by subject area into newsgroups, trn links followup articles (replies) to their parent articles to form threads of discussion on particular topics. Actually, an article may attract several direct replies, each of which in turn receives replies; and so the resulting collection of articles is better described as a "tree" rather then a "thread." Nevertheless, "thread" is the standard term. When you enter a newsgroup, trn presents a menu of the discussion threads which are currently active. It allows you to select only those threads which you want to read, and ignore the others. It also presents articles within a thread (or tree) in an orderly sequence, so that you can follow the discussion easily. Finally, trn keeps track of which articles you have read in each newsgroup, so that once you have read an article, or have told trn to mark it as read, it disappears from the selection menus. Trn normally operates on three levels: 1. newsgroup selection level 2. thread selection level 3. article reading level There is also an "article selection level," a holdover from the original rn, which allows you to select individual articles directly, without regard to discussion threads. You will not normally use it. Part II: Tutorial Prompts and Commands You give trn instructions by typing commands at various prompts. Different levels of the program use different prompts. For example, the newsgroup selection prompt looks like this: ====== 3 unread articles in comp.sys.mac.comm -- read now? [+ynq] All trn prompts provide a list of suggested commands in square brackets. Most commands consist of a single letter or symbol, and take effect immediately without waiting for you to press return or enter. A few commands, which require you to type in a sequence of letters (e.g. the name of a newsgroup), do not take effect until you press return or enter. Universal Commands Usually, the commands that you can type depend on which level of the program you are currently using. However, three commands have more or less the same effect everywhere. Pressing the spacebar always performs the first command in the list of suggested commands. This is usually the most "natural" command at that point, in the sense that if you do nothing but press the spacebar at each prompt, trn eventually displays every unread article in every newsgroup to which you are subscribed. Typing q always quits from what you are currently doing and takes you "upward" one level in the program. For example, if you type q while you are at thread-selection level, you go back to newsgroup-selection level. If you are at newsgroup-selection level, typing q takes you out of trn and back to UNIX's $ prompt. Typing h always gives you a complete list of commands which you can give at the current prompt. This list can be overwhelming for novices, but after you have become somewhat familiar with trn, the h command is a useful reminder of what's possible. Getting Started At the $ prompt, type trn. If you have never read news before, you should see something like this: $ trn Trying to set up a .newsrc file--running newsetup... [...long introductory message...] Creating /home/jtbell/.newsrc to be used by news programs. Done. To add new group use "a pattern" or "g newsgroup.name". To get rid of newsgroups you aren't interested in, use the 'u' command. (Revising soft pointers -- be patient.) Unread news in news.announce.newusers 32 articles Unread news in pc.newusers.info 7 articles ====== 32 unread articles in news.announce.newusers -- read now? [+ynq] You are now at newsgroup selection level, in which trn presents you with the names of newsgroups, one at a time, and asks you if you want to read them. When you run trn for the first time, it has no idea of which newsgroups you are interested in, so it presents you either with only a few newsgroups which your news administrator has deemed of interest to new users, or with all the newsgroups which your system receives. In Usenet jargon, we say that trn has subscribed you to these newsgroups. If you find yourself subscribed to only a few newsgroups, you should probably read those first, for practice. At some point, you can look in news.announce.newusers or news.lists for lists of newsgroups so you can find other newsgroups that you might be interested in, then subscribe to them using the procedure described in the next section. If you find yourself subscribed to all the newsgroups on your system, you are faced with the task of unsubscribing from the ones you don't want to read. The simplest and most tedious way of doing this is to unsubscribe from each one individually. Typing u at the newsgroup selection prompt unsubscribes you from the named newsgroup; trn then presents you with the next newsgroup. When you come to a newsgroup whose name looks interesting; you can press the spacebar or type + to start reading the newsgroup as described in the section Reading a Newsgroup, or type n to skip over it for now. If you get tired of this process, you can type q to quit from trn, and then come back to it later. Fortunately, there's a quicker way to get rid of all those unwanted newsgroups. Type q to quit from trn immediately, then give the following commands at the UNIX $ prompt: $ tr \: \! < .newsrc > .newsrc.new $ rm .newsrc $ mv .newsrc.new .newsrc (Watch out! The first line uses backslashes, not ordinary slashes!) This edits your list of newsgroups (which is stored in a file named .newsrc, as described in the next section) so that all colons become exclamation points (which unsubscribes you from all newsgroups), then removes the old version and replaces it with the new one. Then re-enter trn; it will tell you that there is "no unread news in subscribed-to newsgroups," because you are no longer subscribed to any newsgroups. At this point you can subscribe to the newsgroups you do want to read. Subscribing to Newsgroups In order to subscribe to a newsgroup, you must "go to" it first, using the g command at newsgroup selection level. Suppose, for example, that you want to subscribe to rec.travel.europe: ====== 32 unread articles in news.announce.newusers -- read now? [+ynq] g rec.travel Newsgroup rec.travel.europe not in .newsrc -- subscribe? [ynYN] y Put newsgroup where? [$^.Lq] (press space bar) ====== 307 unread articles in rec.travel--read now? [+ynq] (Note: type g rec.travel.europe as if it were all on one line, although it may wrap around to the next line on your screen.) Trn keeps track of which newsgroups you have subscribed to, and which articles you have read in those newsgroups, in a file named .newsrc in your disk directory. Whenever you subscribe to a newsgroup that you have not subscribed to before, trn asks you where you would like it to place the newsgroup in your .newsrc; this determines the sequence in which trn presents newsgroups to you. Pressing the space bar gives you the default, $, which tells trn to place the newsgroup at the end of your .newsrc. You can see what the other possibilities mean by typing h. At this point you can press the space bar or type a + to start reading the newsgroup you have just subscribed to (see the next section), or you can enter another g command to go to and subscribe to another newsgroup, etc. When you get tired of reading a newsgroup, you can unsubscribe from it by giving the u command at the newsgroup selection prompt: ====== 307 unread articles in rec.travel.europe -- read now? [+ynq] u Unsubscribed to newsgroup rec.travel.europe ====== 241 unread articles in comp.sys.mac.system -- read now? [+ynq] The newsgroup you have unsubscribed from remains in your .newsrc, but is marked so that trn knows to skip over it. If you decide to subscribe to it again, you get the following: ====== 241 unread articles in comp.sys.mac.system -- read now? [+ynq] g rec.travel.europe Newsgroup rec.travel.europe is unsubscribed -- resubscribe? [yn] y ====== 308 unread articles in rec.travel -- read now? [+ynq] Since rec.travel.europe is already in your .newsrc, trn doesn't have to ask you where to put it. To find out which newsgroups you might want to subscribe to, see the two sections on Searching for Newsgroups, later in this document. Reading a Newsgroup You may enter a newsgroup when you see a prompt like this one: ====== 100 unread articles in comp.sys.mac.comm--read now? [+ynq] Pressing the space bar or typing a + produces a menu of all the current discussion threads: comp.sys.mac.comm 100 articles a Forrest Thiessen 2 GeoPort Adaptor Availability? Sean McMains b Steve Wall 2 >What happened to White Knight? David R Bosso d John Abercrombie 1 Zoom 14.4 Modem driver e Claes Magnusson 2 >Ethernet and acceleration on same board for IIsi? John Werner f JAMES N MERRICKS 1 Geoport & Zterm g Fred Morris 1 >Help transferring from VAX to Mac? i C B Kidwell 6 >MacSLIP 2.0 arrives Jerry Goldstein Donald L. Nash Rick Watson Donald L. Nash Greg Ferguson Tony Huang 1 >MacSLIP 2.0 and FaxSTF j Jerry Goldstein 1 Looking for certain binhex prg. l Chris Reid 1 >using 'macps' o Jeffrey Scorsone 1 Help: newbie on the net... (Mail) -- Select threads (date order) -- Top 19% [>Z] -- From left to right, the menu displays a selector letter for each discussion thread, the names of the authors of the articles in the thread, the number of articles for each subject title, and the subject(s) under discussion. A single thread may contain several subjects, because the author of a followup article may give a different subject for his/her reply if the topic has drifted. An angle bracket (>) before a subject indicates that all the articles are followups to an earlier article; if there is no angle bracket, the thread begins from scratch with the first article. There are actually three different forms of the thread selection menu. You can rotate among them by typing L. The long mode, shown above, is the default on most systems, but your news administrator may have configured trn so that it uses another mode as the default. Medium mode puts multiple authors on the same line where possible, in order to show more threads on the screen: comp.sys.mac.comm 100 articles a Forrest Thiessen 2 GeoPort Adaptor Availability? Sean McMains b Steve Wall 2 >What happened to White Knight? David R Bosso d John Abercrombie 1 Zoom 14.4 Modem driver e Claes Magnusson 2 >Ethernet and acceleration on same board for IIsi? John Werner f JAMES N MERRICKS 1 Geoport & Zterm g Fred Morris 1 >Help transferring from VAX to Mac? i C B Kidwell 6 >MacSLIP 2.0 arrives Jerry Goldstein Donald L. Nash Rick Watson Donald L. Nash Greg Ferguson Tony Huang 1 >MacSLIP 2.0 and FaxSTF j Jerry Goldstein 1 Looking for certain binhex prg. l Chris Reid 1 >using 'macps' o Jeffrey Scorsone 1 Help: newbie on the net... r P Coordinator 1 >Novell Mac NLM 3.11 s Vladimir Butenko 1 >Global Village Gold fax and Hayes Connect.....it work? (Mail) -- Select threads (date order) -- Top 21% [>Z] -- Short mode omits the authors completely, and shows one subject per line: comp.sys.mac.comm 100 articles a 2 GeoPort Adaptor Availability? b 2 >What happened to White Knight? d 1 Zoom 14.4 Modem driver e 2 >Ethernet and acceleration on same board for IIsi? f 1 Geoport & Zterm g 1 >Help transferring from VAX to Mac? i 6 >MacSLIP 2.0 arrives 1 >MacSLIP 2.0 and FaxSTF j 1 Looking for certain binhex prg. l 1 >using 'macps' o 1 Help: newbie on the net... r 1 >Novell Mac NLM 3.11 s 1 >Global Village Gold fax and Hayes Connect... does it work? t 1 >How to receive Faxes and ARA using a GV Teleport u 3 Anybody have MacVoice? v 3 System 6 chooser -- maximum printer limitation w 2 Question about 14,400 modem x 1 Mac Comm Software packages 4 sale y 4 >SupraFaxModem v.32bis Experts Please Read ***** (Mail) -- Select threads (date order) -- Top 35% [>Z] -- To select threads for reading, simply type the selector letters a, b, d, etc., without pressing return or enter in between them. (Some letters are not used because they are commands; for example, q means "quit.") You may select several threads in succession; trn does not actually display the articles until you press return or enter. Threads that you select are indicated in the menu by a + next to their selector letters. You can un-select a thread by typing its selector letter again. If the bottom line of the menu gives a % figure (in the example above, Top 35%), the thread selection menu extends over more than one screen. You can advance to the next screen by pressing the spacebar or typing >, and continue selecting threads; or you can start reading what you've already selected by pressing return or enter. When you reach the last screen, pressing the space bar or typing Z displays the first article in the first thread you selected. You may also start reading before you reach the end of the menu, by pressing return or enter. For this example, I selected only thread b on the first screen of the thread menu, and pressed return: comp.sys.mac.comm #8184 (1 + 98 more) (1)+-(1)+-(1)--(1)--(1) From: smwall@pica.army.mil (Steve Wall) | \-(1)--(2) [1] Re: What happened to White Knight? \-(1)--(1) Followup-To: comp.sys.mac.comm -(1)+-[1] Organization: PM Paladin |-(1) Date: Thu Sep 16 17:14:09 EDT 1993 \-[1] Lines: 20 In article , ab426@Freenet.carleton.ca (Stephen K. Suh) wrote: > > What else does Freesoft do, if anything, besides White Knight? > > Despite its clunky non-GUI interface, I'm still quite attached > to White Knight when I'm not otherwise using FirstClass. > Personally, I never use it anymore except when I need a working Z-Modem protocol. ZTerm is flaky on my mac & host. I use Versaterm w/ connection tools at work, and WK or VersaTerm at home. VersaTerm is used at home whenever I really need a faithful VT100 emulator. I've always had the feeling with WK that it would faithfully emulate a vt100 if only I could wade through enough dialog boxes and clicked exactly the right boxes, but --MORE--(87%) Pressing the space bar gives you the rest of the article, or another screenful, whichever is appropriate: Date: Thu Sep 16 17:14:09 EDT 1993 \-[1] Lines: 20 In article , ab426@Freenet.carleton.ca (Stephen K. Suh) wrote: > > What else does Freesoft do, if anything, besides White Knight? > > Despite its clunky non-GUI interface, I'm still quite attached > to White Knight when I'm not otherwise using FirstClass. > Personally, I never use it anymore except when I need a working Z-Modem protocol. ZTerm is flaky on my mac & host. I use Versaterm w/ connection tools at work, and WK or VersaTerm at home. VersaTerm is used at home whenever I really need a faithful VT100 emulator. I've always had the feeling with WK that it would faithfully emulate a vt100 if only I could wade through enough dialog boxes and clicked exactly the right boxes, but I've never been able to make it work. VersaTerm worked correctly right out of the box. With Ethernet at my desk & connection tools for VersaTerm, I use WK less and less. Steve Wall (Mail) End of article 8184 (of 8282) -- what next? [npq] (Notice the (Mail) at the beginning of the end-of-article prompt. This signals that you have mail waiting for you. Some (but not all) trn prompts have this feature.) For a description of the various parts of this article, see the section Anatomy of a News Article. At this point, pressing the spacebar or typing n displays the next article in the thread. Pressing the spacebar at each prompt eventually displays all the articles in the thread, then advances to the next thread if you selected more than one. Finally, you return to the thread selection menu, from which the threads you just read have disapppeared; trn has marked all the articles you read so that you don't have to see them again. To go back to the beginning of the article you're reading, hold down the control or ctrl key and type r (often called "control-R," crtl-R, or ^R). To go back one screenful, type b. If you find yourself in the middle of a long article that you don't really want to read, type n to skip ahead to the beginning of the next article. If you don't want to read the rest of a thread, type J to skip ahead to the beginning of the next thread. In both cases, trn "junks" the articles you've skipped, that is, it marks them as if you had read them, so they won't show up in the thread selection menu again. If you want to go back to the thread selection menu immediately (without junking any articles you haven't read yet), type +. There are many more possible commands, both in the middle of an article and at the end; type h at the appropriate prompt to see them. When you are back at the thread selection menu, you can select more threads and read them, as described above. If you are finished with this newsgroup for now, but think you might want to read some more of these threads later, type q to leave the newsgroup, but leave the remaining threads marked as unread so that you will see them next time you enter the the newsgroup. If you do not plan to read any more of this batch of threads, type either X (that's a capital X!) or c (that's a lower case c!), which marks all remaining threads as read, so they do not appear in the thread selection menu the next time you enter the newsgroup. The difference between X and c is in their treatment of articles which are crossposted to more than one newsgroup; X marks them as read in all the newsgroups in which they appear, while c marks them as read only in the current newsgroup. I usually use X. In either case, you reach the read now? prompt for the next newsgroup you have subscribed to. Posting a Followup Article The first rule for new users about posting news articles is: Don't (yet)! You should read news for a while to get a feel for what kinds of articles are considered appropriate and which practices are frowned upon. Some of the articles in news.announce.newusers contain guidelines to Usenet etiquette, or "netiquette." Different newsgroups have different "personalities," so even if you are an experienced user, it is worthwhile to read a newsgroup for a while before posting to it. Suppose you finally decide that you want to participate in a discussion by following up (replying to) an existing article. To do this, you need to be at article-reading level, and at the end of the article you want to follow up. For this example, I chose an article in the newsgroup misc.test, which is specifically intended for experimental postings: misc.test #851 (0 + 13 more) [1] From: as806@cleveland.Freenet.Edu (Dave McKissock) [1] My 1st test! Date: Sat Mar 27 07:34:54 EST 1993 Organization: Case Western Reserve University, Cleveland, Ohio (USA) Lines: 2 NNTP-Posting-Host: hela.ins.cwru.edu This is my first message. WOW! End of article 851 (of 864)--what next? [npq] At the end-of-article prompt, type f to post a followup article: End of article 851 (of 864)--what next? [npq] f Are you starting an unrelated topic? [ynq] Typing n here makes your article part of the current discussion thread; typing y starts a new thread (see the next section for details). Are you starting an unrelated topic? [ynq] n (and press return or enter) (leaving cbreak mode; cwd=/home/jtbell) Invoking command: Pnews -h /home/jtbell/.rnhead This program posts news to thousands of machines throughout the entire civilized world. Your message will cost the net hundreds if not thousands of dollars to send everywhere. Please be sure you know what you are doing. Are you absolutely sure that you want to do this? [ny] y (and press return or enter) Prepared file to include [none]: (press return or enter to accept the default, none) Editor [/usr/bin/vi]: (press return or enter to accept the default) Trn now takes you into a text editor. On most systems, the editor is vi, although your news administrator may have configured trn differently. The following discussion gives the bare minimum number of vi commands which you need for posting articles. They will suffice if you type your article carefully so that you don't have to edit it. If your system doesn't use vi, you'll have to ask for help locally. If you are already familiar with another text editor, you can specify it at the Editor: prompt above. You can also customize trn to use that editor automatically. See the section Changing Your Default Editor for instructions on how to do this. Newsgroups: misc.test Subject: Re: My 1st test! Summary: Expires: References: <1p1hle$sn9@usenet.INS.CWRU.Edu> Sender: Followup-To: Distribution: Organization: Presbyterian College, Clinton SC, USA Keywords: Cc: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "/home/jtbell/.article" 12 lines, 216 characters This is a "skeleton" article which has some of the header lines filled in. The lines which contain only a tilde (~) do not exist at all. They are simply "filler" inserted by vi so you can see the blank lines at the end of the article, between the Keywords: line and the first tilde. The cursor is probably positioned at the beginning of the first header line. Use the arrow keys to move the cursor down to the last line, just above the first tilde. Type i to enter input mode (the i does not appear on the screen), then type in your message. Press return or enter at the end of each line. You can correct mistakes on the current line by using the delete key (don't use the arrow keys) and typing over the mistake. When you are finished, press the esc or escape key to leave input mode. Newsgroups: misc.test Subject: Re: My 1st test! Summary: Expires: References: <1p1hle$sn9@usenet.INS.CWRU.Edu> Sender: Followup-To: Distribution: Organization: Presbyterian College, Clinton SC, USA Keywords: Cc: Congratulations! -- Jon Bell Presbyterian College Dept. of Physics and Computer Science Clinton, South Carolina USA ~ ~ ~ ~ ~ ~ "/home/jtbell/.article" 12 lines, 216 characters You do not usually have to add anything to the header lines, even though most of them are blank. The essential ones have already been filled out. The Cc: line comes in handy for sending a copy of an article to someone (such as the author of the article you're following up) via e-mail; simply move the cursor to the end of the Cc: line, then type a ("append") to go into insert mode, type in the address, then esc or escape to leave insert mode. Leave a space after the colon. To leave vi, type ZZ (after you have pressed escape or esc to get out of input mode). Trn now asks you what you want to do with the article: Your article's newsgroup: misc.test For testing of network software. Very boring. Check spelling, Send, Abort, Edit, or List? s (and press return or enter) (re-entering cbreak mode) End of article 851 (of 864)--what next? [npq] Trn places the article in your local article database. When someone reads it, it looks like this: misc.test #865 (0 + 13 more) (1)--[1] From: jtbell@presby.edu (Jon Bell) [1] Re: My 1st test! Date: Sat Mar 27 22:55:02 EST 1993 Organization: Presbyterian College, Clinton SC, USA Congratulations! -- Jon Bell Presbyterian College Dept. of Physics and Computer Science Clinton, South Carolina USA End of article 865 (of 865)--what next? [npq] After some period of time, the news software sends the article out to the rest of Usenet. The newsgroup misc.test is a good place to post test articles for two reasons. First, people tend to be annoyed by test articles in other groups. Second, various sites on Usenet monitor misc.test with software that automatically sends an e-mail reply to the author of each article. This allows you to verify that your article really is getting out, and what it looks like. When I did this example, I got eight replies: six from the U.S., one from South Africa and one from Sweden. Typing F (instead of f) to follow up an article starts a similar process, but now the skeleton article "quotes" the original one, inserting a > at the beginning of each line: Newsgroups: misc.test Subject: Re: a test Summary: Expires: References: <2bb4fe54.crud@crud.mn.org> Sender: Followup-To: Distribution: Organization: Presbyterian College, Clinton SC, USA Keywords: In article <2bb4fe54.crud@crud.mn.org> trashman@crud.mn.org (Barry Schwartz) writes: >I desire to receive some test echos. > >-- >Barry Schwartz trashman@crud.mn.org ~ ~ ~ ~ "/home/jtbell/.article" 18 lines, 379 characters This is useful for establishing the context of any comments you make. However, you should remove as much of the original article as possible, leaving only the minimum amount necessary for context. To delete a single line, position the cursor anywhere on the line and type dd. To delete several consecutive lines at once, position the cursor on the first line you want to delete and type, for example, d5d if you want to delete five lines. It's customary to leave the attribution line (In article...) at the beginning of the quoted material, but delete any signature at the end, if it agrees with the attribution. For example: Newsgroups: misc.test Subject: Re: a test Summary: Expires: References: <2bb4fe54.crud@crud.mn.org> Sender: Followup-To: Distribution: Organization: Presbyterian College, Clinton SC, USA Keywords: In article <2bb4fe54.crud@crud.mn.org> trashman@crud.mn.org (Barry Schwartz) writes: >I desire to receive some test echos. You've got one... -- Jon Bell Presbyterian College Dept. of Physics and Computer Science Clinton, South Carolina USA ~ ~ ~ ~ "/home/jtbell/.article" 18 lines, 379 characters Beginning a New Discussion Thread There are two methods for posting an article which does not follow up an existing one. Which one is easier to use depends on whether you are currently reading articles in the desired newsgroup. The first method applies if you are at the newsgroup selection prompt. Type .f (notice the period!) at the prompt, then press return or enter: ====== 9 unread articles in misc.test--read now? [+ynq] .f (and press return or enter) Subject: The second method applies if you are currently reading the desired newsgroup. When you are looking at the thread selection menu, type :p (the preceding colon is important!): (Mail) -- Select threads (date order) -- Top 35% [>Z] -- :p (and press return or enter) Subject: You can also use the :p command while reading an article, or at the end of an article: End of article 1331 (of 1333)--what next? [npq] :p (and press return or enter) Subject: Actually, there is also a third method: if you start to follow up an article and then decide that you'd really rather start a new thread, trn gives you a chance to change your mind: End of article 1331 (of 1333)--what next? [npq] f Are you starting an unrelated topic? [ynq] y (and press return or enter) Subject: At this point, you must specify not only the subject of the article, but also a distribution code which indicates how far you want the article to be propagated. If you leave this blank, your article will be sent to all of Usenet (or at least to all sites which receive this newsgroup). An explicit distribution code, in principle, restricts the propagation of your article. Exactly which distributions are available to you depends on how your news system has been set up (ask your news administrator). For example, a system near San Francisco, California, may allow the distributions local this computer only ba S.F. Bay area usa United States na North America In practice, you should not expect any distributions other than local to work perfectly. They always "leak," either by accident or design. The local distribution should never leak, however; if it does, please let your news administrator know about it. Subject: A New Thread Begins... Distribution: local (leaving cbreak mode; cwd=/home/jtbell) Invoking command: Pnews -h /home/jtbell/.rnhead This program posts news to machines throughout the local organization. Are you absolutely sure that you want to do this? [ny] y (and press return or enter) Prepared file to include [none]: (press return or enter) Editor [/usr/bin/vi]: (press return or enter to accept the default) As before, the screen clears and trn gives you a skeleton article to edit and post. See the previous section for details. Beware! If you use an invalid distribution code, trn does not give you an error message. Your news transmission software will handle your article as if the distribution were local. Your article will appear normally on your system, but will not be sent anywhere else. Replying by E-mail Sometimes your reply to an article is of interest only to its author, and not to Usenet as a whole. Often, someone posts a question with the stipulation that replies be to him/her personally, and he/she will post a summary of the responses in a later article. In such cases you should send your reply directly to the author via e-mail. You can do this within trn by typing r instead of f, or R instead of F, depending on whether you want to quote part of the article in your reply. Trn prepares the reply and allows you to edit it, just as if you were posting a followup article, but e-mails it to the author instead of posting it to Usenet. Part III: Miscellaneous Topics New Newsgroups When trn starts up, it checks for newsgroups which were created since the last time you read news. If it finds any, it asks if you want to subscribe to them: $ trn Unread news in news.announce.newgroups 5 articles Unread news in news.future 4 articles Unread news in news.groups 14 articles Unread news in news.newusers.questions 2 articles Unread news in news.software.b 1 article etc. Checking for new newsgroups... Newsgroup comp.society not in .newsrc--subscribe? [ynYN] If you type y, trn subscribes you to the newsgroup and asks you where to place it in your list of newsgroups (a file named .newsrc, in your home directory): Newsgroup comp.society not in .newsrc--subscribe? [ynYN] y Put newsgroup where? [$^.L] Pressing the space bar (or typing $) places the newsgroup at the end of the list. For other possibilities, see the next section. Put newsgroup where? [$^.L] (press space) Newsgroup comp.society.cu-digest not in .newsrc--subscribe? [ynYN] Trn asks you about each new newsgroup, in turn. If you answer n, trn leaves you unsubscribed to that newsgroup. If you answer Y, trn subscribes you to all the remaining new newsgroups. If you answer N, trn leaves you unsub scribed to all of them. (The last two options are handy when you're in a hurry and there are a lot of new newsgroups!) Finally, you reach the newsgroup selection prompt for the first subscribed newsgroup in your list. If you chose to subscribe to any of the new newsgroups, you will normally see them after you have read all the other newsgroups you have subscribed to previously. Of course, if you're in a hurry, you can use the g command to go to the new newsgroups immediately. Rearranging the Newsgroup List Trn presents newsgroups to you according to the order in which they appear in your newsgroup list. By default, trn places newly-subscribed newsgroups at the end of the list. If you subscribe to several newsgroups, you may find that you have to skip over many of them in order to get to your favorites when you are in a hurry. You can avoid this nuisance by by rearranging your newsgroup list to place your favorite newsgroups at the beginning. To do this, go to the newsgroup selection prompt for the newsgroup you want to move, then type m ("move"). Trn asks you where you want to place that newsgroup: ====== 2 unread articles in news.admin.misc--read now? [+ynq] g sci.physics ====== 2 unread articles in sci.physics--read now? [+ynq] m Put newsgroup where? [$^Lq] Here you have several possible responses, which you can see explained by typing h. Probably the most useful one is to type a number indicating the new position in the list: 0, 1, 2, etc. You can verify the result by typing L at the next newsgroup selection prompt. This displays your newsgroup list: Put newsgroup where? [$^Lq] 0 ******** 2 unread articles in sci.physics--read now? [+ynq] L # Status Newsgroup 0 2 sci.physics: 1-4069 1 (READ) junk: 1-165 2 2 news.admin.misc: 1-1006 3 (READ) news.admin.policy: 1-3507 4 (READ) news.admin.technical: 1-42 5 (READ) news.announce.important:1 6 (READ) news.announce.newgroups: 1-311 7 (READ) news.announce.newusers: 1-66 8 4 news.answers: 1-2079 9 (READ) news.config: 1-67 10 1 news.future: 1-300 11 11 news.groups: 1-4966 12 (READ) news.lists.ps-maps: 1-75 13 (READ) news.lists: 1-154 14 (READ) news.misc: 1-328 15 (READ) news.newsites: 1-52 16 2 news.newusers.questions: 1-1693 17 (READ) news.software.b: 1-775 18 3 news.software.nntp: 1-727 19 (READ) news.software.readers: 1-740 20 (UNSUB) comp.answers! 1-17,35,37,39,45-46,81,130,193,238 21 5 comp.admin.policy: 1-192 [Type space to continue] The numbers after the newsgroup names indicate which articles you have read, or told trn to junk. With a bit of patience, you can (if you like) put your entire newsgroup list in alphabetical order, using this method. There's an easier way to do this, though. Outside of trn, at the $ prompt, give the following commands: $ sort .newsrc > .newsrc.sorted $ rm .newsrc $ mv .newsrc.sorted .newsrc This creates a sorted copy of your newsgroup list, then deletes the original and renames the sorted copy. Anatomy of a News Article Consider the following article: sci.physics #12781 (12 + 153 more) [1]+-[1]--[1]--[2]+-[2]--[2] From: rama.creol.ucf.edu (Frank Effenberger) | \-[2]+-[2] Newsgroups: sci.physics,sci.optics | \-[2] [1] Re: Stupid Question: Why does light | + diffract??? | Date: Tue Oct 12 11:42:39 EDT 1993 \-[1] Organization: Center Research Electro-Optics + Lasers In article <29di6h$kvi@huon.itd.adelaide.edu.au>, dabbott@aelmg.adelaide.edu.au (Derek Abbott) wrote: > > > Ripples on the surface of water diffract as they "ooze" through > a slit. It's easy to see how this must happen when you consider the > constraints caused by forces between water molecules. > > However, with light there is now no physical medium or internal forces (?) > It has been found that light, radio waves, and x-rays are all forms of the same thing: Electromagnetic waves. It has also been found that electric and magnetic fields are coupled vector fields that obey four simple partial differential equations: the Maxwell equations. If you take the Maxwell equations, and apply the appropriate boundary conditions on the solutions, you will find that the answer you get explains diffraction. As far as the question: 'Do we know why?', one needs to invoke ontological arguments. Let's just say that Classical Electromagnetic theory has great predictive power, and is for the most part correct. (It has already been superceeded by a higher theory, however, this higher theory is of interest only to theoretical physicists). I guess the ultimate answer to "why does light diffract?' is: Light diffracts because it does! -- Frank Effenberger - *The* Super Slacker 'The light of Wyatt's Torch was the last light they ever saw on this earth' - A.R End of article 12781 (of 13105) -- what next? [npq] The first line tells you which newsgroup you are reading (sci.physics), that this is the 12781st article that your news system has received in this newsgroup, and how many articles are left to read. In this example, there are 12 articles left in the threads you have selected, plus 153 articles in threads you have not selected. The From: line tells you who wrote the article. Usually, but not always, it contains a valid e-mail address followed by the sender's real name or nickname in parentheses. The Newsgroups: line appears if the article was posted simultaneously (crossposted) to more than one newsgroup. Next comes the subject of the article. The [1] indicates that this is the first distinct subject in this discussion thread. Re: indicates that this is a followup to somebody else's article. The Date: line indicates when the article was posted. It may take a few days for an article to propagate across Usenet, depending on how the poster's computer is connected to its neighbors. The Organization: line usually tells you the "real" name of the location corresponding to the author's e-mail address. Usually, the article header is actually longer than this. Trn can "hide" many of the header lines, at the discretion of the news administrator. To re-display the article with all the header lines, type v at the --MORE-- or what next? prompt. To the right of the article header you see one of trn's special features: a "map" of the current discussion thread. Each "box" represents a single article; they are connected to show the logical sequence of followups (replies). The numbers correspond to the "subject numbers" which you see in the subject line. The article you are now reading is highlighted. Articles which you have already seen are enclosed in parentheses; those which you have not seen yet are enclosed in square brackets. Articles which are no longer in your news database are indicated by empty boxes. If the discussion is long, you see only part of the map here; you can see the entire map by typing t. Finally we come to the article text itself. Lines which begin with > are "quoted" from the article that this one is following up. There is usually an attribution line which indicates who wrote the quoted text. These are inserted automatically when you follow up an article using the F command, as described earlier. If the quoted material itself quotes another article, you see lines beginning with >>. Occasionally you see four, five, or even more levels of quoting, but many people consider this to be bad form. Creating a Signature File At the end of an article, separated from it by two dashes, there is often a signature, which may contain the author's name, e-mail address(es), mail address, phone number, etc. Many newsreader programs, including trn, allow you to create a "signature file" which is automatically appended to the end of each article you write. Trn provides two methods for doing this. The traditional method uses a file named .signature, which you can create using any text-editing program (e.g. vi or pico). For example, using vi: $ vi .signature The screen clears, and you see a blank file for you to edit: (single blank line at the top of the screen) ~ ~ (etc.) ~ ".signature" [New file] Type i to enter insert mode, then type in your signature, pressing the return or enter key at the end of each line. When you are finished, press the escape or esc key to get out of insert mode, then type ZZ to leave vi. Jon Bell Presbyterian College Dept. of Physics and Computer Science Clinton, South Carolina USA ~ ~ (etc.) ~ ".signature" [New file] After you have created your signature file, you may need to make it readable by the news software. Your file system may be set up so that whenever you create a file, only you have any access to it. To make it readable by other users (including the news software), give the following command at the $ prompt: $ chmod a+r .signature The .signature file is appended only after you have written your article, so you do not see the signature while you are editing the article. Trn itself does not actually append the .signature; this is done by a separate program (usually called inews) which trn calls upon to post the article. Trn also provides a newer method for specifying a signature, which appends the signature before you begin to edit the article, so you can see it. In this method, there are actually two signature files: .news_sig, which trn appends when you use the f or F commands to post a reply to the rest of Usenet; and .mail_sig, which trn appends when you use the r or R commands to send the reply directly to the author of the original article via e-mail. Trn itself appends these signature files. You can create these alternative signature files using the method described above for .signature. If you use either .news_sig or .mail_sig, do not also use .signature, otherwise you will end up with two signatures on your articles! In the interest of conserving network resources, your version of trn or inews may not allow you to have a signature which is longer than four lines. If this is true, and you try to use a longer signature, the extra lines will be ignored. Changing Your Default Editor On most systems, trn is set up to use vi as its default editor for new articles, because every UNIX system has vi. However, you may prefer to use some other editor which your system makes available. One popular choice is pico, a stand-alone version of the editor which is built into the pine e-mail program. You can simply specify the other editor when trn prompts you for the editor as it is setting up an article: Editor [/usr/bin/vi]: pico -t (If you use pico, I recommend the -t option, which suppresses a couple of unnecessary prompts when you leave pico.) However, you must do this each time you post an article. It's more convenient to change the default editor so you can simply press return or enter here. In order to do this, you must set an environment variable named EDITOR in your login initialization file. How you do this depends on which shell you're using. If you're using the Bourne shell (and have $ for your command-line prompt), edit the file named .profile (note the period at the beginning), so that it contains the following lines (using pico as an example): EDITOR="pico -t" export EDITOR If you're using the C shell (and have % for your command-line prompt), edit the file named .cshrc (again note the period), so that it contains the following lines (again using pico as an example): setenv EDITOR "pico -t" The next time you log in, the editor you specify will become the default for all editing sessions in trn, and in any other program which uses the EDITOR variable. Re-Reading Articles Sometimes you may want to re-read an article or thread which you have already read, and therefore no longer shows up in the thread selection menu. Typing U when you are looking at the thread selection menu causes the menu to display all previously-read threads: news.newusers.questions 170 read articles a- 2 FAQ: How to find people's E-mail addresses b- 3 Welcome to news.newusers.questions! (weekly posting) d- 1 rn KILL file FAQ 3 trn and Re: e- 1 >Tolkien site... f- 2 >This is a test, please reply g- 2 >Modem question i- 1 >Software Copy Protection for PC, Help Please j- 3 >This is a TEST, please reply... l- 12 >How do you stop harrassing e-mail? o- 4 >Filtering mail r- 1 >** 14-year old boy wants ... s- 1 >Background news filter t- 1 >TQM/summary u- 2 >What's a daemon, he asks v- 1 >ftp question w- 1 >Question : How to post news anonymously ? x- 4 TAR z- 5 What is the FAQ?? (Mail) -- Select threads (date order) -- Top 29% [>Z] -- This is just like the usual thread selector (I used short mode for this example), except that all the selection letters are followed by a - sign to indicate that they have been read. Select threads to read as usual, by typing the selector letters, which changes the corresponding - signs to + signs. Pressing return or enter (or the space bar when you are at the last screen of the menu) takes you into article-reading mode, as usual. To switch back to the normal thread selector, type U again when you are looking at the menu. If you've previously read everything in the newsgroup, trn doesn't even present you with the newsgroup at newsgroup selection level, so you must use the g command to go to it, then type U: ====== 1 unread article in news.admin.policy--read now? [+ynq] g soc.culture .nordic ====== 0 unread articles in soc.culture.nordic--read now? [ynq] U Set unread: +select or all? [+an] + (or space) This gives you the thread selection menu for all previously-read articles, as described above. Canceling and Superseding Articles If you change your mind about something you have written, you can "take it back" by canceling your article. You can do this only if the article has not yet expired on your system. First, find your article and begin reading it; you may have to use the U command at thread selection level if you have already read it once. Then, either in the middle of the article or at the end, type C (that's a capital C!). This removes the article from your local article database, and sends out a special type of article called a control message which instructs all other Usenet computers to remove their copies of your article from their article databases. You can also supersede an article you have written by replacing it with a "`corrected" version. To do this, find your article as if you were going to cancel it, but then type z or Z to start editing a replacement article. The z command (lower case) gives you an empty article to edit, as if you were posting a new article; the Z command (upper case) gives you a copy of your original article to edit. In either case, when you finish editing, leave the editor and post the article as usual. Trn sends out the new article along with instructions to cancel the old one and insert the new article in its place. Saving Articles You can re-read articles as described previously only while they are still in your system's article database. If you want to keep an article for permanent reference, you must save it to your disk directory. To do this, type s filename at the end of the article (or while you are reading it), substituting the desired file name for filename: (Mail) End of article 14 (of 20)--what next? [npq] s tidbits File /home/jtbell/News/tidbits doesn't exist-- use mailbox format? [ynq] By default, trn places the file in a subdirectory called News, in your home directory. If you don't specify a file name, trn makes the file name the same as the newsgroup name, but with the first letter capitalized: (Mail) End of article 14 (of 20)--what next? [npq] s File /home/jtbell/News/Soc.culture.nordic doesn't exist-- use mailbox format? [ynq] If you answer y to this question, the file will be in "mailbox format", which allows you to read it using an e-mail program, just like a file of saved e-mail messages. If you answer n, the file will be a plain text (ASCII) file. If you answer q, you don't save the article at all. On some systems, mailbox format may include special formatting information, so if you plan to download the file to your PC for printing or storage, you should use plain text format. If you're going to keep the file on your UNIX machine, mailbox format may be more convenient. File /home/jtbell/News/tidbits doesn't exist-- use mailbox format? [ynq] y Saved to mailbox /home/jtbell/News/tidbits (Mail) End of article 14 (of 20)--what next? [npq] If you save an article to a file which already exists, trn appends the article to the end of the file. This gives you one method of saving several articles in a single file: (Mail) End of article 20 (of 20)--what next? [npq] s tidbits Appended to mailbox /home/jtbell/News/tidbits (Mail) End of article 20 (of 20)--what next? [npq] When you are at thread-selection level, you can save an entire discussion thread, or group of threads, to a single file. Simply select the thread(s) as if you were going to read it (them), by typing the appropriate selector letter(s). Then, instead of pressing return or enter to start reading the articles, type :s filename (note the preceding colon): :s articles 1028 File /home/jtbell/News/articles doesn't exist-- use mailbox format? [ynq] y Saved to mailbox /home/jtbell/News/articles 1043 Appended to mailbox /home/jtbell/News/articles 1165 Appended to mailbox /home/jtbell/News/articles 1178 Appended to mailbox /home/jtbell/News/articles 1234 Appended to mailbox /home/jtbell/News/articles 1054 Appended to mailbox /home/jtbell/News/articles [Type space or a command] This thread contains six articles, all of which are saved into one file in mailbox format. Pressing the spacebar takes you back to the thread selection menu. The threads you saved are still selected, so you can read them now if you like, by pressing return or enter. Otherwise, you can mark them as read by typing J, in which case they disappear from the menu. To examine the files you just saved, you must leave trn and return to the $ prompt. Remember that you will not find these files in your home directory, but rather in the subdirectory News. You must change to that directory first: $ cd News You can read the saved articles by using the more or page command, just as for any other text file, or you can open them with a text editor such as vi or pico. When you are done working with your saved articles in your News subdirectory, you can get back to your home directory as follows: $ cd .. Reading Saved Articles with an E-Mail Program If you saved the articles in mailbox format, you should be able to read them using your e-mail program just as if they were saved e-mail messages. For example, using mailx: $ mailx -f articles mailx version 3.03 01/18/88 Type ? for help. "articles": 6 messages 6 new >N 1 Lawrence D'Oliveir Sun Apr 11 22:53 27/1167 Re: More awful names for N 2 Eggert Thorlacius Sun Apr 11 22:53 32/1278 Re: More awful names for N 3 Chuck Hoffman Sun Apr 11 22:53 27/980 Re: More awful names for N 4 Landon Dyer Sun Apr 11 22:53 40/1204 Re: More awful names for N 5 Matt Mora Sun Apr 11 22:53 35/997 Re: More awful names for N 6 Manuel Veloso Sun Apr 11 22:53 28/1189 Re: More awful names for ? If you're using pine as your e-mail program, you'll have to move the file into the directory where pine looks for your mail folders. This is usually the subdirectory Mail of your home directory, although your system administrator may have configured pine differently. If you're in your News subdirectory, you can move the file like this: $ mv articles ../Mail If you're in your home directory, do it like this: $ mv News/articles Mail Now start up pine as usual, and the file articles should appear in your list of mail folders. If you expect to do this frequently, you can tell trn to save articles by default into the Mail subdirectory instead of into the News subdirectory. If you're using the Bourne shell ($ prompt), one way to do this is to edit your .profile file and add the following lines: SAVEDIR="$HOME/Mail" export SAVEDIR If you're using the C shell (% prompt), edit your .cshrc file and add the following line: setenv SAVEDIR "$HOME/Mail" In either case, the changes take effect the next time you log in. If you're using some other e-mail program besides pine, find out where it looks for saved mail and adjust the instructions above accordingly. Posting the Same Article to Several Newsgroups (Crossposting) Sometimes you may want to post the same article to more than one newsgroup, because the article may be of interest to more than one audience. For example, an article about Swedish-German relations would be appropriate for both soc.culture.nordic and soc.culture.german. If you simply post copies of the article in the usual way to each newsgroup, it not only takes more of your time, it also consumes more network resources, because each copy must be transmitted and stored separately on each Usenet computer. The crossposting mechanism allows you to post one copy of the article simultaneously to more than one newsgroup; only that one copy is transmitted, and with some operating systems, including UNIX, only one copy needs to be stored on each computer. With some newsreaders, including trn, reading a crossposted article in one group marks it as read in the other groups; if you read more than one of the groups in question, you see the article only once. Also, at trn's thread selection level, the X command marks all remaining articles as read not only in the current newsgroup, but also in all newsgroups to which they have been crossposted. Before you crosspost, you should think carefully about whether you really need to do it. If you do crosspost, do it to as few groups as necessary. It is considered a breach of "netiquette" to crosspost to many newsgroups, and doing so may produce angry responses via e-mail. To crosspost an article, start by posting as usual to one of the newsgroups in which you want the article to appear. For this example, I'll post in misc.test and crosspost to alt.test, which was created to serve the same purpose as misc.test, but for the alt hierarchy: ====== 48 unread articles in misc.test--read now? [+ynq] .$ Threading 3 articles... End of newsgroup misc.test. (48 articles still unread) (Mail) What next? [npq] f Subject: Crossposting test Distribution: local (leaving cbreak mode; cwd=/home/jtbell) Invoking command: Pnews -h /home/jtbell/.rnhead This program posts news to machines throughout the local organization. Are you absolutely sure that you want to do this? [ny] y (and press return or enter) Prepared file to include [none]: (press return or enter) Editor [/usr/bin/vi]: (press return or enter to accept the default) This takes you into the vi editor, as usual: Newsgroups: misc.test Subject: Crossposting test Summary: Expires: Sender: Followup-To: Distribution: local Organization: Presbyterian College, Clinton SC, USA Keywords: ~ ~ (etc.) ~ "/home/jtbell/.article" 11 lines, 177 characters To crosspost, use the cursor keys to move to the end of the Newsgroups: line, then press a to tell vi that you want to insert new text after the cursor position. Type a comma and the names of the newsgroups to which you want to crosspost, and finally press esc or escape to get out of insert mode. Separate the newsgroup names by a comma only (no spaces): Newsgroups: misc.test,alt.test Subject: Crossposting test Summary: Expires: Sender: Followup-To: Distribution: local Organization: Presbyterian College, Clinton SC, USA Keywords: ~ ~ (etc.) ~ "/home/jtbell/.article" 11 lines, 177 characters Then move the cursor to the last line, type in the article and post it as usual. When you follow up a cross-posted article, your article is normally also cross- posted to the same newsgroups that the original article appeared in. You can change this by editing the Newsgroups: line in the header to add or remove newsgroups. To add a newsgroup, proceed as above. To delete a newsgroup, position the cursor at the first letter of the newsgroup name, then press x (that's a lower-case x!) repeatedly to delete one letter at a time. Don't forget to delete the extra comma, too. Redirecting Followups As described in the previous section, followup articles normally appear in the same newsgroups as the original article. The author of the followup article can change this by editing the Newsgroups: line in the header. The author of the original article can also change this, by editing the Followup-To: line, which is normally blank. If the Followup-To: line is not blank, all followup articles appear in the specified newsgroup. This is commonly done in two situations. First, the author of the article may want to attract the attention of readers of several newsgroups, but then restrict any followup discussion to one newsgroup. For example, discussions about creating new newsgroups are supposed to take place only in news.groups. Therefore, someone who wants to create a new newsgroup normally cross- posts a "Request for Discussion" (RFD) to news.announce.newgroups and to any newsgroups which might have readers who might be interested, but directs all followups to news.groups. Second, the author may want all responses to go directly to him/her via e-mail, so that he/she can prepare a summary of them to post later. Placing the word poster in the Followup-To: line accomplishes this. If you redirect followups, you should mention this in the body of your article, because many people don't read headers carefully, and may otherwise be puzzled when their followup articles don't appear in the newsgroup that they're reading! Moderated Newsgroups Some newsgroups are moderated, that is, articles posted to them must be approved by a moderator. Trn allows you to post an article to a moderated group in exactly the same way as to an unmoderated group, but when you tell trn to send the article, it e-mails the article to the moderator and informs you of what it has done. If the moderator approves the article, it will appear in the newsgroup after a (hopefully) short delay. Otherwise, he/she will probably return the article to you with an explanation of why it was not suitable for that newsgroup. Searching for Information (Introduction) There is so much news that finding just what you want to read can be a real adventure. Fortunately, trn provides search commands at each level that can help you in this process. You can search for newsgroups, for articles within newsgroups, and for text within articles. Once you've found what you're looking for, you can either select it for reading, or you can junk it immediately without reading it. Searching for Newsgroups within trn At the newsgroup selection prompt (read now?) you can list all unsubscribed newsgroups whose names contain a specified string, using the l command (that's a lower-case "ell"): ====== 1 unread article in news.admin.misc -- read now? [+ynq] l physics Completely unsubscribed newsgroups: bionet.prof-society.biophysics sci.med.physics sci.physics.computational.fluid-dynamics sci.physics.electromag sci.physics.fusion sci.physics.particle sci.physics.plasma [Type return to continue] Unsubscribed but mentioned in /home/jtbell/.newsrc: sci.physics.accelerators sci.physics.research ====== 1 unread article in news.admin.misc -- read now? [+ynq] This method has two drawbacks. First, it searches only the names of the newsgroups. Second, it searches only newsgroups that your news system receives, so it doesn't answer the question, "does a newsgroup exist somewhere on this topic?" If you're lucky, you can find more extensive lists of newsgroups in the newsgroups news.lists, news.groups, news.announce.newusers, and/or news.answers. Look for a two-part series of articles titled List of Active Newsgroups, and another two-part series titled Alternative Newsgroup Hierarchies. These articles contain not only newsgroup names, but also brief descriptions (a phrase for each newsgroup). You can search them using the g command while reading them, as described in the section Searching Text, below. However, these lists are posted fairly infrequently (every two months or so), so the most recent set may have expired on your system. In that case, you'll have to leave trn and try one of the methods described in the next section. Searching for Newsgroups outside of trn If the newsgroup listings described above have expired from your news system, you can get copies of the most recent versions via e-mail from the Usenet FAQ archive at rtfm.mit.edu. Simply send e-mail to mail- server@rtfm.mit.edu, with a blank subject line and one or more of the following commands in the message body: send usenet/news.lists/List_of_Active_Newsgroups,_Part_I send usenet/news.lists/List_of_Active_Newsgroups,_Part_II send usenet/news.lists/Alternative_Newsgroup_Hierarchies,_Part_I send usenet/news.lists/Alternative_Newsgroup_Hierarchies,_Part_II You should get a reply within a day or two. If you have access to gopher, you can search a more extensive list of newsgroups, including many local and regional hierarchies. Connect directly to gopher.presby.edu, or look in your Other Gophers menu (or whatever it's called) for Presbyterian College, Clinton SC, USA. From our top-level menu, choose Internet Resources, then Lists of Usenet Newsgroups. This list is from UUNET in Falls Church, Virginia. If you don't have access to gopher, but can use anonymous ftp, you can get a copy of the UUNET newsgroup list from their ftp archive at ftp.uu.net. Look in directory networking/news/config for the file newsgroups. Searching for Articles on Particular Subjects When you are in the thread selector for a newsgroup, you can tell trn to select articles which contain a specified string of characters in the Subject: header line, using the following command: /string/+ The two /s delimit the string you are searching for; the + tells trn that you want to select individual articles which match. Upper case versus lower case doesn't matter in the search string. For example: comp.lang.perl 32 articles a 2 perl 4 bug? please help! b 1 >Trouble with TkPerl5 and Perl5a11d d 1 >Changing ARGV ? e 3 >Unix tower of babble tcl/awk/perl -- why not just lisp? f 1 >Perl5a11b, variable scopes/lifetimes, o g 1 >playing with a mail filter.. i 1 Variable assignment problems (w/ du) 1 >Bug report 11d j 1 perl script executable? and calling perl from C? l 1 help!!-script to read and output the input from Mosaic Forms o 1 Problem installing on NeXT 2.1 and 3.2 r 1 >Logical And / Round to Whole Numbers s 1 MS-DOS Perl with DBM/NDBM Built In t 1 Perl version of Supersrv ? u 1 >Talking to HP4SiMx v 3 >Comparing two dates? w 2 >Perl5a11d Bug x 1 >PERL as a first programming language? y 2 how stable is perl5?? /bug/+ Trn first gives you a progress report as it selects the articles: /bug/+ 9474 Selected 9483 Selected 9485 Selected 9494 Selected 9495 Selected Done Selected 5 articles. [Type space or a command] At this point, pressing the space bar takes you back to the thread selector, with the appropriate threads marked as selected: comp.lang.perl 32 articles a+ 2 perl 4 bug? please help! b 1 >Trouble with TkPerl5 and Perl5a11d d 1 >Changing ARGV ? e 3 >Unix tower of babble tcl/awk/perl -- why not just lisp? f 1 >Perl5a11b, variable scopes/lifetimes, o g 1 >playing with a mail filter.. i* 1 Variable assignment problems (w/ du) 1 >Bug report 11d j 1 perl script executable? and calling perl from C? l 1 help!!-script to read and output the input from Mosaic Forms o 1 Problem installing on NeXT 2.1 and 3.2 r 1 >Logical And / Round to Whole Numbers s 1 MS-DOS Perl with DBM/NDBM Built In t 1 Perl version of Supersrv ? u 1 >Talking to HP4SiMx v 3 >Comparing two dates? w+ 2 >Perl5a11d Bug x 1 >PERL as a first programming language? y 2 how stable is perl5?? -- Select threads (date order) -- Top 81% [>Z] -- Some threads are marked with + to indicate that the entire thread was selected; others are marked with * to indicate that only some articles in those threads were selected. You may now press return or enter to start reading the selected articles; or you may make further selections, either by hand or with the / command. Instead of selecting just the articles whose subjects match, you may want to select the entire threads which contain them. In this case, use ++ instead of +: /bug/++ In the example above, this command would select all the articles in thread i, not just the ones with the subject Bug report 11d. In commands like these, the part between the slashes can be a UNIX regular expression, which allows you to do sophisticated pattern-matching. Describing regular expressions in detail is beyond the scope of this document. However, you should be aware that the following characters have a special meaning in a regular expression: ., *, [, / and \. If any of these appear in the character string you are searching for, you must "escape" them by preceding each one with a backslash (\). For example, to search for and select all articles which have M*A*S*H in the Subject: line, you should use a command like this: /M\*A\*S\*H/+ Searching for articles by particular people By default, the / command searches only the Subject: header line. In order to search for articles by particular people, you need to tell trn that you want it to search the From: header line: From: smwall@pica.army.mil (Steve Wall) To search for all articles from Steve Wall, you might use the following command: /Steve Wall/f:+ The f modifier tells trn to search the From: line rather than the Subject: line. If the person's name is sufficiently distinctive, you can probably get away with searching for only part of the name. If the name is very common (e.g. John Smith) or is missing completely, you can search for the address instead. In principle, you could use something like /smwall@pica\.army\.mil/f:+ but it turns out that because of the way trn implements f-searches, it may search only the part of the From: line that is in parentheses. Therefore, you should use the following command instead, if you want to search for the address: /smwall@pica\.army\.mil/HFrom:+ Notice that you should "escape" the periods in the address with backslashes. This should search the entire From: line instead of just the part in parentheses. However, this method may be a bit slower than the first one. Just as with subject-line searches, you can select the entire thread which contains a matching article by using ++ instead of +. Searching for Text You can also use the / command in the thread selector to search for and select articles which contain specified text anywhere in the article. To do this, use the a ("anywhere") modifier. For example, /banana/a:+ selects all articles which mention bananas somewhere in the article text. While you are reading a long article, you may want to advance directly to the line which contains a certain word, instead of paging through the article one screenful at a time. To do this, use the g ("go to") command at the article- reading level: gbanana Don't put a space between the g and the text you're searching for, unless you specifically want to match a preceding space. Junking Articles You can use the techniques described above to junk articles (remove them from the thread menu) instead of selecting them. Simply replace + with j. For example, /garbage/j junks all articles which contain garbage in the Subject: line. Similarly, to junk all articles from Steve Wall (instead of selecting them, as described above), you might use /Steve Wall/f:j If you don't want to read anything from Steve Wall, you might not want to read any followups to his articles, either. In this case, use , (comma) instead of j: /Steve Wall/f:, Selecting and Junking Articles Automatically (Introduction) Trn's threading mechanism helps you to skip discussions that you are not interested in, by grouping together articles on the same topic into one entry in the thread selection menu. In many newsgroups, you can efficiently scan the thread selection menu for the discussions you want to read, select them, read them, and then junk everything else with the X or c commands. However, some newsgroups carry so much traffic that even scanning the thread selector is time-consuming. Trn provides tools to help ease the process of selecting the articles you want to read, while ignoring the ones you don't want. You can tell trn to select articles for you automatically, based on criteria you specify. Then, when you enter the newsgroup, you can simply press return or enter to start reading these pre-selected articles. Also, trn can junk (mark as read) articles automatically according to similar criteria, so that they do not appear at all in the thread selector. This is especially useful for dealing with people who repeatedly post offensive, boring or nonsensical articles; you can make them "disappear," as far as you are concerned. Trn does this by "memorizing" selection and/or junking commands in a special file which is popularly known as a killfile. Trn creates a separate killfile for each newsgroup in which you use this feature; they are usually located in your News subdirectory. Whenever you enter a newsgroup, trn checks to see if you have a killfile for that newsgroup. If you do, trn performs the commands stored in the killfile before displaying the thread selector. Killfiles can be quite elaborate, with many different kinds of commands. Here I describe only a few of the more useful possibilities. Selecting Threads Automatically Suppose you want trn to select articles in a certain thread automatically in future sessions. In the thread selector, use the up and down arrow keys to move the cursor to the selector letter for that thread, then press T. Trn asks you: Memorize thread command: [+.j,cC] Type a +. (To see what the other possibilities are, type h.) Trn responds: Selection memorized. The thread is now selected, so you can read it; furthermore, trn memorizes the message-ID's of the unread articles in that thread, placing them in the killfile for this newsgroup. In the future, whenever you enter this newsgroup, trn will automatically select all articles which follow-up to articles whose ID's it has memorized, and in turn memorize the message-ID's of the newly-selected articles. You can also use the T command while reading one of the articles in that thread. In this case, trn memorizes the message-ID's for all the articles in that thread which have not yet expired, including the ones you have read already. Finally, you can select several threads in the thread selector, in preparation for reading them, then (while still in the thread selector) type :T+. In this case trn doesn't prompt you separately for the command to memorize. This memorizes the message-ID's of all the unread articles in all the selected threads. When you next enter the newsgroup, you do not reach the thread selector immediately, but instead you see a report on the action of the killfile. For example: Processing memorized commands... 44 auto-select commands. Selected 2 articles. [Type space to continue] Press the spacebar, and trn gives you the thread selector as usual. As a thread "ages," trn automatically removes the message-ID's of the older articles from the killfile, so you don't have to worry about trimming the killfile to keep it from getting too big. Junking Threads Automatically You can also use the T command to tell trn that you never want to see any articles in a specified thread or threads. Proceed as in the previous section (for auto-selecting threads), but give j instead of + as the sub-command. The specified threads disappear immediately from the thread selector, hopefully never to be seen again. Whenever you enter the newsgroup in the future, trn will junk any articles which follow-up to the ones whose message-ID's have been memorized, and in turn memorize the message-ID's of the newly-junked articles. This doesn't always work perfectly, though. Sometimes branches of the discussion become disconnected from the rest of the thread and pop up in the thread selector again (sort of like dandelions in a lawn), in which case you have to junk them again. As in the previous example, when you next enter the newsgroup you see a report on the action of the killfile: Processing memorized commands... 13 auto-kill commands. Killed 1 article. [Type space to continue] Pressing the spacebar gives you the thread selector as usual. Just as with the automatic thread-selection commands, trn removes old message-ID's from the killfile automatically. Selecting or Junking Articles Automatically Using Search Commands The previous two procedures both work by searching for articles which follow-up to specific articles whose message-ID's trn has memorized in a killfile. You can also search automatically for articles by subject, by author, or by contents; and you can either select them or junk them. To do this, edit the killfile by hand, placing in it the same search commands that you would type if you were doing the search yourself, as described in previous sections. To edit the killfile for a newsgroup, enter the newsgroup, then press K while holding down the control key (often called ctrl-K or ^K). This opens the killfile using your default editor, usually vi. Simply insert the desired search commands, one per line: /Beethoven/+ /Serial/j (etc.) "/home/jtbell/News/rec/music/classical/KILL" 48 lines, 1733 characters When you're finished editing the killfile, type ZZ (if you're using vi) to save the killfile and return to trn. The next time you enter the newsgroup, you see a report on the effects of the killfile, telling you which commands took effect: Processing memorized commands... /Beethoven/+ 3726 Selected 3729 Selected 3730 Selected 3735 Selected 3740 Selected /Serial/j 3734 Junked Selected 5 articles. Killed 1 article. [Type space to continue] The numbers are the local article numbers for the articles which were selected or junked. Pressing the spacebar takes you to the thread selection menu, as usual. Unlike the automatic thread-selection and -junking commands, trn does not remove any commands which you place in a killfile by hand. You must edit the killfile and remove them yourself when they are no longer necessary. If you've been using the T command to auto-select or auto-junk threads, your killfile will look something like this: THRU 31298 <1994Mar9.020649.10313@virginia.edu> T+ T+ <2lll10$411@agate.berkeley.edu> T+ <2lhce1$eco@agate.berkeley.edu> T+ (etc.) "/home/jtbell/News/rec/music/classical/KILL" 48 lines, 1733 characters This is the memorized list of message-ID's for articles which were previously junked. The THRU line indicates how far the killfile has gotten in processing articles for this newsgroup; when you enter the newsgroup, trn applies the killfile commands starting at this article number, so it doesn't have to re- process articles you've already seen or junked. You should be aware that trn performs killfile commands in the order listed. Therefore it is possible that an article may be selected by one command but junked by a following one. If you want the "search" commands to override the "message-ID" commands, for example, you should arrange them as follows: THRU 31298 <1994Mar9.020649.10313@virginia.edu> T+ T+ <2lll10$411@agate.berkeley.edu> T+ <2lhce1$eco@agate.berkeley.edu> T+ /Beethoven/+ /Serial/j (etc.) "/home/jtbell/News/rec/music/classical/KILL" 48 lines, 1733 characters Further Information Trn has many more features, and can be customized in various ways. The most complete documention of trn is the man page, which you should be able to view online by giving the UNIX command man trn. It's about forty pages long, and some parts of it require you to be somewhat familiar with the UNIX operating system. Obtaining This Document This document is revised periodically. You can get a copy of the latest version as follows: 1. Via anonymous ftp from cs1.presby.edu, directory pub/trn- intro. 2. Via the Presbyterian College (Clinton, South Carolina, USA) gopher server, either directly to gopher.presby.edu, port 70, or through the Other Gophers or similar menu on your local gopher server. When you reach our server, choose the Internet Resources menu. 3. As a last resort, via e-mail from me (jtbell@presby.edu); please specify which version of trn you are using, which format you want (ASCII text, Microsoft RTF, PostScript, or Macintosh WriteNow 3.0/4.0 (BinHexed)), and the date on your current copy of this document, if you have one already (so I can avoid sending you a duplicate if there haven't been any changes).