Rn (newsreader)

Last updated

rn (short for Read News) is a news client (or 'newsreader') written by Larry Wall and originally released in 1984. It was one of the first newsreaders to take full advantage of character-addressable CRT terminals (vnews, by Kenneth Almquist was first). Previous newsreaders, such as readnews, were mostly line-oriented and designed for use on the printing terminals which were common on the early Unix minicomputers where the Usenet software and network originated. Later variants of the original rn program included rrn, trn, and strn. [1]



rn was also notable for three other features it introduced: KILL files, "do the right thing", and automatic configuration. The KILL file was a file (called, obviously enough, KILL) containing regular expressions matched against the subjects of news articles in each group; if an article matched, it would be marked as having already been read. This feature proved essential as the growth of the Usenet made it impossible to read every article in even a limited selection of newsgroups.

"Do the right thing" was a fundamental change in the user-interface model of previous news software; rather than requiring users to navigate menus or learn a distinct command vocabulary for every operating mode of the program, certain single-keystroke commands were repeated throughout the user interface, performing the most obviously appropriate function for the task at hand. The most important of these commands was the space character, which means "go on to the next thing", where the next thing could be the next page, the next article, or the next newsgroup, depending on where the user was in the process of reading news.

Finally, automatic configuration was a feature for system administrators, not visible to users. Most Unix programs, and in particular all of the Usenet software, were distributed in source code form. Because different vendors of Unix systems (and in many cases, different versions of the Unix software) implemented slightly different behavior and names for important functions, a system administrator was required to have sufficient programming expertise to edit the source code before building the program executables to account for these differences. A particularly considerate programmer might have centralized these in a single source code file, but it still required manual editing. rn changed that by including a script called Configure, which had enough intelligence on its own to examine the computer system it was running on and determine, of those functions and interfaces known to behave differently, which behavior the system implemented. Today, most open source software is distributed with a similar script, such as autoconf.


Like all of the original newsreaders and the Usenet software itself, rn was designed for the environment of a large time-shared minicomputer, which users connected to using terminals wired directly to the machine, and where the only networks available were accessed by slow and expensive dial-up modem connections. All of the articles in all of the newsgroups were stored in files on the local disk (known as the "news spool"), and rn could simply read those files directly when presenting them to the user. When local area networks became widespread, it was natural that administrators and users would desire remote access to the news spool, and NNTP, the Network News Transfer Protocol, was developed to serve that need. While working at Baylor College of Medicine, Stan O. Barber developed remote rn (rrn), a set of patches to rn which allowed it to communicate with an NNTP server over a local-area (or even wide-area) network. Barber later took over maintenance responsibility for rn itself from Larry Wall.

As news volumes continued to increase, it became apparent that even KILL files could not possibly keep up with the sheer number of users and articles. A new concept, the threaded newsreader, was needed as users gradually switched from a "read most, kill few" model to "ignore most, read few". By organizing the articles in a newsgroup according to threads of discussion, using headers that had long been present in Usenet articles but practically unused, a threaded newsreader would allow users to keep up with topics and discussions they were interested without having to explicitly deselect uninteresting threads. Kim F. Storm's nn newsreader was the first to implement this new model, and it looked for a while as if nn would do to rn what rn did to readnews. This fate was averted when Wayne Davison developed trn, a set of patches to rn which gave it both threading at the article level and a new user interface that would allow users to select only the threads they desired, while remaining true to the original rn interface philosophy of do the right thing.

An even more recent addition to the rn family has been the addition of scoring, which allows a more complex method of evaluating articles to determine whether the user wishes to read them; originally this was implemented in a code fork of trn called strn, but later this was integrated into the official trn distribution.

See also

Related Research Articles

A Usenet newsgroup is a repository usually within the Usenet system, for messages posted from many users in different locations using Internet. They are discussion groups and are not devoted to publishing news. Newsgroups are technically distinct from, but functionally similar to, discussion forums on the World Wide Web. Newsreader software is used to read the content of newsgroups.

A news server is a collection of software used to handle Usenet articles. It may also refer to a computer itself which is primarily or solely used for handling Usenet. Access to Usenet is only available through news server provider.

InterNetNews server software

InterNetNews (INN) is a Usenet news server package, originally released by Rich Salz in 1991, and presented at the Summer 1992 USENIX conference in San Antonio, Texas. It was the first news server with integrated NNTP functionality.

