Hands on with the OLPC… uh, PC.

by jesse in ,


So, amazingly enough, after the amazing Django BoF, I went to go and see if I could pick the brain of Ivan from OLPC about the filesystem/object store more in depth.

First, I asked about the possibility of leveraging the mesh network with the the object-based filesystem to do data-spreading/duplication to act as a "localized" proxy for files - I could go into more about the idea - but the fact is is that Ivan answered it handily: Duplication of the files to maintain a complete number of replicant files is too expensive.

I then asked him about the scalability of the object-store, and he confirmed something I suspected. The Python-object-filesystem (yellow) is backed by an actual object/relational database (in the OLPC case, it's sqlite3 which is baked into python2.4). The back end DB could be replaced with another (postgresql/mysql) database to add scalability. Right now, he has the filesystem storing a huge amount mp3s/emails - so it sort of scales. :)

He also went on to describe custom metadata and other "objects (applications)" attaching metadata to any given file as well as revisioning/automatic merging

Of course, I'm looking at this wrong. I'm looking at this like a filesystem engineer working on large systems - not as a person trying to store a lot of probably small files in a finite amount of space.

When the filesystem is released: and if the Open source community could tackle it, I could see this as becoming more than a filesystem for the OLPC project - but damn if I don't want to help them out with this in the context of the OLPC project as well.

A python based filesystem storing files in an object/relational way with N metadata attached to each object is just awesome. Yes - other projects / companies have tried this (Microsoft/etc) for desktop systems... Oh god som many ideas. Immediate one? Bind it into fuse so I can mount it on my Mac.

Quote of the night - in talking about the purpose:

Yes! Electronic Legos to stimulate children's brains. -Ivan

(note: you could/can add storage to the platform from USB)

By the way, see this page to download and run the software. You can load it up and hack this shit out of it. Hot diggity damn. I'm loading it into parallels as we speak.