Monthly Archives: August 2021

Pharo activity log…

I’m always super impressed by the activity…

https://lists.pharo.org/empathy/thread/IVLK577LBE6DLUDDCOTKR2AASU7BJR5S

Stef (fat cutter)

[Ann] 25th of August: Talk about class variable in Pharo

Marcus Denker will present how first class representation of variables simplifies the compiler.

https://www.uksmalltalk.org

[Ann] ABBench: Lightweight Microbenchmarking Library

Hello,
I’ve just released a utility I’ve been using for the past few years to help optimize Pharo code. It’s a library that makes it easy to check whether an optimization has improved performance by wrapping the optimization and the old code in an if block and executing the optimized and unoptimized paths repeatedly under the same runtime conditions to determine which is faster. 

Basic usage is to wrap changes to the code in if blocks like so:
ABBench a: [ …existing code…] b: […optimized code…]
And then run the A/B test by printing:
ABBench bench: […some main method…]

I have found it to make performance testing simple and quick enough that I actually do it. Perhaps someone else will find it useful.
Install with:

Metacello new
  githubUser: 'emdonahue' project: 'ABBench' commitish: 'master' path: ''; 
  baseline: 'ABBench';
  load.

More details can be found here: 

https://github.com/emdonahue/ABBench

Cheers,Evan

[ANN] Bootstrap 5 for Seaside in Pharo

Hi,

after some of you are using https://github.com/astares/Seaside-Bootstrap4
I wanted to let you know that I just published the new / updated project to
support for Bootstrap 5 web development (https://getbootstrap.com) in Seaside
using Pharo.

Project location is on GitHub:

https://github.com/astares/Seaside-Bootstrap5

It might not be fully complete by 100% with all new possibilities of BS5 – but
it is usable and tests are green in Pharo 8 and Pharo 9. Examples are included,
just follow the instructions on the Github page.

Feel free to send contributions via PR’s.

Have fun!
T.

PharoX summer cleaning (or cutting the fat).

After years of good and loyal services, Glamour and the tools got a needed retirement. After a long effort of about 2/3 years we are happy to be able to massively clean Pharo.

We wanted to do it earlier but we needed a good replacement and now this is done! All the new tools are written in Spec2 and we are rewriting and deprecating all the tools not expressed in Spec2.0.

Let us avoid to be naive and think bit (drawing early conclusions on a wrong basis is always not really smart). We removed 420 classes (around 73,800 lines of code). Ok so what.

First, removing is not the panacea. Because LESS code for LESS functionality is EASY. Just remove the package and you do less. It is important to remove things when they duplicate functionality, when they are unused or/and unmaintained. It was the case of Glamour.

Second some people takes that lowering the number of classes is good. NO! NO! Sorry boys you should look at the Pharo mooc (2 videos of the third week of the Mooc http://mooc.pharo.org). And sorry Smalltalk friends, I’m pretty sure that you understand why having two classes True and False is better than having only Booleans. So please think a bit and relax when you think that class number should be small. It should NOT!

Now removing an old framework and its users and offering to the users an enhanced behavior and a better reusability (yes with Spec2.0 we can reuse/extend the default tools – you can extend the inspector and plug the Presenter you want and that you can reuse from somewhere else, so sweet isn’t) is what we wanted to achieve and we did it and we will continue.

We are doing the same is other parts of the system and this is cool.

So PharoX is shinning.

Happy Stef working on Pharo9 by Example.