The Network News Transfer Protocol (NNTP) is an application protocol used for transporting Usenet news articles (netnews) between news servers and for reading and posting articles by end user client applications. Brian Kantor of the University of California, San Diego and Phil Lapsley of the University of California, Berkeley wrote RFC 977, the specification for the Network News Transfer Protocol, in March 1986. Other contributors included Stan O. Barber from the Baylor College of Medicine and Erik Fair of Apple Computer.

UUCP is an acronym of Unix-to-Unix Copy. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers.

B News Usenet news server

B News was a Usenet news server developed at the University of California, Berkeley by Matt Glickman and Mary Ann Horton as a replacement for A News. It was used on Unix systems from 1981 into the 1990s and is the reference implementation for the de facto Usenet standard described in RFC 850 and RFC 1036. Releases from 2.10.2 were maintained by UUNET founder Rick Adams.

A News Program for Usenet newsgroups

A News, or Netnews Version A, originally known simply as news, was the first widely distributed program for serving and reading Usenet newsgroups. The program, written at Duke University by Steve Daniel and Tom Truscott, was released on a tape given out at the June 1980 USENIX conference held at the University of Delaware. Steve Daniel from Duke offered a presentation on the then-new Usenet network and invited attendees to join.

slrn news reader software

slrn is a console based news client for multiple operating systems, developed by John E. Davis and others. It was originally developed in 1994 for Unix-like operating systems and VMS, and now also supports Microsoft Windows. It supports scoring rules to highlight, sort or kill articles based on information from their header. It is customizable, allows free key-bindings and can be extended using the S-Lang macro language. Offline reading is possible by using either slrnpull or a local newsserver. slrn is free software.

Gmane is an e-mail to news gateway. It allows users to access electronic mailing lists as if they were Usenet newsgroups, and also through a variety of web interfaces. Since Gmane is a bidirectional gateway, it can also be used to post on the mailing lists. Gmane is an archive; it never expires messages. Gmane also supports importing list postings made prior to a list's inclusion on the service.

Google Groups A service from Google that provides discussion groups

Google Groups is a service from Google that provides discussion groups for people sharing common interests. The Groups service also provides a gateway to Usenet newsgroups via a shared user interface.

dd is a command-line utility for Unix and Unix-like operating systems, the primary purpose of which is to convert and copy files.

Forté Agent is an email and Usenet news client used on the Windows operating system. Agent was conceived, designed and developed by Mark Sidell and the team at Forté Internet Software in 1994 to address the need for an online/offline newsreader which capitalized on the emerging Windows GUI framework. By 1995, Agent had expanded to become a full-featured email client and remains a widely used application for integrating news and email communication on Windows. Agent supports POP email but not IMAP.

tin (newsreader) news reader software

tin is an open-source text-based and threaded news client, used to read and post messages on the USENET global communications network.

Newsreader (Usenet) newsgroup reading software

A newsreader is an application program that reads articles on Usenet distributed throughout newsgroups. Newsreaders act as clients which connect to a news server, via the Network News Transfer Protocol (NNTP), to download articles and post new articles. In addition to text-based articles, Usenet is also used to distribute binary files, generally in dedicated "binaries" newsgroups.

This is an alphabetical list of articles pertaining specifically to software engineering.

Newsbin Pro is a shareware news client developed by DJI Interprises for Microsoft Windows.

yProxy is a Network News Transfer Protocol (NNTP) proxy server for the Windows operating system. yProxy's main function is to convert yEnc-encoded attachments to UUE-encoded attachments on the fly. The main purpose of this is to add functionality to NNTP newsreaders that do not have native support for yEnc. The inventor of yEnc recommends yProxy for use by Windows users whose newsreaders do not support yEnc decoding.

Usenet Worldwide distributed Internet discussion system

Usenet is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it was established in 1980. Users read and post messages to one or more categories, known as newsgroups. Usenet resembles a bulletin board system (BBS) in many respects and is the precursor to Internet forums that became widely used. Discussions are threaded, as with web forums and BBSs, though posts are stored on the server sequentially.

Easynews, Inc is a HW Media Usenet/newsgroup reseller. Founded in 1994, Easynews service is available to individual users through a subscription model and as an outsourced service to internet service providers. Easynews currently offers service to over 1 million broadband users in 206 countries. Easynews offers Usenet access both through traditional Network News Transfer Protocol (NNTP) servers as well as a web interface using a standard web browser.


  1. Mark Moraes (December 28, 1999). "Usenet Software: History and Sources".