<div dir="auto">Isn’t anyone using the image segments primitives for persistence? Long time ago I found them useful for storing relatively simple objects (images, maps, sound data) that were too big to have fully loaded in memory, so would load them only when required and keep them on a weak reference. One advantage of using image segments is that loading from disk into the image is really really fast, because its just a chunk of object memory.</div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Dec 17, 2024 at 15:31 H. Hirzel via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 15, 2024 at 7:54 PM Juan Vuletich via Cuis-dev <<a href="mailto:cuis-dev@lists.cuis.st" target="_blank">cuis-dev@lists.cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><u></u>

  
    
  
  <div bgcolor="#ffffff">
    On 12/14/2024 11:40 AM, Hilaire Fernandes via Cuis-dev wrote:
    <blockquote type="cite">
      
      <p><font size="4" style="color:rgb(0,0,0)">Hi !</font></p>
      <p><font size="4" style="color:rgb(0,0,0)">What are our options for ODB?<br>
        </font></p>
      <p><font size="4" style="color:rgb(0,0,0)">Experimented with ReferenceStream, but I have a
          mixed experience so far, hard to control what is and is not
          persisted.<br>
        </font></p>
      <p><font size="4" style="color:rgb(0,0,0)">Thanks<br>
        </font></p>
      <pre cols="72" style="font-family:monospace">-- 
<a href="http://mamot.fr/@drgeo" target="_blank" style="font-family:monospace">http://mamot.fr/@drgeo</a></pre>
    </blockquote>
    <br>
    Norbert Hartl presented Soil ( <a href="https://github.com/ApptiveGrid/Soil" target="_blank">https://github.com/ApptiveGrid/Soil</a> )
    this year at the FAST Smalltalks conference in Mar del Plata. I
    suggest consider porting it to Cuis. </div></blockquote><div><br></div><div>The "Soil" OODB needs the Fuel serialization mechanism which comes with Pharo. A Squeak port is regularly maintained by Max Leske.</div><div><a href="https://github.com/theseion/Fuel" target="_blank">https://github.com/theseion/Fuel</a><br></div><div><br></div><div>A Fuel port to Cuis would be useful thus replacing the ReferenceStream.  And maybe that would be enough for a start. </div><div>Maybe start with a simple database</div><div>See</div><div><a href="https://norbert.hartl.name/blog/2023-01-14_object-serialization.html" target="_blank">https://norbert.hartl.name/blog/2023-01-14_object-serialization.html</a><br></div><div>and</div><div><a href="https://norbert.hartl.name/blog/2023-01-07_byob-build-your-own-database.html" target="_blank">https://norbert.hartl.name/blog/2023-01-07_byob-build-your-own-database.html</a><br></div><div><br></div><div>In an earlier post I advocated going against a 'home grown solution' but this one actually would rely on the Fuel serializer, proven and well tested code.</div><div><br></div><div>A problem I see and I do not know how it will be solved is that Fuel is from Pharo version to Pharo version incompatible with the previous one.</div><div>See <a href="https://github.com/theseion/Fuel?tab=readme-ov-file#pharo--12" target="_blank">https://github.com/theseion/Fuel?tab=readme-ov-file#pharo--12</a></div><div>Would need more investigation of what this actually means.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div bgcolor="#ffffff">There are other earlier object
    databases for the Squeak / Cuis / Pharo family. I can remember
    Magma. I believe there are others.<br>
    <br>
    Some googling and a search in our email list archives may be of
    help.<br>
    <br>
    Possibly useful:<br>
    <a href="http://onsmalltalk.com/squeak-smalltalk-and-databases" target="_blank">http://onsmalltalk.com/squeak-smalltalk-and-databases</a><br>
    <a href="https://wiki.squeak.org/squeak/512" target="_blank">https://wiki.squeak.org/squeak/512</a></div></blockquote><div><br></div><div>It might be useful to outline a sequence of solutions (as outlined in the links given by Juan)  from simple to complex that can be developed in parallel during 2025 so that the Dynabook development is not hampered too much by the need to develop persistence mechanisms.</div><div><br></div><div>In my app I just focus on Media types in terms of persistency (Picture files at the moment -- around 1000, will grow ) and String data and OrderedCollections of Integers referencing the pictures by number. I can manage to keep this in a single tree kept in a singleton at the moment.  And that will be good enough for 2025. Later I also would like to have a persistency solution in Cuis.</div><div><br></div><div>-- Hannes</div></div></div><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div bgcolor="#ffffff"><br>
    <br>
    Cheers,<br>
    <pre cols="72" style="font-family:monospace">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank" style="font-family:monospace">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank" style="font-family:monospace">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank" style="font-family:monospace">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank" style="font-family:monospace">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank" style="font-family:monospace">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank" style="font-family:monospace">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank" style="font-family:monospace">twitter.com/JuanVuletich</a></pre>
  </div>

-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>
-- <br>
Cuis-dev mailing list<br>
<a href="mailto:Cuis-dev@lists.cuis.st" target="_blank">Cuis-dev@lists.cuis.st</a><br>
<a href="https://lists.cuis.st/mailman/listinfo/cuis-dev" rel="noreferrer" target="_blank">https://lists.cuis.st/mailman/listinfo/cuis-dev</a><br>
</blockquote></div></div>