Monthly Archives: March 2015

More Mongo Tools

Torsten Bergman announced new tools for Mongo support.

After loading MongoTalk or VoyageMongo in Pharo 4 you can additionally load the package: “Mongo-Pharo-Tools” from mongotalk repo on SmalltalkHub. This way you can browse your mongo database (collections and documents) directly from within Pharo using GTInspector tools (see screenshot). Just by adding two methods – nice!

mongoBye T.


All the projects of SmalltalkHub in one page :)

looking at the hidden part of the iceberg…. finally 🙂


AthensSketch: How to browse cool Athens graphics example

Nicolai Hesse announced AthensSketch a really excellent little tool showing the magic of Athens.
Here is announce.

The main purpose of this packages is to ease the creation of simple drawings and provide a rich set of examples for Athens drawing API.

Gofer new
smalltalkhubUser: ‘NicolaiHess’ project: ‘AthensSketch’;
ConfigurationOfAthensSketch loadDevelopment.

AthensSketchBrowser open.


This is a simple playground for Athens drawings. Just subclass AthensSketch and define your own sketch drawing in the #drawStepOn: method. It provides basic frame based animation (play/pause/stop).

Open a player with
ASketchExampleColors openPlayer’,
or a simple viewer morph with
ASketchExampleColors openView (start and stop rendering from the morph menu)

The AthensSketchBrowser lists all defined AthensSketch subclasses. (Basic examples
from package AthensSketch and some more examples from package ASketchExamples).
You can step through the list of examples, start and stop the drawing, or view and edit the drawing code.

It is great that we have now a vector based drawing API. The (old) Canvas API is
already great for pixel based drawings. A rich API and many good things if
you discover it. And Athens is a addition that can increase our possibilities.

There were some questions about Athens, what it is and what it is used for, maybe this


Pillar improvements

Torsten Bergmann is improving pillar. Here is its announce:

Pillar config is updated and now available in config browser in Pharo 4:

– more classes are commented
– new baseline 0.20-baseline with version 0.20 for Pharo 4.0
– includes Pillar-Pharo-Tools package instead of (deprecated) Pillar-PharoInspector as EyeInspector is a thing of the past
to now support GTInspector and GTSpotter with icons in Pharo 4
– additionally I wanted to update to STON 0.10 but had to step back to 0.9 of STON
until Sven makes the config available in SS3 and STHub

So if you are on Pharo 4 you can:

1. Load “Pillar” from Config browser
2. Parse and inspect pillar document like this

(PRDocumentParser parse: ‘%This is a commented line

Some text

# list item 1
# list item 2
‘) inspect

The GT inspector allows you to browse the different formats like Pillar, HTML, Markdown, Text and LaTeX.
If you click on the lightbulb Spotter at the top right of the GT inspector a new spotter will open
allow you to search in the current document item.

You can use spotter to dive into the document structure.

caching infrastructure for


Yesterday we have set up a caching infrastructure for

This means that files that are requested multiple times from your location will
be served from a server close to you.

There are e.g. servers in Chile, Argentine, Brazil, Dallas, LA, Franfurt, Paris, Hongkong, Sydney….

This will cost us around $1-2 per day. This is not a lot but more that someone (e.g. me) could spend
from their own pocket.

As such, this is only possible due to the funds of the Pharo Association:

Thanks a lot to all the members!
If you like this and want to support things like this, please consider joining the association!


A simple AST-transformer plugin architecture for Opal…

A simple AST-transformer plugin architecture for Opal…

-> subclass OCCompilerASTPlugin
-> implement #transform e.g.

| rule |
rule := RBParseTreeRewriter replaceLiteral: 42 with: ‘meaning of life’.
rule executeTree: ast.

The plugin can be activated *per class hierarchy* by overriding #compiler

“the example plugin is active for this class”
^super compiler addPlugin: ASTPluginMeaningOfLife.

or of course for a single compilation:

(Smalltalk compiler addPlugin: ASTPluginMeaningOfLife) evaluate: ’42’

For review here:


Language Detection API available in Pharo


Language Detection API is a service to query the language of a given input text. You will need to register an API key in the web site to use the service.

This client enables to use the service from Pharo Smalltalk. The output is an object containing the language code, a confidence score and a ‘is reliable’ boolean value.

Installation and usage details in the following post: