Tuesday, December 29, 2015

SqueakJS JavaScript bridge

Didnt notice (until today) that SqueakJS has a JavaScript bridge allowing you to call JavaScript from Squeak running in your browser. Nice!

BTW: when it does not work when you visit the page first time, then just reload the page. Bert already has a bug for this.

Dolphin Smalltalk 7

Dolphin Smalltalk is a nice Smalltalk System for Windows. Version 7 will be available today and it will be fully open source with MIT license on GitHub. Read more.

The sources for both the image and the virtual machine will be available.

For those who do not know it:
Dolphin is a Smalltalk system for Windows provided by Andy Bower and Blaire McGlashan from www.object-arts.com. The article from BitwiseMag gives an overview.

The existing Dolphin 6.2 codebase was brought by Andy Bower now under Git and compiles completely under VisualStudio Community 2013. This is a new version, Dolphin 7, that is modelled off the previous X6.1 Professional Edition (although you can choose to build Dolphin Community Edition from it if you like).

Sunday, December 27, 2015


SmallWorlds is a Smalltalk text adventure framework. It was originally developed in Dolphin Smalltalk and is now ported to Pharo. To try out:

Gofer new
    package: 'ConfigurationOfSmallworlds';

((Smalltalk at: #ConfigurationOfSmallworlds) project version:'0.3') load.

where 0.3 is the current version and then

(AdventureShell world: (CDGameWorld new)) openWithSpec.

Friday, December 18, 2015

Monday, December 14, 2015

Pharo: Migration to Spur VM

Pharo community is preparing the transition to Spur VM. Exciting times to get an even faster MIT licensed open source full object oriented system. Some more infos here.

Saturday, December 12, 2015

Monday, December 07, 2015

Saturday, December 05, 2015

Pharocloud OS

Mike published his build scripts to package Pharo application as a bootable ISO:


This was used as a base for PharoNOS.

Friday, December 04, 2015

What if Clippy Would Criticize Your Code?

New slides about the Quality assistent tool in Pharo. Nice!

Pharo macro recorder

MacroRecorder, a tool to provide support for composing custom transformations in Pharo. The developer can record a sequence of code transformations and then replay this sequence in other similar code locations. Load it from catalog browser in Pharo 5.

Read more and check out the video:

Thursday, November 26, 2015

Automata project

Automata project from Mike Filonov (from pharocloud.com) to write workflow automation scripts for microservices

Project GeekO

A project from students from Arizona State University using Pharo - Visualizing Tweets: https://sites.google.com/a/asu.edu/project-geeko/

Project is located on GitHub.


A newtext framework called "Twisty" was announced for Pharo

Twisty is text implementation based on active state idea. In this library text instances announce any change which happens with it. Due to this behavior Twisty provides cursors and layout objects which state are automatically restored after text changes. It is simplified implementation of text tools which operate on single text instance

Proceedings of the International Workshop on Smalltalk Technologies 2015

is now available here.

Pharo RDBMS Support Survey

Esteban Maringolo runs survey on Pharo RDBMS Support. Please complete it and share it with whom you consider relevant.

Monday, November 23, 2015

TwitterAPI for Smalltalk

Smalltalk wrapper for Twitter's REST API with Pharo as the reference platform provided by Bracken Spencer. Project location and description is on SmalltalkHub.

Thursday, November 19, 2015

PhysicalEtoys Accessibility

PhysicalEtoys (based on Squeak Smalltalk) now has eye tracking capabilities.

Live translation VDM-SL into Smalltalk

The Vienna Development Method (VDM) is one of the longest-established formal methods for the development of computer-based systems.

The VDM Specification Language (VDM-SL) can be lively translated into Smalltalk as this video using Pharo proves:

Wednesday, November 11, 2015

Thursday, November 05, 2015

Wednesday, November 04, 2015

Sunday, November 01, 2015

Wednesday, October 28, 2015

The case of Pharo and Moose

The 8th ACM SIGPLAN International Conference on Software Language Engineering was held in Pittsburg during 25-27 October 2015.

There was a keynote from Stéphane Ducasse entitled: "What's the value of an end user? Platforms and Research: The case of Pharo and Moose".

It summarizes a little bit what has been achieved so far with Pharo, although it does not include all the community efforts. Here are the 171 slides

Mondrian in action

Mondrian - Agile visualization in action is now uploaded to Vimeo as a video.

Early Squeak files

Pharo Smalltalk and Cuis Smalltalk have their roots in Squeak Smalltalk. Squeak itself was based on the open sourced Apple Smalltalk. You can find some of the original Mac files used in the early days of Squeak here.

QualityAssistant V2.0 Release candidate

Version 2 of QualityAssistant brings some core changes of critics handling. There is a release candidate for Pharo 5 already. Read more.

Wednesday, October 21, 2015

Agile TweetViz

Sprint2 Demo - Agile TweetViz (Team Technocrats, ASU) using Pharo, Moose and Roassal:

Saturday, October 17, 2015

Vancouver Island CampSmalltalk in November

Vancouver Island Smalltalkers have decided to have a small CampSmalltalk again, November 6-8th. Read more.

Wednesday, October 14, 2015

Tuesday, October 13, 2015

Roassal2 visualizations in VW

A new video:

Logoot - P2P collaborative editing system

A peer-to-peer collaborative editing system based on Trantor.


A (work in progress) peer2peer solution for Pharo. Nice

Seeking a Smalltalker for a PhD on Multi-Robot Systems

Want to work with Pharo? Noury Bouraqadi is looking for a PhD student to work on multi-robot exploration and mapping.

Smalltalk vs JavaScript

Richard Eng continues his Smalltalk series with "Smalltalk vs JavaScript".

In my opinion even when JavaScript is not optimal it is highly dynamic as well and a lot can be done with it. It might become the next assembly layer to stay portable (WebAssembly, asm.js and EmScripten can be used as target). We all know that the web grows and there are more devices where you can run on with JS out of the box. And yes: Amber and PharoJS are interesting projects for this as well.

For sure emulation/virtualization technology will increase in the future: you can already boot Linux in a browser, even with network support. You can also run a whole Smalltalk environment in your browser like with SqueakJS or Amber.

Monday, October 12, 2015

Pharo Sprint October 23

Pharo sprint / Moose dojo Friday, 23th October, starting at 10:00am. (Local Time Lille). Read more.

Thursday, October 08, 2015

Pharo on Slack - Invitation

If you want to join Pharo discussions on Slack then register here: http://slack4pharo.trentosur.com

New Scratch version for Raspberry Pi

There's a new version of Scratch for Raspberry Pi: it's faster, and has built-in GPIO support and access to the camera module. Examples are available to help you get started with easy projects using LEDs, sensors and motors, and a beginners' tutorial is on the way. I guess Scratch is the most widely distributed Smalltalk app (written in Squeak Smalltalk)

Pharo halt

"Conditinal Halting in Pharo" - nice and short summary on halting in Pharo.

Pharo workshops at Jazoon

Two workshops about Pharo at Jazoon Tech days:

One interesting aspect is that Jazoon once was "The international conference on Java technology" and is now labeled as "The Software world besides Java".

Wednesday, September 30, 2015

Tuesday, September 29, 2015

Smalltalk on Code.talks 2015

There is a presentation of a Smalltalk project from Christian Haider (Smalltalked Visuals GmbH) at Code.talks 2015 in Hamburg today. You may know him from his SmallCharts project and the PDF4Smalltalk open source PDF library for Smalltalk.

Pharo 5 Reflectivity

Lots of progress on the Pharo 5.0 Reflectivity project…

Kendrick Book

There is more documentation for Kendrick (which is built on top of Pharo) - the Kendrick book. Nice!

Explora in Pharo

Explora is a visualisation tool for the analysis of multiple metrics of software corpora. It includes the PolyGrid, a novel visualisation technique that encourages users to detect patterns among metrics. Done in Pharo Smalltalk.

The project is on STHub, either on:
  http://smalltalkhub.com/#!/~merino/Explora or

Bee Smalltalk

The prerelease of Bee Smalltalk from 2014 is still not accessible on GitHub as it was stated in the announcement. So I thought the project is dead. But now a new blog post appeared. Looks like there is still activity. Looking forward in trying out.

Thursday, September 24, 2015

L Peter Deutsch and Allan Schiffman

In the 1984 POPL conference there appeared a paper, Efficient Implementation of the Smalltalk-80 System, by L Peter Deutsch and Allan Schiffman. This paper introduced the first truly modern just-in-time compiler and described several novel implementation techniques, still in widespread use, to improve the performance of object-oriented languages.


Ecstatic - a static website generator for Pharo based on Pillar.

Wednesday, September 23, 2015

Validating Metric Thresholds with Developers: An Early Result

This paper reports the first results of an empirical study aimed at validating relative metric thresholds with developers. The study was conducted on 79 Pharo applications and using four source code metrics

Tuesday, September 22, 2015

Eliots Spur talk on SPLASH 2015

Eliot Miranda is invited to give a talk at SPLASH 2015 in Pittsburgh. He's going to talk about Spur, his latest Smalltalk memory manager, and exaptation in software design, since Spur exapts a couple of key architectural features of fast Smalltalk VMs to provide efficient support for schema evolution and hence live programming.

Fri 23 - Fri 30 October 2015 Pittsburgh, Pennsylvania, United States

Keyboard controlled code editor

Check out the video.

Monday, September 21, 2015

Jun4Pharo chemistry

Jun4Pharo can now do some Chemistry.
  • Reads XYZ files
  • Atoms are objects; Each atom knows its own chemical properties such as symbol, atom number, mass, van der waals radius, covalent radius

Pharo Jenkins - query Jenkins servers from Pharo

An API to directly inspect the Jenkins servers from Pharo. Announcement is here and code is here. Nice!

StatsD client

A StatsD client from Holger Freyther. Note that it is AGPLv3 and not the regular MIT.

Wednesday, September 16, 2015

Thursday, September 10, 2015

TCAP for Pharo

Sysmocom provides a complete TCAP implementation for the OpenSource Smalltalk/Pharo programming environment

Tuesday, September 08, 2015

Tuesday, September 01, 2015


Found Ecstatic - the ecstatic site generator for Pharo. Ecstatic uses pillar as its markup language to describe pages, mustache templates to accommodate your content and plugins completely written in Pharo.

Here is some basic info.

Flattr to support Pharo

want to support Pharo - then check Flattr here.

Pillar 1.0.0

A new initial major release Pillar 1.0.0 was announced today.

 It also includes a documentation on "Documenting your Project with Pillar". Read more.

Friday, August 21, 2015

Publish Smalltalk Image online from Pharo

Nice article on how to publish Smalltalk Image online from Pharo Workspace/Playground to PharoCloud. The shared Smalltalk workspace for this is here.

Smalltalks 2015 invitation

The Fundación Argentina de Smalltalk proudly invites you to one of the premier Smalltalk conferences in the world. Let's meet in Buenos Aires, November 11-13! For more details, see here

FastTable performance

A blog post of FastTable usage with more than 1,2 million of scientific names in one of the most useful bioinformatics curated databases, the NCBI Taxonomy Database.

Wednesday, August 19, 2015

SmaCC 2.0.5

SmaCC 2.0.5 for Pharo released with JavaScript, Cucumber, Python, CSV, C, C# and Java parsers. Read more here.

Wednesday, August 12, 2015

Squeak 5 with Spur is out

Nice: Squeak 5 is out and it is the first of the Squeak / Pharo / Newspeak programming environments that includes the new Spur memory management. Read more.

Friday, August 07, 2015

Lightning JSON-RPC

LtJsonRpc is a lightweight JSON-RPC implementation. It only depends on Zinc and JSON packages. You can quickly create JSON-RPC services in a few lines of code. Check out the project on STHub.

Tuesday, August 04, 2015

Friday, July 17, 2015

ESUG 2015 Videos

The videos from ESUG 2015 are available.

Pharo and OpenMP

Looks like Pharo's NativeBoost works great with OpenMP. Read more.


Pharo 5 now fully includes Opal Compiler - the old one will be removed. This allows for many nice extensions.

 For instance Ronie Salgado has a small package called "Smalltel" - the name is an abbreviation for Smalltalk string template language. The package provides a class SmalltelCompiler as a subclass OpalCompiler.

There is also a class SmalltelObject overriding the method #compilerClass to return the new compiler class. With the custom compiler one can provide templates with expressions in Smalltalk, a little bit similar to what Java has with Expression Language (EL):

condition: cond value: value
 ^ ByteString streamContents:
<[Here goes a header:
 ${ cond ifTrue: [ }$
  Conditional value: $( value printString )$
 ${ ]. }$

Wednesday, July 15, 2015


A new Pharo sucess story: MultiCity.


OpenVX is an open, royalty-free standard for cross platform acceleration of computer vision applications.

Looks like Dmitry Matveev is working on introducing OpenVX in Pharo. According to the SmalltalkHub project page of PharoVX the Khronos reference implementation is supported. The code uses NativeBoost for the binding. He is working on it while at ESUG2015.

Update: it is now available on GitHub https://github.com/dmatveev/pharovx-homepage/blob/master/index.md

Reflection in Pharo 5

Marcus provides his ESUG2015 slides about Reflection in Pharo 5.

Monday, July 13, 2015

Searching XMLs with GTSpotter

As it is easy to extend the moldable Pharo tools it is easy to extend the Spotter search to search through XML files

Roassal Camp Smalltalk Result

Nice results from the Roassal CampSmalltalk. Load the latest Roassal packages if you want to try yourself.

StakePoint Project-Portfolio

StakePoint is a Portfolio Project Management solution that manages resource workloads across multiple projects of an organization through interactive Gantt charts. StakePoint integrates Earned value management, uses a constant critical path model, is compatible MS-Project and introduces matrix type navigation to improve project visibility. Implemented in VisualWorks Smalltalk.

QualityAssistant v1.0 for Pharo

QualityAssistant v1.0 is out. Read more here: https://github.com/Uko/QualityAssistant

You should also not muss the talk on Thursday 2:30pm by Yuriy Tymchuk on ESUG2015.

ESUG 2015 on Twitter

You can following the conference on Twitter using #ESUG15 hashtag,

DynaCase Modeling Platform

That one really rocks:

Sunday, July 12, 2015

UnQLite Jx9 Part II

More from Pierce on this topic.


PharoJS is to allow developing and testing apps in Pharo while deploying them on top of a JavaScript engine. It is a general purpose infrastructure. For example, PharoJS can be used to develop client side web applications. It can also be used to support cross-platform mobile apps based on Phone Gap. Code is here, read more here.

An updated docu can be found here.

ESUG 2015

Due to the weather forecast (36-38°), the local organizers decided to move the conference venue to an air-conditioned place

Friday, July 10, 2015

Pharo web deployment

The new Pharocloud pricing plans include SSD disk appliances starting from $2. Nice for Pharo web app deployment!

Pharo OpenAL bindings

Ronie made bindings for OpenAL, a 3D audio library. Read here. Make sure to have your speakers loud when watching the video:

Monday, July 06, 2015

Email Reply Parser for Pharo

Want to extract the interesting bits of an email reply? Then check out this project for Pharo which is a port of the code GitHub uses to parse mails.

Pharo sprint & Moose dojo

Friday, 10th July, starting at 10:00am at the Inria Lille, Building B, third floor (RMoD offices). Remotely, you can join us on the official IRC channel #pharo on irc.freenode.net server. Read more.

Pharo MacroRecorder

SATToSE is the Seminar Series on Advanced Techniques & Tools for Software Evolution.

Gustavo Santos demoed his Pharo MacroRecorder there: a tool which would allow the developer to record a sequence of transformations and allow to reapply them later (parameterized)

Here is a picture, here the presentation and here is the code.

Wednesday, July 01, 2015

Yaqe - Yet Another Quake Editor for Pharo

Ronie is working on a Quake style level editor using Woden (World Dynamic Engine for Pharo), a with a user interface similar to the one present in Blender. Video is below and code is here.


Friday, June 26, 2015

Roassal - New Preview for ESUG 2015

ObjectProfile is working hard on new Roassal visualizations. A preview of what will be presented will be found in this video.

Morphic Scrum Board Part 2 - DragPanels

Part 2 on DragPanels


When I use Eclipse and Java I still like the nice eUML2 AddOn Tools as they allow to define quickly a conceptual model in UML. It's also the only tool I've found for Java that is able to support roundtrip engineering and that allows you to keep close to the code while still doing modeling.

DynaCase for Pharo looks promising but such roundtrip tools are still missing in the Pharo tools universe.

Thursday, June 25, 2015

Demo stories

Tudor gave a demo on demoing stories including a demonstration of Spotter. Video is here.

Sonar importer for Moose

an importer for Sonar for Moose platform.

Unified IDE

Lots of new editors for JavaScript appear - Atom, Brackets, ... and now Nuclide.

The web page of the last one tells us that Nuclide is a "A unified IDE". Hey - wake up! It is just a fancy editor - nothing more and I really wonder if these guys have ever see a real unified IDE with browsers, refactoring tools, test runner etc.

Monday, June 22, 2015

Code, Crime, Complexity: Analyzing software with forensic psychology

Nice talk on code, crime and complexity including CodeCity:


allows for Object-Constraint Programming in Squeak. Check it out here (based on Squeak) or read about the JS variant here.

2000 STHub users

SmalltalkHub now has 2000 registered users. Nice.


Eliot provides new Cog VM binaries.

What is cool about it this time: the busy VM developers now added the ARMv5/ARMv6 Cog Spur JIT VM! It has been tested on Raspberry Pi running Raspbian - feel free to help testing also on other ARM based Linux systems.

Read more here and here or just download and try:

Note that this is for ARM v5/v6 and v7 systems. And before I forget to mention: if you quickly need a 64bit VM for ARM v8 architecture just send $1,000,000 to Tim

SeSSE - Seaside with Server-Sent Events

SeSSE is a small library for supporting Server-Sent Events (SSE) on Seaside.

Elasticsearch and Smalltalk

Elasticsearch is a highly scalable open source Java search engine that stores data in a structure optimized for language based searches.

Elasticsearch can be used to search all kinds of documents. Just download and run. Here is a short intro on how to run it. If you want to use it from Smalltalk then have a look at this project.

Friday, June 19, 2015


Sven provides a nice demo that shows how to use his new project NeoConsole, a command line (REPL) interface, to interact with and control a running, headless Pharo image.

The video also shows how to start from scratch, downloading Pharo, installing NeoConsole, running a headless image with the REPL installed in the background. Next, an HTTP server is added to the image and later a specific response is added as well.

Short summary: Pharo is well suited for maintaining cloud and web based applications as it allows live interaction even after deploying.


Tuesday, June 16, 2015

EventZoom web application

Another nice Smalltalk web application is http://eventzoom.net - which is currently in beta.

The application displays maps of historical events and is described here. It uses data from WikiData. If you have a Q-ID from Wikidata you can paste the ID and after importing the data the map is automatically generated.

The application is written in Seaside on top of Pharo and is hosted on PharoCloud.

Monday, June 15, 2015

Morphic Scrum board

A Video is here and code is here. To load into your Pharo image just run:

Gofer it 
  smalltalkhubUser: 'StephanEggermont' project: 'Documentation'; 
  package: 'CardsMorphic'; 

#CardsApplication asClass open

Sunday, June 14, 2015


Visually assess Business Processes with A4BP - here is the website. The tool was developed in Pharo.

NanoStrand - Pharo Smalltalk bindings for nanomsg

nanomsg is a simple, fast socket abstraction library that supports many communication patterns ("scalability protocols").

NanoStrand is a gate to the nanomsg world for Smalltalk users. Since there are many language-bindings for nanomsg, integrations with other network programs would be much simpler via NanoStrand.

The project page includes a nice description on how to use it in Pharo, there is also a presentation available.

Wednesday, June 10, 2015

Tuesday, June 02, 2015

BetaNine Pharo success story

Sven from belgian BetaNine wrote an article about their customer applications for vehicle tracking. The nice and surprising thing is that he uses my Seaside/Bootstrap project that I started in September 2013.

Cool to see it used for these nice looking apps - and thanks for the reference! It's already mentioned as yet another commercial Pharo success story. We are on the righ track. More to come to shape the future...

Thursday, May 28, 2015

ESUG early registration deadline

ESUG early registration deadline is June, 1st. So if you want to be an early bird click here.

Pharo at Tomsk State University

There is an annual students conference at computer science department of Tomsk State University - two of the topics include Pharo:

  • Implementation of Book Editor for PillarHub Application
  • Developing new collections for Pharo

STON integrated into Pharo 5

While recently Pharo 4 was pushed out of the door the community is really busy to prepare Pharo 5.0 as a next iteration. In update 50072 pushed out today there is now STON support integrated.

STON refers to Smalltalk Object Notation. STON is a lightweight text-based, human-readable data interchange format for class-based object-oriented languages like Smalltalk. It can be used to serialize domain level objects, either for persistency or network transport. As its name suggests, it is based on JSON (Javascript Object Notation). It adds symbols as a primitive value, class tags for object values and references.

If you would like to know more read the STON paper.

Tuesday, May 26, 2015


Soundex, Double Metaphone and NYSIIS algorithms from Robert Jarvis were ported to Pharo by Udo. Project "SoundsLike" is on SmalltalkHub. There is also "Phonet" - a program for context-sensitive phonetic string replacement.