Thanks for the PDF, Ken. It is printing for later careful reading.

I would note that I was thinking there would be only 1 UIKitty for a single-threaded UI, although there would be concurrent eventual sends in. Reactive eventful and all. So the UI would be eventual.

Please run the code below to load Crypto and to see the BoxOfKitties model, without any Spectre class/method generation.

Here is the latest Crypto comment:

massive refactoring. 1 tests FAILS: ELinda is currently broken: transient Outs. I tried to stabilize BoxOfKitties for demo. Not usre where it is regarding the InMemoryListener used in BoxOfKitties class>>#exampleBoxOfKittiesEventual.

YMMV

 It is broken, as it is only displaying 1 litter of 4 Kitties, not the full 16 and the boxOfKitties ivar is not being set. Not am I demonstrating Neighbor sends. WIP. YMMV.

Installer ss project: 'Cryptography'; install: 'Crypto'.
((Smalltalk at: #BoxOfKitties)
    perform: #new:identity:
    with: 16
    with: ((Smalltalk at: #SessionIdentity) perform: #sampleVatId1)) explore.

I tried in the following code, but it is also broken. I'll get back to you...

BoxOfKitties exampleBoxOfKittiesEventual explore

• rabbit ❤️‍🔥🐰

On 8/26/23 09:55, ken.dickey@whidbey.com wrote:
Another solution strategy is "take it out to the next level and solve
the problem in the wider context"

Microkernel OSs "send messages" to implement device drivers in user
mode.  So a crashing driver (think debug!) does not trash the kernel.

Work has been done to allow _multiple OSs_ to share a window system.

   https://genode-labs.com/publications/nitpicker-secure-gui-2005.pdf

With the proper support, having the rendering "driver" as a separate
process which gets drawing messages from Morphic objects could be an
interesting project.

Making it "fast enough" is something the microkernel folks have been
working on for some time..

$0.02,
-KenD
-- 
••• rabbit ❤️‍🔥🐰