<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<br>
<div class="moz-cite-prefix">On 9/22/21 2:43 AM, Vanessa Freudenberg
via Cuis-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAOWGXNDJo1FpRv1T0+k+0Gr1W2YLmGK_mzG0NacGiR4EhXanmg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Sep 19, 2021 at
10:58 AM Nicola Mingotti <<a
href="mailto:nmingotti@gmail.com" moz-do-not-send="true">nmingotti@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div> <br>
<font size="+1"><font face="monospace">Hi Juan, guys,<br>
<br>
I think I made a large step forward this weekend on
"CuisJS" :)<br>
<br>
Please follow the instructions here:<br>
<a
href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/wiki/Run-Cuis-in-the-Web-Browser.-(SqueakJS)"
target="_blank" moz-do-not-send="true">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/wiki/Run-Cuis-in-the-Web-Browser.-(SqueakJS)</a><br>
<br>
Now there remains only to make the auto-update to make
CuisJS reflect the <br>
changes in Cuis-Smalltalk-Dev.<br>
<br>
let me know !<br>
<br>
Bye<br>
Nicola</font></font></div>
</blockquote>
<div><br>
</div>
<div>Very nice! I'm impressed 😊</div>
<div><br>
</div>
<div>Older versions of Cuis used to run much faster on
SqueakJS – guess the changes in the last few years added a
bit of overhead that isn't noticeable on fast VMs.</div>
<div><br>
</div>
<div>As for long download times: SqueakJS supports a "virtual"
template file system backed by a directory structure
accessed via http. It's used for example in EtoysJS and
ScratchJS.</div>
<div><br>
</div>
<div>Here's a screenshot showing these virtual files inside of
Etoys. Notice that only the image and compressed sources
have today's time stamp. These are the only files that were
actually downloaded, all other files just have virtual meta
data:</div>
<div><br>
</div>
<div>--- cut image ---<br>
</div>
<div><br>
</div>
<div>Only after I click a few of the files are they
actually downloaded and from then on live locally:</div>
<div><br>
</div>
<div>-- cut image ---<br>
</div>
<div><br>
</div>
<div>If that's interesting to you I can tell you how to do it.
I don't think I ever documented that part 😅</div>
<div><br>
</div>
<div>Basically it just looks up "sqindex.json" in a directory.
E.g. this one is backed by:</div>
<div><br>
</div>
<div><a
href="https://freudenbergs.de/vanessa/squeakjs/Etoys/sqindex.json"
moz-do-not-send="true">https://freudenbergs.de/vanessa/squeakjs/Etoys/sqindex.json</a><br>
</div>
<div><br>
</div>
<div>To create sqindex.json files for a whole directory
hierarchy use this script:</div>
<div><br>
</div>
<div><a
href="https://github.com/codefrau/SqueakJS/blob/main/utils/mksqindex.py"
moz-do-not-send="true">https://github.com/codefrau/SqueakJS/blob/main/utils/mksqindex.py</a><br>
</div>
<div><br>
</div>
<div>and then when running the VM pass a "templates" option as
in </div>
<div><br>
</div>
<div><a
href="https://github.com/codefrau/SqueakJS/blob/main/etoys/etoys.js#L38"
moz-do-not-send="true">https://github.com/codefrau/SqueakJS/blob/main/etoys/etoys.js#L38</a><br>
</div>
<div><br>
</div>
<div>Vanessa</div>
<div><br>
</div>
<div> </div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
<br>
<br>
Hi Vanessa, <br>
<br>
Thank you for your nice words :)<br>
<br>
The way you dynamically get files is extremely interesting but,
there is catch,<br>
for the moment I prefer to serve a few medium sized files than a lot
of little ones.<br>
The server is very little and I use it to do a lot of stuff.<br>
<br>
I will keep this option in my mind, in due moment I will ask you
more detail.<br>
<br>
It would be expecially important for the directory "CoreUpdates"
where there <br>
are a LOT of files and usually only the last of them are useful (to
me).<br>
<br>
In my opinion running a Smalltalk in the Web has huge potential, at
least<br>
for business intralan web applications where dev. time is important
and<br>
fading pictures and other eye catcher are not so relevant. <br>
<br>
<br>
bye<br>
Nicola<br>
<br>
<br>
</body>
</html>