[net.news.b] suggested enhancement to rn

stv@qantel.UUCP (Steve Vance@ex2499) (11/24/84)

As has been mentioned before, many times, rn is a great program, and
Larry did a super job!  The only thing I miss from vnews, a deficiency
that rn seems to have, is described below.  I will fix this myself,
someday, but in the meantime, I am posting this to see if someone else
has a fix already, or has the time to whip one out before I am able to.

The problem is that if an article is posted to three groups I read, I
get to see the article three times.  Vnews only let you see the article
once, and sometimes not even that many times (as discussed here a couple
of weeks ago).  Example: an article says:

Newsgroups: mod.newslists,net.news

I read the article when I'm reading net.news, and it is presented to me
again when I read mod.newslists.

I never experimented or examined the vnews code to see exactly 
how vnews did it, but it seemed to be something like:

LOOK at the FIRST newsgroup in the list of newsgroups of this article;
    IF it is not the same as the newsgroup we're now reading, 
        DOES the reader subscribe to this newsgroup that IS listed 1st?
            IF so, skip the article--he will read it in that other
             newsgroup--OTHERWISE, show it to him now.

I am not sure that this is the best way to do it, but would settle for
this.  I had in mind something like: 

when the reader has read this article, change his .newsrc to mark it as
read in all groups listed in the "Newsgroups" line.

More direct, huh?  and also more in keeping with the philosophy of rn.
It would be easy to do at my site, too, because I put in the inews patch
to generate "Xref" lines, so that the article in the abovementioned 
example would (and, in fact, does) have a line like:

Xref: mod.newslists:8 net.news:1097

so that the .newsrc file could be changed without reading the history or
log files or anything.  

Hasn't this been bugging anyone else?

Again, I want to stress that Larry Wall is a real pro in writing and
distributing software, and to thank him again for rn.
-- 

Steve Vance
{dual,nsc,intelca,proper}!qantel!stv
Qantel Corporation, Hayward, CA

lwall@sdcrdcf.UUCP (Larry Wall) (11/26/84)

[advice to the newslorn]

In article <319@qantel.UUCP> stv@qantel.UUCP (Steve Vance@ex2499) writes:
>...I had in mind something like: 
>
>when the reader has read this article, change his .newsrc to mark it as
>read in all groups listed in the "Newsgroups" line.
>
>More direct, huh?  and also more in keeping with the philosophy of rn.
>It would be easy to do at my site, too, because I put in the inews patch
>to generate "Xref" lines, so that the article in the abovementioned 
>example would (and, in fact, does) have a line like:
>
>Xref: mod.newslists:8 net.news:1097
>
>so that the .newsrc file could be changed without reading the history or
>log files or anything.  

Uh, yes--I'd say that's in keeping with the philosophy of rn, considering that
rn already does that.  It looks like your Xref patch to inews isn't
inserting your system name, which causes rn to reject the Xref line as
bogus.  Your Xref line should read:

Xref: qantel mod.newslists:8 net.news:1097

Perhaps you left out or mangled a hunk of the inews patch.

Larry Wall
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdcsvax}!sdcrdcf!lwall

woolsey@umn-cs.UUCP (Jeff Woolsey) (11/27/84)

Yes, seeing the same article multiple times in rn has been bugging me,
too.  The fix I have in mind is somewhat different, though.

Rn knows at all times which newsgroups you have already finished reading.
If one of the newsgroups listed on the Newsgroups: line is one of those
which has already been read, assume that the article was seen when that
newsgroup was read, and do not show it now.
-- 

----
"Be seeing you!"

				Jeff Woolsey
				...ihnp4{!stolaf}!umn-cs!woolsey

ekrell@ucla-cs.UUCP (11/27/84)

  This might help:
  We installed rn while running 2.10.1. We installed the Xref: patch and all
other fixes. We then moved to 2.10.2 (without re-running the Configure file
in rn), made the changes to inews, recompiled rn and we were still getting
those messages in multiple newsgroups.
  I thought there was a problem with the Xref: patch in either rn or inews,
but the problem really was that when you run the Configure shell script, rn
figures out whether you're running 2.10.2 or not (by looking if
/usr/lib/news/inews exists).
  Since we moved to 2.10.2, but never re-run Configure, rn thought we were
still running 2.10.1.
  I run Configure again, recompiled rn and the problem dissapeared.
-- 
    Eduardo Krell               UCLA Computer Science Department
    ekrell@ucla-locus.arpa      ..!{sdcrdcf,ihnp4,trwspp,ucbvax}!ucla-cs!ekrell

john@genrad.UUCP (John Nelson) (11/27/84)

In article <319@qantel.UUCP> stv@qantel.UUCP (Steve Vance@ex2499) writes:

