[cap-talk] Fwd: Persistence and Versioning (this is how easy it really is)

John Carlson john.carlson3 at sbcglobal.net
Tue Mar 18 23:16:32 EDT 2008


Journaling file systems are an example of putting this kind of  
versioning at the lowest level, and I think, in all, journaling file  
systems have been very successful.  I don't see a whole lot of  
difference between a journal and a versioning system, but perhaps  
there is.  I'm not suggesting that journaling file systems provide  
POLA, or that a versioning system could provide POLA.   These are just  
features that would be nice to have.  Where they are ultimately  
implemented needs to be evaluated.

John

Begin forwarded message:

> From: John Carlson <john.carlson3 at sbcglobal.net>
> Date: March 14, 2008 1:06:19 AM PDT
> To: "General discussions concerning capability systems." <cap-talk at mail.eros-os.org 
> >
> Subject: Re: [cap-talk] Persistence and Versioning (this is how easy  
> it really is)
>
>
> On Mar 13, 2008, at 11:58 PM, Jed Donnelley wrote:
>
>> At 10:36 PM 3/13/2008, John Carlson wrote:
>>> I think that when you bring up persistence, you need to start  
>>> talking
>>> about versioning in the same breath.
>>
>> I don't believe so.  For me the persistence of storage
>> (e.g. files) suffices to build a versioning system (e.g. all
>> the examples built on Unix).  From my perspective the underlying
>> capability system needn't itself support versioning (and
>> indeed shouldn't for reasons of simplicity in the most
>> trusted software) for higher level software to do so.
>
>
> If you build it into the higher level software, then every single  
> application has to implement it.  If you implement at a lower level,  
> then every application
> can take advantage of it.  It's like asking every application to  
> implement commit and rollback in it's own code instead of providing  
> it as a base service in the database.  Perhaps I should read back  
> about how checkpointing is done in a capability system.  The lack of  
> a required API at a low level allows lazy programmers to not  
> implement versioning, and users suffer.  If you can't insert data  
> into a database without doing a commit, this forces the programmer  
> to allow for rollback.
>
> I guess there should be a required call in the GUI for the  
> programmer to see anything change on the screen.   This might be the  
> best way to force programmers to implement undo/redo.
>
>
> If you have persistent processes that deal with files, how do you  
> upgrade your files to agree with new persistent processes?  Wouldn't  
> you like your files to change at the same time the persistent  
> process changes?  What if adding a new column to your database  
> automatically updated your application or vica versa?  Ruby is doing  
> some of this.
>
> John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/cap-talk/attachments/20080318/3eff64cd/attachment.html 


More information about the cap-talk mailing list