[ANN] FuseFS-0.1

Howdy -

   FuseFS lets ruby programmers define filesystems entirely in Ruby. That is - with FuseFS, you can now create a virtual filesystem out of ruby objects, SQL databases, anything!

   FUSE is a Linux kernel module + library that permits programmers to do this without directly implementing anything in the kernel. (FUSE is what permits SSHFS and GMailFS in Python - Surely we can do better!)

   Sample proof-of-concept virtual filesystems include:

     "dictfs": The entire contents of dict.org's definitions are available at your fingertips! Mount it on a directory and "cat mountpoint/hacker" to see definitions from the Jargon file, Webster's dictionary, Free online computing dictionary, and more! (requires ruby-dict)

     "sqlfs": browse your databases rows and columns as mountpoint/tablename/<primary key>/field ! With full read-write support, you can edit your table entries in your favorite editor! (requires ruby-mysql)

Have I got your "oh the possibilities" creative juices flowing yet? Well it's here and ready for the taking:

   http://walker.deafcode.com/code/fusefs-0.1.tar.gz

You will need:

   * Linux with a 2.6 kernel
   * FUSE. On gentoo, this is as simple as: "emerge sys-fs/fuse"

You can read: README.txt and API.txt for how to quickly get set up.

Do note: This is a very preliminary version, and only something I've been hacking on a few hours a day since Wednesday. If you spot a bug, have a suggestion for a change, or want something with it, just email me - I'm open to suggestions, and I'm not locking its API down anytime soon.

- Greg Millam

Whoops! I've made a mistake in the packaging. As a result, I've fixed it, and releasing it as another version: FuseFS-0.2 (less than 2 hours later ... Yow! But don't worry, it wasn't a serious mistake, it would just call root.remove rather than root.delete as it should have, which was a minor API change I made for the release. )

   http://walker.deafcode.com/code/fusefs-0.2.tar.gz

Also included with this version is sample/yamlfs.rb - You can define a filesystem in a YAML file of Hashes and Strings! Editable, too. (dirs == hashes, files == strings)

- Greg

Greg Millam wrote:

···

Howdy -

  FuseFS lets ruby programmers define filesystems entirely in Ruby. That is - with FuseFS, you can now create a virtual filesystem out of ruby objects, SQL databases, anything!

  FUSE is a Linux kernel module + library that permits programmers to do this without directly implementing anything in the kernel. (FUSE is what permits SSHFS and GMailFS in Python - Surely we can do better!)

  Sample proof-of-concept virtual filesystems include:

    "dictfs": The entire contents of dict.org's definitions are available at your fingertips! Mount it on a directory and "cat mountpoint/hacker" to see definitions from the Jargon file, Webster's dictionary, Free online computing dictionary, and more! (requires ruby-dict)

    "sqlfs": browse your databases rows and columns as mountpoint/tablename/<primary key>/field ! With full read-write support, you can edit your table entries in your favorite editor! (requires ruby-mysql)

Have I got your "oh the possibilities" creative juices flowing yet? Well it's here and ready for the taking:

  http://walker.deafcode.com/code/fusefs-0.1.tar.gz

You will need:

  * Linux with a 2.6 kernel
  * FUSE. On gentoo, this is as simple as: "emerge sys-fs/fuse"

You can read: README.txt and API.txt for how to quickly get set up.

Do note: This is a very preliminary version, and only something I've been hacking on a few hours a day since Wednesday. If you spot a bug, have a suggestion for a change, or want something with it, just email me - I'm open to suggestions, and I'm not locking its API down anytime soon.

- Greg Millam

(!!!!!)

just, wow!

-g.

···

On 9/19/05, Greg Millam <ruby-talk@lethalcode.net> wrote:

Howdy -

   FuseFS lets ruby programmers define filesystems entirely in Ruby.
That is - with FuseFS, you can now create a virtual filesystem out of
ruby objects, SQL databases, anything!

   FUSE is a Linux kernel module + library that permits programmers to
do this without directly implementing anything in the kernel. (FUSE is
what permits SSHFS and GMailFS in Python - Surely we can do better!)

   Sample proof-of-concept virtual filesystems include:

     "dictfs": The entire contents of dict.org's definitions are
