9.0 Internet Software tips, tricks and answers

After looking at all these incredibly high costs associated with getting on the Internet, it is somehow a relief to venture into the world of software, where virtually everything you would need to use is available at no charge other than a few hours of pain setting it all up.

There is a massive amount of information on the net on Internet software and how to set it up. The O'Reilly zoo, a collection of books for Unix system adminstrators with pictures of animals on the cover, is strongly recommended by most people who've read them. I have a pretty healthy zoo, and fortunately the cover critters haven't chewed through my cables just yet. (I keep a close watch on them, though).

Because much of this stuff is well known to anyone dropping by the bookstore or reading their manuals, I'm only going to mention some tips I've gotten through (sometimes hard) personal experience.

9.1 The Permissions headache

Perhaps the hardest thing to get right when setting up your provider software is Unix permissions. The permissions system is an indispensable way to straighten out who can do what on your system, but it becomes absurdly tough to manage certain programs. I managed to lose three weeks worth of news while vainly attempting to straighten out some particulary ferocious problems of this type, although this was mainly because I was unlucky enough to have left town before checking that one simple change I'd made would hold up. Don't repeat this mistake - always check permissions whenever you make any change, however minor they may seem at the time.

Kevin Kadow reminds us that you should use tight permissions for security. One provider who offered him a position had been running for the last year with their /etc/motd set to world write access, so any stray user who figured it out could change it to whatever he wanted. "The basic rules for secure Unix permission (as I was quoted in PC Week on) are to provide the minimum permissions necessary. Never give world write access to a file or directory when group write access (or better, user-write) would be sufficient. Never make a file set-group-id (or horrors, setuid) unless it's totally unavoidable.

9.2 Which news software should I run?

This is an interesting question, since most of the books and other documentation on news software are way out of date - particulary the O'Reilly/Todino book that is so often described as the definitive guide. At the time that work was written, C-News was the classic, recommended release of news software.

Because of that book's recommendation, I spent more time fighting with the incredibly slow C-News unbatching software than I care to remember. It would virtually freeze up my system whenever news was being unloaded!

As soon as I switched to a SLIP, I switched to InterNetNews (INN). What a difference! My system does not slow down while INN is receiving news. At all.

No matter what the books tell you, you MUST run INN. It has my highest recommendation.

I ran my INN on a Linux system with 20MB RAM. (I now have a 32MB system). Many Sun users think a reasonable minimum for running a full newsfeed is around 32-48MB. INN is definitely a memory eating machine.

9.3 Let's back up for a minute. What IS news, anyway?

News is many things to many people. To start with, it's not really news at all. The closest analogy is a gigantic distributed public message system with its own customs, folkways and lore. Generally, the more intelligent Internet users read and write news, leaving Internet Relay Chat (IRC) to the dull (see below).

News is available on over 13,500 different topics, which represent just about everything there is in our universe - and even in many universes yet to be discovered.

Just to complicate things and make them interesting to the unwary, News is not Internet News; it's USENET News. What this means is that more primitive systems with only UUCP (Unix to Unix Copy) access can participate in news. Other Internet services, with the notable exception of electronic mail, require a direct Internet connection.

The main problems with news relate to its sheer bulk. Every day, between 40-450MB of stuff flows into your system (depending, of course, on how large a newsfeed you get). So that your disks don't fill up constantly, the news software "expires" it automatically; that means that old messages are automatically erased to make room for the new. On my 486/66 running Linux, the load average zooms up from .63 to about 3.78; the disk starts whirling like a banshee, and programs that normally load instantly are suddenly faced with catatonia. As a result, you'd better do your expiration when nobody else is using the system - like around 3am. Unfortunately, on some systems it can take take up to 12 hours for expire processes to run, meaning that there is no time your server is not being eaten up by this process. Usually this means you should get a dedicated news machine, quick.

When I asked Craig Warner of CERAM, the Sun clone vendor, whether news would perform well on the shiny new Sun clone I'm contemplating, instead of my 486/66, he said:

"The design of USENET news is a big problem on all systems. In general, the performance of things like expiration is determined by the access time of the disk drives. This is where having large drives significantly DECREASES performance.

