Monthly Archives: December 2019

[ann] SlideBuilder


Hi everyone, my name's Pablo and I'm from Argentina. I'm taking my first steps in Pharo and created this tool ( to share with my colleagues and show them the power of Pharo.

It's a simple library to create slide presentations and show them in a web browser.

I used Zinc HTTP for the server, JS for the presentation controls and CSS for the styles.

It's not 100% complete, I'm still working on it. I hope you find it useful and any suggestion is welcomed

Best Regards, Pablo.

[Ann] Draft of Concurrent Programming Booklet


Since a couple of years I had some chapters for a little book on concurrent programming in Pharo. During holidays, I spent some time to revisit and improve the text to be able to release a first version.

Feedback, errors, suggestions are welcome.

Thanks in advance for your time


Happily surprised


We are happily surprised to see the new Logiciel web site of Inria showing Pharo :).

S. Ducasse for the Pharo consortium

[Ann] Subtitles on


Just a little post to let you know that now has direct pointers to the slides of the presequel and to the subtitles in french, english, spanish and japanese. The subtitles were on the FUN platform but not on our web site.

Now this is fixed.

We thank again all the contributors.

Quote of the day:

  • I have just completed week seven of the Pharo Mooc (beginner and object oriented  tracks) I am starting a redo of the Mooc with the web track (TinyBlog project).  I have already learned so much ! I have spent the last 20 years or so in software development and, following this Mooc, I realized I hadn’t really grasped the essence of object-oriented design.

Pharo running on SqueakJS


a small update of Pharo running on SqueakJS:
FileAttributes plugin and file support generally is still not in good shape but inspectors work now and the number of changes to the image was significantly reduced (
— Pavel

[Ann] Zinc simple in-memory key-value store


I added a new example to Zinc HTTP Components, a simple in-memory key-value store exposed as a REST web service (ZnKeyValueStoreDelegate) and a client to access this service over HTTP (ZnKeyValueStoreClient).

Check the class comments for a more detailed explanation. ZnKeyValueStoreTest #testUsage and #setUp implement a runnable example and functional test.

You will have to load the latest version of Zn from


Sven Van Caekenberghe
Proudly supporting Pharo

[Ann] ReStore for Pharo :)


At ESUG 2018 I gave a presentation on some aspects of ReStore, my object<>relational database framework for Dolphin Smalltalk. Afterwards a number of people asked if ReStore was available for Pharo, the answer at the time unfortunately being “no". 

A year later I found myself with some spare time and decided to look at porting ReStore to Pharo (mainly to give myself some experience with Pharo). I’m pleased to say ReStore is now available for Pharo and can be found at my GitHub account: <>

Initially ReStore supports SQLite via UDBC and PostgreSQL via P3; kudos and thanks to the authors of these packages. Documentation largely remains on the “to do” list but the ReadMe gives a flavour of what ReStore is and what it can do via a few simple examples. Please feel free to post any questions here and I’ll do my best to answer them.

I hope some of you find ReStore useful!

John Aspinall

[Ann] Grouper


I made a small library that reify grouping (that one does via #groupBy: usually): Grouper

It is designed in the same spirit as SortFunction, but for grouping.

Quick example:

The following code snippet using Grouper:

(10 to: 50) groupUsing: [ :integer | integer asString first ].
"an OrderedDictionary(
  $1->#(10 11 12 13 14 15 16 17 18 19)
  $2->#(20 21 22 23 24 25 26 27 28 29)
  $3->#(30 31 32 33 34 35 36 37 38 39)
  $4->#(40 41 42 43 44 45 46 47 48 49)

Julien Delplanque


Screenshot 2019-12-01 at 18.02.38.png

64269 tests passing! Quite nice. We are regularly investing on improving our tests.

Some actions are worth mentioning:

  • Executable comments (not counted in the tests above) are disguised assertions that help the users to understand code. Soon we will add them to the automatic build.
  • DrTests plugin architecture will bring super cool analyses to improve your tests and code. S. Demeyer’s group at antwerp is working on test amplification for Pharo and more.
  • UI testing. We are testing Morphic and GTK UIs with the SAME test suites.
  • FFI testing. We are testing FFI with C programs to make sure that FFI is working as it should.

At the end of the day, this is always intriguing to see that we rarely have access to the bug/enhancement requests and tests of proprietary software – may be because it is better not to show their non existence. While with open-source projects like Pharo,  YOU can measure our progress and see it. Now transparency as a cost, we can get bashed that we have too many enhancement requests, that we are moving too fast.

At the end of the day, we get a better and more robust system and we are investing in the future!

Stay tuned. Pharo is growing and feeling better.