[net.news.group] restructuring and idea for group

donn@hp-dcd.UUCP (06/09/84)

This is slightly Machiavellian(sp??), but...

   The bait:

	Create a new version of news (3.0) with some feature that
	no-one (absolutely no-one) can do without.

   The trap:

	Add to it the ability to respond to .ctl messages that change
	a group name, and the concept of "symbolic links" to groups,
	such that, e.g. net.trivia and net.games.trivia are the same
	group.  (A warning is generated if the old name is used.)

	This should be done so that if a message is recieved (as opposed
	to posted) in the "old" group, it ends up in the "new" one, thus
	even if an individual site does it wrong, the backbone sites
	will fix it.

	These two features should make it possible to restructure at
	will, and kills, once and for all, the problem with certain
	groups refusing to die, no matter how many times you kill them.

As for the bait, the best one I can think of (howls of anguish in the
background) is to incompatibly change the headers.  (Flames on this 
item to /dev/null, please; I know it won't work for political reasons.)
Anyone got a better suggestion for bait?

Actually, if a version of news had the above features, and was widely enough
distributed, the name translation would propigate to the other sites, anyway.

The real problem is the "who will do it" problem.  If it looks like a reality,
I'd probably do it for notes (since I prefer it).  I don't care to volunteer 
for news, however.  (At times, ignorance is a blessing.)

Donn Terry
Hewlett-Packard, Ft. Collins.
hplabs!hp-dcd!donn

chuqui@nsc.UUCP (Chuq Von Rospach) (06/15/84)

As I have mentioned before, I have finally bitten the bullet and
decided to do some serious hacking to inews. Right now I am in the
process of linting (!!! it is down from 30K or error messages to about
13K) the code and trying to clean up some of the more outrageous
problems and removing dead code from the source. When I finish that, I
am going to do the following things as well:

1) clean up batching support. My inews will support at least two forms of
batching: the batch/unbatch distributed in 2.10.1 and the peter gross
version of batching known as bnproc. Both will be compile time options
using define flags so you can compile in either (or both) only as you need
them. I expect that installing support for bnproc into inews will improve
batching performance significantly because the current setup requires two
process spawn for every message (that is about 600-800 processes a day
right now-- very expensive), two disk writes (one to /tmp, one to
/usr/spool/news) and a pipe (on 4.2 this uses IPC and is somewhat
expensive). I haven't really looked and the 2.10.1 batching but there is
probably room for improvement there as well.

2) I am going to be writing some structure into the main process of the
code. Currently the rnews portion of code is hacked into the rest of inews
with a state flag and a lot of if(state==PROC) blocks. Besides making it
almost unintelligible it causes rnews to do processing (like parameter
parsing for inews) that is unnecessary. I'm going to split out the
appropriate code into its own function where it belongs.

3) I've been adding bug fixes off the net when I find them to work. 

4) For the sake of the proposed net restructuring, I am going to write a
routine that will scan a list of newsgroups and check them against a
table. If they are in that table the routine will rename them to a given
group. If you create a table such as:
	net.trivia net.games.trivia
	net.stat net.math.stat
this inews will update the header and store the message in the new homes. I
also plan on setting it up so that the message will be transmitted from the
site with the updated header so that we can install this stuff on the
backbones (I hope) and help isolate the net from those sites that don't
bother to update their active files for the sake of the rest of us (I'm
VERY tired of lazy system administrators, folks...).

5) I want to add a routine that strips illegal groups from the headers
before they are transmitted. I haven't decided whether it should be all
groups that get stripped or just non net.all groups.

6) I want to change inews so that if the only place a message goes is
'junk' it doesn't get transmitted. This goes very closely with #5.

Longer range plans include splitting the news source directory into
subdirectories, which is why the Makefile I posted is set up the way it is,
and turning things like funcs.c and ifuncs.c into their own subdirectories
that create libraries instead of those horrible HUGE .o files. Comments on
all of this are more than welcome, and I'll (of course) be posting my work
once I get it done and stable.

chuq

-- 
From the ledge of the seventh cornice:			Chuq Von Rospach
{amd70,fortune,hplabs,ihnp4}!nsc!chuqui			(408) 733-2600 x242

Love is the process of my leading you gently back to yourself.
			- Saint Exupery

laura@utzoo.UUCP (Laura Creighton) (06/23/84)

My favourtite feature that ``nobody will be able to live without'' is
to compact news so that the transmission costs are lower. I don't
know whether it would be better to leave the compacted versions in
/usr/spool/net/news/* or whether one should uncompact them on arrival.
I suppose it depends on whether CPU crunch or disk space is the major
bottle neck on your system.

Laura Creighton
utzoo!laura