"To minimize the impact, news should ideally be on a separate machine, and the news tree spread out over multiple physical disks. if you do keep it on the same machine as your interactive accounts, the news disk(s) should be isolated from the operating system and the user directories.

"The ideal solution for a news tree is to keep it on a solid-state disk - but this is way too expensive for most sites."

I'd say a close second would be to run your INN on a separate machine, used for nothing else.

If you are using certain versions of Unix, including Linux, you may have a major problem with news: Your system may run out of i-nodes long before actual disk space is exhausted. SunOS solves this problem by normally allocating enough i-nodes for a disk consisting 100% of 2k files. Other operating systems, including Linux, get more indicated disk space out of a given drive by allocating an i-node for every 4k of space. This is fine - better, even - for every application but news. You should do a 'man mkfs' on your system to find out exactly what you need to do to change the block size for your news disk before formatting it.

(If you're not familiar with the concept of i-nodes, note that there has to be one for each file on your disk).

Andrew Hadenfeldt added some additional facts.

- It's worth checking out your system's default block size. On many systems, such as IBM's AIX, this size is 4k. A 2k block size will result in much less wasted disk space on your news partitions.

- Daily cleanup processes, such as expire, need spool directory space, too. Be sure to leave at least one day of spool free as workspace for new incoming articles and old expiring articles.

- If you plan on feeding other sites, be sure to allocate space for this as well, especially if they're using low-speed connections and likely to run a backlog.

9.4 Where does News come from?

A USENET newsfeed normally comes free of charge from the people who set up your Internet connection. If you cannot get it from them for some reason, your fellow ISPs can provide the service for fees ranging from $ 50 - 75/month.

A full newsfeed currently runs around 200-450MB per day, depending on how good your feeding site is.

9.5 Which mail transport agent should I run?

Most likely sendmail, despite its fearsome reputation. If you arm yourself with The Bat, aka the book "Sendmail" by Bryan Costales, Eric Allman and Neil Rickert, it's not too hard to modify an existing sendmail configuration file for your site. The tutorial walks you through all the various commands and the steps you have to take to customize it as needed. There's surprisingly little you really need to do or understand to set up a basic file.

Eric S Raymond was kind enough to give me a sizable amount of information about sendmail and its chief rival, smail. Sendmail presently wins over its rival by allowing multiple transactions (that is, posts of mail) per SMTP connect; smail is not so generous. This means massively poorer efficiency for smail and thus his present use of sendmail. Eric says: "This makes them significantly less efficient than sendmail for sites with high mail volume. When this changes, CCIL [Eric's system] will move to Smail 3.0 and drop sendmail *instantly*."

As a BSD user, Eric has this to say about the task of sendmail installation: "The stock sendmail V8 supplied with BSD/386 1.1 and up works pretty well. The V8 developers did a fair job of hiding the mind-wrenching ugliness of sendmail config files behind a layer of more civilized m4 macros. Note: be sure you install the CERT security patches for V8, or that your vendor has done so."

Tony Sanders adds: "You should mention that people want to use sendmail V8.6.9 (or better) and that it's available from ftp.cs.berkekey.edu:ucb/sendmail." This includes the CERT security patches, so you don't need to worry about them.

As a Linux user, here's my experience: I used sendmail IDA, which is available (from sunsite.unc.edu) pre-configured for Linux users. This, naturally, makes IDA the logical release for that system. I attempted to compile Berkley Sendmail V8 on my Linux box, but found it impossible without the installation of massive amounts of additional software. As a result, I decided to give up on V8 and use IDA. I found The Bat to be a faithful friend once I got to know it. After reading appropriate parts of The Bat, I was even able to write my own "Mail Delivery Agent" to convert standard network mail into BBS format mail (stored on my system as consecutive text files, just like news). It was easy and even fun; my opinion of Sendmail improved dramatically when I read the parts of The Bat that effectively took me by the hand and told me how that could work.

Both Eric and David W Rankin Jr have about the same opinion of smail. They tell me that it's relatively easy to configure, particulary for mailing lists. Unfortunately, it's hampered, as said earlier, by mediocre SMTP support. David Rankin also notes that it's not well suited to complex hub/spoke routing schemes. As a result, you might well wind up getting smail while it's suitable for your small site, and then having to configure sendmail or another more powerful program later.

David W Rankin Jr also puts in his recommendation of MMDF, an older mail transport agent which is now not too well known. "In case you're not familiar with it, MMDF is a mail transport system (like sendmail or smail) designed for higher traffic sites that do multiple protocols or lots of routing. MMDF is older than sendmail, generally more secure than sendmail (it uses several programs, isolating the root parts. Of course MMDF has been pounded less than sendmail), and a LOT easier to configure (IMHO)." His present site uses MMDF, as will any sites he administrates. However, he has not yet configured MMDF; he has only seen it successfully in action. He says, "take all I say about it with a shaker of salt :)". MMDF can be obtained via FTP from a.cs.okstate.edu.

9.6 How do you set up a "Phantom Domain"?

Many users want a package of benefits from you that will include an indentification of their site as theirname.com. This makes it look like they own a site on the Internet, which is a sign of some prestige in the net.world.

To make mail to user@theirname.com work, you can hack Sendmail as described below. My thanks to Christopher X. Candreva for passing on this information.

(Beginning of quoted message)

From: rsanders@interbev.mindspring.com Date: Wed, 15 Feb 1995 18:58:09 -0500 Subject: phantom domains/fake mail ids

I don't recommend that people just configure their machines to accept mail for foreign domains as if it were local; it's inevitable that your customers want info@whatever.com and sales@, etc.

Furthermore, I don't modify my sendmail.cf anymore; I use sendmail V8's ability to use an external DB file to do lookups. I only had to write four rules to do that.

-----------------------------------------------------

S98
R$+ < @ $+ . >          $: $1 < @ $2 > .
R$+ < @ $+ > $*         $: $(maildomains $1@$2 $: $1 < @ $2 > $3 $)
R$+ < @ $+ > $*         $: $(maildomains $2 $: $1 < @ $2 > $3 $)
R$+ < @ $+ > .          $: $1 < @ $2 . >
-----------------------------------------------------

With a DB file that holds these associations:

-----------------------------------------------------

jdoe@someplace.com	jdoe
janedoe@someplace.com	jane
someplace.com		spowner
-----------------------------------------------------

I can have mail to jdoe@someplace.com go to the jdoe mailbox, janedoe@someplace.com go to jane, and all other mail be delivered to the "spowner" mailbox. It's not a bad setup, although I still want to tweak it to short-circuit that DB lookup altogether if the destination domain is not present in a certain class.

This sort of thing is laughably easy if you have the O'Reilly sendmail book. I recommend it.

-- Robert

(end of quoted message)

9.7 What about Domain Name Service (DNS)

This is one of the most frankly confusing aspects of setting up a provider. I've been able to dodge the issue by letting my SLIP provider handle it. Dave Van Allen quite correctly chides me for the omission:

"The other area that seems to be missing is a mention of the importance of Domain Name Service. DNS can be a major performance player in your server calculations, and to be in-check with the NIC, a domain is required to have two name servers running on its behalf. One of the most complicated operational areas a new ISP will face is configuring a DNS. (The other will be the dreaded sendmail.cf).

"The Cricket Lu book [O'Reilly & Associates] on DNS is very good and a must-read for anyone venturing into this territory."

I believe your Internet wholesale provider normally supplies the two DNS servers required by the NIC. However, I believe that just goes to the top of your domain; if you have multiple machines on a network (as almost all providers will), you will need to run your own name servers for them.

Kevin Kadow quite rightly corrects this section of the FAQ: It's not that hard to set up DNS once you get the rather confusing and convoluted syntax right. "Even if you are not the DNS for any domains, you'll want to have a local caching DNS for performance reasons. All UNIX operating systems generally include the required 'named' software to perform this function."

I was able to set up DNS on my Sun SPARC system in less than a day, using the instructions in the O'Reilly book 'DNS and Bind'. Get the book and you shouldn't have much trouble.

Kevin's company offers DNS service and mail forwarding for $ 49 a year. If you need a DNS server for your domain name applications, and you're still searching for a wholesale provider, this is an indispensible service. You can contact him at kkadow@msg.net.

9.8 How do I set up a Gopher server?

The Gopher server is proprietary property of the University of Minnesota and is available to the commercial world only under rather stiff terms. "Commercial use" requires a $ 500/year payment, regardless of the size of your site. If you use it in a direct order taking application, they want a percentage of profits.

Gnu is apparently coming out with a free gopher server, available from:

ftp://ftp.acns.nwu.edu/pub/gn/gn-1.0.tar.Z

The newsgroup comp.infosystems.gopher covers gopher more fully. For the most part, World Wide Web (WWW) seems to be replacing Gopher as the information distribution tool of choice.

Gopher clients seem especially vunerable to running away when the user hangs up on them, using incredible gobs of CPU time. This is also true of Internet Relay Chat (IRC); see the IRC section. I have included my perl script for handling this problem in the technical problems section.

Gopher does have one significant advantage over WWW, however: its more formally organized nature makes it easier for new users to understand.

9.9 What about running a World Wide Web Server?

The World Wide Web is perhaps the most important of the Internet services, because it attracts people like bees to honey. Even Forbes magazine, in their January 30, 1995 article debunking Internet marketing myths, couldn't resist putting some of the more glitzy and creative WWW efforts in their article.

(Oddly enough, they highlighted some of the worst ones, because their bandwidth-killing images looked truly splendid in print.)

What this means to you is that there's a potential bonzanza available in Internet marketing. See the section on Internet Marketing, below, for more information.

I have set up a WWW server, from which you can get the latest version of this FAQ, as well as other bits of useful related information. Check out http://www.amazing.com/.

Of all the network utilities I've used, the NCSA WWW server has been by far the easiest program to install. I downloaded it, compiled it, and it worked. Simple.

Learning HTML isn't too hard, at least for the simple stuff. It's not even that hard to write utilities that convert text to HTML, complete with automated sectioning and tables of contents; that's how the HTML version of this FAQ was prepared.

HTML will work at surprisingly decent speeds even on a 28.8 SLIP connection like my own, as long as you adhere to the simple rule: "No images." Once you start putting images in a server, it will be slow virtually no matter what hardware or network connection you have. (Well, you have a choice between unusably slow and inconveniently slow, but you get the idea).

Artful use of really small images will help a lot, but this is definitely a place where a skilled consultant or guru can be worth her or his salt. See the section on Internet marketing for more details.

If you are interested in offering World Wide Web server services, you should be on the internet-marketing list. (Drop a line to internet-marketing-request@popco.com). This list includes many fascinating discussions of marketing via the Web, including the proper pricing of a Web presence and the design of HTML.

Depending on the nature of your users and what you allow them to offer in their personal WWW pages, your server may be subject to some truly awesome loads. Be sure to take this into account when determining fees for these services. A reasonable compromise might be to allow people to put their data on the Web at no charge as long as they used no pictures, and charge for any pictures presented in some way. The newsgroup comp.infosystems.www covers the World Wide Web.

Some BBSs and small Internet providers are allowing people to create single-page Web pages dirt cheap. When selling your services, you might want to emphasize that a single-page web site is no fun at all.

For more complete information on the World Wide Web, Tony Sanders suggests the following URL:

http://www.bsdi.com/server/doc/web-info.html

Kevin Kadow has a tutorial on designing web sites at http://www.msg.net/tutorial/. You can find out more about the NCSA server at http://hoohoo.ncsa.uiuc.edu. In addition, information on Netscape and their extensions to HTML is available at http://home.netscape.com/.

9.10 How do I choose a WWW server?

There are four basic WWW servers available for a Unix system:

(1) NCSA HTTPD. This is the original server, now greatly improved with multiple forking for fast connections. In testing, it was actually slightly faster than the Netscape servers.

The multi-forking feature apparently has trouble working on Linux systems; it will work on BSD systems just fine, and is a major speed improvement over older servers.

(2) Netscape Servers. They have two, the Commerce Server and the standard. The Commerce Server contains a special proprietary authentication protocol which allows for secure transmission of data, such as credit card numbers and the like. However, its $ 5,000 price has caused it to sell in significantly lower numbers than one might hope. They are presently running a "60 days free" promotion for the software. Netscape also sells some horribly expensive (six-figure pricing) advanced servers including shopping modules and other goodies.

Netscape servers are all fast and well designed, although not quite as fast as the current NCSA server.

(3) CERN HTTPD. CERN is mainly of interest to you if you're using a firewall. It can run on your firewall machine and provide access to your internal users by passing on HTTP packets through to your system.

(4) Apache. This is a heavily patched version of the NCSA HTTPD, hence the name. Its main advantage is improved support for multi-homed hosts (see the next question). Its main drawback is that it is based on an older version of NCSA and thus is not nearly as fast.

I believe there is one other server that I forgot; it provides Netscape-style authentication features without the high price of the Commerce server.

9.11 How do I set up http://www.massive-company.com/ ?

This is a question that comes up more and more nowadays: How do you set up a 'multi-homed' server, so you can support more than one domain on a single computer?

That is, how can you make

http://yourisp.com/

and

http://massiveco.com/

be the same server?

The short answer is that you have to register two different domains with two different IP addresses. Then, you set up your basic network support software to support more than one domain, and you set up your HTTPD daemon to recognize the multiple addresses, and point them at different data locations.

An excellent paper by Alan Barrett has been written on this subject; you can find it at http://inet.nttam.com/HMP/PAPER/131/.

Many people find the new Apache HTTPD server to be the easiest one to set up for muli-homed applications; others note that it's currently slower than the newest NCSA. (This is because it's based on patches to the older NCSA server). The developers promise to speed it up soon.

