9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Thomas Bushnell, BSG" <tb+usenet@becket.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] correcting old failures, and NJ vs MA
Date: Wed, 10 Oct 2001 08:56:25 +0000	[thread overview]
Message-ID: <87het8uxcl.fsf@becket.becket.net> (raw)
In-Reply-To: <20011009174328.56C2E199BF@mail.cse.psu.edu>


I don't have much to respond to anothy's discussion of rpg's article
which I alluded too, except to say that rpg himself has changed his
mind over and over about exactly what's going on, so I don't think
he's an idiot. :)

But one thing caught my eye particularly

anothy@cosym.net writes:

> as a fundamental design principle (for new things - this is obviously
> different if you're porting, rewriting, or emulating something) causes one
> to ignore these tradeoffs in favor of whatever pre-concieved notions one
> has about how something should work. this leads to systems or apps that
> sacrifice one or more of the other three design goals - most often
> simplicity - in favor of some ill-concieved notion of "correctness", which
> quite likely a different notion of "correctness" than others have.

By correctness I meant that plan 9 *does* have a way to move directory
trees, of course, it's just slow and tedious and fails more often than
the other way.

That's an important point that I think got lost.  For example, someone
asks "what about find?  won't it miss stuff if you move a directory?"
And the answer is "yes, it will--and it will miss stuff whether you
move things with a quick syscall or with a long tedious file-by-file
copy-and-delete."  

That's why I alluded to rpg: he suggests that the NJ way prefers
simplicity of *kernel* and kernel interfaces, even if it makes the
total way to get something done more complex.

People have noted (quite rightly) that the kernel code for moving
directories is tricky and easy to get wrong and complex.  But what
they haven't noted is that the user-space solution is even more tricky
(if you expect it to solve the same problems), and even easier to get
wrong, and even more complex.

Thomas


  reply	other threads:[~2001-10-10  8:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-09 17:43 anothy
2001-10-10  8:56 ` Thomas Bushnell, BSG [this message]
2001-10-10  9:16   ` Boyd Roberts
2001-10-11  4:27   ` Alexander Viro
2001-10-11  9:11     ` Thomas Bushnell, BSG
2001-10-09 21:44 forsyth
2001-10-09 21:51 bwc
2001-10-10 13:04 presotto
2001-10-11  9:10 ` Thomas Bushnell, BSG
2001-10-11 14:29   ` david presotto
2001-10-11 15:26     ` Boyd Roberts
2001-10-11 15:54       ` andrey mirtchovski
2001-10-11 11:39 forsyth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87het8uxcl.fsf@becket.becket.net \
    --to=tb+usenet@becket.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).