[net.eunice] Origin of the name grep

chip@t4test.UUCP (Chip Rosenthal) (09/03/84)

--- REFERENCED ARTICLE ---------------------------------------------

>From: chip@t4test.UUCP (Chip Rosenthal)
>Summary: comment on multiple newsgroups
>Date: Fri, 31-Aug-84 09:06:22 PDT
>
>I would like to sensitize people to one fact here.  It has to do with
>sites which are running news under Eunice.  Either these sites throw
>away multiple newsgroup postings, or the articles are physically
>duplicated into each of the newsgroups.

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

I received some mail questioning why not just fix news for Eunice.
Unfortunately, I then proceeded to blast away the mail before I could
answer.  The question is certainly a fair one, so I will send my answer
out over these here airwaves--with appologies.

The problem is that multiple newsgroups entries are implemented with
links.  Eunice, does not support links.  Although a link procedure is
available, the link lasts only during the execution of that program.
When the program terminates, the links disappear, and the file sits on
the disk with the name used in the last linking operation attached to
it.  You can visualize the link as acting as a link while the program
is running, and a rename upon process completion.  (It's not a feature,
it's a bug.)

The 'inews' hack I have seen for Eunice is to perform a copy of the
article.  That is, rather establishing a link from 'net/foobar/123' to
'net/whoopee/432', you physically create a copy of the former, named as
the latter.

If this problem is to be fixed, there are two apparent solutions:
either make links work, or devise a multiple newsgroup algorithm for
Eunice.  Obviously, the first is out of my hands.  If TWG wants to
implement links, wonderful!  (However, I would like to see the 'vi' bug
discussed in 'net.eunice' a while back fixed more than this.) The
second one is more feasible.  And I promise everybody that as soon as I
find myself with several days with nothing more constructive to do, I
will do it.  (Translation: don't hold your breath.)

So, I reitterate my original two points.  First, think again before you
post to seven newsgroups.  Not only will it make the Eunice sites
happier, but it will have the wonderful side effect of keeping news
articles catagorized better.  Secondly, software developers should
realize that Eunice exists, and it don't work exactly the same as ATT &
BSD stuff.  (Kudos to Larry Wall, who has at least two Eunice sites
trying out his 'rn' news reader program.  The program works, and it is
great.)

-- 

Chip Rosenthal, Intel/Santa Clara
{ idi|intelca|icalqa|kremvax|qubix|ucscc } ! t4test ! { chip|news }

john@genrad.UUCP (John Nelson) (09/03/84)

Well, I know of no solution to Eunice keeping multiple copies
of articles around (If you havn't got links, you haven't got
them!).  However, vnews has an article selection algorithm
(easily incorporated into standard "readnews") which does not
involve links or inodes or such, but which checks the newsgroups
line against the groups posted to and those to which you
subscribe.  It will show you the article in the FIRST newsgroup
to which it was posted to which you also subscribe.

The solution is to FIX THE BROKEN SOFTWARE!  Don't say "dont
post to multiple newsgroups", because that is sometimes the
only way to reach the desired people.  What really burns me
is the people who post to several newsgroups SEPERATELY
rather than in a single posting to multiple groups.

scs@foxvax1.UUCP (S.C. Schwarm ) (09/05/84)

Eunice could support links like UNIX does, because one can have multiple
directory entries for a single file (as long as all the directories are on
the same device.  In fact, there used to be a switch on PIP (/EN I think)
which performed the operation.  The only problem is that if the file is
deleted by any of the name it is removed from the system.  It is much harder
if not imposible to implement the remove command for these links.

	Steve Schwarm

smb@ulysses.UUCP (Steven Bellovin) (09/05/84)

I hate to say it, but the ability to post to multiple newsgroups was
a major design goal for the very first version of netnews.  And it was
implemented as links in that version, which antedated A-netnews.  All
of this happened long before there was a Eunice.

So -- I'm sympathetic to the problems of people who are using non-UNIX
operating systems to run netnews.  But it's a bit chutzpahdic to ask
people to forgo using a useful feature of netnews because a very few
sites can't handle it.  If anyone wants to "fix" netnews to run on
Eunice, I'll be glad to discuss alternative implementations.  I'm not
going to do the work, though...

		--Steve Bellovin

dmmartindale@watcgl.UUCP (Dave Martindale) (09/15/84)

An example of a fairly simple way to let Eunice-based B news handle postings
to multiple newsgroups:  When an article comes in, store the body of it
in the appropriate place for one of the newsgroups, and for each of the
other groups it was posted to create a file containing a "magic token"
followed by the pathname of the file containing the body of the article.
Since the first byte of a stored news article is always a capital letter
(because it is the first character of a header line of some sort),
any special character would do as the "magic token".  Readnews then
need only look at the first byte of an article file to determine if it
is a real article, or a file containing a pathname which should be read
in and then opened to obtain the real article.

This should involve only minor changes to inews and readnews.
Implementing this should require only slightly more effort than went into
the letters that we've seen so far explaining why stock B news doesn't
work properly on Eunice and why we thus shouldn't post to multiple newsgroups.

This scheme won't work right in situations where different newsgroups
are expired in differing lengths of time, since you lose UNIX's "all links
have equal status" property.  But then, it only required about 30 seconds
to think of - you should be able to do better with a bit more thought.

guy@rlgvax.UUCP (09/27/84)

> This scheme won't work right in situations where different newsgroups
> are expired in differing lengths of time, since you lose UNIX's "all links
> have equal status" property.  But then, it only required about 30 seconds
> to think of - you should be able to do better with a bit more thought.

A suggestion, from a VMS non-wizard:

Use links (i.e., multiple directory entries pointing to the same file), but
replace the "unlink" routine by one that just removes the link and doesn't
delete the file (or "mark the file for deletion" or whatever).  Keep a reference
count in the history file, and delete the file when the last link disappears.

Will this work?  Can a user-mode Eunice program do all this, or do you have to
be running in supervisor or executive mode or not be built from Eunice to
create/delete directory entries and mark files for deletion?

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

tihor@acf4.UUCP (09/27/84)

The scheme suggested should work; now all that is needed is someone to do the
actual work.

gordon@uw-june (Gordon Davisson) (10/06/84)

Guy Harris suggests a way around Eunice's problems with links:

>Use links (i.e., multiple directory entries pointing to the same file), but
>replace the "unlink" routine by one that just removes the link and doesn't
>delete the file (or "mark the file for deletion" or whatever).  Keep a
>reference count in the history file, and delete the file when the last link
>disappears.
>
>Will this work?  Can a user-mode Eunice program do all this, or do you have to
>be running in supervisor or executive mode or not be built from Eunice to
>create/delete directory entries and mark files for deletion?

I don't know much about Eunice, but if it lets you use the VMS system
services (and I don't see how it could avoid doing this), you can do it
with RMS calls: sys$enter and sys$remove. You can also manipulate links
with the undocumented DCL commands "set file <oldname>/enter=<newname>"
and "set file <name>/remove".

--
Human:    Gordon Davisson
USnail:   5008 12th NE, Seattle, WA, 98105
UUCP:     {ihnp4,decvax,tektronix}!uw-beaver!uw-june!gordon