Backtalk Glossary

Version 1.3.29

(c) 1996-2003 Jan Wolter, Steve Weiss

This document provides definitions of some of the terms used in Backtalk and its documentation. Much of the terminology used in Backtalk is inherited from Marcus Watts' Picospan conferencing system.

Abalone Interface
The abalone user interface is a Backtalk flavor that makes better use of the capabilities of modern browsers than the older flavor did. The basic looks were originally inspired by InfoPop's OpenForum system, but many other ideas have been stirred into the pot. In makes substantial use of Javascript in many places, but has been designed so that as much as possible will still work for users with Javascript disabled. It is better looking than the standard pistachio interface, but probably slower to use for people with sluggish internet connections.

Accounts, or login IDs, are assigned to each Backtalk user. Each account is protected by a password to ensure only that user can use it. Normally these Backtalk accounts are completely distinct from any real Unix accounts that may be on the host machine. Having a Backtalk account on such a system would give the user no access to any part of the system except the Backtalk conferences.

In this normal case, accounts are created using any of several Backtalk web-based account creation forms, or with the command-line btmkuser tool. Users can change their passwords, edit other settings, or delete their own accounts through Backtalk. Conference administrators can perform all these functions on any user's account.

It is possible to configure Backtalk to use the real Unix accounts on the host computer as Backtalk accounts. This is normally done on systems where administrators want to give users a choice of either using Backtalk or using the Yapp or Picospan tty-based conferencing systems, since users must have Unix accounts to access the latter.

If Unix accounts are used, account administration is done through the standard Unix administration tools, not through Backtalk.

Conference administrators are those users who have access to a Backtalk Administration account. Any account in the group called 'cfadm' is an administrator account. The Backtalk installation scripts automatically create and administration account called 'cfadm'. Such accounts have a large number of special powers. With Backtalk, all normal administrative functions can be performed through the web using an administrator account.

Normally administrator accounts are not used for day-to-day conferencing even by conference administrators. Ideally they should switch over to that account only to perform administrative functions.

Administrators have the powers of fairwitnesses in all conferences. They can kill, censor, hide, and retitle items even on systems where fairwitnesses are denied those powers. Administrators can also reassign fairwitnesses, and open or close conferences. It is the administrators alone who can create and destroy conferences.

Administrators also can create, destroy, validate and invalidate user accounts on most Backtalk installations. They can also change the passwords of other users.

Obviously the conference administration job is one that should be filled by a trustworthy and capable person.

Anonymous Users
Normally all Backtalk users must establish their identity through some authentication scheme, but Backtalk can be configured to allow users who have not identified themselves to have read-only access to the conferences. These anonymous users cannot post, and because they do not have participation files, Backtalk will not remember for them which items they have already seen. If there is a shy list installed, anonymous users will not be able to read responses entered by users on that list.

Apache HTTP Daemon
Apache is a modular HTTP daemon distributed by the Apache group. Though Backtalk can be used with any standard HTTP daemon, Apache has several features that make it ideal for use with Backtalk.

First, it supports using dbm files for password database. For systems with large numbers of users, this can mean much faster authentication than the standard flat files.

Second, there is a separately distributed external authentication module for Apache. Together with our pwauth program, this provides a simple and secure method for authenticating real Unix accounts even on Unix systems where passwords are hidden in a shadow database and can thus not be read by the HTTP daemon itself.

Apache is available from the Apache web page.

Authentication is the process by which users establish their identity to Backtalk. Backtalk can be set up to allow limited access to anonymous users, but to participate fully users must authenticate. Authentication allows Backtalk to reliably tag all postings with the name of the author. It also helps Backtalk maintain individual information about each user in the user databases.

Normally authentication is done using the standard authentication methods built into all modern web browsers. The first time the user accesses a Backtalk page he or she will be asked to give a login name and password in a little pop-up box on his screen. This authentication process is handled entirely by the host system's HTTP Daemon and the user's web browser and is based on the information in the password file.

.Backtalk File
The .backtalk file, kept in the user's home directory, contains all sorts of information and switch settings. It is a tag file and is the catch-all place for miscellaneous user information.