>As has been mentioned before, many times, rn is a great program, and
>Larry did a super job!  The only thing I miss from vnews, a deficiency
>that rn seems to have, is described below.
>
>The problem is that if an article is posted to three groups I read, I
>get to see the article three times.  Vnews only let you see the article
>once.

Have you applied all the rn patches?  I only see articles ONCE with rn.

In fact, the algorithm used is BETTER than that used in vnews!  With vnews,
you see the article in the first newsgroup posted to that you also subscribe
to (or something complicated like that).  And if you 'K' that newsgroup, you
will never see the article.

With rn, you see the article in the first newsgroup that you READ that it
was posted to, then it is marked read, and you never see it again.  And if
you 'c' that newsgroup (mark all articles as read), then multiple posted
articles are not marked as read yet!   GREAT STUFF!

mangoe@umcp-cs.UUCP (Charley Wingate) (11/28/84)

Actually, you can suppress the duplicates with KILL file entries, without
any patching to anything else.  Let's say you subscribe to net.micro AND
net.micro.cpm; then in the kill file for net.micro, you could have the
line

         /net.micro.cpm/h:j

which will pre-delete all the doubly-listed articles in this group.

For those who don't recall how to do this, type

         /net.micro.cpm/Kh:j

when you are looking at an article in net.micro.

Charley Wingate  umcp-cs!mangoe

crl@pur-phy.UUCP (Charles LaBrec) (11/28/84)

I don't understand this discussion.  I added the "XREF" patch to inews
and after that, rn stopped showing articles more than once that were
*simultaneously* posted to more than one group.  Of course, it can't
do this to articles that were posted to single groups multiple times.

One suggestion, though, is for rn to not bother marking these articles
as read in unsubscribed newsgroups.  Since I never read the group, the
newsrc line gets very long with single article marks.

Charles LaBrec
UUCP:		pur-ee!Physics:crl, purdue!Physics:crl
INTERNET:	crl @ pur-phy.UUCP

lwall@sdcrdcf.UUCP (Larry Wall) (11/28/84)

In article <609@umn-cs.UUCP> woolsey@umn-cs.UUCP (Jeff Woolsey) writes:
>Yes, seeing the same article multiple times in rn has been bugging me,
>too.  The fix I have in mind is somewhat different, though.
>
>Rn knows at all times which newsgroups you have already finished reading.
>If one of the newsgroups listed on the Newsgroups: line is one of those
>which has already been read, assume that the article was seen when that
>newsgroup was read, and do not show it now.

That wouldn't work very well for several reasons:

* People don't necessarily finish one newsgroup before they go on to another.

* New articles can come in after you leave a newsgroup.

* It would be one more thing to do while the poor user is waiting for the
    article to show up on the screen.  The current Xref method has the virtue
    that the processing happens while the user is presumably reading the end
    of the article.

On top of which, the code is already all there to do it.  To the best of
my knowledge, the Xref code in rn is bug-free.  If you can simply get your
inews to insert header lines of the form:

Xref: YourSiteName NewsgroupName:ArticleNumber NewsgroupName:ArticleNumber...

you are home free.  If the Xref line is entirely missing, check to see that
you installed the Xref patch in inews.c, header.c, and header.h.  Check to
see that everything making up inews/rnews got recompiled--some early
Makefiles don't recompile ifuncs.  Make sure inews and especially rnews got
re-installed.  Make sure there aren't old copies of rnews lying about in
other directories that might inadvertently be getting run when news shows up.

If your site name is missing from the Xref line, or does not agree with
the site name known by rn, rn will ignore the line.  To discover rn's idea
of the sitename, type /<esc>H.

If you are running 2.10.1, make sure you've seen bug#5.

Make sure that you really are seeing duplicate articles, and not
multiply-posted articles.  The message ID's should match.

Those of you seeing duplicate articles: be assured that most sites that have
installed the Xref patch do not see duplicate articles.  Entertain the notion
that you blew it somehow.  If you discover that I blew it, let me know.

Larry Wall
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdcsvax}!sdcrdcf!lwall

stv@qantel.UUCP (Steve Vance@ex2499) (11/29/84)

In article <1498@sdcrdcf.UUCP> lwall@sdcrdcf.UUCP (Larry Wall) writes:
>[advice to the newslorn]
>
>In article <319@qantel.UUCP> stv@qantel.UUCP (Steve Vance@ex2499) writes:
>>...I had in mind something like: 
>>
>>when the reader has read this article, change his .newsrc to mark it as
>>read in all groups listed in the "Newsgroups" line.
>
>Perhaps you left out or mangled a hunk of the inews patch.
>

Well, I don't ususally mangle things like this, but I got a virgin
inews.c out of archives, and applied patches inews.c.2.pat and
inews.c.17-c to it, and whatdya know, the two lines that put the system
name in Xref lines showed up on the diffs listing.  I used "patch" this
time, instead of doing it by hand, so I know I didn't miss anything else.

