9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Eris Discordia <eris.discordia@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Using the Acme Editor
Date: Wed, 20 Aug 2008 22:46:57 +0100	[thread overview]
Message-ID: <1A65C224C4D988F3504822E7@computer> (raw)

Thank you, sqweek. The second golden Golden Apple with καλλιστι on 
it is totally yours. The first one went to Russ Cox.

>  You don't care who mounts what where, because the rest of the system
> doesn't notice the namespace change.

So essentially there shouldn't be a problem with mounting on a single 
"public" namespace as long as there is one user on the system. mount 
restriction in UNIX systems was put in place because multiple users exist 
some of whom may be malicious. Virtualization and jailing will relax that 
requirement.

>  As Pietro demonstrated, no interface configuration is necessary here.

Only because the concept is hidden in Plan 9, though I don't know how. 
_Someone_ or _something_ has to decide whether to route your packets 
through, say, a ppp interface or an eth interface--when both interfaces are 
present--and to do that according to configuration. That won't happen on 
its own.

When P. G. suggested an imaginary "motorola" file server he never said how 
the file server is supposed to access the cellular network. If it's going 
to happen by tunnelling through another protocol, e.g. IP, then the 
question remains of _which_ interface to choose from. And if it's going to 
happen over some special protocol then it must occupy a place on the 
network stack over some _configured_ network interface.

On a different note, what purpose did his "-M 'RAZR V3' 555 555 5555" 
switches serve? Don't they qualify as interface configuration?

>  Certainly. If someone has access to, say, the physical machine, then
> they have the ability to boot whatever operating system they wish,
> potentially modified to their liking and do whatever they want with
> the hardware.

This result comes from the "disposable" machine paradigm, in which the 
machine you work at need not be in any way _significant_ to you. It doesn't 
quite match the "home computer" scheme of things. If someone manages to 
boot your home/portable personal computer they are set for collecting all 
you've stored on it. In that respect, I don't see how the "disposable" 
machine paradigm can be applicable. Your personal machine is not disposable.

It seems the security ascribed to disposable machines comes from that "user 
data" is stored on a different, presumably safer, machine in, for example, 
some sort of data warehouse at a data center. This isn't a new 
idea--actually, it's _very_ old--and it's not what happens in home (or 
personal) computing.

> Plan 9 respects that. Not trusting the hostowner is a waste of effort.

Not with reliable biometric authentication, but that's out of scope here.

>  Uh, what now? You either have an interesting definition of home
> computer or some fucked up ideas about plan 9. You only need a cpu
> server if you want to let other machines run processes on your
> machine. You only need an auth server if you want to serve resources
> to a remote machine.

