Saturday, May 17, 2008

shaken, not stirred

Just got in. Left Delhi at 4:55 AM on Friday and then spent the next 30 hours being rocked back and forth. I am told that I will need to return again to Delhi in 2+ weeks. Meanwhile I have US and Indian taxes to work on. Life is what you make of it, yes?

So there I was, thinking about 2-time. It finally dawned on me that "it is much simpler than I had been thinking." Indeed, there is nothing further that needs to be implemented. Consider a check register application. Let us say that each check entry is a Rolon and we have a ledger Rolon whose children are the checks--and the check Rolons are named by the Ledger Rolon with a key which begins with the date the check was written, i.e. the effective date. This is a 2-time check register.

The first time axis is operational time. This is the time when a check is entered into the system or the time when the check entry rolon is updated. Operational time is also what we navigate with the "when" command. So we can easily go back to before then last set of entries/changes were added to the system and view the ledger (the children of the ledger rolon) for some past time.

The second time axis is effective time and is the prefix of the keys used to name the check entries in the ledger rolon. We see things in effective time order when we list the children of the ledger rolon. And we can process them in effective order when we iterate through the children of the ledger rolon.

And that's 2-time. Is simple.

0 Comments:

Post a Comment

<< Home