UUCP Access


Although by no means the snazziest method of connecting to the Internet, UUCP access is often the most efficient for basic email and news, because it's inherently a noninteractive process. Your host machine sends messages to your Mac in the form of files, which the UUCP software then processes for display. This process accounts for the acronym as well. UUCP stands for Unix-to-Unix CoPy (the copy command in Unix is cp).

With a UUCP connection, you connect only to send or receive information. When you read news or write a reply to an email message, your modem is not connected and racking up connect charges. UUCP appeared in the days of the 300 bps modem; although it has scaled up just fine to faster connections, even direct Internet connections, it still works well at slower speeds, because the actual connection time is usually relatively short. Most people set up a UUCP connection on a schedule, but you also can connect on demand.

Note: If you plan to use UUCP primarily, you should find out whether your host uses modems from Telebit, a major modem manufacturer. Many UUCP hosts use Telebit modems because Telebit built hardware support for UUCP into their modems, and two Telebit modems with PEP (Packetized Ensemble Protocol) can achieve greater speed when transferring UUCP information than two straight v.32bis modems.

I am familiar with, and cover here, three UUCP implementations for the Macintosh. I'm not going to cover those implementations included in Apple's version of Unix, A/UX, or two other versions of Unix that run on the Macintosh, MachTen and Minix. I know A/UX supports UUCP, and believe the others do, but because they're all complicated enough to deserve their own books, I must ignore them.

The first implementation of UUCP for the Macintosh, Mac/gnuucp 6.09, carries a request for maintenance fees. The second, uupc 3.1, is free; it's based on public domain code that enterprising programmers ported to the Mac. The third program is commercial and carries the hefty price tag of $295. It used to be called uAccess, but when InterCon Systems took over the marketing from ICE Engineering, the name changed to UUCP/Connect.

UUCP/Connect is more expensive because it implements far more than just the code necessary to talk to a remote UUCP program. Tim Endres of ICE added features galore, so UUCP/Connect can talk to remote UUCP programs, unbatch the incoming files, display and organize them into various mailboxes and newsgroups, and do most anything else you want. Added almost as an afterthought are file translation capabilities, a simple Communications Toolbox-based terminal emulator, the capability to run a fileserver, and the capability of acting as a UUCP host for other machines.

Note: Configuring UUCP under Unix is much more difficult than on a Macintosh, but you gain a certain level of flexibility with Unix.


UUCP Accounts


