Monthly Archives: August 2017

Latest Debian, Ubuntu and CentOS packages of the pharo-vm


when running Pharo in production you might want to install the image and a VM from distribution packages. So far there were no current public packages and during the last months I have modernized the debian packaging and recently added CentOS rpm packaging as well. The process of generating new source packages is integrated into the pharo-vm travis-ci build as well.

Every time that master of pharo-vm.git is updated a new source package will be uploaded to the Open(SUSE) Build Service and new packages will be built and are available in a “latest” package feed. The generated (and used) sourcecode is inside the source package and will be archived by the OBS platform (one can even nicely diff versions). The “stable” VM is not built from pharo-vm.git (yet?) so it doesn’t show on OBS yet.

Below are some semi-tested installation notes in case you want to try it out. The binary names are picked to allow to install the 32bit and 64bit VM in parallel. The names currently are:

– pharo6-32             (32bit version)
– pharo6-64             (64bit version)
– pharo6-32-ui          (32bit version with X11 dependencies)
– pharo6-64-ui          (64bit version with X11 dependencies)

CentOS 6.8:

# Add the repo
$ yum-config-manager –add-repo

# Install 32bit packages (with X11 dependency for *-ui or not)

$ yum install pharo6-32-ui.i686 or pharo6-32.i386

# Install 64bit packages

$ yum install pharo6-64-ui.x86_64 pharo6-64.x86_64

CentOS 7 (only 64bit):

$ yum-config-manager –add-repo
$ yum install pharo6-64-ui.x86_64 pharo6-64.x86_64

Debian 8:

# Add signing key
$ wget -O – | apt-key add –

# Update and install
$ apt update
$ apt install pharo6-32-ui pharo6-64-ui    (or pharo6-32 or pharo6-64)

Ubuntu 14.04 LTS

# Add signing key
$ wget -O –| apt-key add –

# Update and install
$ apt update
$ apt install pharo6-32-ui pharo6-64-ui

Ubuntu 16.04

# Add signing key
$ wget -O –| apt-key add –

# Update and install
$ apt update
$ apt install pharo6-32-ui pharo6-64-ui



For the .deb based distributions the adding of the repo is missing. This would be for

Ubuntu 16.04

echo “deb ./” > /etc/apt/sources.list.d/pharo.list

Ubuntu 14.04

echo “deb ./” > /etc/apt/sources.list.d/pharo.list

Debian 8

Ubuntu 16.04

echo “deb ./” > /etc/apt/sources.list.d/pharo.list

As nobody noticed I’m not sure if this is really needed 😉

Feedback is highly appreciated!


Tealight: Building superfast a web server

the page includes the full documentation and after reading it you should be able to see:

– that you can even start the server quickly from the world menu after loading
– how easy it is to tinker and experiment with dynamic routes and Teapot in an interactive way
– how easy it is to provide a REST interface by having methods annotated with REST specific pragmas
– to even provide a versioned REST interface (also defined using pragmas)

The document should easily explain all this, esepcially read “Defining a REST based interface”.

This project is around since last october now (see

Lately I even added the possibility to remove one or all the dynamic routes in a teapot inspector. That makes it even easier to experiment lively with a teapot instance
and different URLs one wants to catch.

Have fun

Between 6.0 and 6.1


I think there is a bit  of a confusion of how we do fixed for Pharo6.

I will explain:

-> if people find bugs, they end up on the issue tracker
-> Some of these get fixed. If a fix is ready, we will integrate it very
quickly. This means that only the update number changes, not the
main version number (these are bug fixes, they do not change APIs).

A good name for these updates is “hot fixes”.
They are announced to the dev list only with the automatic lists that are send
for each update.

We integrated already quite some into Pharo6 like that. The release was I think
around #60500, while 6.1 was done around #60510

Then there are cases that are more grave: 6.1 was done because it contains bigger

What I think would have been good is to list all the updates that where done between
releasing 6.0 and 6.1 *as part of the changelog* of 6.1 (even though they were already
in the image that you got a minute before Pharo6.1 was released, as they where released as
hot fixes before).

Now if the image includes all fixes needed for DrGeo depends on a) has that issue been
fixed and b) if yes was all massaging done to have the update actually integrated.


The changelog of things done between releasing 6.0 and the release of 6.1:

20262 Update Iceberg to 0.5.4

20268 update iceberg v0.5.5

20226 TabMorph should use stepping mechanism for animating background building

20238 Run out of memory the image hangs without out of memory warning

20218 Master branch (Pharo 6) needs to be safely merged into development branch (Pharo 7).

20187 Request use of block in certain methods

20188 Request representation of integer literal without float exponent

20182 Extra dot in literal array

18760 Failing test: WeakAnnouncerTest>>#testNoDeadWeakSubscriptions

20186 Request removal of extra statement separators (dot)

20185 Request pipe after block argments

20183 TraitDescription>>fileOutLocalMethodsInCategory:on: method temp var name overlap

20184 Request space between argument and selector in StdioStream>>next:

20167 Regression with PNGReaderWriter in P6

20198 inner structure access does not work on multiple architecture

20110 AllocationTest>>#testOutOfMemorySignal not well suited to 64-bit

20096 Add script pragma to SpaceTally>>printSpaceAnalysis

20174 In the debug halo of a morph: clicking on “inspect morph” and “explore morph” bring up the same window.

20093 Missing source stamp makes changes hard to view

20148 transforming deprecations should take #showWarning into account

20146 ZnHTTPSTests>>#testGetPharoVersion started to fail



Data Activism with Pharo :)

Hi :-),

A little announcement, that can be interesting for several communities
and practices to bridge them and make them more visible (so, that’s why
the cross posting).

At mid September I’m going to give a little workshop at a local
university for undergrad journalism and communication sciences students
using the Pharo live coding environment [1] and Roassal agile
visualization engine [2] combined with Grafoscopio[3]. We’re going to
retake our Twitter Data Selfies project[4], as is usual with our
recurrent Data Week[5] hackathon+workshop.


Also as usual, we will make real time memories, via etherpads, and more
elaborated thematic ones via interactive notebooks that we will be
sharing with you in (Fossil) source repositories and other “pocket
infrastructures”, under a permissive and solidary copy(far)left license.
I’ll give you more details as we advance.



Pharo 70 is starting to roll for real :)

[Pharo 70 ] build 40 – PR 133 FileReference-EnsureCreateFile

[Pharo 70 ] build 39 – PR 210 20165/Support-segment-path-printing

[Pharo 70 ] build 38 – PR 199 FileReference-size-needs-a-comment

[Pharo 70 ] build 37 – PR 206 File names should not be canonicalised by default

[Pharo 70 ] build 36 – PR 204 Improve-comment-of-SmallDictionary

[Pharo 70 ] build 35 – PR 172 Implement-WeakIdentityValueDictionary

[ Pharo 70 ] build 32  – PR 73

[ Pharo 70 ] build 30  – PR 69

[ Pharo 70 ] Build 29 – PR 191 20302 world menu help should have a comment

[Pharo 70] Build 28 / PR 194

[Pharo 70] Build 26 / PR 192

[Pharo 70] Build 27 / PR 103

Pharo: a soup of stones with great developers.

I always loved the soup of stones. To me it captures a key aspect of the philosophy behind Pharo. Sharing to empowering us all. And it is working!



How to contribute to Pharo 70


Here is a nice tutorial explaining how to contribute to Pharo 70.