On most systems it contains the publicly readable biographical information (email address, phone number, life story, etc) displayed when users ask for information about the user. On systems where real Unix accounts are used, that information is taken preferentially from the user's .plan file. It is used to keep option settings on all installations.

There is also a ``dflt.backtalk'' file kept in the bbs directory where the system administrator can store default values for user who don't set there own.

Backtalk Script Language
Backtalk is an interpretor which follows the instructions in a script. The Backtalk script language is actually a very powerful programming language which includes such facilities as loops, conditionals, user-definable functions, recursion, multi-dimensional arrays, and global and local variables. It is designed for very rapid execution. It is not, however, very readable or easy for beginners to understand.

Backtalk's language is an stack-based RPN language, very similar in syntax to Postscript. An introduction to the Backtalk Script Language can be found in the Tutorial Manual and a full description can be found in the Language Manual.

Binary Files
To improve performance, Backtalk automatically compiles all script files into binary files which can be loaded and executed much more efficiently. Many symbols are resolved at compile time, regular expressions are precompiled, and code optimizations are done, including the elimination of chunks of code not relevant to your configuration. The Backtalk compiler makes this translation. A binary file has the same name as its corresponding script file, except that the ``.bt'' suffix is replace with a ``.bb'' suffix.

Booktalk is an discussion forum created by the Canton Public Library for elementary school students. It is based on Backtalk, but uses the kid-friendly Bubblegum user interface, and some custom administrative tools to simplify the creation of special conferences for each class, public conferences shared across all classes in all schools, and restricted staff-only conferences. These administrative tools are available in a separate distribution. They are mostly only useful if you want to create a very similar kind of system.

A web browser is a program for accessing documents on remote systems and formating HTML documents for display. There are hundreds of web browsers around, but the best known are Netscape, Microsoft Internet Explorer, Mozilla and Lynx. All users must use a web browser to access Backtalk.

Unfortunately, browsers aren't very well standardized. Backtalk can automatically recognize which types of features some of the more common browsers have by looking them up in its browser database. This allows Backtalk scripts to adapt to the capabilities of a particular user's browser.

Bubblegum Interface
The bubblegum interface was designed for the Canton Public Library's Booktalk project. It is a simplified interface originally designed for school-age children. It features big buttons, bright colors, and slightly reduced feature set. It is distributed separately from Backtalk, but is also open source freeware.

.Cflist File
The .cflist file, kept in the user's home directory, maintains his hot-list of favorite conferences. Backtalk allows him to quickly browse through these conferences in the given order.

There is also a ``dflt.cflist'' file kept in the bbs directory which the system administrator can set to a conference list to be used for all users who do not define their own .cflist files. The ``dflt.cflist'' file can also specify conferences that are only to be listed for certain groups of user, and may include some subheadings to be displayed in user's hot-lists.

CGI Programs
Programs which are designed to be run from a HTTP daemon, and which generate HTML output are called ``CGI programs.'' Backtalk is an unusually large and sophisticated CGI program. On most systems, all CGI programs must be installed under a system directory called cgi-bin.

Cgi-bin Directory
The cgi-bin directory is the standard place to keep CGI programs on Unix systems. Where exactly this directory is in the Unix directory tree seems to vary wildly from one system to the next. It is usually defined in the HTTP daemon configuration file called ``httpd.conf,'' however the location of that file also varies wildly from system to the next.

Normally Backtalk will be installed not in the cgi-bin directory itself, but in a subdirectory of the cgi-bin directory, usually called ``pw''. This subdirectory will also contain a file called ``.htaccess'' which tells the HTTP daemon that users must be authenticated before running the programs in that directory.

Often a link to Backtalk will be installed in the cgi-bin directory to allow anonymous users to have read-only access to the conferences.

A link to Backtalk may also be installed in a subdirectory of cgi-bin called ``adm.'' The ``adm'' directory would have a .htaccess file which points to the same password database as the one in ``pw'' but has a different keyword. This is used primarily when a administrator wants to switch from his personal account to the administration account. Most web browsers are very reluctant to let a user change authentications, so running an apparently different copy of of Backtalk which happens to have a different keyword in its .htaccess file will fool the browser into letting you re-authenticate.