With any of these programs, you need a UUCP account on a host computer before you can connect. The hard part is finding a local host (although long distance calls aren't out of the question because UUCP is rather efficient). Perhaps the best place to look for a UUCP host is in the list of public access Unix providers in Phil Eschallier's nixpub list, which you can get (this assumes you have an email account somewhere else already, of course) by sending email to [email protected] and putting get PUB nixpub.long in the body of the message. The list is approximately 60K.

When you call to get a UUCP account, make sure you can provide the nodename you want to use, the first six characters of which must be unique. The nodename is the name of your computer (mine is tidbits in [email protected]). Your system administrator can help you through this; it requires reading the UUCP maps, something that isn't inherently obvious. It doesn't matter what userid you choose. Someone can send mail to any userid at that machine and UUCP delivers it, whether or not there is a user with that userid. You should create or watch for email to root and postmaster, standard accounts that exist on almost all UUCP machines. You're likely to receive mail to those accounts occasionally.

Note: For organizations wanting to receive mail for various different employees, UUCP is often the easiest way to go, because it's so easy to add new users.

Your provider must give you a fair amount of information as well. Write all this stuff down, because you might need to refer to it at various times while you're setting up your account.

You also should talk to your provider about how it has the host machine set up in terms of domain names and mail routing. The provider may be able to give you a domain name or help you apply for one, but you can always settle for the .uucp top-level domain. It works, though not as quickly or reliably as a real domain such as .com.

Now, let's look at the specific programs for using your UUCP account.


Mac/gnuucp


Mac/gnuucp, from Jim O'Dell of Fort Pond Research, is based on the gnuucp code from the Free Software Foundation, an organization devoted to free software and source code. The word free refers not to the price of the software, but to what you can do with it. You cannot control what anyone else does with the software, including what they do to the source code. By agreeing to a GNU public license, you transmit complete rights so that other people are free to do what they want. If someone starts to sell a GNU-licensed program, someone else can get the sources and provide the same thing for less or no money. Mac/gnuucp's GNU heritage accounts for its low price, and Jim's real life accounts for its lack of much of an interface. Luckily, Mike Kazmierczak and (later) Morgan Davis helped out by creating a HyperCard stack called Mac/gnuucp MailReader. It puts a more friendly face on the command-line environment that Jim ported from the Unix source code.

Note: What's GNU? Not much, what's GNU with you? Sorry, but my editor made me put that in. GNU stands for the paradoxical "GNU's Not Unix."

Earlier versions of Mac/gnuucp were dogged by performance problems that Jim claims he has solved in version 6.09. Time constraints prevented me from testing Mac/gnuucp seriously enough to determine how quickly Mac/gnuucp performs, but I did get it working and sent and received email successfully.

Note: I've used UUCP/Connect in its uAccess incarnation for several years now, so although I'm certainly no programmer or Unix wizard, I'm fairly good at configuring UUCP programs. Although the basic configuration is straightforward, any hitches are likely to be major and confusing. For instance, when I attempted to get Mac/gnuucp to dial my Telebit WorldBlazer with an appropriate configuration string to turn on the WorldBlazer's PEP mode (necessary for talking to my UUCP host), I was not able get it to dial the modem. On a hunch, I opened a terminal application, and lo and behold, it complained that something else was using the serial port. A reboot cleared the serial port and allowed Mac/gnuucp to dial the modem successfully. If you have strange connection problems, your UUCP host's system administrator is a good person to turn to.


Installation and Setup


Installing Mac/gnuucp is rather simple and, at the same time, rather complex. You must configure two text files and the HyperCard stack that you use to read and write email. Luckily, although the documentation doesn't mention this capability, you can edit these files directly within the HyperCard stack. Before you start, be sure to make backups of the two text files and the MailReader stack. Name the copy of the stack with whatever you want to use for your userid. I named mine ace. Open the stack by double-clicking on it.

Note: Attention, new Mac users! These steps assume you have HyperCard, which no longer comes with every Macintosh. You may have an older version around from an old Mac. It's also possible that the MailReader stack works with the free HyperCard Player program that ships with new Macs.

The main MailReader stack window displays your userid, your incoming mail, and control buttons (see figure 15.1).

Figure 15.1: MailReader main window.

The original stack doesn't have a User entry; you must add it first. Click on the Configure button and the configuration window appears (see figure 15.2).

Figure 15.2: MailReader Config window.

I've filled in the configuration window with my information, but it should be fairly obvious what you should put in the different fields. The Time Zone field holds abbreviations such as EST for Eastern Standard Time and PDT for Pacific Daylight Time. The Mac/gnuucp button brings up a Standard File dialog when you click on it. Find the Mac/gnuucp program on your disk and select it so that Mac/gnuucp knows where the program is. You don't have to fill in the User Name Aliases, but the two I've added are a good idea so that you receive any administrative mail. And, finally, put anything you want in the Signature field, but keep it short -- no more than four lines at most.

At the top of the configuration window, you see buttons for Aliases, gnuucp.ctl, L.sys, Site Map, and Help (a question mark). Don't worry about the Aliases and Site Map buttons; you can play with them later. Click on the gnuucp.ctl button. MailReader brings up a text editing window so you can modify the gnuucp.ctl file (see figure 15.3).

Figure 15.3: gnuucp.ctl file renamed as ace.

The items to modify appear in the first three lines. Insert your nodename, an alias for your nodename if you have one, and your username in place of the default values. You can see how I've configured the items. Once you get Mac/gnuucp working, you may want to set the debug value in the eighth line to one; the higher the debug number, the more detail the program shows during connections. Detail is helpful in troubleshooting, but otherwise is a waste of time. Click on the Save button when you're finished; then click on the Close button to return to the configuration window.

Next, click on the L.sys button to edit the l.sys file. The text editor window appears again (see figure 15.4).

Figure 15.4: l.sys file renamed as ace.

I've modified two of the sample strings that Jim O'Dell provides for the l.sys file. You can compare what I've done to the sample strings Jim provides to get a better idea of how to configure the strings for your machine. Essentially, you enter your host's name, the connection type and speed, the phone number to call, and the login name and password. The tricky part is including a complex modem initialization string, which you can do only with the first string in the l.sys file. I'm not sure what all the parts are, but copy Jim's example closely, being careful not to introduce unnecessary characters. Save and close the l.sys file. Then, in the configuration window, click on the OK button to return to the main window.

Next, create a site to call. Click on the New button in the lower-left corner of the main window. In the dialog that pops up, type the name of your UUCP host exactly, just as you typed it in the l.sys file. UUCP is not forgiving of mistakes, so be careful. When you click on the OK button, an icon with the host's name appears next to the gnuucp icon. Clicking on the gnuucp button runs the Mac/gnuucp program as if you had launched it from the Finder; clicking on the site button you just created runs Mac/gnuucp and feeds it the necessary command line to get it to call out. Unless you enjoy typing at a command line, you should click on the site icon (for example, nwnexus in figure 15.1).

Now you have the basic installation. There are more details, of course, and the documentation (in Microsoft Word format) covers most of what you need to know.

Note: Here's a good reason to have another Internet account of some sort available. While you're setting up Mac/gnuucp, you may want to send email or post a Usenet message asking for help. Without another account, getting help configuring an email program is hard.

Although the HyperCard stack eases the configuration process somewhat, I'd like to see it taken further. For instance, there's no reason the stack cannot provide one form for filling in the gnuucp.ctl and l.sys information and then write to the appropriate text files. That also would make it easier to provide context-sensitive help on each field.


Basic Usage


Although a bit clumsy (because of its HyperCard roots), the MailReader stack provides almost every standard feature you might want from an email program (see figure 15.5). As you can see, it displays the number of messages you have; information on which messages are unread, read, or deleted; the sender and subject of each message; and buttons that enable you to create a new message or delete various marked messages. (Clicking on the Delete button enables you to delete all the read messages or all the messages marked for deletion.)

Figure 15.5: MailReader main window.

Clicking on any of the messages in the list in the MailReader main window takes you to that message (see figure 15.6).

Figure 15.6: MailReader Incoming Mail window.

MailReader displays both the header and the message (you can change the text font if you want to) and provides buttons for Reply, Forward, Save, Print, and Delete. You can navigate between messages by using the arrows and you can create new mail by using the Send Mail button. Clicking on the Close button returns you to the main screen. If you click on the Reply button, MailReader sets you up to reply to the selected message by quoting the original message and filling in the header information (see figure 15.7).

Figure 15.7: MailReader Send Mail window.


Special Features


MailReader sports several interesting and unique email features. Most intriguingly, when you're reading email, a little lock icon appears above the message. The icon is normally locked, indicating that you cannot edit the text in the message. But, if you click on the icon, it opens up, allowing you to edit the text of the message. This capability can be useful when you receive a large file and want to keep only a few lines of it.

Also, when you're sending email, clicking on the To, Cc, or Bcc buttons brings up a scrolling list of all your aliases, which are short, easy-to-remember names that replace email address you often use. Although it would be nice to be able to select more than one alias at once (something easy enough to script in HyperCard), this feature is a nice touch, especially considering that MailReader's aliases can contain one or more addresses.

You can attach text files to email messages with the Attach File button in the Send Mail screen. The documentation claims that a future version may enable you to attach binary files as well -- it wouldn't be all that hard to do, although the stack would have to know how to binhex the file first. Given HyperCard's capabilities to send Apple events, MailReader could actually use a different program, such as Aladdin's StuffIt Lite, to do the binhexing. Currently, if you want to send a file, you must binhex it first, at which point there's no problem because a BinHex file is inherently a text file.


Overall Evaluation


I'm more impressed with the Mac/gnuucp package than I expected to be. My high opinion is mostly due to the MailReader HyperCard stack. Although suffering from a somewhat amateurish interface (hard to avoid with HyperCard), it manages to provide most of the features an email program should have. I'm concerned that MailReader might bog down if you try to keep a lot of email around. The Mac/gnuucp program itself is as ugly as possible. If you launch it manually rather than from the stack, it prompts you for a command-line entry, and its only other interface is a text window of scrolling diagnostic messages. But it seems to work, and even enables other people to call your site for email. And frankly, Mac/gnuucp is cheap.

When I asked Jim O'Dell about Mac/gnuucp, he noted that it would be a much different program if he received lots of mail every day. For 10 to 20 messages a day, he feels that Mac/gnuucp is easier to use and set up than the main competition, uupc, and I have to agree with him on that. For those people who find the MailReader stack too limiting, Dave Platt, author of Fernmail, and Steve Dorner, author of Eudora, both claim that their email programs work with Mac/gnuucp; however, the UUCP appendix in the Eudora manual mentions that there might be some problems.

Although Mac/gnuucp currently doesn't support unbatching and reading Usenet news that can come in through the same UUCP connection, Jim said that he has all the code necessary to do so and he is starting on writing a newsreader. The major obstacle he faces currently is financial; if he receives enough from Mac/gnuucp, he can justify getting a Usenet news feed to work with. I guess improving this program is just another reason to pay for quality software that's distributed freely.


Administrative Details


To join the Mac/gnuucp mailing list and be informed of future developments, send $20 to Jim O'Dell. You can find the Mac/gnuucp 6.09 distribution file on the Internet at:

ftp://ftp.tidbits.com/pub/tidbits/tisk/uucp/

If you have any questions or comments, you can reach Jim O'Dell of Fort Pond Research at [email protected].