[Cuis-dev] Porting State of Magma

Gerald Klix Gerald.Klix at klix.ch
Sat May 22 02:02:57 PDT 2021


Hoi Folks,

It's bit hard for me to answer without starting
to rant. OTH, staying quiet isn't an option:
I am to much interested in a DB.

So please bear with me, when I leave
the DB topic for a while.


Philip's story of porting Magma
and my first real encounter
with the opensmalltalk VM taught
me a lesson, alas it left a serious open
question without proper answer.

A famous book, we probably all know,
states:

"Personal Mastery. If a system is to serve the creative spirit, it must 
be entirely comprehensible to a single individual."

(See https://cuis-smalltalk.github.io/TheCuisBook/Historical-Context.html)

Personal Mastery can be achieved with Cuis,
Haver is a fine example of that.

But once you start with Magma or
the OSVM, you can make the transition from
"Personal Mastery" to "Cargo-Cult" programming in less than 30 minutes.

My observation is:
Simple and approachable systems tend to grow,
sometimes their community of users grows with
them. In this case an interested newcomer
will find a critical mass of people,
that have achieved personal mastery and (sic!)
also can explain their insights to a newbie.

The big question is:
*How can an individual be a personal master
in a certain topic and form a community
that grows with him?* (I intentionally
avoid writing "her", I have the gut feeling, that women do not have that 
sort of problem).


Now back to the database issue:

In February and March 2021 I tried
to solve this DB problem, by doing
it right from scratch. I cast all
the good ideas, I had accumulated over
the years, into software.
You may have guessed it, it soon
grow over my head; thus I abandoned it.
This was Plan A.

Plan B was porting Magma to Cuis.
Philip did a great job, he
has good reasons to give
up on that one.

I had my doubts from the beginning,
therefore I started Plan C,
writing a wrapper for LMBD:
http://www.lmdb.tech/doc/

This did not work and I did not
want to debug this using gdb.
So I quickly gave up and
started Plan D:

Porting Image Segments to Haver.
It started well, after 20 minutes
it could load the Squeak code
into a Haver module, with
duplicate classes neatly encapsulated
into a module. It then took
2 hours to remove all the obscure
dependencies on Projects and other
Etoys stuff. Finally it produced
a binary dump of a few test instances.
Then I spent another to hours to
find out on how to load that image
segment back into a my image.
I still don't know how.

Again these image segments are
nice example for someone with
personal mastery,, who has lost
everyone else to his climb
to his personal Mount Everest.
(Probably it was more than one person).

Again I gave up and did the simplest
thing that might possible work.
I used an record format that supports
updates and at the evening of the 13th of
May I could persist some simple classes.

For obvious reasons I called that object store
"PlanE". You can find it here:
https://hg.sr.ht/~cy-de-fect/HaverOnCuis/browse/haver/db/PlanE.pck.st?rev=tip

Currently it can't be called a database,
because it does no recovery. It can't collect
garbage, but *is still in a state, where it
can be understood by others".

Therefore everyone is invited to climb
the pass to personal mastery with me
and contribute to that project.
If there is demand I will remove all
the dependencies to Haver's modules
and make it a simple Cuis project.

*I want to avoid another Smalltalk
project, that is only understood
by its author*, we have enough of those!


Thanks for following me up to her and


Best Regards,

Gerald



On 2021-05-21 19:47, Juan Vuletich via Cuis-dev wrote:
> On 5/20/2021 7:02 PM, Douglas Brebner via Cuis-dev wrote:
>> On 16/05/2021 21:43, Philip Bernhart via Cuis-dev wrote:
>>> Hi,
>>>
>>> some people were interested into porting Magma to Cuis.
>>
>> I was wondering, would Minniestore be suitable for a Cuis object 
>> database and an easier first target? It's supposed to be portable.
> 
> It would be _great_ to have both Magma and Minnestore packages for Cuis!



> 
>>> After investing roughly a week into that project,
>>> I think I'll invest my time now a little bit in other
>>> more promising projects and come back to it after I
>>> got _atleast_ my mail re-implementation working:
>>>
>>>    https://github.com/Phantasus/Cuis-Smalltalk-Mail/
>>
>> Very interested in this
>>
> 
> Cheers,
> 


More information about the Cuis-dev mailing list