Udanax ?

btanksley@hifn.com btanksley@hifn.com
Wed, 27 Oct 1999 20:25:41 -0700

> From: Jecel Assumpcao Jr [mailto:jecel@merlintec.com]
> Subject: Re: Udanax ?

> btanksley@hifn.com wrote:
> > That's my opinion as well.  I also believe that the source 
> > code is more a
> > liability than an asset -- the main thing that's good about the open
> > sourcing is the ideas and the patent protection.

> The source for the Self 4.0 virtual machine has been available
> for four years, now. It is ones of the cleanest pieces of C++
> I have seen (I have looked through the sources of a lot of stuff,
> including QNX 1.0 and Linux) yet nobody did anything with it.
> Not even steal pieces to make a really fast Java!

I didn't know that.  Well, mildly interesting, but I'm not writing a Java
compiler.  Are the basic algorithms written up anywhere?  Otherwise they're
close to useless.

This is, of course, what Brian talks about his arrow system solving.  I'll
need to see the nail-wounds in his palms and spear wound in his side before
I believe him, though -- arrows just sound like another programming model to
me.  People have been using them in the past, and they merely result in a
description of the program which is more complicated than the code which
implements the program.

> So I agree with you, though I never considered releasing my
> projects without all the sources, even when it was not free.

I didn't mean to imply that open source was a bad thing -- but the main
beneficiary of open sourcing a project is the project itself, not people
looking for code to borrow.  The benefit is a wider audience of debuggers
for the project itself.

> > > [Xanadu != persistent object storage]

> > I'm actually thinking that it might work well as a file 
> > system (well, no
> > files, but you get the idea).  I suspect -- without proof 
> > -- that people
> > will be willing to buy more storage space in return for the 
> > benefits.  I've
> > talked to several casual computer users about some of the 
> > use cases I
> > envision, and their eyes light up -- I think it's solid.

> You mean having people store things over the internet instead of
> local disks? My local ISP has just started a similar service.
> Given slow modems, I wonder how useful that is?

No.  If I'd meant that, why would I have suggested that people would need to
buy more storage space?

As a matter of fact, networked computers pose a VERY difficult challenge to
my idea of how to best use Xanadu -- when I write an essay I don't care
which disk it's stored on (with the exception of removable media), but I DO
expect it to still be where I put it if the network's down.  I'm not going
to try to solve that until I get a prototype.

The basic idea is that each time you create something on your computer, you
produce a single object.  If you later enlarge that creation, you've
actually created another object which transcludes your original creation.
There's no such thing as object deletion; objects go away when nothing's
referring to them anymore.  Just like the name 'unlink' in Unix.

You can access any version of any document this way, unless you've
deliberately deleted it.  Even versions you've undone.  Even versions you've
typed over.  Yes, it'll get cluttered.  I don't know how cluttered; even GC
won't solve everything.  The user interface will have ot chronological.

> > Ent is the data structure.  You have to read the code to 
> > figure it out.

> Ok, I'll download it, then.

Keep me up to date on your impressions.

> > I also found that reading ALL the related pages was almost 
> > essential -- for
> > example, read all the projects linked to from 
> > www.xanadu.co.au.  Examine
> > ZigZag and whatever they're calling the version control 
> > system today.  IMO,
> > none of these systems is interesting in and of themselves 
> > (the UI for ZigZag
> > is a disaster); but they all help point toward what Xanadu 
> > is supposed to
> > be, and how it's supposed to do it.

> I had tested ZigZag a few weeks ago (it is not in a state that
> I would pay $25 for it) and found the ideas interesting. I think
> objects would handle what his cells do pretty well, though.

Cells and objects are completely irrelevant (a cell IS an object).  Links
are everything.  I'm not impressed with ZigZag, but you have to understand
it in order to understand Xanadu.

> The version control system has a nice naming scheme, but wouldn't
> work in a distributed environment.

Why not?  That's what it's made to do.

> > If you gain any real understanding, perhaps we should work 
> > together to get
> > an implementation.  It may not have anything to do with 
> > Tunes, but it's
> > certainly more useful than doing nothing.

> I need something very much like that to store my objects on disk,
> so I will certainly work on it. I can live without bidirectional
> links and links to ranges of information, but the rest would be
> great (including transclusion, which links to ranges allow: the
> iAPX 432 allowed this kind of stuff for creating restricted views
> on objects, but it would be great to be able to logically insert
> new things in objects).

Exactly.  As well as logically deleting things, and so on.

> -- Jecel