[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: A possible application of Xanalogical technology




Don Dwiggins wrote:
Is "Literary Machines" that far out of date?  I confess that my
understanding of Xanadu is pretty much based on that book (which is why I
dubbed myself a "perpetual dilettante"); I haven't done any archaelogy in
any of the code avatars.
That book represents the Green version of the code, written in C.  There 
is another 10-15% more magic in the code than you see in the book.  The 
code DOES run, but lacks user admin, access control, billing for content 
read and any form of multi-server access.
The code does reveal the Enfilade which, crudely described, in a form of 
B-Tree, with keys/datums, disk blocks all organized in a 1-d tree 
structure.  The magic is that instead of storing a fixed key at each 
tree node, a *delta* is stored, which is applied to the sought key as 
you descend, making key-relative operations work.  All the other usual 
block splitting/joining you see in a B-Tree is in there too.
What is NOT in the book is the Gold version, written in SmallTalk.  It 
represents a total rewrite of the concepts, where the tumbler addressing 
scheme is discarded and generalized into a cool Coordinate Space, where 
you can have integer, float, 2D X-Y and tumbler cooordinate relations. 
There is a lot more magic in Gold, and much of the terminology has been 
changed as well, so that if you use Literary Machines as a guide, Gold 
will be _totally_ unfamiliar.
The Enfilade is kept, but subsumed into the magic structure of "The 
Ent".  If you've ever played D&D, imagine a four-side die, balanced on 
an edge (not point); the top appears as a 2D plane, with time running 
from left-to-right and space running from top-to-bottom.  Now 
visualizing the Enfilade (or B-Tree) as a 2D triangle, imagine an 
infinite number of them stacked side-by-side, with all of the points 
together, and the edges fanning out along the space dimension.  Now do 
the same with another type of tree, the common-variety splay tree. 
Place them at 90-degrees to each other and inter-woven and you have the 
core of The Ent.  The Ent also has a canopy which functions as a quick 
hash into the lower levels, implemented as a dual collection of 
independent splay-trees hovering over the time and space faces of The Ent.
The space aspect of The Ent lets you navigate thru the structure of a 
document.  The time aspect lets you walk thru the history of a document, 
finding it's prior incarnations or versions.
The Gold version does implement user ownership and access control, but 
it too lacks the multi-server architecture mentioned in Literary 
Machines.  The Xanadu team says that is it easy to do that portion, but 
it has never been implemented.
Neither version has any user security in the sense of using SSL to 
secure client/server links, or handshaking passwords and such.  With the 
introduction of Gold, it was envisioned to use the Capability features 
and seamless remote procedure calls you get with something like the 
language E, which is where many of the Xanadu team has gone to these 
days.  You can follow their work at http://www.erights.org.
The Gold version worked on the bench, but is not as fully developed, in 
the production sense, as the Green version, due to the Gold work being 
cut off when Autodesk terminated Xanadu.
Even if out of date, it might be good enough as a teaser.  Also, I wouldn't
sell the Chandler folks short "sight unseen".
I'll try to find time to drop in on them and see what they're doing and 
whether it could relate in any way to Xanadu.  I've read about their 
project before but haven't seen any technical details/architecture.  I'm 
not interested in contributing to "secret" projects anymore; Xanadu has 
had too much of that, and is what I think defeated it.  Xanadu is today 
what the WWW would have been if Tim Berners-Lee had kept it under wraps 
and charged for it.  Xanadu will not make anyone rich in the traditional 
corporate/trade-secret/IPO sense, so don't try.  Just share the 
knowledge and enjoy the cool ideas.  Do it for the sake of preserving 
the knowledge of Mankind.
-Jeff