[cap-talk] [e-lang] File API taming

zooko zooko at zooko.com
Mon Mar 23 17:21:25 EDT 2009

On Mar 23, 2009, at 11:17 AM, Stiegler, Marc D wrote:

> Do programmers use the file api? No, of course not, it is too  
> complicated. What they do is, every app stores its "files" in its  
> own private space in a custom-built directory system (like Google  
> Docs and Sheets) so that the app can handle its files and its names  
> easily. This blasts all hope of interoperability with other apps to  
> smithereens, but that is a secondary problem compared to making the  
> app able to quickly and easily fulfill its own purposes.

Dear MarcS:

I appreciate your pragmatic, user-oriented contributions to the  

I think you are right that programmers often store file objects in a  
custom namespace of their own device.  But I don't think that blasts  
all hope of interoperability, because those same programmers know  
that to share a file with some other object they need to pass the  
reference ot the file itself, not just its name within their own  
custom namespace.  They may want to pass other additional metadata,  
such as the name of the file within their custom namespace or within  
some other context that was supplied to them when they received the  
file in the first place.  They could also pass, instead of a  
capability to a file itself, a capability to some directory, plus a  
path starting from that directory and leading to the file.

In deployment of Tahoe (which I think is probably representative of  
any crypto-capability file storage scheme), I observed several  
instances of this sort of behavior.

One thing that I haven't been able to reconcile so far is how your  
suggestion of providing "the pathname" could even *possibly* be  
implemented on a crypto-cap system like Tahoe (or even a Unix  
filesystem with its symlinks, hardlinks, and mount points).  There  
*isn't* one canonical path leading to a given file.  Different people  
may have differently organized directories pointing to the same  
files.  Think of it as a hypertext system with capability hyperlinks  
instead of as a local filesystem and tell me what you think.



More information about the cap-talk mailing list