See the section above, "How do you set up a phantom domain?" for information on setting up mail for your new domain.

9.12 All About Web Browsers

You will have to offer a SLIP/PPP account to enable the use of any graphical Web browser (other than SLIPKnot). See the section on SLIP/PPP accounts for full details.

Mosaic was the first WWW browser to display both images and text simutaneously. It has now been largely replaced by Netscape (see below), which alleviates some of the speed issues that make use of Mosaic relatively tedious, and includes extensions dearly loved by many WWW page designers.

There is a very real irony about Mosaic and Netscape: They attract users, because people want to see the snazzy graphics on the Web. But they also repel users, because many sites use large graphics and image maps that take forever to load. Because of this, about 40% of graphical browser users actually run with images off, according to someone's analysis of their log files. (Alas, I forgot who this someone was. :-( ). You might think of Mosaic and Netscape as tools ahead of their time, because the most popular uses have the hidden poison of slowness in them. For this reason, many people are looking forward to ISDN, which promises to provide the man on the street a 56k or higher connection. However, I doubt that this is a panacea; the links between machines are also heavily overburdened, and unless that's cured, ISDN won't speed things up much.

Eric Raymond writes: Another problem with Mosaic is that it requires the Mosaic libraries to build. This means you either have to pick it up in binary form or pay about $140 for a Motif license. I couldn't get the binaries to work under Linux and I'm not going to pay $140 for something I'm just experimenting with, so I found an alternative; a package called Chimera, that works much like Mosaic but uses only the Athena widgets. You can find it on WWW's client-software page.

