On Wednesday 09 November 2005 19:31, Hans Reiser wrote:
> Peter van Hardenberg wrote:
> >On November 9, 2005 10:02 am, Hans Reiser wrote:
> >>>Although the overall goal remains elusive, we think we should be able to
> >>>implement a new Reiser4 pseudo directory in 4dot (/..../). This
> >>> directory, called "user" will contain per-file user-defined attributes.
> >>
> >>Why would these go into the pseudo directory instead of into the
> >> directory?
>
> I think ..../user/hat-size is too long, and ..../hat-size is just fine
> if they go into "....".   The interesting question though is should they
> go into .... or into "."  Alternatively, they should go into ".....",
> and that way it can be known whether they were created by users and are
> things that are not contained by the object but are instead meta data
> about the object.
>
> so, we can either call it robert/hat-size or robert/..../hat-size or
> robert/...../hat-size or robert/..../user/hat-size, or, perhaps best of
> all, call it BOTH robert/...../hat-size and robert/hat-size and also
> have a contained-by/ for distinguishing the objects that are contained
> in a directory rather than describe the directory, as in
> robert/contained-by/stomach
>
> I think I really prefer the last.  Note that it requires 0 lines of code
> beyond allowing files to be directories.  Peter Foldiak (it seems we
> have two Peters now so I will be forced into formality.....), please
> comment on this, as I value your intuition in semantic matters.

Thanks. I think it is most important to have naming conventions (at least on 
the long run) that reflect the logical structure and relationships between 
objects AND NOTHING ELSE.
The reason for wanting nothing other than the logical structure is that 
everything else must be arbitrary and must be memorised. I think one of Hans' 
main points in his future vision white paper is that we should not have to 
learn the particular form of organisation that the people who stored an 
object decided to make up, as everything about naming should be "natural" and 
obvious from the logical structure of the objects. (Hans gives examples as 
how bad it is when you have to guess what fields are used in a database.)

So on this list (in connection with part-whole hierarchies) I argued 
previously that paragraph 2 of chapter 3 of a book should be named

book/chapter[3]/paragraph[2]

and not anything else. It should NOT matter whether the person who scanned the 
book decided to put each chapter into a separate "file" (whatever that 
concept will become) or into one big "file" with some way (e.g. markup, e.g. 
XML) to indicate the structure within that "file".
You can read this as "paragraph 2 OF chapter 3 OF the book".
I think I managed to convince Hans that on the long run, it would be much 
better to be able to

cat /home/peter/book

instead of

cat /home/peter/book/..../childcat

which is neither natural or obvious.

The trouble with this example is just that the person using the naming should 
not be required to know how the book is stored (by chapters or as one big 
object). [The whole point of uniting files and directories into objects is 
that this distinction should eventually vanish anyway. What you have on disk 
is a tree structure, and whether you give different parts of that tree should 
just be a matter of convenience. Which bits have metadata connected to them 
is another matter.]

Similarly, I would argue that if you want to know Robert's hat size, you 
should use

Robert/hat-size

and read it as "hat-size OF Robert".
This would be analogous to the conventional /etc/passwd read as "the passwd 
file OF the etc directory".

Another reading of the "/" operator would be "the value of", as in

subject/strike  to/elves  from/Santa

which would read as "the subject IS strike, the sender IS Santa, ..."
(It remains to be seem whether the "IS" and "OF" interpretation of "/" clash 
at some point. I can't see it at the moment.)

Anyway, my point is that if we can implement

Robert/size

for Robert's size then it is much preferable to anything more 
complicated-looking.
Also, possibly

Robert/..../size

should refer to the size of the Robert file (or object), rather than Robert's 
own size. This would be a very useful distinction to be able to make.

 Peter (Foldiak)

Reply via email to