[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