Lynx, a VT-100 oriented WWW client, works very well if you don't absolutely need graphics. The graphics can be automatically downloaded to the client system if desired. It's worth noting that many Web users disable the graphics because they come up very slowly on a typical 14.4kbps SLIP connection. I have now used Lynx to download graphics I wanted to see, and it really does work quite well.

Eric Raymond seconds this. He says "A lot of people poor-mouth Lynx, but it's pretty useful. At CCIL, all WWW access is through Lynx, and our users aren't complaining. That goes for the ones with Mosaic experience, too. What good is snazzy graphics if you have to wait a decade for a simple little logo to download?"

A newer browser, called Netscape, solves many of Mosaic's problems and brings up a few new ones. Netscape's main advantage is that it loads all of the image and data associated with a URL concurrently. Because of this, you can read the text as it comes through and see parts of the pictures, even if not everything has yet come through. This is an incredible timesaver and makes Netscape the clear browser of choice from the consumer point of view.

Netscape does have a few irritating problems, though. If you don't buy their multi-thousand dollar server system, it will give users a warning that they are not using the Netscape secure transmission scheme every time they try to transmit something on a form. This strikes me as a rather cruel form of extortion, even though the software is undeniably clever and well done.

SlipKnot, a graphical browser running under Windows that's based on using Lynx from the Unix shell comand line, is an exceptionally clever solution that I think will increase in popularity. It's much easier to set up than genuine SLIP, and it's not much slower.

