*BSD News Article 8818


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!network.ucsd.edu!usc!wupost!darwin.sura.net!haven.umd.edu!decuac!pa.dec.com!vixie
From: vixie@pa.dec.com (Paul A Vixie)
Newsgroups: comp.unix.bsd
Subject: Re: [386BSD] Problems installing cnews/nn
Date: 6 Dec 92 09:09:50
Organization: DEC Network Software Lab
Lines: 54
Message-ID: <VIXIE.92Dec6090950@cognition.pa.dec.com>
References: <1992Nov27.153032.10611@uropax.contrib.de>
	<1fav2bINN2ie@tricky.wft.stack.urc.tue.nl> <ByI76y.75o@world.std.com>
	<VIXIE.92Nov30104256@cognition.pa.dec.com> <ByK57p.3M6@world.std.com>
	<VIXIE.92Dec4134323@cognition.pa.dec.com> <Byrvwu.155@world.std.com>
	<VIXIE.92Dec5150856@cognition.pa.dec.com> <ByuEI8.G67@world.std.com>
NNTP-Posting-Host: cognition.pa.dec.com
In-reply-to: geoff@world.std.com's message of 6 Dec 92 14:49:20 GMT

I was sitting here thinking about other things and a thought about INN
and C News slithered into my mind on little wormy feet.  I went looking
for Geoff's latest reply so I could use it as a springboard...

[Vixie]
> The application that wins is the one that works best, regardless of the
> fact that the reason it works best is because the operating system is
> huge and bloated and complicated and slow.

[Collyer]
> Whatever turns your crank, man.  Just don't try to claim that said
> ``operating system'' is Unix.

Well, it walks like a duck, and it quacks like a duck, and it's
labelled "duck", but if you want me to call it a tree, I guess "ok".

My real thought is that C News is itself designed to cover for a lot
of existing conditions.  C News uses big batches as a way to avoid
paying the relaynews startup transient too often.  Big batches were
neccessary for UUCP to avoid paying the turnaround time too often.
But news is fundamentally not about batches.  Batches are a pain,
since articles sit in them for a long time rather than flitting from
system to system like little birdies.  But C News wouldn't *work* if
it dealt with articles one by one, which is why someone other than
its authors added the "daemon mode" a long time back.  The key to
the real "elegant and proper" design for soemthing is to go to first
principles and figure out what you're actually trying to do.  For
news over nntp, this means synchronous transport -- anything else
is unnatural and only present to cover shortcomings in the environment.
For news over uucp, the design criteria *has* to take the modems into
account since they're nonoptional.

On my kernels, inodes are something like 128 bytes long.  Processes
are likewise bloated with all kinds of POSIX modes and floating point
contexts and thread contexts and mutex locks and so on.  Directory
and inode updates are synchronous, and N**2, and are very slow.  Now,
I wouldn't design an operating system this hideously bloated, but I
am not, today, in the business of designing operating systems.  When
I write code I try to make it as simple as possible without violating
any of the speed boundaries built into the awful clunker of a kernel
I happen to be running.  That kernel's name happens to be "/vmunix"
and has a lot of Bell Labs UNIX code in it, so I call it "UNIX".

INN works better than C News on the "UNIX"-like operating systems I
can buy from Sun or DEC or Pyramid or even AT&T.  The reason for this
is that it was designed to use what's available rather than to be
intellectually pure.

This is actually the same argument as between Perl and sh+awk.
--
Paul Vixie, DEC Network Systems Lab	
Palo Alto, California, USA         	"Don't be a rebel, or a conformist;
<vixie@pa.dec.com> decwrl!vixie		they're the same thing, anyway.  Find
<paul@vix.com>     vixie!paul		your own path, and stay on it."  -me