'Storage' to Replace Traditional Filesystems?
JigSaw writes "OSNews is reporting on Storage, an innovative project which aims to replace the traditional hierarchical filesystems with a new document store which is database-based (PostgreSQL). The current implementation, built under Gnome 2.x for now, offers natural language access, network transparency, and a number of other features. The project is currently in alpha (screenshots already available), and it is part of the next major generation of Gnome. It is currently developed by Seth Nickell, the person responsible for the enhanced Gnome usability on 2.x and its HIG, among other things."
I thought current windows filing system was already database-based? Not that i know anythig on this matter, i just thought I read it somewhere. Can someone enlighten me please
it's better for programs to abstract data like that, the fs should only to provide access to the medium, nothing else.
I think Longhorn will be the first Windows with a database filesystem. It will probably be based on SQL Server
What an incredibly dumb thing to say... this is exactly what Longhorn is going to do, and they announced it well over a year ago!
storage-item.c:7:44: libpq-fe.h: No such file or directory
storage-item.c:8:28: libpq/libpq-fs.h: No such file or directory
sir, you dun have libpq!
It's really a sad that there was a perfectly good implementation of database file system, but the company wasn't able to topple a monopoly and got squashed. MS really should have just bought BeOS and ported everything over to it. They could have just called it LongHorn and released it this year instead of waiting until 2006.
Hopefully they plan on extending this to the networked environment, allowing multiple domain/realm file permissions, authentication, and encryption.
Anything to replace NIS and its bastard stepchildren.
SELECT * FROM MY_FILES
Does this mean that Linux will finally get rid of its insanely cryptic and esoteric Filesystem Hierarchy Standard?
Let's hope!
Command: please run current microsoft worm.
>
Big Brother Bush is doubleplus ungood.
If you don't understand what it means you probably shouldn't be playing with alpha-level software. It's not finding the PostgreSQL include files.
well, in fact, Microsoft keeps announcing that feature as part of the 'next release' since what... early '92?
I know, I'm the first to look for screenshots, but antialiased filesystems are a bit too much, maybe.
That's a good thing I think to separate filesystem and document storage. Better than vfs : either it's plain fs (simple == good for admin), or sophisticated document retrieval architecture with richer semantics than a tree (or graphs if you count links).
And then, do not let GUI apps show you the filesystem, only storage system.
Of course it's only wishful thinking. I'd be nervous to see exactly how this integrates into other "Legacy" applications. I can also see be performance penalties since you are now querying a database, rather than looking at a simple file structure...
But can they solve this
... this sounds familiar. maybe newdocms ??
Yeah, and as Longdong gets pushed back and delayed and delayed and pushed back and postponed and delayed, it'll be last to market but microsoft will still have been the first to announce it. I guess that's more innovative than they've been in the past when they'd simply wait for someone to do something interesting before buying them out.
It's not enough to say. One has to do. Microsoft has proved many times over that it often makes grand announcements only to provide something far more watered down by the time they get to market.
We'll see what they're DB-based file system really is when (and if) it gets here.
Outside of a work environment, I've rarely encounter anyone who keeps consistent, useful filenames, let alone metadata indexes; it seems to me that people will skimp on the metadata, and thus limit the usefulness to metadata that the computer can collect automatically ("All movies that last under 90 minutes"). It's like CD collections, or books; libraries have nicely catalogued and ordered collections. Private individuals don't; they have roughly ordered collections on the shelf, and don't bother keeping them in any better order. I suspect the same will happen with these metadata systems; people won't do the work needed to make them truely useful.
I appear to have a blog. Odd.
Well, and BeFS DID it ... seven years ago ?
This certainly seems to be the trend in filesystems these days, this must be at least the third slashdot posting about a database filing system I've seen recently. Does anyone have any information on how reliable they are (which I'd imagine would be the major concern about such file systems)? I'm guessing they will not replace ext3 etc., merely be used where applicable.
I don't know how a database system can improve a file system's performance, especially with the unnecessary overhead associated with, the current state of the ext3 file system is doing quite well, and updatedb/locate works fine for me.
What can really interest me is something like updatedb/locate but with SQL syntax support, this could be awesome.
The IT section color scheme sucks.
> I know, I'm the first to look for screenshots, but antialiased filesystems are a bit too much, maybe.
Reminds me of an internal joke we have here. Our ClearCase file server was an SGI.
Why?
Because the filenames were rendered so much prettier than on a Linux or Sun box...
How should I know what's in the storage in the first place if I cannot browse it ?
.2 euros
My
What then happens to SQL as a MS product? If its built in to every OS, why then would anyone buy it.
Remember how Windows XP Home and Pro editions can serve files only to less than a dozen simultaneous clients? This is to boost sales of the IIS bundled with Windows 2000 Server and now Windows Server 2003. Microsoft SQL Server Home Edition will probably be limited.
Will I retire or break 10K?
You mean I can just do a SQL script and like magic organize my files?! OMG! My desktop won't look like this anymore
You know, standard sci-fi talk to your computer in normal english and get results kinda crap :)
I can't think of a good sig...
The filesystem on AS400 is actually a db2 database and it work quite well
To my understanding, the delay in Longhorn's release is a result of the TrustWorthy computing initive...
This, IMHO, is a good thing. The big difference between MS and Open Source on something like this... in Open Source land, you can often see progress from day one... no matter how unstable it is. With MS, you wont see anything until the whole product is done... Not saying one is better then the other, but...
Not looking at screenshot 15 it isn't!
o ssible-but-with-new-WizzoFS- etc etc
"select DISTINCT(recordid) from AttrSoup...."
Well call me old fashioned , but in my day we called that SQL. Why do I get the feeling this is
just yet another database dressed up to look like its providing some always-wanted-but-until-now-folks-it-just-wasnt-p
Call me a cynic but I've seen it all before. Besides , databases are inefficient for manipulation filesystems at a low level so expect
your PC to crawl if you use this on a regular basis.
It's about time we started playing catchup with BeOS's filesystem. Though this seems more user-land when a function like this (file systems) should be more kernel-land.
:)
This is essentialy what Longhorn's taked on SQL extensions are going to provide, and I had no idea there was ongoing progress to have this functional in *nix so soon! By the time 2005 rolls around, I have a feeling this will be a lot further a long than microsoft's implementation.
*cracks whip* On zerocool, on uberh4ck3r, on coding monkey! We're catching up
- tristan
So it's about that time again. The old database is a filesystem is a database thing. To people that have not heard of this before this is not a new idea. OS/390 has been doing this for a very long time.
What this world needs is a really big injection of orginal thought, not a rehash of every idea that gets old enough for most people to forget it the first time around.
Check the screenshots: How exactly do you get all those movies on disk without doing something "illegal"?
This is all great but how is this project going to work with languages other than English?
Your pizza just the way you ought to have it.
I have a new way to get between point A and B. I call this product "Car". To fuel it, I've started a fuel company called "Gas". Of course, people will abuse "Car", so I've also created something to keep them in line, called "Fuzz". Fuzz will be powered by what I call "Donut".
(hey, it's Friday, gimme a break :-)
Please help metamoderate.
Antialiased filesystem? Is this eight bits to describe 128 shades of "0" and 128 shades of "1", or is it one binary bit plus an eight-bit alpha channel?
Damn, I knew this hard drive space "age of plenty" was too good to last. Curse you, Moore's Law, for taunting me so!
Is this method of finding and storing files patented?
It seems silly to tie the implementation to a single database, when gnome-db is fast approaching 1.0.
Then use db2/oracle/mysql etc. Porting should not be that hard.
This idea really is interesting!
However, I wonder how it will take metadata from files and put it into the DB directly... like for ID3 tags for example...
Will there be intelligent plugins a la Reiser4 that will transparently do this?
You still cannot reliably backup PostgreSQL databases
What's wrong with pg_dump(1)?
I'm hoping that you are a bit out of date, pgdumpall works fine for me. Since about 7.1 it's done large objects as well. I'm a bit worried that it's not working fine for me and I'm living an illusion. What exactly does it not back up reliably?
Carpe Daemon
"But I think that the result will probably be less resilient to damage and result in an increased possibilty of losing your data or finding them corrupted."
Well someone better phone up Oracle and let them know. Oh the horror.
wtf is this going to help ? People are as much boneheads in putting the right attributes/keywords on a "file" as they are to categorize them in a hierarcy(traditional filesystems). Why is this so great ?
U2 albums, Spielberg movies, Nicole (Kidman?) movies... I think someone is in trouble!
/mobile aspect (even Coda, AFS and friends are not yet widely accepted/ready for prime time).
As for the idea of database file systems -- I don't think we need this yes. Both file systems and database research should concentrate on distributed
I passed the Turing test.
Old Slashdot articles:
one guy
How-To
OpenBeOS
I hope they add a DBI soon so I can store all my files in a CSV file.
this sig limit is too small to put anything good h
I personally like the way reiserfs is roadmapped. If I understand it correctly it will be a superset of existing filesystems. That is /home/myname/documents/report/2003/ will still work, but then so will /documents/reports/2003/myname; and so on.
Multiple paths to the same object seems perfect to me.
Carpe Daemon
great, so now navigating the data will be like playing leisure suit larry! at least that's what I was reminded of when I read the queries in screeshots...
erik
...all excited, don't know why...
SET welcome = TRUE
WHERE name = 'PostgreSQL';
What exactly does it not back up reliably?
It sometimes dumps database objects in the wrong order, and restore fails as a consequence.
No, Longhorn is about putting SQueaL Server in between the user and the file system to cock-block any attempts at mounting the filesystem without paying a vig to Redmond.
Longhorn is aptly named. Brings to mind the ithyphallic eidolon from Schrodingers Cat Trilology by Wilson.
Frank Zappa's advice comes to mind: "Keep it greasy, so it'll go down easy".
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
"Well, where do you go?"
"Stanford."
"No problemo, I'm heading that way later and I can grab it for you. What's your room?"
"Dorm 5, Room 109. It's the desk on the left."
( We didn't bother to state earth.us because we were already inside those directories)
Yes, yes we do think heirarchically. Most of the history of human thought has been fitting everything we can lay our filthy little brain cells on into heirarcheis, whether they wish to fit into them or not. It's intuitive.
As for natural language didn't we learn about that with COBOL? Natural language only speeds the learning process slightly ( the majority of the learning still lying in the realm of understanding the basic concepts involved), but then becomes a pain in the ass forever afterward.
Looking at the screenshots it's also ugly as all sin. The physicist in me can't help but feel that a model that ugly can't possibly be correct.
I think this makes just about as much sense as using a document preperation language (XML) as the basis of a database.
Which is to say, none.
KFG
Quite a while back I made suggestions like this indicating that this is the direction that most of the computer industry is moving in. I am certain that I am not the only one that was thinking this way and this project proves it. The natural language feature is something that surpasses my original concept of predefined end-user datatypes (movies, music, documents, mail, etc...). The only drawback I can see to this kind of system is the amount of horsepower needed to run it. But as long as the requirements stay below those of M$, I think all will be well. :)
Un-news
And do not forget about BeOS, a pioneer of a database-like FS. There is also a BeFS for Linux.
Sig. under reconstruction.
Current filesystems are nothing more than hierarchial databases. While relatively straightforward to implement, hierarchial DBs have major drawbacks, e.g.
- Complex searches are slow;
- Integrity control is hard;
- There's no decent way to refer to an item in several distinct branches (hence the kludges like symlinks in filesystems).
Database world has been moving from hierarchal to relational DBMS since the late 70's. It's about time for filesystems to catch up.
Lisp is the Tengwar of programming languages.
I guess you meant BFS, the BeOS filing system ?
I worked with it and it was really good.
The guy that wrote it also wrote a very good file system design and implementation manual which I can't find anymore on O'Reilly's web site...
Trolling using another account since 2005.
Am I the only one that isn't totally into the idea of "googling" data on my hard drive?
Granted, it's mostly pr0n on there, so it's almost the same thing, but still...
"It is seldom that liberty of any kind is lost all at once." -David Hume
I imagine there is some benificial reason for doing this, could someone explain? Seems like the time required to attribute all the information to each file in order to get an advantage in finding your files would be more work than just building a logical directory structure with many sub-directories and symlinks. (We are talking about a databased file system, and not just a database of file information right?) Surely that can't be all to fast? Is it faster for me even if I know where I put my files?
Got a link? What version did you experience that in? I have had a problem with the restores before but I don't think it was that. The problem I had was that the extra stuff that gets added to template0 gets backed up as well. That means that when you try to do a restore you get loads of errors that things already exist. The solution is to use template1 as the basis for the target of the restore, which really is the empty database.
Carpe Daemon
I'm developing an embedded platform using the flash filesystem and I'm implementing the database on the filesystem. Hopefully, no one ports a layer such as this on top of the database to provide a filesystem ...
I feel a "GNU is Not Unix" coming on!
Having SQL Server as the underlying filesystem technology doesn't mean that you're going to be running SQL Server directly. I mean, if you currently use NTFS, there isn't a NTFS daemon that the kernel connects to when it does filesystem transactions. Just like every other filesystem, the support will be built into the kernel. Instead of writing data as NTFS does, the structure will look a lot more like how SQL Server stores data -- with built in indexes, etc.
Many database servers already have some fairly optimized code when it comes to file access. This just implements it at the kernel level, rather than having it sit on top of a traditional fs.
If it is then your attack on postgresql seems a little unfair.
Carpe Daemon
Actually, Be had two flavors of "filesystem as database" in widespread deployment. OK, not as widespread as Windows, but certainly thousands of users. The first version of Be's filesystem, by Benoit Schillings, was very database like, but performance was so-so. The second version of BeFS, by Dominic Giampaolo, was less general in implementation, but had the same metadata-driven capabilities. There's an interesting article on this at http://www.theregus.com/content/4/24485.html. Basically, Be did everything that this project is talking about, years ago. That's not to take anything away from the project -- it's cool if more mainstream operating systems catch up to the innovations of niche players, because more people benefit. Dominic is working at Apple, so there's hope that MacOS X's filesystem will start incorporating the rich-metadata, dynamic view model of the world. And while MS has (I think) pushed the "filesystem as database" out of the next version of Windows NT/XP/whatever, it's still planned for the next version after that, so perhaps in a deade or so we'll all be able to do what Be did back in '91. And of course, Palm owns the Be code, so perhaps PalmOS will lead the way?
Enable 3D printed prosthetics!
Sadly, contrary to urban myth, anal sex is not an effective form of birth control as sperm can easily make their way through...
I actually like "earth.us.stanford.dorm5.room109.desk2" rather then "My roommate's desk" !
Would someone who has 100,000 files please provide us with examples of what kind of files they are? I simply cannot imagine why anyone would have such a great number. Without examples it is nearly impossible to imagine any use for such a filesystem.
I remember reading about this idea a few years ago, it may have been on /. If it didn't catch on then, it probably won't now.
BTW - there is an operating system that uses a database instead of a file system, it's called IBM OS/400.
grisha.org
Legal firms now have no reason to ignore Linux as an alternative to Microsoft bloatware. A decent Linux based, Indexable, Document Management System implementation is the final piece of the puzzle. Maybe...
"Database world has been moving from hierarchal to relational DBMS since the late 70's. It's about time for filesystems to catch up."
How about a database filesystem based on set theory?
Now we can finaly feel like we are aboard the Enterprise by going through our "personal database"!
I think the current filesystem paradigm is due for replacement (I don't know who invented but it's probably *at least* 35 years old) but with a relational database? This is already an aging data storage model.
Storage is storage and there is no reason to differentiate between filesystem and database. But we could use an object store. Or an object-oriented database if that's any different. Build in document management / version control.
CVS as your file system? There are so many possibilities if you are prepared to rewrite this sub-system anyway...
Never trust a man in a blue trench coat, Never drive a car when you're dead
Everyone is everyon is looking at this from the Geek perspective. I teach computer technology to absolute beginners and the file system is the MOST confusing aspect. Most people have trouble with it and some people will never get it. If a database driven file system had a very simple interface (i.e. text searching that had fuzzy logic so that misspellings were okay) it would be GREAT for 90% of the population.
http://www.cs.wisc.edu/shore/
its Value Added Server architecture would lend itself quite nicely to this effort
Old age and treachery almost always overcome youth and skill.
http://tentei.org/gargamel/
It was called IFS and Oracle did it like, almost four years ago.
Versioning and various other metadata existed. It could be exported via SMB, NFS, FTP, and as a regular "local" windows filesystem.
And, why is this such a great big deal? I don't see the same stink raised as the possibility of Longhorn having a DB for a filesystem.
The copper bosses killed you, Joe. 'I never died', said he.
Am I the only one that immediately thought that the screenshots were missing an "L" on the end? Wow, it just occured to me... I'm getting old.
There's no place I can be, since I found Serenity.
> How about a database filesystem based on set theory?
:)
I am not quite sure what do you mean here. In a way, everything is based on set theory
And what kind of set-theoretic capabilities you want? Many of them can already be done on relational databases efficiently: intersection, union, etc.
Lisp is the Tengwar of programming languages.
1995 Signs to Cairo
1996 Unearthing Cairo
The so call Longhorn WinFS directory is just another rencarnation of the Cairo object orientated file system.September 1, 2003 Eweek 'Longhorn' Rollout Slips
Microsoft have been attempting this type of functionality since 1991, over a decade. Meanwhile, one open source GNOME developer, with help from the other core GNOME developers, provides most of the features within months.People don't seem to see how great this is. Maybe it's because most people don't have all that much data.
On my home systems, I have over 250GB online. That doesn't even count my music or videos/movies, which I keep on seperate, removable, optical storage.
I can tell you from experience, that managing that much data is a huge hassle. Let's say you've got your files organized well. You probably have hundreds of folders for each subject, and you have to broswe to each one with each new file you save. I have a folder (several actually, for various subjects) where I save thing that I've haven't taken a look at yet. Let's say it's a program that I haven't installed. Well once I do install it, I need to clean up all the temporary files, then browse around to another folder (takes a minute or two when you have hundreds of folders), where I save installed programs, and browse to the appropriate sub-folder, and save it. But then I end up doing the same thing with a video clip... Watching it, deciding to delete or save it, then browsing to a sub-sub-sub-sub folder to move it.
Of course, that's enough of a hassle, but things get complicated when I want to move things to another systems, which obviously isn't going to have the same filesystem. Merging each individual folder, into each different folder is seriously time-consuming, and teedious. Without fail, there always ends up being a couple folders in the wrong place, because they were a sub-folder of something else, that I did happen to see when I coppied the contents of the folder.
Then matters are even further complicated, because I may choose to delete older content months later or so, and locating everything is a huge mess.
Personally, I would like to save everything in one place, not having to change folder to folder for each file. When saving something, I could just enter a handful of keywords (eg. "picture penguin snow") which would be much less work than moving to directories or even typing in a long filename. From there, a simple database system would be be able to know what type of file it is, how large it is, and how old it is. That would make it incredibly easy to manage. Whenever I want a file, I type-in "images older than 1 years" or "programs marked as archived" and I get EVERYTHING I'm looking for in a fraction of the time. Not only that, but it makes pruning out old data as easy as it could possibly be. Just search for "linux" and delete older version, no worries about what folder it's in... If it's in a temporary folder and you haven't used it yet, or if it's archived and been in-use on your system forever. Obviously you'll be able to see that information, but unlike in our current systems, it won't stand in your way when you want to find things.
It's absoultely no work at all to transfer files, since the info should stay with them, and it will automatically integrate perfectly with your local file management/organization scheme. What's more, data like marking something as "archived" is great in that your system could automatically move it over the network where you archive your files. Since your filesystem would be a smart database, when you search for the file, it could still turn up in the search results, and be automatically moved back where you need it, when you need it.
Personally, I think this would not only save time and effort, but money as well, because so many people wouldn't be dealing with their file problems by just throwing more space in their systems, instead of spending time on figuring out where every file is, what they can get rid of, dupilcate files, and junk like that.
With this, I should be able to say "tar -xjf 'newest version of mplayer'" However, this will need to be in the actual filesystem to be useful, not just supported for GNOME applications.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
> SQL is slow compared to things like BerkeleyDB
:) But modern RDBMSes have integrity control facilities as well.
BerkeleyDB is a hierarchial database. SQL is godzillion times faster on complex searches.
> Your database becomes corrupt, you lose everything.
Your filesystem becomes corrupt, you lose everything.
And yeah, I know about journaling, so don't bother
Lisp is the Tengwar of programming languages.
This is just a thought, but it intrigues me. What about sockets (pipes and fifos possibly too) using this method? Imagine the firewalling possibilites alone. Wow.
Another stray thought. What about compressing the database records with Gzip on a PCI card?
You are yet another brainwashed goon who actually believes Microsoft is innovative.
Name one thing Microsoft innovated that is revolutionary. No, I don't give a shit what they stole from some poor company and marketed as their own invention. Let's hear the hundreds of examples innovative ideas from Microsoft.
What we need is to get some information storage/retreival experts to provide some guidance to the developers of these ideas.
Librarians have been working on these problems for centuries, why not start with what they know?
There are still problems of this kind. The dependency tracking might eventually fix this, but only for new databases.
how new virusses will look like:
DELETE * FROM MY_FILES ??
You can find it here and here.
Didn't someone do this for BSD ages ago? /...
Even think I read about it on
Ethics is what you say you do. Morals is what you actually do.
#include "all headers relating to my current project"
#include <all system headers>
int main()
{
int InChar;
FILE *InFile;
InFile = fopen("that one file-- you know the one, right?", "r");
InChar = fgetc(InFile);
while(InChar != EOF)
{
printf("%c", (char) InChar);
InChar = fgetc(InFile);
}
fclose(InFile);
}
You know, we all laughed at the guy, but he was right all along about the rewindable desktop! Viva la Propaganda!
that's more innovative than they've been in the past
Not true, Microsoft copied the concept from IBM's AS400 series which had a DB2 based filesystem option back in 1997. I'm sure it was around ealier that but that was my first experience with it in a production environment. There is no Microsoft innovation here, move along.
There is a mirror of the images at
t ho ts/
http://www.dark-hill.co.uk/~seth/storage/screen
Dougie
Doug.
This is about as "insightfull" as every other "MS sucks" message that gets posted here.
this is a database after all. It would be cool to have this filesystem know all files that exist on my CDs, DVDs and remote filesystems (a.k.a. all files at home i can access in some way). This way i can figure out that file 'xyz.mp3' is on a CD named 'many albums' folder 'xyz'. this can be expanded to "import" the filesets of all my friends. The advantage would be that i can search for stuff that's not actually located on my pc but still know "where it is" and use metadata (id-tags, ...) to search for it. I can access the files later (by telling my friend to send it to me, by grabbing the CD or booting the remote machine...). What do you think about that idea?
Here
My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
http://theregister.com/content/4/30670.html
"The oft-misunderstood Windows Future Storage (WinFS), which will include technology from the "Yukon" release of SQL Server, is not a file system," reports Thurrot. "Instead, WinFS is a service that runs on top of - and requires - NTFS."
Although this is an interesting idea, an all-relationsl filesystem would prove to be a usability nightmare.
The relational zealots are quick to point out that a relational system can model any sort of data. Indeed, it can do this. This does not, however, mean that it's always good at doing this. Sometimes it's the right tool for the job, and sometimes it's not. In this case, it is very much not a good tool for sole access to files on the system (though it can make an excellent tool for complementary methods of access).
The reason that hierarchical filesystems have survived for so long is due to one thing: navigability. It's relatively easy for any user to browse what's on the system and get a good idea of how it is organized.
You can't navigate a relational system, which will prove to be the downfall of any all-relational system which comes into being. You can, of course, do a SELECT * FROM volume if you really want to, but that does exactly that: it gives you all the data, with no particular organization. Examining the entire "sea of data" suddenly becomes cumbersome in the extreme. So while User A might be able to set up an all-relational filesystem completely according to his own tastes, User B will be totally lost on that same system. This is, to say the least, a nightmare for anyone working in a shared environment.
This is not to say that the relational model isn't necessarily a useful thing for filesystems. On the contrary, it can be very useful for certain kinds of searches. As time goes on, I believe we'll see more relational-style searching technology incorporated into file managers and search tools. However, there also needs to be a means of hierarchical navigation. Humans tend to think of things in terms of locus, and a means of providing that kind of reference point have to be maintained.
Luckily, this can actually still be emulated using relational-style tables, even though it's somewhat less efficient than classical storage techniques. Some filesystems already do something similar to this, and the results are promising. Look at Be's filesystem for an example of that.
The best way to go, moving forward, is something not unlike what BeOS did, with both hierarchical and relational methods of examining data. This allowed for the best of both worlds. The default method of getting at data is still the hierarchical paradigm, but relational searches can be applied to create what some have called "smart folders" (perhaps "boxes" might be a better term?) Systems like this "Storage" should be focusing on complementing traditional systems in this way, rather than replacing them.
Isn't ReiserFS going to address the same feature set, but from the other direction, with balanced B-Trees?
I knew then, knew utterly,
the deal done in my heart forever,
though how I knew not,
nor ever have.
Keep it simple, stupid.
I wonder what the computer scientist to computer user ratio is. Too high.
Why stick up for big business?
on something that is based on that same idea. It's based on Windows blah(do not flame me pls) using SQL server. Our company has scanned all their paper work into .jpg files and I've stored them in a large HD. Right now we are at about 35GB worth of files, with a directory structure that's getting deeper and more difficult to deal with. When employees want to access some information, they have to go browse through directories and directories to get to that file. People are complaining that not only can they not locate files(some do not know how to), but it takes them up to 5 minutes to locate one file, while the customer is on hold. Now in a slow day it's ok, but when you have a lot of calls on queue it's not good. So what I did is I wrote a program that searches through all the directories and adds the path of the file to a database, adds the file name to another field and any other file info to a third field. A simple interface will let you search the DB and list any matching files, where you can click on it and open it up. Now is it easier to find 'John Doe 123456.jpg' buried amongst 30,000 directories or just type John Doe and get your file?? Windows search crashes or takes forever to iterate through all the direcories. What Gnome is doing would make the life of so many people so much easier. Probbably convert quite a few Closed Source customers to Open Source ones as well I am sure
The phaomnneil pweor of the hmuan mnid. Fcuknig amzanig eh!
and you will be set. Look, my Mom and most coworkers here never use a filemanager. They work in their home-directory on the Lan and open and save their file from whatever application they are using. Personally I found that most of them use Outlook as their "Filesystem" of choice since they can search an assosciate comments with files (aka attachements). If the Gnome FileDialog would be innovative and functional (I love GNOME, but this special part is a pita.) this could replace all Database/FS overlays. Its neat to search for files in plaintext but after all its just another Nautilus feature and not a whole new Filesystem approach.
Just my opinion...
cu,
Lispy
Microsoft didn't really put in much investment in Cairo after it was pretty apparent that nobody really cared for it at the time. Most people really don't like novel ways of doing things. There is too much investment in the old ways atm. I guess if the world were different, we would all be using Microsoft Bob right now.
So, I think this GNOME thing will also sizzle out after a while.
I've lost track of the names and attempts, but this has been tried a large number of times of times of the past decades. Its a good idea to integrate a DB into the OS. However, computer users seem rather conservation and stick to the old tried-and-true ideas. Look at how attached we are to the 36 year old Engelbart windows GUI, when many alternatives have been tried.
Hmm, not quite super star. SQL Server is not an object oriented database, so I highly doubt that WinFS will be.
shouldn't the Gnome people protect themselves now before we get into another "X corp. vs OSS" battle?
BTW: Notice I didn't use Caladera's "new name"
a DB-backed filesystem is a genius idea until some asks: where should the database write its data files? ah, yes, the filesystem!
I think it's become the perpetual movement problem of the software industry.
there's no place like ~
Is it just me that sees this as a really bad idea? Nothing against the gnome project, you understand, but I see no earthly reason why a filesystem should require X Windows, let alone a full-blown desktop environment. Surely this kind of thing should be a kernel-level project which userspace tools can hook into as needed, whether from gnome or KDE or the CLI?
Anyway, I thought Reiser4 was doing exactly what this promises, but with the advantage of a proven track record on high-performance filesystems. Perhaps, if gnome wants this kind of functionality, they should base it on Reiser4 which will at least be widely-used and not locked into the gnome project.
"'I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'"
- JRR Tolkien.
If the user never sees that part of the filesystem directly, does it still count as a "filesystem", per se?
Also, it should be possible to build this thing directly on to drive partitions, in the same way Oracle can. Do that, and it's really not a "filesystem" in the same way we normally think of one, is it?
It just means you've got a missing library. That is not as fatal as the error messages may lead you to believe. See, the error messages don't just say "it's broken" and the more messages you see, the worse broken it is. In fact, the messages actually tell you how to fix the problem, if you have achieved a sufficient degree of oneness with the hardware.
.h forms part of the source code, and is needed when you are trying to link one programme to use functions declared in another programme.}
It was all going fine up to the point where we saw storage-item.c:7:44: libpq-fe.h: No such file or directory. Beyond there, the errors are going to mount up and up unavoidably.
In my experience, any package that wasn't put together by the distribution maintainers {and not a few that were} is likely to be a little problematic. Simply because it's not easy to remember what programme referenced what header files when you were compiling it. When the project reaches maturity and is released as a standard package, then the dependencies can be checked in earnest, so any library you need will be installed for you by the package manager; and probably everything that can be precompiled before building up the package will be. Only stuff that absolutely has to be compiled in-situ will be. In fact, many packages contain only binaries.
You haven't stated what distribution you're using, so I can't say for certain, but try to find a package called libpq-devel or something like that. In general, if there are two packages with the same name but one ends in -devel or -dev, that's the "extra stuff" likely to be needed by developers {and it will have a dependency to automatically install the other one anyway}. These packages contain the header files {*.h} for the pre-compiled binaries in the main package. {The
It took me a few evenings of hair-tearing to work this one out, but you just have to remember the computer hasn't got an initiative to use, so it relies on yours. Now I install the -devel version of anything just on general principle.
Je fume. Tu fumes. Nous fûmes!
The very first applications will be metadata of various mime file formats (not that everyone will follow it. Someone capturing a video to file will not have time to fill in all those blanks author title etc). The second application will be network access but that will be tricky. New permission fields including of course ACLs that include hosts as well as users and possibly md5 hashes etc will also be included.
Now with all the additional information.. ~10% of the file for smaller files, that adds to the space. The database engine adds to the overhead too. Does this mean we can no longer install RedHat on a Pentium 90MHz and use it as a firewall, mail server, file server, web server and other things in between? I know I wont be in a rush to use such a filesystem in a production server. The conceptual overhead is in itself too much. I'm used to the hier(1) streucture and sharing files using UNIX permissions through NFS and SMB. Took me 8 years to get really used to it all.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
An OT side-note:
Just as each of us has our own organizational scheme for our own bookshelves, libraries tend to vary more than we think too.
Just about every school and community library you'll find uses Dewey Decimal, of course, but others have other schemes.
For instance: the Library of Congress, in order to conserve space on their shelves, orders their books by size. (No, I'm not kidding. Look it up.) The directory is computerized, of course, so aside from the inconvenience of having same-topic volumes wildly separated in space, it's not a big deal for them.
Allegedly real newspaper headline from 1998:
Man Struck by Lightning Faces Battery Charge
Modern RDBMSs already have the ability to store blobs. They can also store pointers to external files. Why not keep your meta data in the database, and point to the files in the file system? This could be fully automated in your browser, for example, so you would 'check-in' information and files you want to keep track of. On a very simple level, you could register random scribblings, categorizing and commenting on them in ways that are impossible with current file systems (objects having multiple categories associated with them, categories and sub category relations that are not strictly trees, etc..)
I think we already have the tools, we just need some smart people to build the applications to leverage it (ok smart people! get to work!)
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain
My guess is that they'll use MSDE, which is already freely available and "royalty free". I think it's basically just the core of SQL Server without any of the extra tools.
Okay, show of hands: who uses the Metadata fields? Anyone? Anybody even change their Excel username, or is it still the same "User" or "I.P. Freely" they used when they installed the software? Anyone? Thought not.
Alarm bells ringing at Redmond: now they are even copying our vaporware! Push back the release dates, hire some programmers, we have to actually implement this stuff!
I don't agree.
It seems to me that this has the same benefit as having globals in programs.
I mean - globals are great: instead of passing a zillion of parameters to every subroutine, you just have a global called 'soup', and then if you change soup from 'chicken' to 'noodle' all subroutines that deal with the soup will immediatly know that the type changed.
The problem is that it all works nicely when everything works well. But if you try to debug a program, to see how soup got to be 'nou%^%$&*", things are much less nice.
Same with a global data structure instead of files. Imagine you'd have to figure out which program keeps moving your appointments to monday everytime the 29th of april arives.
Apparently the author is not familar with IBM mainframes/MVS/JCL and the various technologies.
I've got this great study that shows users find it easier when file paths show the filename first, then the path.
Example: file.txt\username\home\
Users also prefer backslashes to forward slashes. This study will make Storage become a huge success like Gnome 2!
This might just be the most important development in computers since the dawn of the masturbation superhighway. Think about it; this will allow us to archive our pr0n collections like never before. Gone are the headaches of hierarchical filing conflicts. (Should lesbian threesome photoshoots be filed under /threesomes/ or /lesbians/? What if there's toys involved? Which fetish takes precedence?) Gone too, are the ever-deepening directory structures required to keep up with the diversification of smut. (At what point should separate directories be created for American and Japanese bukakke? After how many files/megabytes? Where to put the German variety of bukakke?)
My friends, we are entering a new golden sho^H^H^H age.
Hee-hee. Dying tickles!
I for one welcome our new storage masters.
it's webbased written in perl with everything stored in a postgres database. i found that with thousands of multimedia files (mp3's, avi's, images, etc.) it was impossible to find the stuff when i want it. now i can find an image from my 2001 trip to nebraska by issuing the following queries:
file_keywords: 2001 and file_keywords: nebraska and mime_type:image
some of this information can be extracted in an automated fashion (like mime types can be found throught file::magic), the rest of this information needs to be entered at some point, but once the files have been described it can find things pretty quickly. also i can group frequent queries together using lists. so the list:
images::vaction::nebraska can be associated with the above query making it easy to generate relevant hierarchies. so that some of the same images stored in image::vaction::nebraska can also be found in images::produce::corn.
if anyone is interested in using this send me an email. i'm about to put it back into the cvs. i've spent the last few months cleaning stuff up.
-- john
I was thinking of something similar myself. Only I would have done it with KDE as a frontend and MySQL as a backend. Or even right at the filing system level, with a bunch of extended attribute tags. Beyond that, it's the same thing. No confusing directory/file hierarchy; files arranged thematically. So every mp3 file would have its "audio" attribute set, for instance. Now when you want to look for mp3 files you don't have to remember "did I put it in /home/ajs318/files/music/mp3/levellers_the/hello_p ig/ or in /home/ajs318/songs/rock_pop_indie/levellers/albums /hello_pig/" kind of stuff. Because all files would be in ONE directory, and the mechanism for isolating you from files you aren't bothered about and would get in the way doesn't depend on putting them somewhere else.
.....
I guess the real-life analogy would be a collection of clutter-resistant spectacles that blank out objects not of the type you want to find. So when looking for clean underwear, I need only put on some glasses through which I can see only items of clothing in order to narrow my search, rather than looking in a specific place for specific items. Hmm. Actually those would rock bells
Je fume. Tu fumes. Nous fûmes!
No, this isn't what is needed. Hierarchical object-oriented persistent object trees is what is needed.
Let me explain.
Information in real life is organized in trees. It is obvious anywhere one can look. From the organizational chart of a company to the chair that you are sitting on, everything is a tree; a tree of information, where each little piece of information consists of other pieces of information.
If you check computer applications, almost all application contains some sort of tree. Take a Word document, for example: the master document, the contents, the heading 1 and subheading paragraphs, the pictures, the drawings. Everything is a tree, and the document can be browsed as a tree.
Take your favorite mail client. Information is organized in a tree: inbox, outbox, sent, trash; each of these contain an e-mail. An e-mail itself is composed of subject, body, attachments. The body consists of paragraphs; the attachment consists of files.
Take your favorite drawing program: the picture consists of layers; each layer consists of shapes; each shape may consist of other shapes.
Take your favorite 3d/cad program: a 3d object consists of other 3d objects.
Take the gui: a window consists of other windows.
Relational databases don't provide tree organization. I don't want a freaking flat table to store my documents. I want to organize them in trees. That's why a filesystem has subdirectories.
The biggest problem of the current filesystem technology, is that a 'file' is as dumb as it gets: it is just a collection of bytes, waiting to be manipulated by some other program. It is even untyped, for God's shake!!! one program may view it as a series of bytes, another program may view it as text, another program may view it as code!!! The file itself can't tell you anything about its properties, about its contents, about the way it is supposed to function....
If a file could tell the outside world how to be operated, then the world would be a much better place. If a file could tell me its properties, if it provided me with the tools to manipulate it, then I would make any type of app that processes the file as needed.
The above is essentially object orientation on the filesystem level. RDBMS don't offer such kind of functionality!!! at best, an RDMBS offers an index on a key for quick searching, and that's it!!! There is no notion of tree, nor each file exposes its properties/methods/functionality to its users!!!
So I say a big 'NO' to relational filesystems.We can immediately move to the upper level:
1) each node of information is AN OBJECT.
2) the object specification is defined at the filesystem level. Much like COM or .NET or CORBA.
3) each object can contain other objects, if it inherits and implements a specific interface.
4) each object is PERSISTENT. The filesystem takes care of persistence, according to attributes of the object's fields. Complex objects that are composed of other objects are also managed in the same way.
5) the parent object provides the storage implementation. The storage implementation would be object-oriented!!! An object could implement an RDBMS-like storage capability with indexes, keys, etc.
At each given time, the information model inside the computer could be:
1) splitted in multiple computers.
2) shared by multiple users.
3) checked for security in ONE place, inside the operating system.
4) provided as a framework to programming languages.
5) replicated across sites with minimum of code
6) a unified GUI could handle it
7) searching through it will become a breeze!!! (for example show me all MP3 with artist = Elvis and title = rock)
After all, 90% of the programming goes to load/store and display information. It is silly not to provide a unified mechanism for that. And a simple SQL-based RDBMS does not cut it.
The only thing to watch out for is the implementation. I'll gladly admit that a purely relational filesystem could be used to implement a schema that is utterly befuddling. Of course, I've also seen more than a few hierarchical file systems that were implemented in such a way that it is counterintuitive and painful to navigate through.
What the relational model really offers over the hierarchical model is flexibility. (A purely relational model would also offer proof of correctness, but I can't think of very many applications for a filesystem where queries and such need to be mathematically proven.) With a relational filesystem one can more easily simultaneously implement models in addition to the hierarchical model.
While this idea is interesting, I find the whole concept of indexing problematic, since the user is required to make all kinds of decisions about how to classify an object, which is not unlike having to decide upon a path name? The author gives in the paper the example music by U2. By magic numbers the filesystem should be able to identify a 'music' file, and by embedded headers a file with a group 'U2'. But this must necessarily be specified at object creation.
It seems to be trading one form of obfuscation for another...
"Stop whining!" - Arnold, as Mr. Kimble
If there was any way to make Windows less reliable, it would have to be coupling it with the beast that is MS SQL Server.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
I think you do not understand relational databases very well. You are confusing data organization with presentation.
create table folder
(
id int,
parent_id int
);
Hierarchal databases at best are very slightly better than R databases when asking for data in a preset implementation and much worse at everything else (ad hoc queries for example).
The problem with 'relational' databases are mostly due to limitations of SQL (especially recursive querying), not form relational organization. The 2 dimensional presentation of result data is an artifact of SQL, not relational technology.
Merlin
So, can I have a shell script manipulating these files when I'm not logged in? No? No thanks.
What is needed, IMAO, is a tool to mount Gnome/KDE vfs 'filesystems' as, well, filesystems.
Isn't it asking a lot to expect today's point and click users, who are used to clicking on folders in MS Explorer (or to a lesser degree Konqueror/Nautilus) to suddenly start typing strings of search criteria to retrieve files? For that matter, what in the world would this type of filesystem even look like in a file manager type window?
They claim that the database be replaced by the filesystem.
Should we just put them in a room together and let 'em fight out, or anticipate for a middle-way solution (e.g. ReiserFS being the storage system for Storage) before there is no middle way anymore?
"We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
find a bunch of people who are interested in sorting things like music, make it web based and give out accounts. it's what i did and it's worked pretty well.
-- john
True users won't generally fill out a bunch of meta data. BUT, a lot of useful meta-data won't require the users input.
First off a lot of meta-data can be generated from the raw data itself or is already generated and present in the files but not available to the file system. For instance it might be nice to sort images by orientation, or by width, or total pixel size rather than by file size. With a little work most graphic apps could probably automatically add dominant color.
Second, data that is professionally produced for you would come with rich meta-data. If you bought your digital copy of E.T. legitimately it would know it's by Steven Spielberg. Tivo has the meta-data on the TV show you are recording. The PDF you downloaded from the IRS or from a corporate web site would also have good meta-data. Or just like CD's and the cddb you probably *can* get that info "from the file itself" (with a little help from an outside data source). I have yet to put a CD into my machine that iTunes didn't automagically know what it was and have fairly decent meta-data for.
Finally, some very useful meta-data could be added semi-automatically or forced on the user. For instance with a db based file system I may no longer be forced to put it into a "directory" (since there would be no such thing) but I may be forced to give it a minimal set of more useful information like what project(s) or client(s) it is associated with.
Combine this with some decent voice recognition...
:) it's doable!
"Computer, play something by Mozart"
"Computer, find emails sent to me by Tom, reguarding our semester final project"
no comment
Why would it put them on the filesystem instead of on a partition of its own? I thought you could already configure Oracle to do this?
"Show any girl on girl action using dildos, but not strapons"
It has forever been a problem of mine to organize my collection when you don't have a name for half the girls. If only there were some sort of tool to make some sort of unique id based on non-changable qualities like position of moles, tatoos, or freckles.
no comment
"Overrated." Lol. Sounds like some cracker with a pencil-dick got mod points this mornin and decided to use 'em in defense of his race and their scrawny little peters.
Good one, Chester. Just remember, while you're down in the basement stroking your keyboards, we're back behind the cotton house giving your wives and daughters the thick, veiny, powerful black cock they so desperately crave.
If you'd had to type in all the metadata for your own CD collection, you never would have bothered. (Unless you're obsessive or something; most people aren't.)
i cannot argue with this, but when you get back from fiji you can eaily annotate the files from your camera with that information. then someday in the future, when you are browsing throught them and you see one with nice waterfall shot, you can update the metadata of that file. with time you would have the ability to find the needle in the haystack so to speak.
the community is a good way to do this also. a group of friends interested in photography, sharing the same database of files, would populate your metadata rather quickly.
-- john
www.namesys.com/whitepaper.html describes why the relational model is not the right one for large heterogeneous stores (filesystems), and describes the approach ReiserFS (a Linux filesystem used mostly in Europe) is taking instead.
Hans
The potential for problems is also too high. You cannot try to build intelligence into a filesystem yet. We simply are not there. Trying to search through a database is hard enough because results are not always accurate or in a timely manner. Until more progress is made with AI tree structured DB's are what the doctor ordered. AI must reach a point so it can interface with the loads of data we face everyday. This is why more development time is needed with AI.
Peace out.
"I wish everyone would stop quoting stupid nerd crap at the bottom of their signatures" --Curious George
It's nice that someone has made a GUI for it, but I wonder if this functionality truly belongs in a relational database rather than the filesystem level.
Nevertheless, the work done here for Gnome will make the functionality available for everyone with a decent relational database rather than just those with the next generation of filesystem handy (BeFS, WinFS, Reiser4, etc.).
- I don't need to go outside, my CRT tan'll do me just fine.
I can see it now... 'penis enlargement guaranteed' popping up at random places in the database.
You'll have to type "I do not want a bigger penis" to remove them all.
Heh.
What about law libraries? Professional journals and pulished papers and articles?
Librarians do a bit more then stock shelves with books sorted by author.
I think this is a lousy idea regardless of whether it's the good guys or the Evil Empire implementing it... but, just like with Mono, I think it's good to have it around. Here's why:
In a couple of years, there are going to be Windows applications that want to make use of WinFS. They're all going to hook into some wacky new API that talks to an arbitrary new type of data store.
What happens when the good Linux folks (say, the WINE developers) want to implement that API? They've got to put the data somewhere. Perhaps they'll decide "ok, we'll write WINFSAPI.DLL as a shim between the Windows API and Gnome-Storage." It would sure beat doing a bunch of ugly hacks to the local filesystem.
Tired of FB/Google censorship? Visit UNCENSORED!
You mean gnome steals an idea that MS has been working on for years (And never brought out because NOBODY wanted it)
:(
Sounds pretty typically O.S. to me. Someone ELSE innovates, decides the time isn't right. O.S. steals the idea, comes out with it anyway, claims innovation.
The user has to enter keywords to be searched on later. THe present system automatically adds directory, name, type (extension), date and time categories (keywords). Getting the user to always save with useful keywords (think 12 year-old boy) will be a problem that cannot be solved by the computer.
any reason why using clear consice names and the operating systems built in file search tool wouldnt work?
Seems like a bunch of work to make things more complicated to me... I keep hearing about ppl with a couple thousand files and have a hard time finding things... ive got 7,000 (60g) songs ripped from my own cds and never have a problem finding any.. why? i used a clear, consistant naming scheme (artist - track number - track name), when i want to find a song, i click on the tools menu, then find file, and search for *keyword* from what im looking for, a few seconds later a list of everything with that keyword shows up.
It seems like everyone is taking the hard route, when all thats needed is to teach the users how to use the find 'feature' of their os.
I do realise there are some corperations with gigs upon gigs upon gigs of data that needs to be searched through, but from what ive gathers on this discussion the people wanting this are the people that pull all 200 pictures off their digital camera to a single directory and leave the original filename, (DSC389290.jpg) if you cant be bothered to change the filename to something readable what makes you think your gonna take the time to fill out the several info fields per picture? Do you think this solutions is going to be able to read your picture and know thats ted drunk at the company new years eve party? No your going to have to fill in some info about it to be able to search for it, in which case you might as well give it a consice filename and be done with it.
I also belive something new and revolutionary is needed in terms of filesystems to make things easier, but i dont feel that slapping a database on its back is the solution. Heck, at some points with really large data sets the db server is going to need to be handled on a seperate machine, talk about a problem waiting to happen.
see file(1). magic works.
DNA just wants to be free...
If I'm to have a natural language interface to find my files, I'd really like to make spoken requests instead of typing a long sentence. Do they have plans for that in GNome?
What would work for me would be a database that has all of the normal file attributes stored in it, and the directories created dynamically by SQL. Mounted and used transparently, this would be quite handy. Imagine a directory that magically contains all of your MP3 files, no matter what their home directory is. Hmmm... maybe I can set some people to work on this.
'Storage' to Replace Traditional Six-pack Abs.
Of course, databases are very useful for organizing user data. People already keep PIM info, images, and lots of other stuff in databases. Lotus Notes is built entirely on databases.
But "replacing the traditional file system" carries with it the notion of ripping ext3 out of the kernel and putting a relational database there. That's a very bad idea. Databases don't belong into the kernel. They are far too inefficient to handle most storage needs, they are far too complex to go into the kernel, and they just don't need to be in the kernel. Operating system kernels need simple, fast storage systems. Something like ext3. ReiserFS is pushing the limits. PostgreSQL would be going too far.
As an aside, this is an idea that just about every nerd has when they learn about databases and retrieval. It's been tried various times since the 1960's. There are probably good reasons why interfaces don't use them. Perhaps most importantly, keep in mind that the vast majority of files on your system are not user files, they are bits and pieces of the operating system. And for the files that actually are used by users (mail, PIM info, images, text, etc.), they usually already have special-purpose database interfaces available to them as part of the applications that users use to access them.
Funny that. I've been waiting for them to complete Outlook Epress for quite some time now... ;P
Un-news
It will be SQL Server 2004 if named by year.
The truth doesn't care what I think.
everyone has read the reports that microsoft will be shipping a database based filesystem with extensive metadata tracking in a future operating system. this has been essentially public knowledge for > 1 year.
some open source project comes along saying they're going to make a database based filesystem with extensive meta data. slashdot bozos call it "innovative"
the same slashdot bozos that say microsoft has _never_ innovated and has only "stolen" ideas from other sources.
so which is it ? is making the filesystem an rdbms with pervasive metadata innovative, or just a stolen idea ?
My opinions are my own, and do not necessarily represent those of my employer.
You need to simplify your life. Then you won't need a database file system.
on 95% of the computers out there, 95% of the files were probably not created by the user. And the ones that were would very easily be able to have meta date. Imagine if you will ripping a CD to MP3. Almost any good software ripper can automatically identify the disc from CDDB, and fill in the ID3 tags. The same thing will work for movies. Most other files come from somewhere other than the user. PDF's, documents, emails, games, and applications are all stuff they've either downloaded (any corporation is going to start including meta data), or bought (don't you think the CD is going to include the data). The files most users create are documents and emails. Documents can easily have meta data forced into them. Instead of providing a file name and path, you give a subject. Emails have all the meta data information input automatically.
Jack Valenti and Orrin Hatch will be first up against the wall when the revolution comes.
I've been using this concept in intranets I build for YEARS. It's called a SEARCH ENGINE. I find it stupid you people keep calling it a file or "storage" system. They're still FILES people... This is just another front end to GET to the files. GAWD.
Natural keyboard?
Where does this metadata come from? I assume I have to enter it myself. This means the more files I have, the more detailed and specific my data entry becomes. And that much more tedious.
Even worse is the uncertainty that would arise. Is my search for "horn solos" not returning results because there are no such files, or because the filesystem does not have meta data describing the files I want as such?
At this point, hierarchial organization once again becomes much more appealing again.
Content Management SDK (new IFS) - with JAVA API. Supported FS : AFP, FTP, SMB, NFS, WebDAV, etc. Plus Agent Support and Server-side overrides - hence when content is uploaded actions can automagically take place.
Oracle Files - bundled with there new Collaboration Suite - build on the CM SDK technology
And XML DB - free with the 9.2 database, allows storage of any type of content - WebDAV access, XPath queries etc.
Humans also think in terms of relationships. Does this mean that relational filesystems are "natural?"
I wonder if the hierarchy of filesystems is cause or effect. Are we hardwired for hierarchy, so we build machines that emulate it? Or did our cultural background happen to lead us to think hierarchically? I'm not just waving my hands; I guess I'd like to see some evidence that humans are "hierarchical" to a greater degree than they are "relational" in a state of nature. Eh?
No way we are going to change how we do things. We've been thinking in terms of files and directories all my life. We think in hierarchies -- it's intuitive! -- and everything we've learned and built revolves around them. Don't make me think...don't make me change!
DB Filesystem supporters :
We understand that it's a little complex to think of things in sets and relationships, but it really is better once you think in this way. Yes yes, it takes a little while to get used to, but with a little reading and practice it'll make your life easier.
You provide only an example of how metadata linked to files is helpfull and possible even without database filesystems, but you fail to give any good reason why not to use database filesystems instead. The problems of doing it your way are clear.
Before starting we should define (courtesy of Dictionary.com, paraphrased) some terms since I've seen them misused all over the place on this topic.
/mp3/Adam_Kontras/Bread_in_the_Freezer.mp3 only tells me the name and the author's name but only if I know about the structure of the path. Can I take any MP3 and derive the author name by going up a directory? Not if I have /mp3/Adam_Kontras/4TVs/01-Intro.mp3!
/mp3/humor/ (e.g. /mp3/humor/Adam_Kontras/...) but not all of Adam's songs are funny. So I could do /mp3/Adam_Kontras/humor/... but now I lose the ability to see the authors that have funny songs. I suppose I could create symlinks and sprinkle them around, but then I can easily lose track of where the original file is located.
/Author/Album/Track or /Author/Track or $OneTrueWay.
/usr/foo, or heck it could even live on a different server. Given a suitable front-end which can generate the queries (or views) I would never need to memorize a file path ever again - because it would be meaningless.
Database: One or more large structured sets of data. A simple database might be a single file containing many records, each of which contains the same set of fields where each field is a certain fixed width.
Database Management System (DBMS): A program or set of programs that manage databases, which includes data integrity and security. Examples are Oracle, PostgreSQL, Sybase ASE, etc.
To those who are saying "It doesn't make sense to treat the filesystem as a DBMS!" I ask you: "What is a multi-user (Windows NT, Unix, etc.) operating system?" It's a set of programs (or one, if you only include the kernel) that manage your computer and truly a large part of the OS' job is to manage your data. It has facilities to edit data, maintain user permissions and concurrency, handle searches, etc. - in fact, it has many, if not all, of the aspects of a DBMS already! You might as well call an OS a Computer Management System.
However - it lacks one key feature of the Relational DBMS - namely physical data independence. Before I explain that, let me ask you a question:
What has the current hierarchical structure of file systems taught us?
Answer: It taught us that files and programs can only live in one directory and by extension of the directory idea (grouping like items) can only have one meaning. An MP3 described as
Bread in the Freezer is a 'funny' song so if I wanted to I could put my funny authors in
So, not only can a particular file have a single meaning it is essentially an arbitrary one. I can't derive value from the path unless I have mapping schemes somewhere that tell me that MP3s are stored by
Most importantly: Why should I?
That's where the Relational Model comes into play. Why should I care where files are stored on my hard drive? I only care that the file exists. The relational model separates the logical from the physical and allows me to get to the heart of the issue: my data.
That's why the relational model makes perfect sense as a storage mechanism. I no longer need to know WHERE it lives. It could live in
Thanks,
--
Matt
1. I know precisely where one more more files are located and I want to see their contents as fast as possible. I want to move around 100s of such files easily from directory to directory at the potentially optimal speed of the disk subsystem. I might also want to do batch edits or renames of these files. Speed is the only truly important characteristic.
2. I vaguely have an idea of what type of file I am looking for. I want to find one or more files satisfying a particular metadata (or full text) criteria and manipulate one or more such files. I want all versions of my files to be maintained and there to be full auditing of interactions with these files.
Many times 1. and 2. are mutually incompatible. The typical way these days to address having both is to have an automatic spider that maintains an indexed view of the files and the file's metadata and hope that the spider is not too far behind the actual changes being made to the contents of the files or the locations of the files. If you want to have a transactionally guaranteed implementation of 2., then you have pretty much eliminated batch manipulation of files as a reasonably performing option. Database tracked file systems do not do well when you unzip a large collection of files and then start batch copying those files to different locations.
Now, I know almost nothing about the current implementation of the new "database" file system being discussed. But, I would very much want to allow a user to designate which directories or file types would be put into relational tables and which ones would not. I might also want to be able to choose whether the relational tables were interacted with using a transactional guarantee or whether a "spider" was used. If the end user had control over when the "heavier" management of the files occurred and how much of it should be applied, then it might have utility. Part of the user's file system would then be a document management library and other parts would be a normal file system. However, I would find creating a user interface that tried to make such a solution comprehensible to an end user somewhat of a nightmare.
First, the "storage" guy is into "natural language processing" as a front end for a search engine. That never works, although it's been tried many, many times. Try AskJeeves. AI is still far too dumb.
If you want to try out something new in the file system area, consider this:
-
Data comes in two basic forms - big data items which have meaning only as an entity (database people call these a BLOB), and as database entries.
-
Big data objects with unique contents (and thus a unique MD5 hash) are called "datums". A datum can never change; you can create new ones and release old ones, but you can't change a datum. Images, video, and software are datums. Datums are identified by their MD5 hash.
-
Little data objects are stored in structured forms. These can be relations (as in relational DBMSs) or trees ("object oriented databases") Updates to these objects are handled by database-type atomic operations. Database transactions are atomic, commit and roll back cleanly, and are logged.
-
Indexing and control of datums is done via the database system. When no database item references a datum, the datum is released, using reference counts. In other words, the database is the directory system.
The key idea here is that "files" never get updated. Updating consists of either a well-defined database transaction or a total replacement. You never change a datum.This is reasonable in the Unix/Linux world, which doesn't change files much. (Unix locking is so weak that shared access to files usually leads to trouble.) UCLA Locus (parts of which made it into AIX) had file semantics something like this - writes to a file allocated new pages, and when you closed the file, the new version "committed", and replaced the old one as an atomic operation.
Where stuff is changing in small increments, you have to have something like a database-like structure, and you may as well use a good, general-purpose one rather than some ad-hoc thing.
So that's another way to look at the problem. It's not that original; there are databases which offer such capabilities. But it's not usually thought of as a replacement for traditional file systems. Perhaps it should be.
So, I think this GNOME thing will also sizzle out after a while.
Except that we're in a different time period now than we were then. Even 4 years ago, disk sizes were small and a filesystem was all that was needed.
Now, With 500GB drives and storage increasing at even more phenomenal rates we are using it for more and more data and that requires a different paradigm.
It all depends on the timing of the technology.
It's going to be part of the next generation of GNOME. But I hope to heck it won't be the standard of the next generation of GNOME.
Reading through these threads, it seems to me like there's two types of people. One type is hierarchically organized, the other disorganized completely. I know of no one is is organized relationally out in the non-computer world. Oh, I'm sure there's a few, but I've never met any.
So neither of the two types of people will get much utility out of this filesystem. The first type won't need it. And the second type won't organize their metadata to make it useful.
Thus, it shouldn't be the standard for the next generation of GNOME. Keep working on it. Make it available. But get it usable for the average bloke before you impose it on everyone.
Don't blame me, I didn't vote for either of them!
Single-level stores are an important angle here, but they were around long before GEOS.
The original implementation, along with Virtual Memory itself, was in the Manchester Atlas (1962).
This led to implementations on the IBM 360/85 and then Multics. I used an implementation in Stratus VOS (Multics cousin) in '86.
...you realize that this file system didn't take off like you expected, isn't supported anymore, or doesn't fulfill your needs. Now you have tens of thousands files that don't live in a hierarchy, or whatever form is popular then.
It's knowing what question to ask to get a better question to ask, to get a better question to ask, to finally get the answer.
:).
Even if a filesystem has the answer, what question do you use? In that respect most DBs aren't very much higher than a normal filesystem. You can't ask them to give you a better question. They're just indexed/structured/ordered to give you answers to a certain or wider range of questions more rapidly.
It's late so I'm probably not making as much sense as I should be, but I assume that people would be able to figure it out
It's logically incorrect (and perhaps rather pretentious) to refer to categorization information in general as "meta-data".
.C vs. .java file extension, could conceivably be classed as meta-data in an IT system.
Only information essential to the interpretation of an object, such as its Latin-1 text encoding or a
The author and title of a song are simply categorization information of the kind that librarians have dealt with for a long time, and should be accorded no more special treatment by the storage system than any other explicit or implicit characteristic.
There seems to be a lack of middle ground opinions here. One side is for the benefits of a RDBMS based file system and the other is against it. Opinions are great, but it seems obvious to me that there are benefits to both and maybe the solution is to incorporate the best of both worlds into the next generation solution.
Working with large ERP software all day, I know the advantages of storing data in a RDBMS. Just think of the advantages of effective dating files in the OS. You can install a patch and have it take effect on a certain date instead of this instant. Or have the abiliy to restore older versions of files without resorting to a backup tape.
Obviously, I also experience the pitfalls of RDBMS all the time as well. Could you imagine what an invalid query to the file system would do to your network or file server?
A new solution will come sooner or later. It's obvious that we are starting to see a growing trend of new ideas in how file systems should work. More and more people (a small population to be sure) need something better than a heirarchical file system. This means that change is coming. I leave it up to the rest of you to make it work. Just don't screw up my computer games.
Perhaps some of us do not need one :-)
Despite the fact that the job of an operating system is to juggle the computer's CPU, memory, disk drive and other resources, some object-oriented programmers believe that a non-object-oriented operating system should care about the structure and organization of his data.
Huh? Do you think the kernel has nothing better to do?
When you ask the Linux kernel for memory you don't pass it a class definition, you just tell it how much memory you want. SIZEOF(whatever). Its not the operating systems job to cater to OO panty wastes. Don't get me wrong, I am one of those panty wastes but I don't expect the OS to either care about my particular predilection for objects nor cater to them. How about this for a kernel call, TellMeTheNameOfAllTheObjectsIveCreated();
The OS was graceful enough to go find some contigous storage, now shut the hell up and do some work for a change. Don't you have object libraries to do that for you? You want an SQL based filesystem to serialize and organize your objects? Where the hell are your foundation classes? Don't tell me that don't do that for you. Is object persistance not implemented correctly? Its not in a database? Just slice and dice some classes and it should be easy to do.
I also don't see any reason why other programs that don't particularly care about objects should have to eat a bunch of processing overhead in the filesystem when they don't even need those features.
I also think this sort of thing could get way out of hand. Much like the MS registry. If something goes wrong with the machine I can ususally get in there with a text editor and fix things. With an object database for a file system and all sorts of strange and variable object structures who knows if the damn thing is even readable. You would need an entire OO database front end just to fix it.
Unless you emulate a hierarchical unix file system on it and then the database features are just added extras. It would be better than having to use 'locate' and 'which' to scour the system.
Don't forget the the UNIX filesystem is also a holistic approach. Streams and other communications constructs are accessed through the same JBOB (just a bunch of bytes) model.
for whatever its worth.
Journalling does not prevent corruption. Journalling prevents long filesystem checks on boot.
A journalled filesystem is no more or less prone to corruption than a non-journalled filesystem with an FSCK on boot.
> more and more data and that requires a different paradigm.
I don't think an user has many more amount of files than they did 1 year or 3 years ago. Instead, file sizes of documents are growing larger. I still remember the day when I used to download "various media files" encoded with QuickTime or RealPlayer that were terribly low quality but were very small sizes (20-40 mb)
Nowadays, 1.5gb SVCD's are becoming the norm, and people often post 8gb non-encoded DVD rips over things like bittorent. People are starting to use higher bitrates of things like mp3s.
As for things like documents, I would have to guess that the average user keeps around the same amount of documents in their harddrive as they have been for the last 3 years (pretty much since the downfall of the floppy and zip drives...)
basically, putting all of your shit on a harddrive is not any more common of a thing to do as it was 3 years ago, but certainly is more common than 6 years ago. The problem is that 3 years ago, things like storage would not have taken off, and since the situation has remain unchanged since then, they still won't =D
This was one of those revolutionary products that never really took off for some reason. Text -based word processor , but this was pre-Windows (perhaps that was the problem).
From what I remember, you could create a document, and then save it based with keywords. It was really aimed at writers and was a great way to organize a bunch of documents, create outlines etc. Sort of like having an electronic file card system. Very very cool - the Windows Explorer is almost primitive by comparison. Could've easily extended it to support any type of file.
It's a great idea nice to see GNOME pick it up.
i was briefly on an Operating System project a while back (LinksOS) before the dev team split, and one of the ideas for the system was a natural-language file query system. very similar to storage, in fact. i wouldnt be surprised if one of the guys on the original Links team has something to do with this.
:P) is MUCH better than trying to maintain a database.
but from the beginning, i thought it was an unnecessary thing. the average user is more accustomd to clicking his way to a program than typing "run myprogram" on a box. likewise, they're more accustomed to finding files exclusively by name - "find files and folders" named "my file".
i still think it's unnecessary. it seems like too much bloat for the operating system for a feature that will become rather painful for some to use. as others have noted, the metadata needs to be maintained properly, and a database system might not be fast enough for the likes of some people.
IMO, the best option for something like this is incorporating a natural query language to a filesystem module that operates a filesystem not unlike the Be File System.
the thing i like about it is the fact that each file has an unlimited number of arbitrary attributes that are indexed in a "hidden" index directory, which can be queried with a boolean syntax. all of that was in the filesystem driver, and it still is one of the most trim and efficient filesystems to date. its only real overhead is the hard drive space used by the indexes.
now to be honest, i do like the natural language query thing. but FWIW, keeping unix-like heierarchies (sp?
i mean, Apple tried that with HFS, and look what happened! it was so limited, crippled, and slow that even HFS+ couldn't make up for it. it just couldn't SCALE.
grey wolf
LET FORTRAN DIE!
actually, take a look at the BeFS in the BeOS. it does pretty much everything you're talking about to at least some extent.
it would be nice to take the ideas that BeFS ran with and expand ReiserFS a few generations ahead that way.
grey wolf
LET FORTRAN DIE!
..... Drop Table "/"
The idea was probably stolen from Xerox Parc in the first place, of course.
The mouse and many fundamental GUI concepts were invented at UC Berkeley by Douglas Englebart. Xerox added non-overlapping windows, buttons, icons. Apple added dragging, overlapping windows, and many other concepts we take for granted now while improving on ideas they stole. It seems reasonable to accord Apple with the credit for inventing the modern GUI along with Xerox Parc and Englebart. But the big aha goes to Englebart, not Xerox or Apple.
"Anyone can see a wheel and come up with the car. It takes a good science fiction writer to see a wheel and come up with traffic jams and parking tickets." (Source forgotten.)
allow your entire hard drive ( / on down) to be accessed through http and let google index it for you
Aaaaaaaargh! How can you mention netinfo? IMHO the most drain-bramaged thing to come out of NeXT. Even Apple has seen the light and is moving to LDAP (LDAP has its weak points too, but not as bad as netinfo).
/Styx
Now that would be a cool filesystem.
> Show me some porn
You don't see any porn here
> Open the secret folder my girlfriend can't see
Opening the folder reveals some porn
> Open the porn
I'm not sure what you want to do with the porn
> Display the porn
You can't do that with the porn
> Play the porn
Are you saying you want to play with the porn?
> Read the porn
There's not much to read. It's mosty pictures of naked women. Boy do they look hot!
> Show the pictures
I don't see any pictures here
----------------
Hmmmm.... maybe not so great an idea after all.
Copy that!
What's next, the GNOME kernel?
It's exactly the same featureset as WinFS (as in Longhorn)
Now, whenever anyone says "I hate MS, they have that fucking shitty WinFS!!!!", we can point them at the GNOME project which is doing precisely the same thing, and they can eat that humble pie right up with their hat.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
I still like the idea of Reiser4 better. Mostly for the plugins, but also because I've had good experiences with Reiser3.
Don't thank God, thank a doctor!
Yes, next lets give up on URLs entirely too. When you want your friend to see a page you just found, why bother telling him the URL when you can just tell him to google for the 'really cool mostly purple page about penguins'
I relational system doesn't need to be like that.
What if it were more closely integrated into the filesystem so that the different metadata categories could be navigated as if they were directories, with files listed multiple places in the tree (wherever they fit in. Instead of doing a clumsy select * from volume, you could just browse the categories and subcategories (which could be dynamically generated or specified--or some combination of the two)
I already use something like this for my anime (I have a bash script that indexes everything and uses symlinks to list all my files). I have them by in categories of series name, fansubbing group, and whether I have burned them off onto cd yet.
I don't see anything wrong with replacing the traditional filesystem with something more relational as long as it's done intelligently.
Other posts I read claimed that the heirarchial (sp?) filesystem model will last forever because people think hierarchially. They gave an example of 1 person telling the other where to find something. They claimed that the person described the location hierarchially: at Standford, in dorm room ##, on the desk, next to the computer.
Really that description isn't really that hierarchial. It's more of a meld of hierarchial and relational. First of people may describe that position in different ways: instead of beside the computer it may be "next to my stack of warez cds" or 5m north-west of the room entrance. In addition the description is in relation to other objects--"next to my computer", "on top of my desk"
Really this is just the intersection of that metadata.
What is really needed for relational systems of data storage to take off is a better way to view the data (I like my filesystem idea personally). Until then there's no way this will ever be widely used. But when it does it will be one of those "how did I ever do anything without this" things..
Whatever else they do, I hope they make a way for me to select a group of icons visually (i.e. with the mouse) and then operate on them with a series of shell commands, and use globbing in GUI tools (like selecting multiple files in a file-selection dialog).
I'm thinking, after I make my first million, I'll probably just retire to some private, tropical island, and leave everything electrically and chemically powered, behind.
Until that day comes, anything that makes things easier and quicker is most welcome.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
I suppose it is probably too late to inject comments and have them moderated to the point of visibility as the madness has largely subsided... but here's to futile acts ;-) I was not really intending Storage to make a big splash right now, I wanted to keep it low-key, but I guess the damage is done so I might as well comment. I'm sorry that I didn't have time to put up a more technically-oriented exposition of Storage. *shrug*
Some technical notes... that site is sparse on technical information so I'll fill in some for the curious.
a DB-backed filesystem is a genius idea until some asks: where should the database write its data files? ah, yes, the filesystem!
While that is true of most simple database systems, big iron DBs like Oracle typically work directly with raw volumes.
Have you got your LWN subscription yet?
If anyone would like a nice read on filesystem implementation and/or Dominic's approach to the fs redesign, check out:
Practical File System Design with the Be File System
by Dominic Giampaolo, Be Inc, Dimonic Giampaolo
1. Nice overview of various filesystem's in use.
2. Quick and to the point.
3. Enough detail to go about rolling one up yourself.
4. Being written by Dominic it provides nice BeFS insights.
"We are discussing making storage an RDF store instead of what is now vaguely an XML store (with concessions to handling binary data). If you are experienced with RDF and related standards, we would be interested in your help."
How come you're not using XML Topic Maps?
Not really a comment on "storage" but just a comment on something that has constantly bugged me when someone says "let's put it in a database!"
A filesystem is a special case of a database. So it is perfectly acceptable to store your data into a filesystem. Some people seem to think everything has to be put into a relational database or that is it somehow cool to do so. I have seen people store loads of graphics as BLOBS in databases. Someone once suggested storing a ton of MP3's in a database. Most recently someone said (and this isn't the first time) that we should store all of the emails in a database. It's just another unnecessary layer of complication, especially when you are going to be referencing the email/graphic/mp3 by name all the time anyway (fs's like reiserfs index on name so it's blazingly fast) and not by a bunch of other pieces of meta-data. And if you are going to need to do lookups by various bits of meta-data then store the meta-data in a db and also store a record pointing to the actual file on disk. I have done that lots of times and it works great.
The relational zealots are quick to point out that a relational system can model any sort of data. Indeed, it can do this. This does not, however, mean that it's always good at doing this. Sometimes it's the right tool for the job, and sometimes it's not......You can't navigate a relational system, which will prove to be the downfall of any all-relational....
I am not sure what your definition of "navigate" is. However, as someone who can be called a "relational zealot" (see my handle?), I actually agree that relational may not the best paradigm for this job. However, neither are trees, by any stretch.
There are two separate issues here. One is "trainability", and the other is potential power, once trained. I agree that trees are probably the easiest to learn, but also the least powerful. It is just like designing user interfaces: do you focus on newbies or power users? Power users do most of the work, so we can't just ignore them.
Anyhow, back to the ideal paradigm for this job. I have been kicking around something that is a cross between relational and object databases. Yes, this is coming from an object basher. However, we will toss inheritance out the door. Basically each file would be like a record in a relational table that has UNLIMITED potential fields (columns, but I will call them "attributes".) Attributes could be dynamically added. There is no "central schema", and this is where violation of true relational comes in. However, one could treat the table just like a relational table in queries.
For faster searchers, perhaps one could designate "static" columns, which each record (file) automatically has. These could be indexed in a regular RDBMS way. Outside of this, operations on dynamic columns (attributes) would be slower than traditional RDBMS columns. One would have to static-ify often-used columns to speed things up.
Actually, I think the dynamic column idea is closer to set theory than relational.
Table-ized A.I.
It says it uses centralized servers, but if we had a way to make it P2P, or perhaps a P2P plugin, this could allow many many more features, you could have a database which learns about files and automatically corrects bad filenames etc.
"An example given is using the name and length of a Divx file to search IMDB to get all the relevant information about a film."
Why have a centralized internet movie database when you can have a decentralized P2P database? I mean everyone will essentially have a database filesystem right? It will be easy to use right? Why not make it P2P and let it self heal?
If you use Linux, please help development of Autopac
With this, you could do more than just, say, "tar -xjf 'newest version of something'", you could just query for the newest version of something, have the db filesystem determine it's a tar after it sees that metadata and then take appropriate action by looking up what the helper app should be.
Nifty.
Then again, I can imagine this opening up all kinds of cans of worms. Need I say Outlook?
Peacecorp was going to change that. Where his business sense would have failed him in the Merchant Marines and his poor physical condition were not up to snuff for the military, he felt Peacecorp would welcome him with open arms and take his student loan burden off his hands.
"Education equals genius. Genius is good for society. I'll show them, I'm going to buck the status quo. I'm going to make a difference, I'll show them what a poor kid from the ghetto is capable of." Dana thought to himself.
Dana had not shaven for five days, but his greasy facial hair never became very thick, even after weeks of neglect. It grew in a thin, spotty Fu Manchu pattern. Best described, his whiskers resembled soot smeared on his greasy jowels. He scratched at his armpit and pulled the tightening fabric of his pajama pants out of his groin and sighed with relief.
"Aaaah."
Dana was glad that the weekend had finally come around. His Computer Repair Fundamentals and Sociology classes were starting to really dig in. He blamed the teacher for sucking, and was utterly convinced that his superior intellect would reward him with first in his graduating class of 40. He was certain that the same outcome would happen if he got into MIT, but that would never happen. The rich bastards would never give him a fair chance on a level playing field. The MIT bastards hate nerds, just like everybody else. That was alright though, Dana already knew he was superior to most of them anyway. Their facilities were only useful to the superficial.
Dana loosened up a bit by putting some music on the 'juke. He got a free MP3 jukebox from his mother and slapped an "RIAA SUCKS" bumper sticker on the side of it. Dana was vehemently opposed to the ownership and licensing of intellectual property, especially music. Dana downloaded all his favourite Pink Floyd tracks off the internet and onto the jukebox, and this brought a small amount of joy to his empty life.
"Damn the man!" he exclaimed, raising a fist as his gut flopped out of his oil-stained ThinkGeek t-shirt.
Ice T and Fred Durst alone had practically paved the way to justified downloads of all music ever created and served up on KaZaa. And so, Dana sat in in front of his monitor listening to The Wall, waiting for a reply from Peacecorp.
His mother slipped in to his room briefly to set down a balogna and cheese sandwich in front of him while he fired up a beta version of Transgaming on his Pentium 166 with MMX.
"Mom, why don't you hate the RIAA?"
She shrugged, rolled her eyes and closed the door to his room on the way out.
"She forgot to cut off the crusts." Dana held back the tears and ate the sandwich anyway.
[montemplar] wuzzup hanz0?
A privmsg came up on his IRC client. Dana had adopted the "handle" HanzoSan after his Japanese