9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: tlaronde@polynum.com
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Multi-dimensional filesystem
Date: Thu, 16 Aug 2012 21:48:45 +0200	[thread overview]
Message-ID: <20120816194845.GA1519@polynum.com> (raw)
In-Reply-To: <CAPTfE6WVjYnJ+aU4_U1ZNeqdb111GXi1MRgX=7-XmUF10n-FZg@mail.gmail.com>

On Thu, Aug 16, 2012 at 08:02:52PM +0300, Eugene Gorodinsky wrote:
> >
> > First one, related to what I was wandering about, is mathematical
> > definitions and relationships. Take the picture of the first volume of
> > van der Waerden's Albebra (I have the german edition and will keep the
> > german words). We speak about links between notions presented in a
> > linear order: the order of the chapters:
> >
> > Galois theory chapter is the descendant of concepts from
> > Vektorräume, Fortsetzung der Gruppentheorie and Körpertheorie chapters;
> > Vektorräume and Gruppentheory being siblings ("children" of Ringe und
> > Körper) while Körpertheorie is a grand-child of Vektorräume.
> >
> > Example of multiple parents, and not at the same level.
> >
> > This seems to be possible to recreate with befs, but I have to say: this
> particular problem is too specific to be solved with something like a
> filesystem. One should write a fileserver only when that would allow the
> user to use multiple familiar tools to work on the task. With your example
> it looks like the only thing the user would need here is the list of
> related topics along with the description of their relationship so that a
> related topic could be chosen and read. You can use a relational database
> for storage of the content along with the list of related topics and a
> program that can browse that database and follow the links. A user would
> never even think about doing something like 'cp ./Galors theory/parents
> ./Galors theory/children, even though the approach of implementing that in
> a fileserver allows that.

I think you missed the point. What I have given is an example, what
indeed made me wonder, initially, about a way to simply store
definitions as a text file, the relationships between the notions
being described by a directory structure. It was obvious rapidly
that this won't do in a classical hierarchical filesystem.

Say it is a "thought experiment". I don't plan to write a fileserver
just to implement this example. But multidimensional data is more widely
needed than this example. I have indeed cases where a fileserver like
that would allow storage of some data already stored in a database
(served by a database SQL engine, for example), and for which the
classical relational database is simply not a match.

Files have the benefits that you can use the text tools on them to grep
or whatever. And the file hierarchy reflects what is given by indexing
in a relational database.

Last, I always find it useful when I program or when I learn to ask me
questions about "what if" (as long as I don't spend the bulk of time
beating around the bush). One learns with exercices, questions, reading
a book a pen in the hand, simply because this is the only way to leave a
track in one's mind. Even dead ends are useful, since you know what is
possible and what is not. 

And I may do strictly nothing, at the moment, with some multidimensional
stuff, but use some of the solutions sketched, or something thought
about passing,  or part of a detail, to solve a non directly related 
problem later.

There is a paper by D.E. Knuth, IIRC, speaking about the usefulness of
"toy programming". This is it.

-- 
        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
                      http://www.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C



  reply	other threads:[~2012-08-16 19:48 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-03 17:18 tlaronde
2012-08-03 18:58 ` Skip Tavakkolian
2012-08-03 19:25   ` tlaronde
2012-08-03 21:08 ` Burton Samograd
2012-08-03 21:12   ` Kurt H Maier
2012-08-03 21:17     ` Burton Samograd
2012-08-04  6:13   ` tlaronde
2012-08-04 10:56     ` Aram Hăvărneanu
2012-08-04 15:00       ` tlaronde
2012-08-04 12:16 ` Nicolas Bercher
2012-08-04 15:20   ` tlaronde
2012-08-05 15:29     ` Charles Forsyth
2012-08-05 17:36       ` tlaronde
2012-08-15 16:04         ` Eugene Gorodinsky
2012-08-15 17:33           ` tlaronde
2012-08-15 20:09             ` Bakul Shah
2012-08-15 20:17               ` erik quanstrom
2012-08-15 21:00                 ` Bakul Shah
2012-08-16  1:38                   ` erik quanstrom
2012-08-16  4:06                     ` Bakul Shah
2012-08-16 13:45                       ` erik quanstrom
2012-08-15 21:27               ` tlaronde
2012-08-16  3:47                 ` Bakul Shah
2012-08-16  5:34                   ` tlaronde
2012-08-16 13:40                     ` erik quanstrom
2012-08-16 15:41                       ` tlaronde
2012-08-16 16:06                         ` erik quanstrom
2012-08-16 16:28                           ` tlaronde
2012-08-16 15:59                       ` Bakul Shah
2012-08-16 16:31                         ` tlaronde
2012-08-16 16:48                         ` Burton Samograd
2012-08-16 17:02                 ` Eugene Gorodinsky
2012-08-16 19:48                   ` tlaronde [this message]
2012-08-16 20:11                     ` erik quanstrom
2012-08-17  6:48                       ` tlaronde
2012-08-17  7:48                         ` Lucio De Re
2012-08-20 15:17                           ` tlaronde

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=20120816194845.GA1519@polynum.com \
    --to=tlaronde@polynum.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).