9.13 The Netscape Extensions and Designing HTML

Netscape is now best known for its proprietary extensions to HTML. The most popular are centering, font sizes, backgrounds and tables. Unfortunately, the use of many of these features can create pages that are virtually unreadable on any other browser. Although it's true that Netscape now has an overwhelming market share, 25% of net users still use another browser - often Lynx, the non-graphical browser, and Mosaic, the original.

Some people say that the Netscape extensions are so important that speaking to those 25% is practically like trying to speak to people with a different language. I must respectfully disagree with these people; it is possible to create a good looking page that works with all browsers, even though it will look best with Netscape.

Here are some comments on the Netscape extensions:

Image Maps

Image maps are not a Netscape extension, but this seems like the best place to cover them. Most image maps are large images that take forever to load. ALWAYS make sure there is another way to get around your site, or many people will just turn back at the door. I would strongly recommend not using them at all; if your client cannot resist the pizazz, make sure they know that an alternate method of navigation is still needed.

Backgrounds and Colours

Traditionally, the Web has used a solid, single-colour black or grey background. Naturally, people from the worlds of advertising and print publishing found this very drab and dull, and so Netscape created backgrounds to please them.

In my explorations of the Web, I've found lots of people who use backgrounds on their sites, and they can have a pleasing appearance. At first. The problem is that most people don't seem to realize how much harder it is to read text superimposed on backgrounds. I used my IBM ThinkPad 750C computer with a NEC 5FGe monitor to view web pages; this monitor is far superior to the unit on most consumer PCs. Despite this, I had to strain my eyes in order to read the overwhelming majority of pages I sampled with backgrounds.

