Bert, we did have Squeak programmers but they all emigrated and are difficult to get in touch with.<div><br></div><div>I will bother Surendra, who you met, to see if he can help<br><br><div class="gmail_quote">On Sat, Jan 9, 2010 at 9:57 PM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Well, OLE Nepal does have Squeak programmers, and it should be rather simple for them to write a snippet that exports images and sounds from a loaded project.<br>

<br>
It&#39;s just a bit harder (but I guess not too much) to load each project in a folder and export assets found there (the trick would be to just load the project but not enter it).<br>
<br>
Extracting them without Squeak is rather infeasible.<br>
<font color="#888888"><br>
- Bert -<br>
</font><div><div></div><div class="h5"><br>
On 09.01.2010, at 16:39, Tomeu Vizoso wrote:<br>
&gt;<br>
&gt; Adding sugar-devel to CC in case Bert wants to say anything<br>
&gt;<br>
&gt; On Sat, Jan 9, 2010 at 16:36, Peter Gijsels &lt;<a href="mailto:peter.gijsels@gmail.com">peter.gijsels@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Vaibhaw,<br>
&gt;&gt;<br>
&gt;&gt; You seem to imply that there is a (difficult) way to extract them,<br>
&gt;&gt; could you elaborate?<br>
&gt;&gt;<br>
&gt;&gt; Do you think it would be useful to have a simple way to extract these<br>
&gt;&gt; assets from a .pr file?<br>
&gt;&gt;<br>
&gt;&gt; I can try to see if I can come up with something. I&#39;m not guaranteeing<br>
&gt;&gt; anything, but I think it might be worth a shot. I think it would be<br>
&gt;&gt; more fun than cropping screenshots. ;-)<br>
&gt;&gt;<br>
&gt;&gt; I have two possible approaches in mind:<br>
&gt;&gt; 1) There is probably a central place where the .pr is being read in<br>
&gt;&gt; and Morph objects are being constructed. If we intercept objects of<br>
&gt;&gt; the correct type we can dump their image data to a file. The trick is<br>
&gt;&gt; to find the code that does the deserializing which can be rather<br>
&gt;&gt; frustrating in Smalltalk if you are not familiar with the code.<br>
&gt;&gt;<br>
&gt;&gt; 2) The second approach would be to just walk over all objects, see if<br>
&gt;&gt; they are an image, and dump them to files.<br>
&gt;&gt;<br>
&gt;&gt; Do you have a Squeak development image (with development tools like<br>
&gt;&gt; the browser and inspector) from which I can read in these .pr files so<br>
&gt;&gt; that I can poke around a bit?<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt; Peter<br>
&gt;&gt;<br>
&gt;&gt; On Sat, Jan 9, 2010 at 3:04 PM, Vaibhaw (Bob) Poddar<br>
&gt;&gt; &lt;<a href="mailto:vaibhawp@yahoo.co.uk">vaibhawp@yahoo.co.uk</a>&gt; wrote:<br>
&gt;&gt;&gt; Afraid not. There is no (easy) way to extract the info from the .pr files. I<br>
&gt;&gt;&gt; have been just cropping the images out from the screen shots so far.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Vaibhaw (Bob) Poddar<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Nepal Cell. +977.98510.61345<br>
&gt;&gt;&gt; India Cell. +91.99999.15661<br>
&gt;&gt;&gt; US of A Cell. +1.415.508.4503<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="http://HimalayanTechies.com" target="_blank">http://HimalayanTechies.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 1/9/2010 7:43 PM, Peter Gijsels wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Bryan, Vaibhaw,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;ve got epaath working on my windows machine.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Do I understand correctly that all of the materials of a lesson are<br>
&gt;&gt;&gt; contained in one .pr file, e.g. <a href="http://6_English_actionVerb_3.018.pr" target="_blank">6_English_actionVerb_3.018.pr</a>? The<br>
&gt;&gt;&gt; epaath.image running on the squeak vm loads in that file.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Is there an easy way to extract the pictures and sounds from the .pr<br>
&gt;&gt;&gt; file of the lesson?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt; Peter<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Jan 7, 2010 at 5:45 AM, Vaibhaw (Bob) Poddar<br>
&gt;&gt;&gt; &lt;<a href="mailto:vaibhawp@yahoo.co.uk">vaibhawp@yahoo.co.uk</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Step to get Squeak working on a Windows machine (not sure how on a Linux<br>
&gt;&gt;&gt; distribution).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Download and install squeak<br>
&gt;&gt;&gt; <a href="http://www.squeakland.org/download/" target="_blank">http://www.squeakland.org/download/</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Replace the etoys.image inside the Etoys/Etyos.app/Contents/Resources with<br>
&gt;&gt;&gt; the image file from the E-Paath.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; That should be it. If you run into any issues I would be happy to look at<br>
&gt;&gt;&gt; that.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Vaibhaw (Bob) Poddar<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Nepal Cell. +977.98510.61345<br>
&gt;&gt;&gt; India Cell. +91.99999.15661<br>
&gt;&gt;&gt; US of A Cell. +1.415.508.4503<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="http://HimalayanTechies.com" target="_blank">http://HimalayanTechies.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 1/7/2010 7:44 AM, Bryan Berry wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; here is the file <a href="http://karma.sugarlabs.org/Squeak.tar.bz2" target="_blank">http://karma.sugarlabs.org/Squeak.tar.bz2</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; These are all the Squeak files in the current EPaath. I am not sure how to<br>
&gt;&gt;&gt; actually view the individual projects.<br>
&gt;&gt;&gt; Vaibhaw: how do we do that? My Squeak skills are rusty<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Jan 7, 2010 at 7:06 AM, Bryan Berry &lt;<a href="mailto:bryan@olenepal.org">bryan@olenepal.org</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; hey Peter,<br>
&gt;&gt;&gt; first could u use <a href="http://pastie.org" target="_blank">pastie.org</a> or <a href="http://jsbin.com" target="_blank">jsbin.com</a> for small code samples? makes it<br>
&gt;&gt;&gt; easier for everyone to view and comment on your code<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Thu, Jan 7, 2010 at 3:47 AM, Peter Gijsels &lt;<a href="mailto:peter.gijsels@gmail.com">peter.gijsels@gmail.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi Bryan,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I had a look at the Karma.rand() and Karma.shuffle() functions and<br>
&gt;&gt;&gt; have some remarks.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Here is a link to some code illustrating the comments below:<br>
&gt;&gt;&gt; <a href="http://dl.dropbox.com/u/3249723/js-shuffle.tgz" target="_blank">http://dl.dropbox.com/u/3249723/js-shuffle.tgz</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It contains the current Karma implementation of these two functions,<br>
&gt;&gt;&gt; an alternative implementation (AlternativeKarma) and some code to<br>
&gt;&gt;&gt; print some histograms.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 1) The values returned by Karma.rand(min, max) are not uniform: the<br>
&gt;&gt;&gt; probability of getting min is half of any other element between min<br>
&gt;&gt;&gt; and max. The same goes for max. If you use Math.floor i.s.o.<br>
&gt;&gt;&gt; Math.round (and adjust the argument to Math.random) you have a uniform<br>
&gt;&gt;&gt; distribution.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Good point! Let&#39;s use your code<br>
&gt;&gt;&gt; do you have any idea how we could write a unit test to check that values<br>
&gt;&gt;&gt; aren&#39;t uniform? That way I don&#39;t change it back to a crappy implementation<br>
&gt;&gt;&gt; by accident later<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2) The Karma.shuffle(array) function does not return each permutation<br>
&gt;&gt;&gt; with equal probability. If you work through the math for a three<br>
&gt;&gt;&gt; element array you can derive this. Or you can simply make a histogram<br>
&gt;&gt;&gt; ;-) In the code linked above I make a histogram and you can see that<br>
&gt;&gt;&gt; not every permutation is equally probable. The alternative<br>
&gt;&gt;&gt; implementation uses the Fisher-Yates algorithm, and does not have this<br>
&gt;&gt;&gt; problem.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 3) The unit test for Karma.shuffle is not deterministic: it will fail<br>
&gt;&gt;&gt; with a probability 5/5! = 1/24. I do not know of a good way to test<br>
&gt;&gt;&gt; these kind of functions. You could do something like the histogram<br>
&gt;&gt;&gt; thing in the code above and check that the distribution is roughly<br>
&gt;&gt;&gt; uniform. But then the test is still not deterministic and if you want<br>
&gt;&gt;&gt; a small chance of failure, running the test would take a bit of time.<br>
&gt;&gt;&gt; Maybe one thing that you should check is that the result of calling<br>
&gt;&gt;&gt; shuffle() contains the same elements as the original (sort both and<br>
&gt;&gt;&gt; see that they have the same elements in the same position).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Ouch, you can tell that my CS fundamentals are pretty weak ;)<br>
&gt;&gt;&gt; I think that shuffling only 5 elements isn&#39;t really a valid test, better<br>
&gt;&gt;&gt; to shuffle 25 elements and see if it fails out of 100 tests. I think 1/500<br>
&gt;&gt;&gt; is a tolerable failure rate, what do u think?<br>
&gt;&gt;&gt; let me test that out now<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On an unrelated note, did you have time to prepare a download link<br>
&gt;&gt;&gt; with the Squeak stuff? Tomorrow evening I have some time to have a<br>
&gt;&gt;&gt; look at it.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Regards,<br>
&gt;&gt;&gt; Peter<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Sorry I uploaded most of the files but forget to upload one important<br>
&gt;&gt;&gt; file, the squeak image ;). I will upload that now and send you the link<br>
&gt;&gt;&gt; shortly<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; No virus found in this incoming message.<br>
&gt;&gt;&gt; Checked by AVG - <a href="http://www.avg.com" target="_blank">www.avg.com</a><br>
&gt;&gt;&gt; Version: 9.0.725 / Virus Database: 270.14.127/2603 - Release Date: 01/06/10<br>
&gt;&gt;&gt; 13:20:00<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; No virus found in this incoming message.<br>
&gt;&gt;&gt; Checked by AVG - <a href="http://www.avg.com" target="_blank">www.avg.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Version: 8.5.432 / Virus Database: 270.14.131/2609 - Release Date: 01/09/10<br>
&gt;&gt;&gt; 07:35:00<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; «Sugar Labs is anyone who participates in improving and using Sugar.<br>
&gt; What Sugar Labs does is determined by the participants.» - David<br>
&gt; Farning<br>
</div></div><div><div></div><div class="h5">&gt; _______________________________________________<br>
&gt; Sugar-devel mailing list<br>
&gt; <a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
&gt; <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<br>
<br>
<br>
_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
</div></div></blockquote></div><br></div>