Howdy!
I have some questions and suggestions following up this blog post: http://nepal.ole.org/home/?q=node/86
1. How can we load applications like Monticello, Whisker, Refactoring Browser, etc into the XO image?
From #squeak I have a working method to import Monticello but it's not
pretty (it involves the debugger's 'Return from frame:' feature for example)
2. What repository should we use for our project files? We're developing a set of activities as project files, much like Demon's Castle and Etoys Challenge. We're trying to choose between a shared folder, git/svn/etc repository, attachments on Wiki pages, a SuperSwiki, etc. How's it done for the projects that ship with the XO?
3. To begin with we're using a custom Squeak image to run our activities in. This is mostly a simple way to make our Smalltalk codebase available to all projects. Should we be thinking about a better way to do this?
Finally I've found a performance-degradation problem with Morph>>duplicate that I haven't figured out how to reproduce from a fresh image. In one of my images Morph>>duplicate is spending lots of time (600ms on a fast machine) searching for a unique name in the series Sketch1/Sketch2/etc. It seems to be rejecting thousands of names that have actually fallen out of use (their morphs have been garbage collected). In this image I've found the following dubious change helpful in PasteUpMorph>>uniqueNameForReferenceFor:
old: ((self referencePool includesKey: nameSym) not and: new: (((self referencePool at: nameSym ifAbsent: nil) isNil) and:
because many names are present as keys in the referencePool with value nil. I'm not sure if this is the right thing or how I ended up with so many names in use.
-Luke
P.S. TimeProfileBrowser is a dreamboat!