[squeak-dev] ESqueak :: Re: SqueakEazy Plans

rabbit rabbit at callistohouse.org
Thu Oct 13 16:37:23 UTC 2022


Well, let us see…objectives #1 and #2 are the same, are they not? So what’s a third? …

Hmmm. Suggestions from the audience?


—
Have a good one; keep it, light.
Kindly,
langohr
. .. … ‘…^,^
🐇🐇🐇🐇🐇🐇

—————

𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
:: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨

—————

> On Oct 13, 2022, at 12:27, rabbit <rabbit at callistohouse.org> wrote:
> 
> 
> Andsoi must wrap this up to the Top and establish 3 clear objectives, for ESqueak. 
> 
> Build the following distributed replicated fail-safe services
> 1) ESqueakMap
> 2) Code Distribution System (ESqueakSource)
>     {push-on-change | on-demand}
>      BlockClosure pass-by-copy scope-encoded in ASN1, for distributed local computations querying distributed block/partition persistence (map/reduce)
> 3) SqueakEazy Social Media (text, audio, video, friends, DMs, userWall)
> 
> ———-
> 
> In other aspects, there are 2 styles of replication assets and strategy ::
> 
> 1) With 4 actors: Top and 3 crew mates. For Sessions. Policy: 
> 1.a) msgNumber :=
> increment msgCounter
> 1.b) Build tuple: <
> ———> ApplicationID !
> ———> TeaTime stamp !
> ———> msgNumber !
> ———> receiverID !
> ———> selector !
> ———> archivedEncryptedMessage >
> 
> 2) With 3 actors, the Sisters. No coordinator, no ordering, concurrentMessaging, only-once. Exception on previous conversation established for orderly failure.
> 
> —-
> 
> Retry strategy uses PromiseSets and #anySatisfy: to throw an exception on global failure. Then RetryStrategy may close all sessions/services down, request another replication factors worth from the Broker’s DistributorService.
> 
> —-
> 
> The Broker is running each of these services with serviceClassID and serviceID…
> 
> < 0 ! brokerServID ! esse3Broker  >
>     < 1 ! namingServID ! esseNaming3Service  >
>     < 2 ! distributionServID ! esseDistribution3Service  >
>     < 3 ! teaTimeServID ! esseTeaTime3Service  > 
>     < 4 ! persistenceServID ! essePersistence3Service >
>     < 5 ! monitorServID ! esseMonitor3Service 
>     < 6 ! 
> ! bankingServID ! esseBanking3Service  >
>     < 7 ! marketServID ! esseMarket3Service  >
>     < 8 ! bridgeServID ! esseBridge3Service <
>         < 8.1 ! esseBridge> !
>         < 8.2 ! esseBridge> !
>         < 8.3 ! esseBridge> > >
> 
>> Have a good one; keep it, light.
> Kindly,
> langohr
> . .. … ‘…^,^
> 🐇🐇🐇🐇🐇🐇
> 
> —————
> 
> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
> 
> —————
> 
>>> On Oct 12, 2022, at 12:38, rabbit <rabbit at callistohouse.org> wrote:
>>> 
>> 
>> 1) Get ASN1 working
>> 2) Update ASN1 tags
>> 3) Remote Promises
>> 4) Use E-API #identityHash & #becomeForwards:preserveIdentity
>> 5) Start using E-SSE -> Eventual-Sending Style Evals
>> 6) Persistent SubspaceTreeArrays with matchingStrategies <Linda. RegEx. Prolog.> for #at: and #detect:,
>> 7) Tree processing with parent and imports…see ASN1Module. How to implement #do:? How to go to disk? 
>> 8) Serve up a directory tree of Monticello packages from/to a file system of files, replicated on #update detection? 
>> 9) Go-Wide Persistent Block Replication Protocol…a la Hadoop.
>> 10) How to do a #replicaDo:?/#replicaDetect:?
>> 
>> 
>>>> Have a good one; keep it, light.
>> Kindly,
>> langohr
>> . .. … ‘…^,^
>> 🐇🐇🐇🐇🐇🐇
>> 
>> —————
>> 
>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>> 
>> —————
>> 
>>>> On Oct 12, 2022, at 12:10, rabbit <rabbit at callistohouse.org> wrote:
>>>> 
>>> Prior email the image result from the scenario doc, I call promise shortin’.
>>> 
>>> ———
>>> 
>>> Seven Message PriorityVatZ
>>> $Y -> ##EZO -> #EmergenZOverride
>>> $Z -> ##EZ -> #EmergenZ
>>> $P -> ##PRIO -> #Priority
>>> $W -> ##WELL -> #Welfare
>>> $R -> ##ROUT -> #Routine
>>> $E -> ##EMO -> #Emote
>>> $O -> ##ENDO -> #Endocrine
>>> 
>>>>>> Have a good one; keep it, light.
>>> Kindly,
>>> langohr
>>> . .. … ‘…^,^
>>> 🐇🐇🐇🐇🐇🐇
>>> 
>>> —————
>>> 
>>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>>> 
>>> —————
>>> 
>>>>> On Oct 12, 2022, at 11:54, rabbit <rabbit at callistohouse.org> wrote:
>>>>> 
>>>> 
>>>> Which MatchinStrategy would be cross-platform?
>>>> 
>>>> —//||\\—
>>>> Make a Trait for replication state machine. Use a VatZ’ ELinda-stored stateMachine SubspaceTree for each host object’s #iHash keyed -> stateMachine tuple.
>>>> 
>>>> StateMachine holds the keys, currentState and mapping from initialState. #Eventualize the StateMachine controlling all eventual event processing. #DieAnführerKontrolliertAlles #EKeyMasters
>>>> 
>>>> ———-
>>>> Seven Message PriorityVatZ
>>>> #Y - #EmergenZOverride
>>>> #Z - #EmergenZ
>>>> #P - #Priority
>>>> #W - #Welfare
>>>> #R - #Routine
>>>> #E - #Emote
>>>> #O -> #Endocrine
>>>> 
>>>> ———-
>>>> 
>>>> 1) Get ASN1 working
>>>> 2) Update ASN1 tags
>>>> 3) Remote Promises
>>>> 4) Use E-API #identityHash & #becomeForwards:preserveIdentity
>>>> 5) Start using E-SSE -> 
>>>>     Eventual-Sending Style Evals
>>>> 
>>>> ……. ‘..^,^
>>>> 
>>>>>>>> Have a good one; keep it, light.
>>>> Kindly,
>>>> langohr
>>>> . .. … ‘…^,^
>>>> 🐇🐇🐇🐇🐇🐇
>>>> 
>>>> —————
>>>> 
>>>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>>>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>>>> 
>>>> —————
>>>> 
>>>>>> On Oct 10, 2022, at 23:40, rabbit <rabbit at callistohouse.org> wrote:
>>>>>> 
>>>>> Oh yes the GalaxyObjectScenario [1] of eventually introducing a third party and the flow of references and messages, cutting out the middle man as no longer needed with remoteGCs sent back. The final result:
>>>>> 
>>>>> [1] GalaxyObjectScenario - https://www.dropbox.com/s/cu3lxzdxk4rq9yx/The%20GalaxyObject%20scenario%20repaired.pdf?dl=0
>>>>> 
>>>>> <image.jpg>
>>>>> 
>>>>>>>>>> Have a good one; keep it, light.
>>>>> Kindly,
>>>>> rabbit
>>>>> . .. … ‘…^,^
>>>>> 🐇🐇🐇🐇🐇🐇
>>>>> 
>>>>> <𝙃𝙖𝙨𝙝𝙏𝙖𝙜: #𝙎𝙦𝙪𝙚𝙖𝙠𝙀𝙖𝙯𝙮𝙎𝙦𝙒𝙖𝙮𝙎𝙦𝙒𝙚𝙎𝙦𝙒𝙖𝙡𝙡>
>>>>> ———-
>>>>> #SqueakEazy “(…𝙛𝙤𝙧𝙩𝙝𝙘𝙤𝙢𝙞𝙣𝙜 𝙢𝙚𝙩𝙖𝙫𝙚𝙧𝙨𝙚…)”
>>>>> - - - - - -
>>>>> “ 𝐁𝐨𝐨𝐭𝐬𝐚𝐭𝐫𝐚𝐩”
>>>>> <#𝐒𝐪𝐮𝐞𝐚𝐤𝐄𝐚𝐳𝐲𝗜𝗶𝗻𝘀𝘁𝗮𝗻𝘁𝗜𝗶𝗮𝘁𝗜𝗶𝗻𝗴𝗣𝗲𝗻𝗱𝗜𝗶𝗻𝗴>
>>>>> “𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝘁𝗵𝗲 𝗦𝗶𝘀𝘁𝗲𝗿𝘀”
>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^> 
>>>>> —————
>>>>> 
>>>>> 𝙒𝙝𝙚𝙧𝙚’𝙨 𝙒𝙤𝙤𝙙𝙮 𝙛𝙧𝙤𝙢 𝙢𝙖𝙧𝙠𝙚𝙩𝙞𝙣𝙜?
>>>>> ^,^
>>>>> 
>>>>> —————
>>>>> 
>>>>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>>>>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>>>>> 
>>>>> —————
>>>>> 
>>>>>>> On Oct 10, 2022, at 23:33, rabbit <rabbit at callistohouse.org> wrote:
>>>>>>> 
>>>>>> Some changes below…
>>>>>> 
>>>>>> Between both (9) and (10) now the abstract superclasses for user-defined ApplicationServices using auto-generated ShadowGalaxies and ShadowERefs.
>>>>>> 
>>>>>> more changes within….
>>>>>> 
>>>>>> ———-
>>>>>> 
>>>>>> 1) Get ASN1 working
>>>>>> 2) Update ASN1 tags
>>>>>> 3) Remote Promises
>>>>>> 4) Use E-API #identityHash & #becomeForwards:preserveIdentity
>>>>>> 
>>>>>> 5) Start using E-SSE -> 
>>>>>>     Eventual-Sending Style Evals
>>>>>> See (10)!
>>>>>> Generate from subject objects, which are published remotely and send a generated subclass of ResolvedERef with the subject’s subclass’ protocol for all its methods. All of which are implemented as forwarding to the Far/Near ERef subject. Also generate Galaxy subclasses for the concrete service subclasses that replicate their service.
>>>>>> 
>>>>>> 6) Work up ELinda (ELindaSubspaceArray)
>>>>>> 7) Provide #asTuple and #asTupleMatcher
>>>>>> 
>>>>>> 8) Switch … to use ELinda
>>>>>>     - eventualize internally (ESubspaceArray)
>>>>>>     - a) VatZ
>>>>>>     - b) ASN1Module
>>>>>>     - c) ThunkStack
>>>>>>     - d) SecureServers!!!
>>>>>>     - e) StateMachine
>>>>>>     - f) Scope
>>>>>> 
>>>>>> 9) Sessions, Services & Galaxies | The Sisters
>>>>>> - build Specs (rename Configs)
>>>>>> - ChannelSession <SingleCrypto>
>>>>>> - ReplicaSession(3 channels) <SingleCrypto>
>>>>>> - BridgeSession <DoubleCrypto>
>>>>>> - SisterSession <DoubleCrypto>
>>>>>> 
>>>>>> “ReplicatorService subs concrete Services”
>>>>>> “A ReplicatorService on a for each concrete triple service”
>>>>>> 
>>>>>> - ConcreteService
>>>>>> —-> SisterService
>>>>>> —-> NamerService
>>>>>> —-> DistributorService
>>>>>> —-> ConcentratorService
>>>>>> —-> TeaTimerService
>>>>>> —-> ApplicationService
>>>>>> ———> other concrete user-defined services <———
>>>>>> —-> ShadowGalaxy(3 services)
>>>>>> ———> SisterServiceCauldren
>>>>>> ———> NamerServiceGalaxy
>>>>>> ———> DistributorServiceGalaxy
>>>>>> ———> ConcentratorServiceGalaxy
>>>>>> ———> TeaTimerServiceGalaxy
>>>>>> ———> other auto-generated Galaxies for concrete user-defined services above <———
>>>>>> 
>>>>>> 10) Generated ForwardingERefs subs for each concrete subject’s class.
>>>>>> - ERef
>>>>>> —-> ResolvedERef
>>>>>> —-—-> LocalERef
>>>>>> —-—-> FarERef
>>>>>> ———> ShadowERef (target is eventual Local\FarERef)
>>>>>> —-———> SisterERef
>>>>>> —-———> NamerERef
>>>>>> —-———> DistributorERef
>>>>>> —-———> ConcentratorERef
>>>>>> ————-> other auto-generated concrete user-defined ERefs <————-
>>>>>> 
>>>>>> - browsable
>>>>>> - method overrides
>>>>>> - remote discovery
>>>>>> - immediate push updates on changes
>>>>>> 
>>>>>> 
>>>>>> 11) Matching strategies
>>>>>> - Linda
>>>>>> - RegEx
>>>>>> - Prolog
>>>>>> 12) SqueakMap head & release
>>>>>> 13) Caching strategies
>>>>>> 
>>>>>> 
>>>>>>>>>>>> Have a good one; keep it, light.
>>>>>> Kindly,
>>>>>> rabbit
>>>>>> . .. … ‘…^,^
>>>>>> 🐇🐇🐇🐇🐇🐇
>>>>>> 
>>>>>> <𝙃𝙖𝙨𝙝𝙏𝙖𝙜: #𝙎𝙦𝙪𝙚𝙖𝙠𝙀𝙖𝙯𝙮𝙎𝙦𝙒𝙖𝙮𝙎𝙦𝙒𝙚𝙎𝙦𝙒𝙖𝙡𝙡>
>>>>>> ———-
>>>>>> #SqueakEazy “(…𝙛𝙤𝙧𝙩𝙝𝙘𝙤𝙢𝙞𝙣𝙜 𝙢𝙚𝙩𝙖𝙫𝙚𝙧𝙨𝙚…)”
>>>>>> - - - - - -
>>>>>> “ 𝐁𝐨𝐨𝐭𝐬𝐚𝐭𝐫𝐚𝐩”
>>>>>> <#𝐒𝐪𝐮𝐞𝐚𝐤𝐄𝐚𝐳𝐲𝗜𝗶𝗻𝘀𝘁𝗮𝗻𝘁𝗜𝗶𝗮𝘁𝗜𝗶𝗻𝗴𝗣𝗲𝗻𝗱𝗜𝗶𝗻𝗴>
>>>>>> “𝗥𝗲𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝘁𝗵𝗲 𝗦𝗶𝘀𝘁𝗲𝗿𝘀”
>>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^>
>>>>>> <#𝑫𝒊𝒆𝑨𝒏𝒇𝒖̈𝒉𝒓𝒆𝒓𝗞𝗼𝗻𝘁𝗿𝗼𝗹𝗹𝗶𝗲𝗿𝘁𝗔𝗹𝗹𝗲𝘀 .  ..   ….   ‘…^,^> 
>>>>>> —————
>>>>>> 
>>>>>> 𝙒𝙝𝙚𝙧𝙚’𝙨 𝙒𝙤𝙤𝙙𝙮 𝙛𝙧𝙤𝙢 𝙢𝙖𝙧𝙠𝙚𝙩𝙞𝙣𝙜?
>>>>>> ^,^
>>>>>> 
>>>>>> —————
>>>>>> 
>>>>>> 𝙎𝙚𝙣𝙩 𝙛𝙧𝙤𝙢 𝘾𝙖𝙡𝙡𝙞𝙨𝙩𝙤 𝙃𝙤𝙪𝙨𝙚 𝙈𝙤𝙗𝙞𝙡𝙚 
>>>>>> :: 𝙙𝙚𝙘𝙚𝙣𝙩𝙧𝙖𝙡𝙞𝙯𝙚𝙙 𝙢𝙤𝙗𝙞𝙡𝙚 𝙝𝙤𝙢𝙚𝙡𝙚𝙨𝙨 𝙨𝙤𝙡𝙪𝙩𝙞𝙤𝙣𝙨
>>>>>> 
>>>>>> —————
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20221013/306984d1/attachment-0001.html>


More information about the Squeak-dev mailing list