available at your fingertips! Mount it on a directory and "cat
mountpoint/hacker" to see definitions from the Jargon file, Webster's
dictionary, Free online computing dictionary, and more! (requires ruby-dict)

     "sqlfs": browse your databases rows and columns as
mountpoint/tablename/<primary key>/field ! With full read-write support,
you can edit your table entries in your favorite editor! (requires
ruby-mysql)

Have I got your "oh the possibilities" creative juices flowing yet? Well
it's here and ready for the taking:

   http://walker.deafcode.com/code/fusefs-0.1.tar.gz

You will need:

   * Linux with a 2.6 kernel
   * FUSE. On gentoo, this is as simple as: "emerge sys-fs/fuse"

You can read: README.txt and API.txt for how to quickly get set up.

Do note: This is a very preliminary version, and only something I've
been hacking on a few hours a day since Wednesday. If you spot a bug,
have a suggestion for a change, or want something with it, just email me
- I'm open to suggestions, and I'm not locking its API down anytime soon.

- Greg Millam

--
http://www.gmosx.com
http://www.navel.gr

Wow, that is one impressive library!
Thanks a lot, I can't wait to give it a go.

Cheers,

  Erik.

[ cut ]

You will need:

* Linux with a 2.6 kernel
* FUSE. On gentoo, this is as simple as: "emerge sys-fs/fuse"

Why do I need a 2.6 kernel ? It seems to run just fine on 2.4.30.

Cheers,

Han Holl

···

On 9/19/05, Greg Millam <ruby-talk@lethalcode.net> wrote:

Uhm...whoa. Way too early in the morning for this sort of power and possibility. I'm not on Linux, and I haven't ever said to myself "man, I wish I could do this"...but wow. Crazy cool idea! :slight_smile:

···

On Sep 19, 2005, at 5:42 AM, Greg Millam wrote:

Also included with this version is sample/yamlfs.rb - You can define a filesystem in a YAML file of Hashes and Strings! Editable, too. (dirs == hashes, files == strings)

(Another mini announcement already? Yow!)

FuseFS now has a project page on rubyforge:

Please download FuseFS from there, to ease bandwidth off my home server =).

   http://rubyforge.org/projects/fusefs/

- Greg

Greg Millam wrote:

···

Whoops! I've made a mistake in the packaging. As a result, I've fixed it, and releasing it as another version: FuseFS-0.2 (less than 2 hours later ... Yow! But don't worry, it wasn't a serious mistake, it would just call root.remove rather than root.delete as it should have, which was a minor API change I made for the release. )

  http://walker.deafcode.com/code/fusefs-0.2.tar.gz

Also included with this version is sample/yamlfs.rb - You can define a filesystem in a YAML file of Hashes and Strings! Editable, too. (dirs == hashes, files == strings)

- Greg

Greg Millam wrote:

Howdy -

  FuseFS lets ruby programmers define filesystems entirely in Ruby. That is - with FuseFS, you can now create a virtual filesystem out of ruby objects, SQL databases, anything!

  FUSE is a Linux kernel module + library that permits programmers to do this without directly implementing anything in the kernel. (FUSE is what permits SSHFS and GMailFS in Python - Surely we can do better!)

  Sample proof-of-concept virtual filesystems include:

    "dictfs": The entire contents of dict.org's definitions are available at your fingertips! Mount it on a directory and "cat mountpoint/hacker" to see definitions from the Jargon file, Webster's dictionary, Free online computing dictionary, and more! (requires ruby-dict)

    "sqlfs": browse your databases rows and columns as mountpoint/tablename/<primary key>/field ! With full read-write support, you can edit your table entries in your favorite editor! (requires ruby-mysql)

Have I got your "oh the possibilities" creative juices flowing yet? Well it's here and ready for the taking:

  http://walker.deafcode.com/code/fusefs-0.1.tar.gz

You will need:

  * Linux with a 2.6 kernel
  * FUSE. On gentoo, this is as simple as: "emerge sys-fs/fuse"

You can read: README.txt and API.txt for how to quickly get set up.

Do note: This is a very preliminary version, and only something I've been hacking on a few hours a day since Wednesday. If you spot a bug, have a suggestion for a change, or want something with it, just email me - I'm open to suggestions, and I'm not locking its API down anytime soon.

- Greg Millam