9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] everything is a directory
Date: Thu, 16 Aug 2007 13:49:14 -0700	[thread overview]
Message-ID: <3e1162e60708161349r56c8fd56sfdf6c560b91a3f95@mail.gmail.com> (raw)
In-Reply-To: <d846ee8c0708161237j1647f361kbc1d3af0a831d0cb@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2442 bytes --]

On 8/16/07, Robert Sherwood <robert.sherwood@gmail.com> wrote:
>
> I'm confused. Is it the concept that's awful, or the implimentation? Is
> the problem that visibiliby of the attributes to tools is inconsistant and
> they're managed with entirely different symantics? Or is the whole idea of
> arbitrary file attributes a tool of the devil?
>

Both?

There's no standardized interface across the board that's guaranteed to work
for all platforms that are supposed to be more or less compatible.  And the
fact that the implementation exists means my fundamental abstractions that
made Unix Unix to begin with are changing underneath the tools and
applications I have to work with them.

I think the root of the issue, for me, is that we had a definition for what
a file was in an OS and the world was for the most part simple.  People
stored things like a tar table of contents in the file and defined formats
on a per-file basis, and people realized that if they wanted to manipulate
such files, that all that was needed was to use some well defined structures
and APIs to manage them.  For things that were common to "files" we could
copy them, delete them, rename them with no expectations of side-effects or
missed metadata.

At a high level, copying a file is defined as copying the whole file - all
the data on the disk associated with that particular blob, because that's
what a file is, a representation of the data for humans to deal with, not
just a portion of the data.  When things like extended attributes were
added, that was no longer the case (and even earlier in things like Mac OS
Resource Forks).  Now I've lost my original abstraction that I loved so
much, because someone didn't figure out another way to store an icon for my
program that didn't break the semantics of keeping all the file's data in
one abstracted "place".

Sure people fixed tar, rsync and (hopefully) all the standard faire to deal
with these new and wonderful attributes, but couldn't we have found a better
way?  For some things, like access control lists, maybe not (I'm still
unconvinced that it had to be done with extended attributes).  But let's
just say it doesn't always feel that it's worth the pain involved to break
fundamental abstractions like "file" and "directory" to get these new
features.


One could argue if we must break those abstractions, that maybe it's time
for a new OS.

Dave