Neither statement is true. On a home computer you certainly need a term. 
You'll need a cpu for a number of tasks. And you'll need auth if there's 
going to be more than one user on the system, or if you need a safe way of 
authenticating yourself to your computer. A single glenda account doesn't 
quite cut it. If you're going to access your storage you'll need some 
fs('s), too.

The bottom line is: term is _certainly_ not enough for doing all the tasks 
a *BSD does, and requiring a home computer to do all these tasks is far 
from inconceivable. One *BSD system is almost functionally equivalent to a 
combination of term, cpu, auth, and some fs('s).

>  "each machine?" I thought we were talking about my "home computer"???
>  If you have a home network, you have ONE auth server.

No. The point is if you have _one_ home machine and _multiple_ users you'll 
have to store authentication information on that same machine. It is no 
more a "disposable terminal," its security becomes as important as the 
security of a heavily used auth server. The "disposable" machine paradigm 
fails as miserably as the the traditional UNIX paradigm: one machine, many 
users.

Now, your home computer may be a true single user machine but you store 
_some_ authentication information on it anyway; those of yours, namely. 
Such machine is in that respect as vulnerable as a UNIX machine. It has to 
be _physically_ guarded. It's no more a "disposable" machine.

> incantation, that's beside the point. In 9p, the abstraction is a file
> tree, and the interface is 
auth/attach/open/read/write/clunk/walk/remove/stat.

ioctl and VFS are suspiciously similar even though they serve less generic 
functions.

> argue HTTP is simpler because it just has GET/PUT/DELETE/HEAD, but you
> have to deal with rfc822 formatted messages and different transfer
> encodings and auth mechanisms and all sorts of options coming out your
> ass.

This is classic. Complication is a sign of maturation. Plan 9 has evaded 
that by not maturing, by avoiding diversification. Before you get angry I 
must say that's my "personal" opinion. Nothing I'm going to "force" unto 
you. Nothing I _can_ force unto you.

> network operations - everything is done via /net. Thanks to private
> namespaces, you can transparently replace /net with some other crazy
> [compatible] filesystem, which might load balance over multiple

How does that differ from presenting of a network interface by a block 
device on UNIX? And why should avoiding system calls be considered an 
advantage? Your VFS layer could do anything expected from /net provided 
that file system abstraction for the resources represented under /net is 
viable in the first place.

> implemented on any system, which is true [to an extent]. But it's
> apparent than no others have the taste to do it as elegantly as plan 9 -

It's not a matter of taste. There are situations, many situations actually, 
where the file system abstraction is plainly naive. Sticking with it for 
every application verges on being an "ideology."

The VFS approach is by no means inferior to Plan 9's everything-is-a-file, 
but on UNIX systems it is limited to resources that can be meaningfully 
represented as file systems. Representing a relational database as a file 
system is meaningless. The better representation is something along the 
lines of the System::Data::DataGrid class on Microsoft .NET framework.

>  Eris, if you've further issues to raise, we should take this off-list.

No more "issues." I simply rest my case here.

--On Thursday, August 21, 2008 2:08 AM +0800 sqweek <sqweek@gmail.com> 
wrote:

> On Wed, Aug 20, 2008 at 8:56 PM, Eris Discordia
> <eris.discordia@gmail.com> wrote:
>>>  No. Private namespaces.
>>
>> And how does that solve the problem of whom to trust with mounting?
>
>  You don't care who mounts what where, because the rest of the system
> doesn't notice the namespace change. But it sounds like what you're
> really talking about is who to trust with device access, so lets roll
> with that.
>
>> Or with configuring a network interface?
>
>  As Pietro demonstrated, no interface configuration is necessary here.
>
>> If someone has access to, say, eth0 then
>> they have access to eth0. No amount of private namespaces keeps them from
>> reading everything that goes through eth0, including other users'
>> unencrypted traffic.
>
>  Certainly. If someone has access to, say, the physical machine, then
> they have the ability to boot whatever operating system they wish,
> potentially modified to their liking and do whatever they want with
> the hardware. Plan 9 respects that. Not trusting the hostowner is a
> waste of effort.
>
>> Plan 9's model says if you have physical access to a terminal there is no
>> way to secure _that_ terminal against your mischief. Therefore, it
>> totally trusts you _that_ terminal. However, your home computer doesn't
>> run only a terminal. To be usable, it has to run at least a cpu and an
>> auth, in addition to a term.
>
>  Uh, what now? You either have an interesting definition of home
> computer or some fucked up ideas about plan 9. You only need a cpu
> server if you want to let other machines run processes on your
> machine. You only need an auth server if you want to serve resources
> to a remote machine.
>
>> Now, where is the difference between running
>> authentication on the same machine as the terminal and the traditional
>> UNIX way of keeping authentication/authorization databases on each
>> machine?
>
>  "each machine?" I thought we were talking about my "home computer"???
>  If you have a home network, you have ONE auth server.
>
>>>  Sorry, that should have been "no such file or directory". You need a
>>> mkdir.
>>
>> The directory could've been there beforehand.
>
>  Well allow me to present a more concise set of commands:
>
>
>  (the file was there beforehand :D)
>
>> In any case, your deflection
>> has nothing to do with the fact that Pietro Gagliardi's demand for "a few
>> commands" to accomplish a certain task has been supplied with an adequate
>> UNIX answer.
>>
>> He's under the false impression that abstraction actually _does_ things,
>> and that because Plan 9 has an everything-is-a-file model it is any more
>> trivial to access a cell phone over its proprietary communication
>> protocol over the cellular network. An impression perpetuated by the
>> 9people.
>
>  Sure, at the end of the day you're still pushing the same packets
> over the same network. However, there is one thing abstraction does:
> it defines an interface. Sure, each file server has its own
> incantation, that's beside the point. In 9p, the abstraction is a file
> tree, and the interface is
> auth/attach/open/read/write/clunk/walk/remove/stat.
>  The nice part about the interface is it is simple and consistent.
> Once you know what each of those messages mean, you are set - there
> aren't really any sharp corners to watch out for. I mean you could
> argue HTTP is simpler because it just has GET/PUT/DELETE/HEAD, but you
> have to deal with rfc822 formatted messages and different transfer
> encodings and auth mechanisms and all sorts of options coming out your
> ass.
>  Mind you, a lot of the time you only care about files and
> open/read/write/clunk are all you need. Case in point, awk or rc in
> plan 9 have zero networking code, yet it is entirely possible to have
> them communicate over tcp or whatever protocols are supported in /net
> since they can open/read/write. In fact, there are no syscalls for
> network operations - everything is done via /net. Thanks to private
> namespaces, you can transparently replace /net with some other crazy
> [compatible] filesystem, which might load balance over multiple
> connections or somesuch. Network transparency means you can use /net
> from a different machine and everything just works - hang around some
> less technical folk sometime and tell me NAT doesn't deserve to die.
> Even with resources like http://portforward.com available, port
> forwarding is an impassable obstacle for many people.
>  I'd like to take a moment to note your unix example used the same
> abstraction.  You said elsewhere that plan 9's filesystems could be
> implemented on any system, which is true [to an extent]. But it's
> apparent than no others have the taste to do it as elegantly as plan 9 -
> it's all MORE APPS (netcat), MORE FEATURES (tcp code in gawk/bash),
> MOOORRREE CODE.
>
>  Eris, if you've further issues to raise, we should take this off-list.
> -sqweek
>




             reply	other threads:[~2008-08-20 21:46 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-20 21:46 Eris Discordia [this message]
2008-08-20 22:41 ` Pietro Gagliardi
2008-08-20 22:54   ` [9fans] aquarela only uses /rc/bin/9fs? Benjamin Huntsman
2008-08-20 22:58     ` Steve Simon
2008-08-20 23:09       ` Benjamin Huntsman
2008-08-20 23:19         ` Steve Simon
2008-08-20 23:31           ` Benjamin Huntsman
2008-08-20 23:41           ` Benjamin Huntsman
2008-08-21 15:39       ` Benjamin Huntsman
2008-08-20 23:15 ` [9fans] Using the Acme Editor Geoffrey Avila
2008-08-21  7:42 ` Uriel
2008-08-21 10:58   ` erik quanstrom
2008-08-21 13:25     ` john
2008-08-21 13:31     ` David Leimbach
2008-08-21 16:59   ` Eris Discordia
2008-08-21 17:14     ` ron minnich
2008-08-21 10:36 ` erik quanstrom
  -- strict thread matches above, loose matches on Subject: below --
2008-08-24 17:13 Eris Discordia
2008-08-25  3:57 ` Michaelian Ennis
2008-08-24 16:52 Eris Discordia
2008-08-24  8:20 erik quanstrom
2008-08-21 17:36 Eris Discordia
2008-08-21 20:39 ` ron minnich
2008-08-21 22:11   ` Eris Discordia
2008-08-22  2:58     ` Federico G. Benavento
2008-08-22  6:13     ` Andrew Simmons
2008-08-22  9:41       ` hiro
2008-08-21 17:20 Eris Discordia
2008-08-21 16:39 Eris Discordia
2008-08-21 17:11 ` ron minnich
2008-08-21 18:29   ` hiro
2008-08-20 23:49 Eris Discordia
2008-08-20 13:01 Eris Discordia
2008-08-20 13:22 ` Sander van Dijk
2008-08-20 12:56 Eris Discordia
2008-08-20 18:08 ` sqweek
2008-08-20 18:58   ` erik quanstrom
2008-08-20 19:47     ` sqweek
2008-08-20 12:36 Eris Discordia
2008-08-20  9:44 Eris Discordia
2008-08-20  9:34 Eris Discordia
2008-08-20 11:56 ` Robert William Fuller
2008-08-20 12:25   ` Eris Discordia
2008-08-20  9:03 Eris Discordia
2008-08-20  8:33 Eris Discordia
2008-08-20  8:29 Eris Discordia
2008-08-20  8:04 Eris Discordia
2008-08-20  1:39 Eris Discordia
2008-08-20  2:08 ` Pietro Gagliardi
2008-08-20  2:13 ` Iruata Souza
2008-08-20  8:08   ` Eris Discordia
2008-08-20  5:02 ` sqweek
2008-08-20  9:15   ` Eris Discordia
2008-08-20  9:44     ` Sander van Dijk
2008-08-20  9:53     ` sqweek
2008-08-20 10:12     ` matt
2008-08-20 12:27       ` Bruce Ellis
2008-08-20 16:23     ` Iruata Souza
2008-08-20  8:10 ` Steve Simon
2008-08-20  0:30 Eris Discordia
2008-08-20  3:34 ` geoff
2008-08-20  3:43   ` Pietro Gagliardi
2008-08-20  3:48     ` Bruce Ellis
2008-08-20  8:42   ` Eris Discordia
2008-08-20  0:10 Eris Discordia
2008-08-20  2:29 ` a
2008-08-20  8:01 ` Steve Simon
2008-08-19 23:51 Eris Discordia
2008-08-20  0:30 ` Pietro Gagliardi
2008-08-20  1:31 ` Iruata Souza
2008-08-20  1:43   ` Eris Discordia
2008-08-20  2:00     ` Pietro Gagliardi
2008-08-20  7:03       ` Eris Discordia
2008-08-20  7:36         ` bb
2008-08-21  0:03     ` Dan Cross
2008-08-24  7:27 ` John Waters
2008-08-24 18:14   ` Eris Discordia
2008-08-25  5:43     ` John Waters
2008-08-19 22:00 Eris Discordia
2008-08-19 22:12 ` andrey mirtchovski
2008-08-19 23:14   ` Eris Discordia
2008-08-20  3:12   ` Skip Tavakkolian
2008-08-20  3:17     ` andrey mirtchovski
2008-08-20  8:31     ` Eris Discordia
2008-08-19 22:14 ` Francisco J Ballesteros
2008-08-19 22:26   ` Steve Simon
2008-08-19 23:27   ` Eris Discordia
2008-08-19 23:36     ` Jonathan Cast
2008-08-20  0:42       ` Eris Discordia
2008-08-20  2:08     ` a
2008-08-20  8:06       ` Eris Discordia
2008-08-20  3:26     ` Skip Tavakkolian
2008-08-20  3:31       ` Bruce Ellis
2008-08-20  8:41       ` Eris Discordia
2008-08-19 22:25 ` Pietro Gagliardi
2008-08-19 22:31   ` Pietro Gagliardi
2008-08-19 22:46     ` Federico G. Benavento
2008-08-20  0:31       ` Eris Discordia
2008-08-19 23:03     ` Benjamin Huntsman
2008-08-20  0:34       ` Eris Discordia
2008-08-20  0:58         ` Benjamin Huntsman
2008-08-19 22:34 ` erik quanstrom
2008-08-20  3:11 ` Skip Tavakkolian
2008-08-19 15:52 Wendell xe
2008-08-19 16:01 ` ron minnich
2008-08-19 16:11 ` erik quanstrom
2008-08-19 21:23   ` Lyndon Nerenberg
2008-08-19 16:31 ` Robert Raschke
2008-08-19 21:00   ` Steve Simon
2008-08-19 17:50 ` Ramon de Vera
2008-08-19 17:58 ` Russ Cox
2008-10-22 12:37   ` Rudolf Sykora
2008-10-23 18:26     ` Rudolf Sykora
2008-10-23 20:17       ` yy
2008-10-24 17:51     ` Russ Cox
2008-10-24 18:17       ` Rudolf Sykora
2009-04-05 16:19       ` Rudolf Sykora
2008-08-19 20:22 ` Pietro Gagliardi
2008-08-19 21:24   ` Iruata Souza
2008-08-20  0:28     ` David Leimbach
2008-08-20  3:54 ` Pietro Gagliardi
2008-08-20  3:56   ` Bruce Ellis
2008-08-20  8:48   ` Eris Discordia
2008-08-20  9:21     ` matt

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=1A65C224C4D988F3504822E7@computer \
    --to=eris.discordia@gmail.com \
    --cc=9fans@9fans.net \
    /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).