PharoLauncher 1.1

Hi all,

I just released PharoLauncher 1.1. There are now 64-bits versions for Mac and Linux. Jenkins build is now managed through a Jenkins file.

Here is the changelog (details on

New features:
#66 new command: import an image into the launcher default image folder
#65 new command: remove a template from “Downloaded templates”
#64 new command: create a local template from an image and remove the image
#57 new option: run an image from a login shell to inherit from shell startup scripts to set up environment variables.
#54 It is now possible to run an image anywhere on your file system if you click “launch” and no image is selected
#23 Pharo Launcher now has an “about” box giving its description, version and a link to the bug tracker.
#62 Pharo Launcher should not load default Pharo settings
#51 Pharo Launcher now sets the current directory to the directory containing the image (was the VM directory). Avoid confusions in Pharo 7 images.
Bux fixes:
#60 hardReset option causes troubles to PharoLauncher
#56 #, was sent to nil
#55 Display name of Pharo 7 images unusable
#52 Cannot open a Pharo 2 image
#47 Cannot run pharo 50 pre-Spur images
You can get platform bundles from files.pharo.org

BitTrex API for Pharo

Thanks everyone who advised on Zinc, REST, NeoJSON, HMAC & Libsodium
to help me on my way to implement an interface to the Bittrex bitcoin
exchange.  I’ve got to the point where I’m happy to make an initial
0.x release.  After all my years having fun hacking around Pharo, this
is my first (tiny) product. Hopefully it may grow. 🙂

The implementation is probably closest to a Command pattern
with a class per entry-point.  All the v1.1 entry points are
implemented except a few to deposit & withdraw money from the
exchange.  These are currently infrequent events for me and left for
manual action.

I’m optimistic that I’ll add a few more exchanges so I created a
github org to group them together.  Contributions welcome.

Please see quick start instructions here…

2018 next sprints…

For Pharo sprints for the next months, we suggest these dates:
Jan 26
Feb 23
Mar 30
Apr 20
Mai 25
Jun 29
I have added the first one already to the events page:
the others will be added later.

Woden for Pharo 7

We do have a working version of Woden for Pharo 7.
It would be great if you could try.

On OSX, I did:
git clone
cd woden2

It takes time to install & compile (~ 10 minutes?), but it works well.


Python3Generator and matplotlib


My new year main resolution: stop keeping my side-projects for me.
It’s been like 1 year that I created these two projects, one coming from a refactoring of the other.
Now it is time to take time to announce them.
I initially come from Python world and during my bachelor & master, I really liked to use matplotlib to plot data using Python.
So I wanted to be able to use this Python module from Pharo. I did it by generating Python 3 code from Pharo and making Python 3 executing it. So, first I implemented everything in MatplotLibBridge package and then I split it in two package in order to be able to eventually create bridges to other Python 3 modules.
So, Python3Generator [1] is made for generating programatically Python 3 code from Pharo. Basically, it allows you to easily build a Python 3 AST,  to serialize it in Python 3 source code and eventually to execute it. For now you can transfer data from Pharo to Python (e.g. providing arguments to functions that are Pharo’s objects) but you can not retrieve data stored in Python variable from Pharo (but it should be possible, just I don’t need to do that for my bridge to matplotlib). Some examples are provided on the github’s README.
MatplotLibBridge [2] is made for creating plots using matplotlib [3] from Pharo. There is a bunch of examples of what you can do on the README. The two features from matplotlib I like the most are: 1. You can generate your plot in a lot of file formats (png, pdf, svg, ps, etc…) 2. It allows to embed LaTeX mathematical formulae everywhere in the plot (which can be really cool). All the possible plots in matplotlib are not available in Pharo’s side because I build parts of the bridge when I need them but it is not hard to do. I someone is interested in a plot type not available yet, please tell me.
So, it is announced, if someone want to do something with those, please do it!
Happy new year.

Stable Marriage problem Solver


Some time ago I implemented a solver for the Stable Marriage problem [1] in Pharo [2]. Basically, in the stable marriage problem, you have two list of n element: a list of men and a list of women. Each person rank people of the other gender according to its preferences. The stable marriage algorithm finds the best matches between men and women according to all rankings.
It can be installed using:
Metacello new
    baseline: ‘StableMarriage’;

Workaround Pharo6.1 Sierra incompatibility


On sierra and high sierra pressing A for a second and immediately pressing arrows may crash the system.

There is a workaround
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false​

PLY parser/model

Hello again,

1 year ago I created a PLY (PoLYgon file format [1] ) parser/model in Pharo [2] using PetitParser.
I took some time to remove the dust it accumulated and to create a baseline so I announce it.
To install it:
Metacello new
    baseline: ‘PLY’;
It has tests and an example of usage in the README.

More named colors


Since for some experiences in moose we needed more named colors
I started to gather together some old extensions and I cleaned the implementation.
Now we have emacs colors and XKCD i.e around 1600 named colors.

Gofer new
smalltalkhubUser: ‘StephaneDucasse’ project: ‘Colors’;
package: ‘MoreColors’; load.
Color initializeNames

Now I would really like to see how we can model the notion of color palettes.