If you must use backgrounds, please be sure to render the text in a contrasting colour. Netscape's colour setting features fit hand in glove with backgrounds.

You should view your document on several different computers with different monitors before settling on a background and a colour combination. You'll probably want to use a nice big high resolution monitor for development, but make sure you keep an ancient 386 clone with a .39 dot pitch monitor around, and test your pages frequently with it. Remember, it's the only computer and monitor a lot of your customers will have. Never release a page with images until you have done this!

Tables

Tables look really pretty, but I'd think twice before using them. Tables rendered on other browsers - and this includes older versions of Netscape - are a jumbled mess. If you must use tables, you should create different versions of your HTML for Netscape and other browsers.

Blink

The Blink tag is largely discredited. For one thing, it looks unspeakably ugly on a Windows machine; the blinking is erratic. For another thing, blinking is just plain bad for your eyes. :-(

Center

This is a basically harmless tag; if your browser doesn't support it, things will just all be left aligned. Not the end of the world for your readers. I recommend the use of this tag.

You may wish to use the HTML 3.0 spec equivalent to center; it will work correctly on more browsers.

Font sizes

Again, I think of this as pretty much harmless; when it's not recognized, the document is rendered in a single font and size and is still readable.

I have started to use Font Size tags on my own pages, mainly to create better-looking headings. If you do this, I recommend that you use this procedure:

This is a heading

This will show attractively in Netscape, but lesser browsers will still notice the tag and create a properly rendered heading.

If you don't do this, you will find that your pages can be nearly unreadable on non-Netscape browsers.

The main problem with Netscape extensions is that people who use other browsers - even earlier versions of Netscape! - may find it nearly impossible to read your pages. My best advice about the use of netscape extensions is to make your page as pretty as possible using Netscape, and then view it on other browsers and adjust it as appropriate. With a little extra work, you should be able to make your page look good no matter how people view it.

HTML is now growing up with the new HTML 3.0 spec, which implements codes somewhat different from the Netscape extensions. Since the new versions of Netscape also support HTML 3.0, it is preferable to code your page using the new spec whenever possible; then it should work on all current browsers, not just Netscape.

9.14 What about Internet Relay Chat (IRC)?

Internet Relay Chat is probably the most brain-dead use of the Internet short of downloading X-rated pictures from the binaries groups. Of all the things you will offer on your system, it's probably the best way to attract clueless but paying customers. Personally, I am vaguely nauseated whenever I engage in an IRC conversation; the atmosphere is dismally tacky, the people uninteresting, the conversations hideously dull and the software dreadful. (If IRC fans in the audience want to point out places where this is not true, they should feel free to drop me a line).

Despite all this - and probably because of it - the average user loves IRC, and it probably puts fewer demands on your system than just about any other service. As I would say, you don't have to like it to offer it.

To add a little fairness to the above, I will say that IRC is no worse than any other multi-user chat system I've seen, such as those offered by various TBBS and Major BBS bulletin board systems. Still, commands such as "kick" and fearsome creatures called "bots" do not make for a pleasantly civilized atmosphere.

IRC works by connecting you to an IRC server. There are two IRC networks: Eris-Free Net (EFNet) and Undernet. Because IRC is a networked resource that uses the entire Internet for its conversations, the two nets are the only points of difference; any IRC server on Undernet will be identical to any other IRC server there, and the same is true for EFNet. Choosing the closest server will not deprive your users of anything; it will, however, decrease loads on the Internet, and provide them with far superior performance. Because of this, taking a few minutes to find that server is strongly recommended before offering IRC to your users. I would suggest offering two IRC commands - one to hook up to EFNet and the other to attach to the Undernet. EFNet is the huge one; Undernet seems to be run by significantly more clueful people, but there's often nothing going on there.

IRC was designed to perform operations enjoyed by the lowest common denominator, but since it is a typical Unix program designed by university types, it has tons of confusing options. I recommend that you study the Undernet's IRC FAQ, available at [[ pointer to undernet faq ] and make it easily available to IRC users. It should answer most of the questions that come up. Please note that the Undernet FAQ actually covers operation of the IRC system itself and not only Undernet. Even if you don't want to connect to Undernet (it's much less popular than the older Eris-Free net), you still want to read the FAQ and make it available.

Fortunately, the Undernet people have also made it very easy to set up an IRC client. They have prepared IRC clients for various systems at their FTP site [[ find URL ]], and setup for them is clearly explained and quite easy. I recommend this strongly over trying to compile your own IRC client; I attempted that initially and ran into errors. The pre-compiled binaries from Undernet work just fine.

As mentioned previously, IRC client software is not terribly well written and will very often "run away" from your users. This will cause it to fail completely, grinding up amazing amounts of CPU time in the process. See "Dealing with Runaway processes", below.

9.15 What about other chat services?

A chat service called ICB (International CB) was created as a clone of the CompuServe CB simulator. It's a lot easier to understand than IRC; it's sacrificed features for ease of use. A good trade, in my opinion. Unfortunately, it seems to consist of the same vapid and boring conversations as any other chat system.

You might find the idea of doing a local chat system a surprisingly good one; get members of your system to get to know each other, and build a community of sorts. This is especially interesting as a scheme because people who chat usually like to get together for meetings, something tough to arrange on the Internet as a whole. This is something I definitely plan to do on my system - if, of course, I can get some spare time to write the software!

9.16 Where can I find some interesting scripts and patches?

Christopher X Candreva has put together a few perl scripts and patches that you might find useful. They include:

dochk - Automatically processes checkgroups messages, and updates the newsgroups file. This is one of the most tedious and neglected aspects of being a news administrator.

msgdesc - Update newsgroups file from one downloaded from another site, and/or to reflect the current active file. The newsgroups file includes descriptions of the newsgroups on your site.

wwwpwd - Code to let users change their passwords from a web site.

You can grab these utilities and more from the URL http://www.westnet.com/providers/.

Next section: What about Fees, Terms and Conditions?