[comp.unix.questions] Information about chat....

wahlsted@excell.colostate.edu (Angeli "Ms. Pepper" Wahlstedt) (10/28/87)

Hi....I'm trying to find some information about a program named "chat",
which supposedly works as a multi-user "write". I'm not asking for the
source code, but I'd like to know how it works, such as if it use /dev/ttys,
the talk daemon or something else. A man page of the program also would be
nice, if that's permitted.

Please send the information to my accounts listed below. I apologize that
I don't have a complete net map to my UUCP account, but the other paths
are supposed to be more reliable. However, at the worst, you can always
post to the net.

Thanks in advance,

Angeli Wahlstedt

UUCP: {ihnp4, other sites (?) }!hpfcla!handel!wahlsted
Internet: wahlsted@handel.colostate.edu
BITNET: PEPPER@CSUGREEN (please send letters only, no files)
Compuserve: 70206,321
GEnie: A.Wahlstedt

manes@dasys1.UUCP (Steve Manes) (10/31/87)

> Hi....I'm trying to find some information about a program named "chat",
> which supposedly works as a multi-user "write". I'm not asking for the
> source code, but I'd like to know how it works, such as if it use /dev/ttys,
> the talk daemon or something else. A man page of the program also would be
> nice, if that's permitted.

I've seen a few different approaches taken to multiuser chatters for *ix.  I
wrote one for my BBS that works off a shared file rather than writing
directly to another user's hardware.  While I chose my approach mainly for
reasons of providing an audit trail to what's going on in chat (in a
similar chatter I co-ran on a Tandem years ago we found a nest of system
crackers trading info on how to hack the company's DEC, reachable off
the same dataswitch) it also appears to be far less demanding of system
resources.  The basic approach is an editor (word wrapping) that dumps to a
common chatfile (which the system restarts every day at midnight, archiving
the old one).  All participants in 'chat' read from the bottom of the
common chatfile, updating each user's terminal when the chatfile is
appended with a new chat message.  I like this approach a lot because (a)
it doesn't allow a persistent chatter to screw up my editor with 'write'
messages (I know, just use 'mesg -n'), (b) because it's a stand-alone
program, various options can be passed on the command line to control the
chatter's profile in chat (Magpie calls 'chat' with a time limit and list
of commands blocked from the user, like the shell) and (c) you can format
the output text for various terminal widths with word breaks in all the
right places.  The only real drawback is that you have to wait for your
correspondent to complete his message before anyone else can see it.  With
a slow typist or a long-winded chatter (and the 4k max chat message length)
you sometimes wonder if the guy on the other end has fallen asleep at the
keyboard.

You can download my 'chat' from my BBS, Magpie-HQ (number's in the
.signature).  It will need tweaking here and there for different flavors of
*ix... especially Xenix, which uses a different call for record locking
than Microport.

+---------------------------------------------------------------------------+
|  Steve Manes (NYC)			      Roxy Recorders, Inc. (audio)  |
|  UUCP:	  !{ihnp4|uunet}!{pur-ee|iuvax}!bsu-cs!zoo-hq!magpie!manes  |
|  Magpie BBS Development (UNIX/MSDOS)  7/Even 2400 baud      212-420-0527  |
+---------------------------------------------------------------------------+