Monthly Archives: May 2018

[ANN] VM for Pharo 6.1 updated


I backported stable VM from Pharo 7 to Pharo 6.1.
It should fix some issues (not listed, because I really don’t know them).

Let me know if something is wrong.



ESUG 2018 CFP and student volunteers

You can find here all the information about the conference….


Registration for the Pharo Mooc


The registration for the Pharo mooc is open

Mooc will start in October 2018.

Check testimonies at


New this year: Japanese subtitles and Spanish subtitles.

And PreSequel lectures on object-oriented programming.



Iceberg 1.0.0

Hi all,

Time for a new Iceberg update, that will be available in the next Pharo
build. This time, there are lots of cleanups and enhancements. On the big

- Tonel migration plugin is available in the "Other menu item"
- Tests are green on 64 bits! (meaning iceberg can be safely used in 64

Thanks to everybody that participated in reviewing, opening/closing issues
or even fixing a typo!

# Documentation

Just as a reminder, here you have a link to iceberg's wiki, convering some
info like terminology, how to help us, and so on...

# And some videos ;)

- Branching and merging
- Loading a Baseline
- Contributing to Iceberg

# Changes Log

Enjoy, Guille

PS, detailed changes log below:

# Cleanups

#819 Fix tooltip typo in settings
#800 Iceberg should be removed from the catalogue
#801 Remove not referenced packages
#803 Correct some lints in tests
#806 Bad repair options when local repository is missing
#725 Remove and clean old UI
#794 Some classes should use category "utilities" instead of "utility"
#791 Begin to remove old UI
#734 Begin to remove old UI
#576 Add link to github/gitlab ssh instructions

# Enhancements

#776 Upgrade to Commander 0.6.2  dependencies
#765 Add command to copy SHA from history window
#793 Add the commit message to history window
#785 Metacello conflicts are not handled Metacello Integration

# Bug fixes

#771 IceTipRemoveFromRepositoryPackageCommand >> execute is not implemented
#748 Code subdirectory in empty repository
#767 Error while pulling with renamed packages
#814 Moving extension from a package removes extended class
#807 When we do not have the right to push on a report we get an Error
instead of the pop up!
#768 Inverse merge preview shows wrong diff
#784 Pulling from a non existing remote branch fails#810 #removePackage:
should recursively delete files

# Documentation

#702 Create screencast - How to contribute to iceberg
#774 Copy Wiki contribution page to pharo-project/pharo wiki

# Infrastructure

#761 Make tests run in 64 bits Pharo 7

Pharo got 10 years!


While browsing an old folder, I found the first commit of Pharo.

‘From Sapphire0.1 of 16 March 2008 [latest update: #10018] on 24 April 2008 at 10:22:48 pm’!
“Change Set: 00-classcleaning
Date: 24 April 2008
Author: stephane.ducasse
adding hasSharedPools instaed of sharedPools > 0″!
There is one import symbol in this first commit! It was about improving the system.
Pharo is a much better name 🙂 because it protects boats lost in the tempest and show the way!

[Ann] New iceberg videos!

Hi all,

This time (just before releasing a new version of iceberg) I wanted to share some videos with you. Feedback is welcome.

!! How to contribute to Iceberg

This video shows how to contribute to iceberg.
For this, you should update your iceberg installation and then just do a pull request.
This means that you need to start by forking

- Path 1: Clone and pull (easy)
  - Clone your fork
  - Checkout the latest development branch (e.g., dev-0.7)
  - Pull from pharo-vcs/iceberg

  This path does not always work, as this is kind of self-brain surgery. Iceberg is updating itself. If this does not work, go to path 2

- Path 2: Install from scratch (if Path 1 does not work)
  - Use the script in the README file to unload and reinstall iceberg
  - Make sure you use the latest development branch in the Metacello script (e.g., dev-0.7)
  - Clone your fork and checkout the development branch

Once you have the correct version, you can load the tests by loading the development group of the baseline.

!! Basic Branching and Merging

This video shows in a simple example how to branch, merge and checkout different commits. In this video we first create a new class with a method, then we create another branch and force a conflict. We resolve the conflict during merge.

In the middle, bonus feature, we checked out a commit and stayed in
Detached HEAD for a while ;)

!! Loading a baseline from your repository

This video shows how to load a baseline from Iceberg's UI.
We clone an existing project, see it is "Not loaded" and use Metacello plugin to load the default group.


PS: Tomorrow I'll answer the threads about Iceberg that were going around
here in the mailing list. I was running today.

PharoContributor videos

Pharo contributor is a simple tool to help you contributing to Pharo.

now provides two videos demonstrating how this tool can be used as an alternative to easily contribute to latest Pharo 7



Call for new GC testers

Hi all.

We’ve been working on a GC with lower pause time recently and we are looking for people working with images over 2 Gb to tune it (Deployed applications, not interested in quick hacks). We can sign NDAs if required.

Companies and people helping us will be guaranteed that the GC about to be deployed will be fine-tuned for the use-cases they provided. To evaluate and tune it properly, we need three kind of use-cases (>2 Gb):

– an image growing from a small size to a large size

– an image performing random accesses on objects on a large heap

– an image decreasing memory

The best would be for us 3 DoIts performing the 3 examples with low dependencies aside from the image so we can reproduce easily.

Clément Bera <>

[Ann] OSSubprocess 1.0.0

Hi all,

News from the OSSubprocess side. For those who do not know it, OSSubprocess is the library to call external processes from Pharo.

These are the main points of this release.

- 64bits support
- Issues Working on both Pharo 6 and 7
- Issue #34: Adding tests to validate that the return code is correctly handled
- Issue #27: Cleanup: remove OSSubprocess-Tests package
- PR #26: Add stress tests

This version works for Pharo >=6. Users of Pharo5 will need to stick with v0.2.5, because of non-compatible changes in uFFI (required mostly for 64 bits).

- We moved the repository to pharo-contribution to remove pressure from Mariano for releases and integrations
- We updated the configuration in the catalog
- We decided to move to a 1.0.0 versioning schema because 0.* does look like the library is not stable and it actually is (We have been using it in pillar and iceberg for quite some time).

You can load this version from the catalog or using with:

Metacello new
   baseline: 'OSSubprocess';
   repository: 'github://pharo-contributions/OSSubprocess:v1.0.0/repository';

Detailed changes log in

If you have any issues (or PR!), we wait for your issue entry in

Have a nice weekend,

Guille Polito

Research Engineer

[Ann] Containers-UniqueOrdered


Just a short notice to announce a newcomer to the Containers project. Now we have OrderedSets or UniqueOrderedCollection.

Stef (talking less Pharoing more)