9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Enrico Weigelt <weigelt@metux.de>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] Taking plan9 concepts to *nix
Date: Thu, 28 Jun 2007 20:32:37 +0200	[thread overview]
Message-ID: <20070628183237.GA9717@nibiru.local> (raw)
In-Reply-To: <5d375e920706280959y3ab0ab5dveb82a158af21894d@mail.gmail.com>

* Uriel <uriel99@gmail.com> wrote:

Hi,

> This is an excellent idea, and one example of where 9P can work as a
> language and architecture agnostic application interface.

Thanks to the list folks, I've got some libs and examples for writing
servlets. :)
I'm going to fork out the libs to their own, pkg-config'ed packages.

Now I need some client library to access 9p2000 services from userland.
The userland applications, ie. mozilla should import that library and
acess the services through it. Services be represented by some line
of text (ie. an URI).

Any suggestion ?

> You might want to look into the GSoC project to write an Inferno
> plugin for Mozilla,

In fact, I do not yet know what Inferno actually is (didn't have the
time to try it out yet). Is it something like the Oberon runtime system ?

BTW: I don't intend to write any "plugin" for mozilla. I actually want
to away from that crap. The destiny is to heavily trim down the mozilla
tree and move out as much as possile to generic separate packages.

Before I know Plan9, my idea was to move things like bookmarks handling
to an separate (plain-C) library. That library should provide an quite
generic interface, so it could be used by virtually any browser or
similar application. Several storages should be provided by (optional)
backends. Traditonal "bookmark.html" and LDAP should be only a few
of them. Collaborative bookmarking (which is currently done by mozilla
specifc extensions) should also be dropped in there.

Now that I learned the simplicity of Plan9, all we need is an cross
platform 9P2000 client library and clean model for the bookmark fs.

AFAIK IE's and KDE's approaches go some bit in that direction
(at least they've got one file per bookmark), but still not far
enough. Many people have objections against splitting such things
into dozens of micro-files, ie. because not to waste OS resources.
With an minimalistic userland 9p2000 client and appropriate servlets,
we not just get it down, but also have an very simple interface to
support virtally any kind of bookmark storage. Also the trouble of
"profile sharing" (in other words: multiple access) would be trivial
to solve. Not to mention dozens of other problems this solved.

Having a quick look at Mozilla's bookmarks.html. If we want an similar
storage with "flat" files, we just need something like this:

* the root directory contains some dir "bookmarks", which represents
  top level bookmark dir. (we dont use / for that to have space for
  adding other things, ie. query interfaces, later)

* an bookmark is just an plain file with some random name and some
  fixed extension, ".B". (other extensions later could be introduced
  for other things). inside the bm file we've just lines which look
  like rfc822 (mail) headers. Non-ascii content is url-encoded.

* folders are specially marked subdirs, ie. with ".F" extension.
  additional metadata could be stored in an "INFO" file, also
  encoded like the bookmark files.

Well that would be all. Mozilla's bookmark handling would be
rewritten to just access this hierachy, via the 9p2000 client
library.



cu
--
---------------------------------------------------------------------
 Enrico Weigelt    ==   metux IT service - http://www.metux.de/
---------------------------------------------------------------------
 Please visit the OpenSource QM Taskforce:
 	http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
	http://patches.metux.de/
---------------------------------------------------------------------


  reply	other threads:[~2007-06-28 18:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-28 13:29 Enrico Weigelt
2007-06-28 16:59 ` Uriel
2007-06-28 18:32   ` Enrico Weigelt [this message]
2007-06-29  1:12     ` Roman Shaposhnik
2007-06-29 11:41       ` Enrico Weigelt
2007-06-28 21:08 ` Roman Shaposhnick
2007-06-28 21:29   ` Francisco J Ballesteros

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=20070628183237.GA9717@nibiru.local \
    --to=weigelt@metux.de \
    --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).