PC Yarn User Manual
Jump to navigation Jump to search
PC Yarn User Manual - version 0.88 PC Yarn - offline news storage and reading system Copyright 1995 by Chin Huang Permission to copy and distribute this material for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. The author makes no representations about the accuracy or suitability of this material for any purpose. It is provided "as is", without any express or implied warranties. The author will assume no liability for damages either from the direct use of this product or as a consequence of the use of this product. INTRODUCTION PC Yarn is a suite of programs for your personal computer, used to store and read USENET news and mail downloaded from a USENET host. FEATURES - An import program inserts USENET articles into a "news base" from Simple Offline USENET Packet (SOUP) format. For each newsgroup, you specify the number of days to keep articles, after which, an expire program deletes them. However, articles containing an Expires: header are deleted on the date specified in the header. - The news base stores only one copy of a cross-posted article. The news base implementation stores multiple articles per file. - A mail filter moves incoming mail to specific folders or deletes incoming mail based on user defined rules. - The Yarn news reader presents articles in threads arranged by Message-ID and References headers. The reader program generates SOUP reply packets. - Score files contain rules to score articles based on matching text found in the article. The reader can be set up to not show articles having scores below a certain threshold. - Multiple users are supported by storing separate configuration files for each user. SYSTEM REQUIREMENTS - MS-DOS 3.0 or higher - compression software such as PKZIP and PKUNZIP - 80186 compatible CPU or better. An 80386 compatible CPU or better is required to run the 32-bit DOS extender programs. - a lot of hard disk storage, depending on how much news you want to keep. For example, the author subscribes to 120 newsgroups including some binaries and sources groups, keeping most articles for 7 days. The amount of disk space used is 40 megabytes. INSTALLATION INSTALL YARN DIRECTORY Unpack the files from the Yarn distribution into a directory. Run the command english [drive:]directory where [drive:]directory specifies where to install the Yarn data directory. This directory is created if it doesn't already exist. Choose a disk drive with a lot of free space because the news base will be stored here. In this document, this directory will be called the %YARN% directory. SET UP USER DIRECTORY To set up a user directory where Yarn will store your user information, run the command adduser A form appears in which you fill in the required user information. + Add User ------------------------------------------------------------+ | | | Home directory: C:\JIM | | | | User ID: jsmith | | | | Host system: netcom.com | | | | User's full name: Jim Smith | | | | Editor program: edit | | | | Reply packet file: C:\UPLOAD\IOXR.ZIP | | | +----------------------------------------------------------------------+ Home directory Specify the directory where Yarn will store your user information. This directory is created if it doesn't already exist. In this document, this directory will be called the %HOME% directory. User ID Set this to your login name on the host from which you download and upload USENET news. Host system Set this to the full domain name of your host. User's full name Set this to your full name. This is the name that appears in parentheses on the From: header in messages you send. Editor program Set the name of the editor program to run when you send messages. Reply packet file Specify the full path of the SOUP reply packet file where your outgoing messages are stored. If the reply packet file does not exist, it is created when you post an article or send a mail message from the reader program. When you exit the reader program, the reply packet is ready to upload to your host. The program writes the user information to a configuration file named %HOME%\yarn\config. This document refers to other configuration settings also stored in this file. If you want to change those settings, you have to edit the configuration file with a text editor. SET TIME ZONE Set the environment variable TZ to your time zone. The format of the TZ string is zzz[+/-]h[h][ddd] zzz is a three character field representing the name of the time zone. [+/-]h[h] is an optionally signed number representing the local time zone's difference from Greenwich Mean Time (GMT) in hours. Positive numbers adjust westward from GMT. Negative numbers adjust eastward from GMT. ddd is an optional three character field that represents the name of the local time zone's daylight saving time. If no TZ environment variable is set, a default TZ=EST5EDT is assumed. UPDATE SYSTEM FILES Ensure the FILES setting in the CONFIG.SYS file is set to FILES=20 or higher. If there is no FILES setting, then add it. Put these SET commands in the AUTOEXEC.BAT file to ensure the environment settings persist after the next time you reboot your system. (If you are installing Yarn for OS/2, put the SET commands in the CONFIG.SYS file instead.) Use the settings determined above for the values appearing to the right of the equal signs. SET YARN=C:\YARN SET HOME=C:\JIM SET TZ=EST5EDT SET UP OTHER USERS To set up another user, run the adduser command, and specify a different home directory. To run Yarn as that user, set the HOME environment variable to the user's home directory. ENVIRONMENT These enviroment variables modify the behaviour of Yarn if they are set. EDITOR Specifies the external editor program, overriding the editor specified in the configuration file. LOGDIR Sets the user's home directory. If LOGDIR is not set, the home directory is set from the HOME environment variable. TMP Specifies a directory where temporary working files are stored. The default is %YARN%\temp. YARNRC Specifies an alternate configuration file to read instead of the default %HOME%\yarn\config. HOW TO ADD MIME SUPPORT Yarn supports the decoding of Multimedia Internet Mail Extension (MIME) messages by running an external MIME processing program. One such program is metamail. A DOS port of metamail is available from ftp://thumper.bellcore.com/pub/nsb/ An OS/2 port of metamail is available from ftp://ftp-os2.nmsu.edu/os2/unix/ Put this setting in the Yarn configuration file, assuming you installed the metamail executable in a directory in your PATH: decode-mime=metamail %f HOW TO ADD PGP SUPPORT Yarn contains hooks to external cryptographic programs. The standard Yarn distribution is set up to run Pretty Good Privacy (PGP). Ensure that the PGP executable is in the execution PATH. Uncomment the "secret- sign", "encrypt", "decrypt" and "decrypt-view" lines in the Yarn configuration file. Yarn is now configured to use the PGP privacy and authentication functions. OPERATION IMPORT NEWS AND MAIL To import messages from SOUP format, run import <file> where <file> is the path of the SOUP file. The import program takes these options. -n Do not delete the packet file. -q Operate in quiet mode. Do not list the imported newsgroup names. -r Import rnews batch or UNIX mailbox files instead of SOUP files. -u [directory] Assume the files from a SOUP packet have already been unpacked into the current directory and import messages from those files. If the optional directory is specified, then import from the files in that directory. SET EXPIRY OF NEWSGROUPS Two settings are associated with each newsgroup. One is the number of days that articles in the newsgroup will be kept before the expire program deletes them. The other is the absolute maximum number of days that articles with an Expires: header will be kept. The Expires: header may contain a date far in the future, but the article will be kept only for the specified number of days. When the import program finds a newsgroup in the packet that is not already in the news base, it adds the newsgroup with keep days and maximum keep days settings specified from the configuration file. The "keep" and "max-keep" settings specify the keep days and maximum keep days respectively. For example, if the configuration file contains the settings keep=7 max-keep=30 then articles are normally kept in the newsgroup for 7 days and absolutely not more than 30 days. You can set the keep days of individual newsgroups. Run the command newgroup <name> <keepDays> [<maxDays>] where <name> is the newsgroup name and <keepDays> is the number of days that articles in the newsgroup will be kept before the expire program deletes them. The optional parameter <maxDays> is the absolute maximum number of days that articles containing an Expires: header will be kept. Instead of naming a newsgroup on the command line, you can specify a text file containing a list of newsgroup names. Every newsgroup listed in the file is assigned the keep days value. newgroup @<file> <keepDays> [<maxDays>] EXPIRE NEWS Periodically run the expire program to delete old articles from the news base. To expire old articles from all newsgroups, run the command expire -o To expire old articles from specific newsgroups, list the newsgroups on the command line. For example: expire -o comp.answers news.answers To delete all read articles in all newsgroups, run expire -r To delete read articles from specific newsgroups, run expire with the -r option and list the newsgroups on the command line. For example: expire -r comp.answers news.answers The program may expire newsgroups in addition to the newsgroups you specified if an expired article was crossposted to multiple newsgroups. You can specify a text file containing a list of newsgroups to expire. Run expire with the argument @<file> on the command line, where <file> is the file path. The expire program accepts these options: -d <n> Assume it is <n> days in the future. Use this option to expire articles before they normally would have been expired. -n Do not actually delete any articles. Used for testing. -o Delete old articles. -q Operate in quiet mode. Display fewer messages than usual. -r Delete read articles. REMOVE NEWSGROUP To remove a newsgroup from the news base, run the command rmgroup <name> where <name> is the newsgroup name. USING THE MAIL FILTER The mail filter looks at incoming mail messages and processes the messages based on a set of rules you define. You can set up a rule that automatically moves messages you receive from a mailing list to a specific folder. Or, you can automatically delete messages from a specific user so that you don't even see messages from that user. Run the filter program to set up the filter rules. A list of filter rules appears. To add a filter rule, press the [Ins] key. The mail rule form appears. + Mail Rule ----------------------------------------------------------+ | | | Rule name: Yarn Mailing List | | | | Search in: ( ) From Search for: yarn-list | | (*) To Match case: No | | ( ) Subject | | ( ) Header | | ( ) Body | | ( ) Header and body | | | | Action: (*) Move to folder/newsgroup: list.yarn | | ( ) Delete | | | +---------------------------------------------------------------------+ Rule name Enter a name for the rule. Filter rules are processed in sorted order by rule name. Each rule is checked in turn until a match is found. If no rules match, the message is moved to the INBOX folder. Search in Select where to search. If you select "To", then the To: and Cc: headers are searched. Search for Enter the string to search for in the selected header. Match case Set the field to Yes if you want the search to be case sensitive. Action Select "Move to folder/newsgroup" if you want to move the message to a specific folder or newsgroup. If the specified name is a newsgroup in the news base, the message is moved to the newsgroup, otherwise the message is moved to the named folder. Select "Delete" if you want to automatically delete the message. The mail filter allows you to automatically transfer messages from a mailing list into a newsgroup. You can also set up Yarn to send any posts you make to that newsgroup back to the mailing list. For example, suppose you want to filter messages from the Yarn mailing list into a newsgroup. Run the command newgroup list.yarn 7 30 [email protected] to create a newsgroup named list.yarn. Set up a mail filter rule to move messages from the mailing list into the newsgroup. Now when you post a message to the list.yarn newsgroup, it is mailed to the list address [email protected] READ NEWS Run the yarn program to read news and mail. The yarnx program uses a DOS extender, which uses the CPU's memory management functions to give the program access to much more memory than conventional DOS programs. It requires an 80386 compatible CPU or better. With more available memory, the program can list much more articles in a newsgroup. The reader program operates in several modes -- the newsgroup selection level, the article selection level, and the article reading level. In the newsgroup selection level, yarn displays a window listing the newsgroups you are subscribed to along with the number of unread articles in each newsgroup. You can subscribe, unsubscribe or rearrange the order of newsgroups in this list. Press the [Ins] key to subscribe to a newsgroup. This brings up a list of unsubscribed newsgroups. To make a selection, use the arrow keys to move the highlight to the newsgroup, and then press the [Enter] key. The selected newsgroup is inserted into the subscribed newsgroup list. Press the [Del] key to unsubscribe from the highlighted newsgroup. To move a newsgroup in the list, press the [Del] key to remove it, position the highlight to the desired location, then press the [Ins] key and reinsert the newsgroup. By selecting a newsgroup, you go to the article selection level, where yarn presents a list of the subjects of each article. A subject beginning with the greater than (>) symbol indicates an article belonging to the thread above it in the list, but the author of the article changed the subject. You can select an article to read from this list, taking you to the article reading level. USING SCORE FILES Score files contain rules used to automatically calculate a numeric rank, called a score, for news articles. You can set up the reader so it doesn't show articles having scores less than a threshold score. A global score file contains rules applied in all newsgroups. Each newsgroup can have a separate score file containing rules that are also applied in that newsgroup. A rule in a score file has the format <points> <where> <string> where <points> is the number of points added or subtracted if the rule matches the article. It is a positive or negative number. An article's score is the total points of all matching rules in the global score file and the newsgroup score file. <where> names an article header to search, such as "From:", "Subject:" or "Message-ID:". You can name any header that might appear in an article header. You can also specify two special options. The "Header" option searches the entire article header. The "Body" option searches the article body. Searching the "From:", "Subject:" and "Message-ID:" fields is significantly faster than the other search options. <string> is the string to search for. All searches are case-insensitive. If the optional keyword "pattern" appears between <points> and <where>, the string is interpreted as a regular expression. A score file entry in the form killthreshold <n> sets the kill threshold to <n> points. The default kill threshold is 0. Articles having scores less that this threshold are marked as already read, and you normally will not see them. Blank lines and lines beginning with the # character are ignored. Here is an example score file that the author uses for the alt.usenet.offline-reader newsgroup. # I have little interest in Forte Agent. -1 Subject: Agent -1 Subject: Forte -1 pattern Subject: \bFA\b # But I am interested in Yarn and SOUP. 10 Subject: Yarn 5 Subject: SOUP Press [Shift-E] at the newsgroup selection level to edit the global score file. This starts your configured editor program on the global score file. Press [Shift-E] while inside a newsgroup to edit the score file specific to the newsgroup. NEWSGROUP SELECTION LEVEL These commands are available in the newsgroup selection level. Down Arrow, Ctrl-N Move to the next newsgroup. Up Arrow, Ctrl-P Move to the previous newsgroup. Tab, N Move to the next newsgroup that contains unread articles. Shift-Tab, P Move to the previous newsgroup that contains unread articles. Home Move to first newsgroup. End Move to last newsgroup. / Search forward for newsgroup name containing matching text. ? Search backward for newsgroup name containing matching text. ; Continue forward search. : Continue backward search. Space, Right Arrow Go to the article selection level, listing only unread articles. Enter Go to the article selection level, listing all articles. Ins, + Subscribe to a newsgroup and insert the newsgroup at the current position. Del, - Unsubscribe from the highlighted newsgroup. A Post an article to the highlighted newsgroup. M Send mail message. C Mark all articles in the highlighted newsgroup as read. E Edit the global score file. O Save unread articles in the highlighted newsgroup to a folder. S Save unread articles in the highlighted newsgroup to a file. The program prompts for a file name. If you don't give a full path name, the file is stored in the directory %HOME%\news. W Same as the 'S' command, except omit the article headers. ! Run command shell. Type "exit" to return to Yarn. F2, Ctrl-L List address book. Esc Exit program ARTICLE SELECTION LEVEL These commands are available in the article selection level. Down Arrow, Ctrl-N Move to the next article. Up Arrow, Ctrl-P Move to the previous article. Tab, N Move to the first article of the next thread. Shift-Tab, P Move backwards to the previous article beginning a thread. Home Move to first article. End Move to last article. / Search forward for article containing matching text. ? Search backward for article containing matching text. ; Continue forward search. : Continue backward search. Space, Right Arrow Read the article. Del, - Mark the article as read and go to the next unread article. Ins, + Mark the article as unread. O Save the current article through to the last article in the thread to a folder. S Save the current article through to the last article in the thread to a file. The program prompts for a file name. If you don't give a full path name, the file is stored in the directory %HOME%\news. W Same as the 'S' command, except omit the article headers. B Extract uuencoded file from the current article. K Mark the current article through to the last article in the thread as read. U Mark the current article through to the last article in the thread as unread. C Mark all articles in the newsgroup as read. E Edit the newsgroup score file. A Post an article to the newsgroup. M Send mail message. L Toggle short, medium or long subject list. T Sort articles by arrival, subject or score order. V Toggle listing of all articles or unread articles. ! Run command shell. Type "exit" to return to Yarn. | Run a program, piping the article into the program's standard input. If you put %f on the command line, it is replaced with the name of a temporary file containing the article, and the article will not be piped into the standard input. F2, Ctrl-L List address book. F3, Ctrl-A Add the author of the current message to the address book. Esc, Left Arrow Return to the newsgroup selection level. ARTICLE READING LEVEL These commands are available in the article reading level. Down Arrow, Enter Scroll one line down. Up Arrow Scroll one line up. PgDn Show next page. Space Show next page. If at the end of an article, go to the next unread article. PgUp, b Show previous page. Home Go to top of article. g Search article for matching text. G Continue search in article. Ctrl-G Search for the next line beginning with "Subject:". You can use this command to search for the next message in a message digest. / Search forward for article containing matching text. ? Search backward for article containing matching text. ; Continue forward search. : Continue backward search. n, Right Arrow Mark the article as read and show the next unread article. N Show next article. p Show previous unread article. P Show previous article. a, A Post an article to the newsgroup. f Post a followup article. F Post a followup article, quoting the original article. r Mail a reply to the author of the article. R Mail a reply, quoting the original article. m Mail (forward) the article to someone. M Compose a mail message. o Save the article to a folder. s Save the article to a file. The program prompts for a file name. If you don't give a full path name, the file is stored in the directory %HOME%\news. w Same as the 's' command, except omit article headers. B Extract uuencoded file from the article. x ROT13 decrypt the article. X Decrypt the article by running the external cryptography program specified in the Yarn configuration. k, Del Mark the article as read. K Mark this article and the rest of the articles in the thread as read. u, Ins Mark the article as unread. U Mark this article and the rest of the articles in the thread as unread. C Mark all the articles in the newsgroup as read. E Edit the newsgroup score file. v Toggle verbose headers. c Cancel the article. You must be the author to be able to cancel the article. z Supersede the article. You must be the author to be able to supersede the article. Z Same as the 'z' command, except you start with a copy of the original article in the editor. ! Run command shell. Type "exit" to return to Yarn. | Run a program, piping the article into the program's standard input. If you put %f on the command line, it is replaced with the name of a temporary file containing the article, and the article will not be piped into the standard input. F2, Ctrl-L List address book. F3, Ctrl-A Add the author of the current message to the address book. Esc, Left Arrow Return to the article selection level. q Return to the newsgroup selection level. READ MAIL To list your incoming mail messages, press [Shift-I] at the newsgroup selection level. You can send new mail by pressing [Shift-M]. A form pops up, asking you to enter the destination mail address and subject for the message you want to send. If you press the [F2] key while the cursor is in the mail address field, the address book pops up. You can select an entry from the address book by moving the highlight with the arrow keys and pressing the [Enter] key. Press [Shift-F] at the newsgroup selection level to bring up a list of folders. You can select a folder to read from this list. If you start yarn with the -m option, you go directly to reading your received mail and skip reading news. If you start yarn with the -f option, you go directly to the folder list and skip reading news. EDIT REPLIES The Yarn reader allows you to edit the messages in the reply packet. At the newsgroup selection level, press [Shift-R] to display a list of folders in the reply packet. The reply packet may contain up to two folders, ``mail'' which holds outgoing mail messages, and ``news'' which holds outgoing USENET articles. By selecting a folder, you go to the message selection level, where the program lists the messages in the folder. Press the [Del] key to delete the currently highlighted message. Press [Shift-E] to edit the message. To view a message, select it from the message selection level. While a message is displayed, pressing the 'd' key deletes the message. Press the 'e' key to edit the message. If you start yarn with the -r option, you go directly to the replies list and skip reading news. USING THE ADDRESS BOOK The address book is used to conveniently retrieve mail addresses. An address book entry consists of an alias and an address. An alias is a word representing a address or a list of addresses. If an alias appears in a To:, Cc:, or Bcc: header, it is replaced with the corresponding address(es) when the message is sent. To list the address book, press [F2] at the newsgroup selection level. To add an address book entry, press the [Ins] key. A form appears in which you enter the alias and address. To specify a list of addresses, enter the addresses in the Address: field, separating them with a comma. While you are reading a message, you can capture the mail address of the message author and add it to the address book by pressing the [F3] key. YARN OPTION SUMMARY The yarn program accepts these options: -b Output to the display using BIOS calls instead of direct screen writes. -f List folders. Do not read news. -m List mail. Do not read news. -r List replies. Do not read news. -s Disable the '!' run shell command. REGULAR EXPRESSIONS The search functions use regular expressions to specify the pattern to match. A \b matches a word boundary. A ^ matches the beginning of the buffer. A $ matches the end of the buffer. A . matches any character. A single character with no special meaning matches that character. A string enclosed in brackets  matches any single character in that string. Ranges of ASCII character codes may be abbreviated as 'a-z0-9'. A left bracket ] may occur only as the first character of the string. A literal - must be placed where it can't be mistaken as a range indicator. If the first character is the caret ^ then any character not in the string will match. A regular expression followed by * matches a sequence of 0 or more matches of the regular expression. A regular expression followed by + matches a sequence of 1 or more matches of the regular expression. A regular expression followed by ? matches a sequence of 0 or 1 matches of the regular expression. Two adjacent (concatenated) regular expressions match a match of the first followed by a match of the second. Two regular expressions separated by | match either a match for the first or a match for the second. A regular expression enclosed in parentheses matches a match for the regular expression. The order of precedence of operators at the same parenthesis level is  then *+? then concatenation then |. QUESTIONS AND ANSWERS ------------------------------ Subject: How do I create SOUP files on my UNIX host? The uqwk program creates and processes SOUP files on your UNIX host. It is available by anonymous FTP from ftp.gte.com in the /pub/uqwk directory. To create a SOUP download packet, named "down.zip" in this example, run these commands on your UNIX host: uqwk +n +x +L zip -m down.zip AREAS *.MSG Download the down.zip file to your PC. Run this command on your PC to insert the messages into the Yarn news base: import down.zip When you send mail or post articles, the Yarn reader creates a SOUP reply packet, named "up.zip" in this example. Upload the up.zip file to your UNIX host. Run these commands on your UNIX host to send the messages in the reply packet: unzip -U up.zip uqwk -m -n +L -RREPLIES ------------------------------ Subject: The newsgroup selection list showed a number of the unread articles in a newsgroup. When I selected the newsgroup by pressing the space bar, the article selection list had less articles than that number. When you read an article that was cross-posted to multiple newsgroups, that article is marked as read in all the newsgroups to which it was cross-posted. The newsgroup you selected contains cross-posted articles that you already read in another newsgroup. The program counts the true number of unread articles when you select the newsgroup. ------------------------------ Subject: After running "expire -o", I reduced the keep days for a newsgroup and ran "expire -o" again, but it didn't delete any more articles. Each article is assigned an expiry date after which it is deleted. The "expire -o" command deletes articles having an expiry date older than the current date. The article storage scheme requires that an article's expiry date be set when the article is imported into the news base. Once imported, the article's expiry date cannot be changed. When you change the keep days for a newsgroup, you only change how long you keep subsequently imported articles. You don't affect the expiry dates of articles already in the news base. ------------------------------ Subject: What is the junk newsgroup? When the import program finds an article that doesn't belong to any of the newsgroups in the news base, it tosses the article into the junk newsgroup. This usually shouldn't happen with properly configured software. ------------------------------ Subject: How do I configure Yarn for OS/2 to run the MS-DOS version of PKZIP and PKUNZIP? Put these settings in your configuration file, adjusting the drive and path appropriately. compress=cmd.exe /c c:\path\pkzip -m %f %d\*.* uncompress=cmd.exe /c c:\path\pkunzip -o %f %d ------------------------------ Subject: How do I configure Yarn to use InfoZip's zip and unzip programs? Put these settings in the configuration file. compress=zip -kjm %f %d/* uncompress=unzip -o %f ------------------------------ Subject: How do I print an article from the reader program? Use the save to file command. When prompted for a file name, enter the name prn ------------------------------ Subject: How do I cross-post an article to more than one newsgroup? While you are editing the article, add the newsgroups where you want to cross-post to the Newsgroups: line. Separate the newsgroups with commas. Do not put any spaces between the newsgroups. ------------------------------ Subject: The program aborted with the error message "history file is corrupt". The history file is an critical part of the news base. It contains the location where each article is stored. If the history file becomes corrupted, some articles may become inaccessible. The rebuild program is a utility that rebuilds the history file by scanning all the articles in the news base. If the files containing the articles are intact, rebuild should restore the links to every article in the news base. To repair the history file, first run the chkdsk command to fix any file system errors, then run the command rebuild -h ------------------------------ Subject: The program aborted with the error message "dbm file is corrupt: %YARN%\supersed" or "dbm file is corrupt: %HOME%\yarn\readart". These files aren't so critical and can be deleted if they become corrupted. First run the chkdsk command to fix any file system errors, then delete the supersed.* files in the %YARN% directory or delete the readart.* files in the %HOME%\yarn directory respectively. ------------------------------ Subject: Is there a Yarn mailing list? Yes, to subscribe to the mailing list, mail a message to [email protected] The body of the message should be the line subscribe yarn-list Your Full Name assuming Your Full Name is your full name. If it isn't, substitute your own name. FILES %HOME%\mail Folder directory %HOME%\news Default save directory %HOME%\replies Reply work directory %HOME%\yarn User configuration directory %HOME%\yarn\scores Score file directory %HOME%\yarn\scores\global Global score file %HOME%\yarn\addrbook Address book file %HOME%\yarn\config User configuration file %HOME%\yarn\filter Mail filter configuration file %HOME%\yarn\newsrc Newsgroup subscription file %HOME%\yarn\readart.* Read cross-posted article lookup table %YARN%\active Active newsgroup file %YARN%\global System-wide configuration file %YARN%\history.* Article history lookup table %YARN%\supersed.* Superseded article lookup table %YARN%\overview Article overview directory %YARN%\news Article spool file directory ACKNOWLEDGEMENTS The MS-DOS yarn.exe program uses the SPAWNO routines by Ralf Brown to minimize memory use while shelling to DOS and running other programs. The MS-DOS yarnx.exe program uses PMODE for Watcom C/C++, a DOS extender written by Charles Scheffold and Thomas Pytel.