The Xrefs patching looked good to me before, without my system name, 
because I didn't know what they were supposed to look like.  Thanks
again, Larry, you're a wizard!  
-- 

Steve Vance
{dual,nsc,intelca,proper}!qantel!stv
Qantel Corporation, Hayward, CA

bllklly@uwmacc.UUCP (Bill Kelly) (12/01/84)

In article <1502@sdcrdcf.UUCP> lwall@sdcrdcf.UUCP (Larry Wall) writes:
>If you can simply get your
>inews to insert header lines of the form:
>
>Xref: YourSiteName NewsgroupName:ArticleNumber NewsgroupName:ArticleNumber...
>
>you are home free. [as far as not seeing the same article in different groups]
>If your site name is missing from the Xref line, or does not agree with
>the site name known by rn, rn will ignore the line.  To discover rn's idea
>of the sitename, type /<esc>H.

If you're doing funny things with site names, as we are, be sure to check
this out.  For various reasons our site name (as printed by hostname and
returned by gethostname() on 4.2BSD) is different from our uucp site name.
If yours is too, and you are seeing the same articles in different newsgroups,
check rn's config.h file to see if GETHOSTNAME is #define'd.  It normally
*is* defined by Configure if you're using 4.2BSD.  Remove that line and rn
will then use the name #defined'd as SITENAME.  (Also look at DOUNAME,
WHOAMI, and PHOSTNAME, which define alternate ways to get the host name.
They are used in intrp.c)
-- 

Bill Kelly
{allegra, ihnp4, seismo}!uwvax!uwmacc!bllklly
1210 West Dayton St/U Wisconsin Madison/Mad WI 53706

"Sometimes, Penfold, I wish I was just drawing the cartoons,
 not starring in them."

lwall@sdcrdcf.UUCP (Larry Wall) (12/01/84)

In article <1529@pur-phy.UUCP> crl@pur-phy.UUCP (Charles LaBrec) writes:
> I don't understand this discussion.  I added the "XREF" patch to inews
> and after that, rn stopped showing articles more than once that were
> *simultaneously* posted to more than one group.  Of course, it can't
> do this to articles that were posted to single groups multiple times.

It appears that on the systems where XREF isn't working, much of the time
it is because inews and rn don't agree on the system name.  To find out
inews's idea of the name, type 'v' to see the whole header on a
cross-referenced article, and look at the system name on the Xref line.
To find out rn's notion of the system name, type /<esc>H.  If they don't
agree you have the problem, and need to speak to either inews or rn.

> One suggestion, though, is for rn to not bother marking these articles
> as read in unsubscribed newsgroups.  Since I never read the group, the
> newsrc line gets very long with single article marks.

If the expired article checker is working (did you install patch #4?), your
lines shouldn't be getting more than a few hundred bytes long, even in
newsgroups you never visit, such as unsubscribed newsgroups.  If it really
bugs you, delete the line with an editor, and rn won't care.  (However,
readnews will, I think, add it back onto your .newsrc, thinking it to be a
new group.)

Rn also doesn't care how long the line gets, till you run out of memory.
I used to have some lines over 1024 long before the expired article checker
was added.  One thing that can subvert the expired article checker is if
you have any "expire orphans"--articles that should have expired but won't
because they aren't in the history file for some reason.

Larry Wall
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdcsvax}!sdcrdcf!lwall

lwall@sdcrdcf.UUCP (Larry Wall) (12/04/84)

In article <504@uwmacc.UUCP> bllklly@uwmacc.UUCP (Bill Kelly) writes:
>In article <1502@sdcrdcf.UUCP> lwall@sdcrdcf.UUCP (Larry Wall) writes:
>>If your site name is missing from the Xref line, or does not agree with
>>the site name known by rn, rn will ignore the line.  To discover rn's idea
>>of the sitename, type /<esc>H.
>
>If you're doing funny things with site names, as we are, be sure to check
>this out.  For various reasons our site name (as printed by hostname and
>returned by gethostname() on 4.2BSD) is different from our uucp site name.
>If yours is too, and you are seeing the same articles in different newsgroups,
>check rn's config.h file to see if GETHOSTNAME is #define'd.  It normally
>*is* defined by Configure if you're using 4.2BSD.  Remove that line and rn
>will then use the name #defined'd as SITENAME.  (Also look at DOUNAME,
>WHOAMI, and PHOSTNAME, which define alternate ways to get the host name.
>They are used in intrp.c)

Patch #29 makes rn check the Xref system name against the site name mentioned
on the Relay-Version line, rather than against the site name that rn knows.
This fixes the bug once and for all.  It even lets you run rn on articles
installed by inews on a different machine, as in a local-area network with
news on a remote file system, without lying to rn as to what system you are
really on.  See net.sources.bugs.  Kudos to seismo!rick and sdcrdcf!jonab
for suggesting this approach.

Larry Wall
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdcsvax}!sdcrdcf!lwall