[-- Attachment #2: Type: text/html, Size: 3176 bytes --]

  reply	other threads:[~2007-08-16 20:49 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-16  9:30 jsnx
2007-08-16 10:42 ` maht
2007-08-16 11:47   ` Charles Forsyth
2007-08-17  8:41   ` [9fans] " jsnx
2007-08-16 12:39 ` [9fans] " Francisco J Ballesteros
2007-08-16 14:01 ` David Leimbach
2007-08-16 14:39   ` erik quanstrom
2007-08-16 15:58   ` maht
2007-08-16 17:45     ` David Leimbach
2007-08-16 19:01       ` ron minnich
2007-08-16 19:37         ` Robert Sherwood
2007-08-16 20:49           ` David Leimbach [this message]
2007-08-17  8:42             ` Douglas A. Gwyn
2007-08-17 13:00               ` ron minnich
2007-08-17 13:24                 ` erik quanstrom
2007-08-17 13:35                   ` plan9
2007-08-17 14:22                     ` ron minnich
2007-08-17 14:29                       ` David Leimbach
2007-08-17 14:29                         ` Richard Miller
2007-08-17 14:49                         ` ron minnich
2007-08-17 17:49                           ` David Leimbach
2007-08-17 18:09                             ` Charles Forsyth
2007-08-20  8:48                   ` Douglas A. Gwyn
2007-08-20  8:48                 ` Douglas A. Gwyn
2007-08-20 14:29                   ` Douglas A. Gwyn
2007-08-20 14:53                     ` Francisco J Ballesteros
2007-08-20 15:02                     ` Rob Pike
2007-08-21  8:48                       ` Douglas A. Gwyn
2007-08-21  8:47                     ` [9fans] " jsnx
2007-08-21  8:47                 ` jsnx
2007-08-23  8:50                   ` Douglas A. Gwyn
2007-08-24  8:39                 ` jsnx
2007-08-29  9:06                   ` Douglas A. Gwyn
2007-08-30  8:35                 ` jsnx
2007-08-30 13:18                   ` David Leimbach
2007-08-31  9:07                     ` Douglas A. Gwyn
2007-08-31 18:04                       ` Joel C. Salomon
2007-09-01 12:07                         ` Uriel
2007-09-02  1:11                           ` Joel C. Salomon
2007-09-02  2:14                             ` erik quanstrom
2007-09-02  5:01                               ` Anthony Martin
2007-09-02 13:00                             ` Uriel
2007-09-02 16:53                               ` Joel C. Salomon
2007-09-03  7:50                                 ` Uriel
2007-09-03 16:40                                   ` Joel C. Salomon
2007-09-03 19:51                                     ` Uriel
2007-09-09 21:41                                   ` roger peppe
2007-09-03  9:27                             ` Douglas A. Gwyn
2007-09-03 11:03                               ` Charles Forsyth
2007-08-17 14:27               ` [9fans] " David Leimbach
2007-08-17  4:11           ` Skip Tavakkolian
2007-08-17  8:42     ` [9fans] " jsnx
2007-08-17 13:25       ` erik quanstrom
2007-08-17  0:39   ` [9fans] " Uriel
2007-08-17  8:59     ` matt
2007-08-17 12:05       ` erik quanstrom
2007-08-20  8:47       ` [9fans] " jsnx
2007-08-20  9:00         ` Francisco J Ballesteros
2007-08-20 11:34           ` Tom Lieber
2007-08-20 11:40             ` erik quanstrom
2007-08-20 13:33               ` Uriel
2007-08-20 17:36             ` Paweł Lasek
2007-08-20 18:26               ` erik quanstrom
2007-08-20 18:48                 ` Paweł Lasek
2007-08-20 19:52               ` Dave Eckhardt
2007-08-20 21:28                 ` Robert William Fuller
2007-08-20 21:40                   ` erik quanstrom
2007-08-20 22:05                     ` Robert William Fuller
2007-08-21 11:29                       ` Brantley Coile
2007-08-21 17:54                       ` Robert Raschke
2007-08-22  7:38                         ` andrey mirtchovski
2007-08-20 22:12                     ` David Leimbach
2007-08-21  0:37                       ` dave.l
2007-08-21  1:14                         ` David Leimbach
2007-08-21  1:25                           ` Uriel
2007-08-21  1:44                             ` David Leimbach
2007-08-21  8:48                             ` app
2007-08-22  8:47                             ` jsnx
2007-08-22  9:54                             ` app
2007-08-22 11:22                               ` roger peppe
2007-08-22 11:30                               ` erik quanstrom
2007-08-23  8:49                             ` jsnx
2007-08-21  1:26                         ` Roman Shaposhnick
2007-08-21  1:28                           ` Uriel
2007-08-22  8:47                     ` jsnx
2007-08-20 21:57                   ` Uriel
2007-08-20 22:08                     ` Robert William Fuller
2007-08-21  8:48             ` jsnx
2007-08-20 11:17         ` erik quanstrom
2007-08-20 17:40         ` Roman Shaposhnick
2007-08-20 17:52           ` Uriel
2007-08-23  8:49           ` jsnx
2007-08-23 10:35             ` Steve Simon
2007-08-24  8:40             ` jsnx
2007-08-24  8:57               ` Martin Neubauer
2007-08-24 10:55               ` David Leimbach
2007-09-06  4:06                 ` Roman Shaposhnik
2007-08-29  9:06               ` jsnx
2007-08-30  1:41                 ` Uriel
2007-09-06  5:06                 ` Roman Shaposhnik
2007-08-29  9:06             ` jsnx
2007-08-23 15:29           ` Douglas A. Gwyn
2007-08-21  8:48         ` jsnx
2007-08-21 11:22           ` Uriel
2007-08-21 15:05           ` Skip Tavakkolian
2007-08-20  8:48     ` [9fans] " Douglas A. Gwyn
2007-08-17  8:42 ` [9fans] " jsnx

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=3e1162e60708161349r56c8fd56sfdf6c560b91a3f95@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --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).