Friday, February 28, 2014

Spec docu page

Announced by accident as it is not yet fully ready - but nonetheless I already share it since it is really a nice docu page for the Spec UI framework.

Thursday, February 27, 2014

Pillar inspector

Following my last post on Pillar you should also watch this video:

Pharo 3.0 on Ubuntu 13.10

Bored from Ubuntu 13.10 - then spice it up with some Smalltalk.


Sparklines in Pharo

Alexandre is experimenting with Sparklines in Pharo. Read more.

Note that the code requires a Moose image built on Pharo as this already have the correct fonts.

If you want to use it in the standard Pharo image without Moose you have to go to World menu, select "System" -> "Settings" to open the settings browser. Now go to Appearance and Freetype, disable and reenable it so platform fonts get loaded. Then for the standard fonts select some "Source Code Pro" or "Source Sans Pro" like font and apply it as the font to use.

Tuesday, February 25, 2014

Saturday, February 22, 2014

The Path Tools Framework

Michael Perscheid from HPI announced the Path Tools Framework which is provided in Squeak.

 "The Path Tools Framework comprises several development tools for supporting typical software maintenance tasks such as debugging, testing, and program comprehension."

You should read the provided descriptions or watch the screencasts. Really interesting

Thursday, February 20, 2014

FileTree and Cypress support in upcoming Pharo 3.0

One of the interesting additions in soon to be released Pharo 3.0 is the out of the box support for FileTree repositories in Monticello. With this you can easily store your source code also in the file system and use external versioning systems if you like.

A short example:

Create a new package "MyPackage" and add a new class:

Object subclass: #Foo
instanceVariableNames: ''
classVariableNames: ''
category: 'MyPackage'

In the Monticello Browser (after adding the package) click on "+Repository" to add a new repository and select "filetree://" to the package. The system will come up with a file dialog to query for a folder to use.

Now save your package and you will see that a subfolder "MyPackage.package" is created. It will also include files with the source code. Now yoou can use any external versioning system if you like.

Regarding the file format: the Cypress project is used here - a cross Smalltalk dialect, disk-based package import/export format. More infos can be found on

With this right built in it should also be much easier to exchange code between other Smalltalk Systems and Pharo.

Wednesday, February 19, 2014

Amber Smalltalk in use

This game is written in Amber Smalltalk. And this app too.


Smalltalk reddit

There is a subreddit dedicated to Smalltalk links

Pillar - markup syntax and tools for documentation and books

Pillar is a markup syntax and and a project with associated tools to write and generate documentation and books. It is written in Pharo and covered with many unit tests.

Basically it is the wiki syntax part from Pier extracted into an own project (so it can be used independent from Pier CMS).

But it also adds many new features like exporting into HTML, LaTeX and markdown. You can use the Mustache templating engine, configure numbering of sections, customize the export, syntax highlight code blocks, ...

If you already use the soon to be released Pharo 3.0 you can just load it from the config browser easily and try out.

While it is nice that you can use this from within your Smalltalk environment and access it from your projects code the idea is to not only use it from within the development image.

The package contains command line handlers to run it from a shell and Damien also prepares installable packages to make it run on platforms like Ubuntu. This should increase the end user experience for people who just want to use it for writing documentation or books without ever touching the implementation itself.

If you want to knnow more you should really read the excellent documentation and also check out the new cheatsheet summarizing the easy to learn syntax.

Yesplan - event planning using Pharo and Seaside - an interesting web based event planning software which is written in Pharo and Seaside shares some more numbers:

"4012 automated tests, unit- and webui tests, running time 3h. Building every day and counting…"

Nice - especially if you watch one of the videos of the app:


Pharo on Raspberry Pi

Pharo VM compiles for Raspbian and now Pharo runs totally on Raspberry Pi.

Tuesday, February 18, 2014

Application menus in Spec

Spec now provides the possibility for application menus (a menu toolbar).

Willow - Web Interaction Library

Willow is a Web Interaction Library that (according to its description) eases the burden of creating responsive web applications. Code is on STHub. Read about it here or watch the following video.

Smagick - Smalltalk access to ImageMagick

ImageMagick is an open source software suite for displaying, converting, and editing raster image files. If you want to access it from Squeak or Pharo try this project.

Wednesday, February 12, 2014

Women in Tech: Smalltalk to Apex == Writing Less Code

Nice article.

Intro to Adaptive recompilation for CogVM

Clement Bera will work with Eliot on the CogVM. First he wants to start with Adaptive recompilation which is described here.

Spec UI Docu updated

If you want to build user interfaces using the new Spec framework then you should read
this updated docu:

detectIndex: Method

The #detectIndex: method is inconspicuous but something to remember when working with collections:

#( 11 7 4 21 ) detectIndex: #even  

#( 11 7 4 21 ) detectIndex: [:el | el < 5]

There is also a #detectIndex:ifNone: variant:

#( 1 3 5 7 ) detectIndex: #even ifNone: [ self error: 'no even number found' ]


Tuesday, February 11, 2014

Versioner in Pharo 3.0

Pharo 3.0 is prepared for final release these days. One of the latest updates included a small tool called "Versioner". It had to be loaded separatly but now found its way into the standard image.

This tool allows you to help versioning your packages with Metacello configurations and should help you dealing with versioning all your ConfigurationOfXXX classes.

Christophe has written a short docu on the tool. Nice!

Thursday, February 06, 2014

Spur Summary

Nice summary on what speedups the Spur memory manager will bring for Newspeak, Pharo and Squeak.
Go Eliot, go!!!

Wednesday, February 05, 2014

Object centric Re-Packaging

Sean DeNigris is playing with Self like UI styles in Pharo - using object centric direct manipulation.


Pharo: Objects at your Fingertips

New video from Marcus Denkers talk at Universitat Polit├Ęcnica de Catalunya on Oct 30:


EventRecorder in Pharo

There is a new video from Sean DeNigris about using the Pharo event recorder:

Tuesday, February 04, 2014

Monday, February 03, 2014

Bootstrapping Pharo images

There is not only work going on in the Pharo community regarding the new upcoming release 3.0. There is also a lot of work done to find a clean bootstrap process for images which will (starting from minimal images) allow for better builds. Read more.