Closed Conferences
Normally all authenticated users will have access to each conference. But conferences can be set up so that only a limited subset of the users may fully participate. Other users may be completely banned from accessing the conference, or may have read-only access to it. (The latter type of conference is sometimes called a fishbowl conference.)

Access to a closed conference may be limited either by a list of which users may join, or by a list of which groups may join, by a password that must be given to join, or by any combination of these. The lists of users and groups and the password are maintained by the fairwitnesses of the conferences.

Command-Line Administrative Tools
Though all Backtalk user administration tasks can be done through the web interface, it is sometimes useful to be able to perform these functions from Unix shells. Backtalk includes a set of command-line administrative programs that can help with this:

The Backtalk Compiler (btc) preprocesses Backtalk scripts into binary files which can be executed much more quickly then the original scripts. You don't normally need to compile Backtalk scripts yourself. Backtalk will do so all by itself, as needed.

To explain more precisely what it does, we need to get a bit more technical than this glossary normally does, but lets have at it anyway....

It converts the original free-format text file into a compact fixed-format binary file, stripping out all comments and white space as it does so. It binds names of built-in functions and system variables so they do not have to be looked up in the system dictionary at run time. Some Backtalk variables are constants, whose names are known to the system at compile time. Any regular expressions are precompiled. The compiler removes all constants from the program and replaces them with their values so they do not have to be evaluated at run time. If you are applying built-in functions to constant arguments, Backtalk will often be able to evaluate them at compilation time. This mechanism enables conditionally compiled instructions to be included in Backtalk scripts, making it easy to write efficient scripts that behave differently on different system configurations. The compiler can also insert copies of other script files that your script calls directly into the binary, so that the other file doesn't have to be found and loaded at run time (this can result in binary files being bigger than the source files).

Binary files are written in an architecture independent format, so that they can be shared between different types of computers.

Confer Conferencing System
``Confer'' is the name of a conferencing system written in 1975 by Robert Parnes at the University of Michigan in Ann Arbor. It was a predecessor to the Picospan and Caucus conferencing systems. Confer pioneered many of the design features in Backtalk.

A Backtalk conferencing system may have any number of conferences on it. A Conference is a forum for discussing some broad subject area. Conferences correspond roughly to newsgroups or mailing lists, but are differently structured. Each conference has a short name, like ``cooking'', ``internet'' or ``chess.'' One or more people are assigned to fairwitness the conference. Users may enter items into the conference, each of which would have some narrower subject.

Only the conference administrator can create new conferences.

DBM Files
Most modern Unixes have support for some form of dbm database. These are specially designed to allow finding specific entries in very large databases very quickly, without having to search the whole database. Backtalk can be configured to use dbm files for various parts of its user database. This can significantly improve performance on systems with thousands of users.

Erasing Responses
Backtalk makes it possible to erase or censor individual responses. Depending on the configuration, the power to erase responses may be allowed to the user who posted it, or to the fairwitness of the conference it was posted in. Administrators can always erase responses.

Backtalk can be configured to save a copy of any erased response in a file not normally accessible through Backtalk. This make it possible to recover inappropriately censored text.

External Authentication
External authentication is a feature supported by one of the Apache HTTP daemon's contributed modules. With external authentication, the HTTP daemon does not check the validity of a login/password combination itself. Instead it runs another program which is given the login and password, and returns a flag telling if the authentication is good or not. This is used in Backtalk installations where real Unix accounts are used to run the pwauth program.

This is the title Backtalk uses to describe the person or persons ``in charge'' of a conference. Other systems use the names ``host'' or ``moderator'' to mean the same thing. Fairwitnesses oversee a particular conference and work to maintain a suitable tone and atmosphere. They have various special powers over their conferences. Only a fairwitness can enter the first item in a conference. Only fairwitnesses can link items from other conferences into their conference. They can edit the conference login screens and may be able to adjust other conference-specific settings. Depending on how Backtalk is set up, fairwitnesses may have the power to kill, retitle, freeze or retire items. They may be able to hide and erase responses. In closed conferences, the fairwitness can maintain the list of users who may access the conference, or the secret password through which must be given to access the conference.

