On 8/16/07, Robert Sherwood wrote: > > I'm confused. Is it the concept that's awful, or the implimentation? Is > the problem that visibiliby of the attributes to tools is inconsistant and > they're managed with entirely different symantics? Or is the whole idea of > arbitrary file attributes a tool of the devil? > Both? There's no standardized interface across the board that's guaranteed to work for all platforms that are supposed to be more or less compatible. And the fact that the implementation exists means my fundamental abstractions that made Unix Unix to begin with are changing underneath the tools and applications I have to work with them. I think the root of the issue, for me, is that we had a definition for what a file was in an OS and the world was for the most part simple. People stored things like a tar table of contents in the file and defined formats on a per-file basis, and people realized that if they wanted to manipulate such files, that all that was needed was to use some well defined structures and APIs to manage them. For things that were common to "files" we could copy them, delete them, rename them with no expectations of side-effects or missed metadata. At a high level, copying a file is defined as copying the whole file - all the data on the disk associated with that particular blob, because that's what a file is, a representation of the data for humans to deal with, not just a portion of the data. When things like extended attributes were added, that was no longer the case (and even earlier in things like Mac OS Resource Forks). Now I've lost my original abstraction that I loved so much, because someone didn't figure out another way to store an icon for my program that didn't break the semantics of keeping all the file's data in one abstracted "place". Sure people fixed tar, rsync and (hopefully) all the standard faire to deal with these new and wonderful attributes, but couldn't we have found a better way? For some things, like access control lists, maybe not (I'm still unconvinced that it had to be done with extended attributes). But let's just say it doesn't always feel that it's worth the pain involved to break fundamental abstractions like "file" and "directory" to get these new features. One could argue if we must break those abstractions, that maybe it's time for a new OS. Dave