[squeak-dev] FileTree initialization [Was 🎄 Merry christmas 🎄]

Levente Uzonyi leves at caesar.elte.hu
Sun Dec 15 22:39:48 UTC 2019


#initialize is sent to all newly loaded classes which implement it
directly. So, sending it explicitly is unnecessary, and dangerous, as 
Eliot pointed it out.

Levente

On Sun, 15 Dec 2019, Eliot Miranda wrote:

> Hi All,
> 
>   Christoph, first off all thank you!! A lovely idea.
> 
> Second of all, I notice in https://github.com/LinqLover/XmasDecorations/blob/master/packages/BaselineOfXmasDecorations.package/BaselineOfXmasDecorations.class/instance/postLoad.st the following:
> 
> scripts
> postLoad
> (PackageInfo named: #XmasDecorations) classes do: #initialize.
> XmasDecorations install.
> XmasDecorationsController open.
> Is this the default code generated for initializations?  If so, it is very dangerous, because if a class *doesn't* implement initialize this will end up running the superclass's initialize, which could be disastrous.
> 
> Instead this code should read something like
> 
> scripts
> postLoad
> (PackageInfo named: #XmasDecorations) classes do: [:class| (class class includesSelector: #initialize.
> XmasDecorations install.
> XmasDecorationsController open.
> On Sun, Dec 15, 2019 at 11:09 AM Thiede, Christoph <Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:
>
>       Dear all!
> 
>
>       It's now one and a half year since I met Smalltalk and Squeak. And I am convinced that it was the best thing that could have happened to me! I am very grateful that this beautiful ecosystem exists, a haven of simple expressivity and usability, of liveness and explorability, and a haven of
>       collaborativity. And I am even more grateful that still in 2019, where more and more hip, short-lived environments & languages attract your attention (of which, certainly, many may be smart and useful, but most definitely, hardly anyone will come close to Squeak in terms of abstraction
>       and modifiability) - even today, you are being here and keep contributing to Squeak!
>
>       I would like to thank you for all the energy you daily put into development and maintenance of Squeak, and for being such a great community.
>
>       </laudation> ;-)
> 
>
>       This year, I had the idea to celebrate Squeak with a small collection of XmasDecorations. These include several small modifications of the Trunk image, with the aim to bring the Christmas spirit into our favorite system. They're nothing special, but I think they are a good example
>       for the advantages of Squeak's universal extensibility:
> 
>
>       [IMAGE]
> 
>
>       Features include, but are not limited to:
>
>       ⭐ a Christmas theme (compatible with your preferred UI theme, supports both light & dark mode)
>
>       ⭐ a new full-screen WallpaperMorph
>
>       ⭐ dynamic snow blizzards (with performance optimization)
>
>       ⭐ and further, more or less hidden features!
> 
>
>       If you would like to download it, you are cordially invited to do so! Everything you need to do is:
>
>        1. Update your Trunk image
>        2. Do it:
> 
> Metacello new
>    baseline: 'XmasDecorations';
>    repository: 'github://LinqLover/XmasDecorations:release/packages';
>    load.
>  3. And don't be afraid of Christmas Every Day, the integrated Christmas Detection™ will automatically undecorate your image on January, 6th (unless you opt-out via Apps > XmasDecorations)!
> The graphics were created in cooperation with a few fellow students and a lot of Google; but in the main, I'm an enthusiast in terms of software design, not of graphics design, so don't expect an artistic masterpiece :P
> 
> The source code can be found on GitHub. I don't need to say that every kind of feedback or contribution is highly welcome.
> 
> I would like to wish you lots of fun with XmasDecorations & Squeak in general, and a merry Christmas time, online as well as offline.
> 
> Best regards,
> Christoph
> 
> 
> 
> 
> --
> _,,,^..^,,,_
> best, Eliot
> 
>


More information about the Squeak-dev mailing list