Ken Dickey on a new OS...

Francois-Rene Rideau fare@tunes.org
Fri, 12 May 2000 10:45:51 +0200


On Thu, May 11, 2000 at 06:24:22PM -0700, Kenneth Dickey wrote:

> Wow! Encyclopedic!  I very much like people who learn from history.
> [So much bad reinvention takes place!].  Some very cool ideas.
Thanks a lot.
[Actually, the fact that current computing architecture _require_ reinvention,
which seemed so horrible to the mathematician I used to be,
is precisely what led me to reflective architectures and to free software,
as a way to eliminate the technical need to write a same idea more than once]

> [I have not had much chance to do more than a quick scan, but..]
Your comments most welcome.

> My major concerns about such a project are:
>
>   * Funding (How to eat while doing this).
I intend to found a startup in Europe or the US, when I finish my PhD.
The "new economy" (massive pyramidal system of sales of vapor shares)
won't last eternally; we must take advantage before the bubble explodes...

>   * Target/Vision/Coherence issues
>    (How to narrow goals and strategies
>    to what can be accomplished with resources at hand).
Target is what I lack. Vision and coherence I have.

>   * Technology reuse/leverage (Not being able
>    to do everything from fundamentals,
>    how to converge on and leverage what is there
>    and how to energize/grow/leverage existing communities;
>    where to contribute, how to grow).
I think that this problem comes second,
it's all a SMOP (simple matter of programming)
and that the free software development model mostly solves it:
"develop on demand, if it scratches you, or if someone pays you".
The BIG problem is to build a usable initial core.
I like the way Pliant does things on top of linux|windows.

As for "doing everything from fundamentals", it IS possible:
there is the OS kit (as used by Olin Shivers with SMLNJ to obtain ML/OS),
and there is clementine (will it be released as free software this year?).
Even if clementine isn't released, it shows that even hardware support is
SMOP, and can be benefit from modular and reflective design.

>   * I know how hard the goalset is to achieve
>    [It is a lot of work by many people over years/decades =>
>    requires organizational persistence and learning].
We know it's hard too. Looks like I've not been up to it, up to now.

>> If you feel like it, I'd happily offer the task to you...
> I have the background but at this point I would have to be paid
> to do the work.
Hum. Would you be available in one year from now, when I find funding?

> [You can scan my general background included as HTML, below].
I had seen your name in several Scheme documents,
but didn't guess all kinds of cool things you've been hacking.

> [I'll review the archive soon].
return -ETOOBIG;

>> I invite you to include tunes@tunes.org in your replies...

>>> - SELF CENTERING (homeostatic)
>>> - SELF DESCRIBING
>> I call tend to put all that under the concept "reflection".
>
> My concept of 'reflection' does not quite cover this.
> I tend to think of reflection as a low-level implementation
> substrate/strategy.
I guess you're right. However, I think it's precisely the
implementation substrate that enables dynamic self-{center,describ}ing.

> By SELF CENTERING I mean self 'healing'. [...]
That's an important goal indeed. Would be nice to formalize.
I'm convinced that metaprogramming is essential to achieve it.

> By SELF DESCRIBING I mean that the user can always
> ask "what is going on?", "what components are present?",
> "why am I getting no response here?", and so forth.
That's essentially reflection at the high-level
(instead of just at the bit-diddling level as in Java).

> I.e. the UI supports explinations.
Sure. I've always been fascinated by reflective expert systems
such as those by Jacques Pitrat.

>>>     - Backup is continuous
>> Unhappily, in absence of battery backed-up TRAM,
>> this is either very expensive, or subject to some delay [...]
> There is 'ephemeral state' and there is 'transacted state'.
> When significant state transitions take place they are always transacted
> and have been logged to stable media. [...]
Of course. And using ephemeral state is actually
your usual optimistic evaluation strategy for computing with the "real",
safe persistent storage.
This solves the performance problem in the usual case.
[Eumel did it in 1980, but the mainstream industry is still not there].
However, things can get quite complex
when you need synchronized transactions for multiple hosts,
which is hopefully only needed for a small subset of the data.
The ability for the user to dynamically define or select new
low-level implementation strategies is thus essential to achieve
a universal system, one that can _express_ solutions to all problems.

>>> QUESTIONS: [...]
>> I think your problematic is correct.
>> My general opinion is that reflection dynamically allows
>> for new static invariants to be enforced and taken advantage of.
>
> Good substrate mechanism, but it must be
> reflected/abstracted/filtered/presented to the user in comprehensable ways.
Indeed. I guess this is what my PhD ought to be about.

>> Would sending the full description of a man, destroying the original in the
>> process, so he be reconstituted back light-years further be a valid means of
>> transportation? Or would it be killing him and making a different man?
>
> Yes.  [Do you walk to school, or take a lunch?  8^]

*I* don't, although the persons who have formerly occupied my body did (RIP).

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
[  TUNES project for a Free Reflective Computing System  | http://tunes.org  ]
The problem with modern politics is that too many people are confusing
the concept of free market with the corporate interest of traders,
whereas nothing could be as foreign to free market as any corporate interest.