Backtalk inherits the rather odd name ``fairwitness'' from Picospan, which lifted it from Robert Heinlein's novel Stranger in a Strange Land, where it means something different.

Users can mark items that they are especially interested in as ``favorites''. These items will then be listed first in lists of items, and shown first when the user reads items. Options can be set to automatically favor items that the user posts him or herself, or that the user responds too. By default, when you enter an item, it automatically becomes a permanent favorite. When you respond to an item, it becomes a temporary favorite - that is, it will only be a favorite until you next read it.

Fishbowl Conferences
A fishbowl conference is a closed conference which anybody can read, but which only a limited number of users can post to. (Incidentally, a lot of Backtalk's conference reading code evolved from a program called bbsread that Jan Wolter wrote long ago to simulate fishbowl conferences in the Picospan environment.)

Backtalk can support a wide range of different user interfaces. When a choice of different interfaces is installed on a Backtalk system, they are called ``flavors.''

Current available flavors of Backtalk include vanilla, pistachio, abalone, bubblegum and papaya.

We expect to continue developing flavors in the future.

Forgetting Items
A user can forget any item in any conference he or she is a member of. This means that new responses to that item will not be shown to the user in the future; the item will seem to disappear from the conference unless the user specifically requests to read it. This has no effect on any other user's ability to continue reading the item.

Freezing Items
A frozen item is one to which no more responses may be posted. Items may be frozen or thawed by the conference's fairwitness or, if Backtalk is configured to allow it, by the user who originally entered the item. Frozen items may also not be retitled, and responses in them may not be hidden or erased.

The fronttalk program is a command-line front-end to backtalk. It looks and feels very much like Picospan or Yapp, enough so that it could be reasonably considered a clone, but it functions quite differently. Instead of accessing the conference databases directly, it makes HTTP requests to a Backtalk CGI program. This enables it to access conferences on remote systems, not just those on the local server.

When accessing conferences on the local system, it can directly execute Backtalk, thus saving the overhead of going through an HTTP Deamon.

Fronttalk is distributed separately from Backtalk, but is also free, open source software.

Backtalk was originally written for Grex and HVCN. Grex is a free, public-access computer system, run as a 501c3 non-profit corporation by a staff of volunteers. It was a spinoff from M-Net in 1996. It is on the web at Grex has a history of running on extremely slow, extremely obsolete computers. This has encouraged us to design Backtalk for performance.

Backtalk user accounts can be associated with one or more groups, in much the same way that Unix accounts can be in one or more groups. (In fact, the underlaying data file used by Backtalk to record groups looks almost exactly like a standard Unix /etc/group file).

As in Unix, every account has exactly one 'primary group' but can be a member of any number of other groups too. For the most part, it makes no different which groups are 'primary' and which groups are 'other'. The distinction is maintained only for compatibility with systems that use real Unix accounts.

Two groups are special. Any account that is a member of the 'cfadm' group is an administrator account, and has lots of special power to create, destroy and edit conferences and other user accounts. Any account that is a member of the 'gradm' group is a group leader account. It has the ability to create and administrate other accounts in its primary group.

Other groups can be defined by administrators. The most common use for them is to create closed conferences that only that group can access.

Hiding Responses
Backtalk makes it possible to hide responses. These hidden responses will not be displayed when the item is read, but instead a button will be shown that can be clicked to read the text of the response. This is useful for very long responses. Users may always hide their own responses, and the fairwitnesses may be able to do so for other user's responses if the system has been configured to allow this. Administrators can always hide any user's responses.

Home Directories
Each Backtalk account has a home directory on the Unix file system where various files are kept with information about the user. The file kept in users' home directories include their participation files, their .backtalk file, their .cflist file, and, in some configurations, an ``id'' file containing the primary user database information.

On systems where real Unix accounts are used, a user's Backtalk home directory is his real Unix home directory. To prevent clutter in the home directory, the user may keep all his Backtalk files in a subdirectory called ``.cfdir''. The files will be owned by the user, which would normally make it impossible for Backtalk to update them. The partutil program, which must be used in such installations, provides a work-around for this problem.

In the more usual case of systems where Backtalk accounts are distinct from Unix accounts, the user's home directory is maintained by backtalk and it owns all the files in it. The user would have no access to the directory except through Backtalk and would normally not be aware that it exists.

.Htaccess File
A .htaccess file in a directory tells the HTTP daemon who should have access to the files in that directory. The .htaccess files in the cgi-bin subdirectories where Backtalk is installed tell the HTTP daemon how to do authentication for Backtalk.

Normally the .htaccess file will point to the password file which Backtalk maintains, but on systems where real Unix accounts are used, it will instead tell the Apache HTTP daemon to run the pwauth program to do authentication.

HTML Document Language
HTML is a simple document language most commonly used in writing web pages. It consists of ordinary English text with various tags inserted into it that tell things like what font to use and where to make paragraph breaks and section headings. It also includes codes for including in-line images and clickable pointers to other documents. Most web browsers will let you see the HTML code from which the pretty display on your screen was generated by selecting ``View Document Source.''

The Backtalk program generates all its output as HTML, which is then converted into handsomely formatted text by your web browser. Unfortunately, HTML isn't as well standardized as one would like, so what appears on your screen may vary depending on which browser you use.

HTML stands for ``HyperText Markup Language.''

HTML Responses
Normally Backtalk users enter responses by typing them in exactly as they want them to be displayed. However, Backtalk also allows users to enter responses containing HTML commands. This makes it possible to do fancy formatting and to include images, tables and links in responses. Backtalk automatically sanitizes all HTML responses, ensuring that all opened tags are closed, and completely removing certain tags that would tend to mess up the page.

In installations where Backtalk coexists with Yapp, HTML responses would be a problem, because users of the text-based conferencing interface would see ugly HTML tags in the responses instead of neatly formatted text. So on such systems, Backtalk automatically generates a plaintext version of each HTML response and stores both versions in such a way that Picospan or Yapp will only display the plaintext version.

To help out authors of HTML responses, Backtalk allows them to preview their postings. On systems where Picospan or Yapp are used, it can be set to show how the response will look in both interfaces.

HTTP Daemons
Any computer that is to serve web pages (i.e., make them available on the internet) must be running some kind of HTTP daemon, usually called ``httpd.'' The HTTP daemon waits to receive incoming requests and dispatches the appropriate output, usually an HTML document. It also takes care of handling any authentication necessary to access documents, and maintains logs of HTTP requests served.

HTTP daemons can be configured to allow CGI programs to be run. In this case, instead of sending some static HTML file in response to a request, the HTTP daemon runs some other program which, in real time, generates the HTML to be sent to the remote user. Backtalk is a very elaborate CGI program, and the normal way it is run is by an http daemon.

Thus Backtalk has a fairly intimate relationship with the host system's http daemon, and correct configuration of the HTTP daemon is important to Backtalk's correct functioning. Luckily, these things are pretty well standardized, and Backtalk will work well with any of the common HTTP daemons.

However, if the Apache HTTP daemon is used, Backtalk can be configured in ways that will improve its performance on systems with large numbers of users, and if you wish to use real Unix accounts for authentication, we only support Apache.

HTTP stands for ``HyperText Transfer Protocol.''

Ignore Lists
Ignore lists are sometimes called ``bozo filters'' or ``twit filters,'' but that's rude. If you place a user on your ignore list, then the pistachio and abalone flavors will automatically supress all messages posted by them. This is for use when some other user has driven you utterly to distraction, but you lack the self-discipline to just not read their postings. Personally I think it's a dumb feature, but lots of people seem to think it's one they can't live without.

The Backtalk program is actually an interpretor for the Backtalk script language. The content and layout of the pages displayed by Backtalk and the function and appearance of the controls on them is not programmed into Backtalk. Instead, a large set of scripts is used to drive the generation of the pages. Backtalk works by following the instructions in a script. Doing this is called ``interpreting the script.''

The Backtalk Interpretor does not actually execute the script files directly. Instead, the Backtalk Compiler first translates them into binary files, doing quite a bit of optimization. The binary files are saved so that the scripts do not need to be recompiled everytime they are run (unlike Perl scripts). Backtalk is smart enough to recompile them only when there has been some change in the scripts or the system configuration.

Implementing Backtalk as an interpreter makes it is easy to change and redesign the pages, so that Backtalk is an extremely flexible and new features can quickly be incorporated. However, this makes Backtalk a bit slower than some systems where the look-and-feel is completely fixed (though, compared to most other interpreters, like Perl, Backtalk is very fast).

Index Files
The PicoSpan file structure had one major weakness. The program didn't a fast way to find the 200th response to a item without reading through all responses of the item, counting as it went. This made it slow in some ways. Backtalk addresses this problem by maintaining an index file for each item, that tell exactly where to find each response. On systems where Backtalk coexists with PicoSpan or Yapp, Backtalk can't count on them to do their part to maintain this file, so Backtalk is very good about fixing them up as needed. Use of index files significantly speeds up Backtalk.

Users may enter any number of items in any conference that they have access to (except that only the fairwitness may enter the first item in a conference). The item author supplies a title and introductory text when he or she enters the item. The system assigns it a unique identifying number within the conference. Other users may then attach responses sequentially to the end of the item. Some systems call items ``topics.''

Killing Items
When an item is killed it is permanently removed from a conference. If it is not linked to any other conference, then it permanently disappears from Backtalk and the disk space consumed by the item is recovered. Both administrators and conference fairwitnesses can kill items. If Backtalk is so configured, item authors may also kill their own items, but only if nobody else has yet responded to them.

Linking Items
Backtalk allows the same item to appear in two different conferences via the mechanism of linked items. The fairwitness of a conference may link any item from any open conference into his conference. After that, the same item will appear in both places, as will any future responses.

Fairwitnesses cannot retitle linked items or hide or erase responses in them. This is to prevent fairwitnesses of one conference from exercising power of items in all other conferences simply by temporarily linking them into their own conferences.

Login Screens
Each conference has a login screen that is displayed when a user first enters it. This usually displays the name of the conference and may give a bit of information about it, including the fairwitnesses' names. It may be edited by the conference's fairwitnesses.

In Backtalk there may be two versions of it. An ASCII version which would also be seen by any Yapp or Picospan users, and an HTML version that may include images and web links. Backtalk will see only the HTML version if both exist.

The lynx web browser has an optional feature called ``lynxcgi,'' which allows lynx to run CGI programs directly, without need for communicating with an HTTP daemon.

We were once interested in using this to provide a way for users logged into the host system to run Backtalk directly, without having to have internet access. The mapuid file and the linkconf program were part of this. This was never fully developed and probably never will be. However, parts of the code originally written for this were eventually used to support fronttalk.

Lynx Web Browser
The lynx web browser was written and distributed by the University of Kansas. It is a text-only web browser that will work on almost any computer terminal. Lynx has an interesting optional feature called lynxcgi which some experimental Backtalk code uses.

Mapuid File
The mapuid dbm file will not be used in the vast majority of Backtalk installations. It is only used where it is desirable to have Backtalk accessible via both the normal web interface using Backtalk-only accounts and via lynxcgi. It maps the user's Unix login ID to his Backtalk account name and is only used when accessing Backtalk through lynxcgi.

The Picospan conferencing system was originally written by Marcus Watts for M-Net. Started by Mike Myers in Ann Arbor, Michigan, 1983, it was one of the first free, public-access Unix systems in the world. It is now operated by a non-profit corporation called Arbornet, and is on the web at It currently runs Yapp and Backtalk.

Open Conferences
An open conference is any conference that is not closed. That is, any user with an account can participate in the conference.

Partutil Program
The partutil program is used only on systems where real Unix accounts are used and Backtalk is to cooperate with Picospan or Yapp. In this case, the files stored in the user's home directory are owned by the user, and thus not writable by the Backtalk program. The partutil program is a work-around for this problem. It is an suid-root program which can be called by Backtalk to creates or destroys these files, and to permit the to be writable to a Backtalk's Unix group-ID. Various safeguards are built-in to prevent partutil from being run by anyone other than Backtalk.

Papaya Interface
Backtalk's papaya interface was constructed for Arbornet's M-Net system after they converted from using Yapp's web interface to using Backtalk's. It is a custom interface that provides a look and feel similar to Yapp, at least as configured on M-Net. (Yapp is actually fairly configurable, so different Yapp installations are quite different from each other.) It is distributed separately from Backtalk but is also open-source free-ware.

Participation Files
For each conference that a user joins, the user is given a participation file, which is kept in his or her home directory. The participation file keeps track of which items and responses the user has seen, so that the next time the user joins the conference, he can look at only the new material that has been posted since his or her last visit.

The participation file also keeps track of which items the user has forgotten, and his current name in this conference. (Users can have a different default name in each conference.)

Password File
This is a database that keeps an encrypted passwords for each Backtalk account. It is used by the HTTP daemon to authenticate users. This password stored here may be changed by the user, but is never displayed.

On some installations the password database will be identical to the Unix system's password database, but more often it will be a separate file used only for Backtalk. In the latter case it may be either a flat file (which is slow to access but easy to maintain), or a dbm file (which is fast but harder to maintain and works only with the Apache http daemon).

The peek script is a simple tool that makes it possible to write simple URLs pointing at particular conferences, items or responses with in a Backtalk conferencing system that allows anonymous reading. Thus, any web page can point to anything in any open Backtalk conference.

Picospan is a conferencing system written by Marcus Watts sometime around 1983 and sold by him to a company called NETI sometime thereafter. It is a text-based system with a design strongly influenced by Confer. It has no web interface. Unfortunately, NETI died a spectacular death (Fortune magazine called it the biggest stock scam in the history of the Vancouver Exchange), and sucked Picospan down into a blackhole when it finally imploded, so it is impossible to buy Picospan these days. Picospan still runs at Grex and The Well.

Yapp is a good clone of Picospan. Backtalk is designed to be compatible with both Picospan and Yapp, and it's design has been heavily influenced by Picospan.

Pistachio Interface
The pistachio user interface was Backtalk's first full-featured interface flavor. It was originally a testbed for playing with various advanced HTML features, like images and tables, which, by this date, are no longer considered advanced. It's still a very competant and complete interface, that will work on almost any browser, while placing minimal demands on the web server or on network bandwidth.

Postscript Language
Postscript is a document language devised by the Adobe Corporation. Though it is best known as a way to communicate to printers, it is, in fact, a rich and powerful programming language. The Backtalk script language is in many ways similar to Postscript.

Primary User Database
The primary user database keeps the user's full name, user-id number, group-id number and home directory path name. Only the first of these may ever be changed by the user. The rest is for internal use by Backtalk.

On systems where real Unix accounts are used this information is kept in the same Unix database as the encrypted passwords, and is not maintained by Backtalk. On the more usual installation where Backtalk accounts are distinct from Unix accounts, this can be stored in several different places. It can in the same file as the password database, but only if the HTTP daemon will tolerate having extra information there (most won't). Otherwise the primary user database can be kept in a separate file or dbm with entries formatted similarly to those in a Unix passwd file. Alternatively, on systems where users have no direct access to their home directories, the directory name can be constructed from the user's login name, and the rest of the information can be kept in a tag file called ``id'' in their home directories.

Pwauth Program
The pwauth program is an external authentication program for use with the Apache HTTP daemon in Backtalk installations where real Unix accounts are to be used. Given a Unix login id and password, it check if this is a valid login. Most Unix systems these days have shadow password databases, so that pwauth has to be an suid-root program to access password information. This is the whole reason for using external authentication - the HTTP daemon is not (and should not be) root, so it can't do the authentication itself.

Pwauth can also be configured to update the lastlog database on systems where that information is used to expire accounts.

Pwauth is no longer distributed with Backtalk. It is in a separate free package available here.

Any user may post responses to any unfrozen item in any conference that he can join. Responses are appended onto the item, with each response having its own number sequentially assigned. Like the text of an item, responses may be hidden or erased, but they cannot be edited once posted.

Retiring Items
A retired item still is on the system, but will not normally be displayed when users read the conference. In effect, all users automatically forget retired items. They can still access the item if they specifically request to see it, but it won't be shown if they are just reading new items in the ordinary way. Items may be retired or unretired by the conference's fairwitness, the administrator, or, if Backtalk is configured to allow it, by the item's original author.

Retitling Items
Every item in Backtalk has a one-line title, initially assigned by the person who entered the item. This title can be changed to clarify it or to make it more accurately describe the trend of the discussion in that item. The administrator can do this on all Backtalk installations, and the fairwitness and the original item author may be able to do so if Backtalk is configured to allow this. Frozen items may not be retitled.

RPN Expressions
RPN is a way of writing expressions with the operators after the arguments instead of between them. Thus instead of ``3 * (2 + 4)'' we write ``3 2 4 + *''. RPN is best known as the notation used in old Hewlett-Packard calculators, but it is also the basis of a number of very simple and powerful programming languages, like Forth, Postscript and the Backtalk script language.

RPN stands for ``Reverse Polish Notation.'' This is not a Polish joke. It's named in honor of the Polish logician Jan Lukasiewisz. It's also called ``postfix notation''.

Backtalk's behavior is driven by script files. Each script is a program written in the Backtalk script language, which is run to draw a page on the display, with all the buttons and controls required. All script files are kept under in the script directory, and have names ending with a ``.bt'' suffix.

Shy lists
One one of the early systems where Backtalk was installed, some users objected to having anonymous users being able to read their responses. So we added support for an optional ``shy list.'' When an anonymous person reads conference through Backtalk, any messages entered by users whose names are on the shy list are automatically hidden from view.

The ``shy'' program can be used by people to add themselves to the shy list.

Tag Files
Backtalk uses tag files for internal purposes in various places. These are simply files containing a number of labeled fields, where each field can be loaded individual into a variable. Specific fields can be marked as being read-only. Tag files are a flexible way to store random miscellaneous information in a single file.

User Database
Backtalk maintains a variety of information associated with each user account. Some of it is in various user databases, some resides in a user's home directory. The structure of these databases is very installation dependent. It comprises the password file, the secondary user database, the users' .backtalk files, the users' participation files, and the users' .cflist files.

User Interfaces
The functionality and appearance of a Backtalk user interface is controlled entirely by a set of scripts. Backtalk allows several different interfaces to be installed on the system, so that each user can choose his or her favorite. These are called flavors.

Validation of Accounts
User accounts can be ``valid,'' ``unvalidated,'' or ``invalidated.'' Only valid accounts can be used to access the conferences, and only the administrator can change the validation status of an account. Backtalk can optionally be configured to create accounts in an unvalidated state, so they cannot be used until the conference administrator has validated them. Accounts can be invalidated if the administrator wants to stop a user from using his account, but does not want to destroy the account.

Vanilla Interface
The vanilla interface is the more basic of Backtalk's user interfaces. It is not very flashy, but it will work on even simple-minded non-graphical browsers like lynx. At this point it has fallen far behind the pistachio and abalone in the features it provides, and is no longer part of the default installation.

Weiss, Steve
Steve Weiss is one of the co-authors of Backtalk, being especially responsible for the text formatting code. He is not very active in continuing development, being more involved in his volunteer work for Grex and the Huron Valley Community Network (among others). Steve's got a web page at

Wolter, Jan
Jan Wolter is one of the co-authors of Backtalk, and the primary maintainer. He was one of the early staff members on M-Net, the first Picospan system and one of the first public access Unix conferencing systems. He has been an avid users of on-line conferencing systems for over twenty years, and has been doing software development for them almost as long. He has been a professor of computer science, and is now a freelance contract programmer. Jan's got a web page at

The Yapp 2.3 conferencing system was written sometime around 1993 or 1994 by Dave Thaler of Armidale Industries. It is a clone of Picospan with a few added features, like fishbowl conferences. It has a text-based interface almost identical to Picospan. It is available as shareware from Armidale's Web site. Backtalk stores its conferences in almost exactly the same format as Yapp 2.3, and can thus be used as an alternative interface to the same conferences.

Yapp 3.0 also exists and includes a full Web-based conferencing system. It seems to be sometimes, but not usually, be called "WebYapp". Backtalk can be configured for compatability with this too.