Thursday, October 12, 2017

Allen Wirfs-Brock - A Modular Journey To A World Spanning Virtual Image

Interesting video on the history of Smalltalk at Tectronix from Allen Wirfs-Brock

 and the slides are available here.

Libusb binding and HID for Pharo

There is a Libusb  binding (using UFFI) and support for the Human Interface Device - HID (that uses the binding but is written in pure Smalltalk) for Pharo. Code is on GitHub.

Read the announcement

Software exploration tool Moose2Model for developers (ABAP, SAP, Java, Smalltalk, …) – Roadmap

There is a Software exploration tool Moose2Model for developers (ABAP, SAP, Java, Smalltalk, …) written in Pharo. You can now read the Roadmap. You can see some of this in the ESUG 2017 presentation of Rainer Winkler

Pharo success story: Driving ATMs in Moscow streets (Videos)

As I already reported here Pharo 1.1 was used to build ATM-kind software in Russian Bank. Such devices could be found in Moscow streets. Now there are two videos available on that, one showing the system in action

 and one showing it in Pharo development environment:

Tuesday, September 19, 2017

Kobald - Web Usability as a Service

Kobald - Web Usability as a Service. A tool to find usability issues on your Web App automatically. Developed at LIFIA - Universidad Nacional de La Plata, Argentina using Pharo and Seaside.

See it live at and check the code at

Friday, September 15, 2017

Smalltalk ENVY

Nice - this blog post brings back some memories on ENVY - a Smalltalk source code management system. I used ENVY in the past too and still have a signed copy of the book "Mastering ENVY/Developer" in my bookshelf

And yes - after coding in VisualAge for Smalltalk I also used VisualAge for Java which was really a nice tool for that time - it lowered the Java pain. Because at that time most Java people coded in editors like Notepad while VisualAge for Java was a full IDE with Browser, Debugger and all. It was built on top of the Smalltalk version like most of the members of the VisualAge family


Tonel is a file-per-class format for monticello repositories. It allows to store the class definition and methods in a single file. The idea is to use this for a more performant git support in Pharo (as currently a file per method is used). Code is in

Monday, September 11, 2017

Updated Pharo Launcher

According to Peter the updated Pharo Launcher automatically downloads the proper VM. No more VM juggling.

First-class undefined classes for Pharo

Lets assume a class A requires a class B which is defined in a different package than class A.

If you defined the wrong load order of packages (so you load the package with A before the package with B) you might easily hit the problem of "Undefined classes".

Pharo will now address this issue better by having first class entities representing missing (or yet undefined) classes. It is already planned for Pharo 7.

Here are the slides from ESUG 2017 on this topic to give you more informations.

Thursday, September 07, 2017


Studio is a debugger for the data produced by complex applications. It is ongoing work based on Pharo and Roassal - but nonetheless interesting. Read more here.

DataFrame - Towards exploratory data analysis for Pharo

Intro video to DataFrame in Pharo. Code is here.


Wednesday, September 06, 2017


Jun4Pharo, a 3D graphics library, now works on Pharo 5.0. As Pharo 5.0 adopted UFFI and SDL binding, Jun4Pharo uses Pharo's SDL and OpenGL low-level interfaces.

BlockStyler for Pharo

Highlights blocks to make them stand out more and detect nesting levels more easily. Code is on

Tuesday, August 29, 2017

Monday, August 28, 2017


Clap-st is an Command Line Argument Parser for Pharo. Read more about it on the following blog posts:

- Post 1
- Post 2

Thursday, August 24, 2017

Wednesday, August 23, 2017

Pharo Workflow Engine

Netstyle open sourced their Workflow engine - so there is now powerful and extensible workflow management engine, written in Smalltalk now available on GitHub

Monday, August 21, 2017

GSoc 2017 - Improve FastTable

Elhamer Oussama worked to improve FastTable and extend its possibilities

GSoC 2017 - Pharo DataFrame - Descriptive Statistics

The GSoC 2017 project from Oleksandr Zaytsev on a Pharo DataFrame with descriptive statistics

GSoC 2017 - Enhance Pharo Command Line Interface

Here the work from Rajula Vineet Reddy on a better Pharo Command Line Interface

GSoC 2017 - Advancing in Pharo Code Quality Support

Initial results of the GSoC 2017 project - here Myroslava working on improved Pharo Code Quality Support

New pharo-vm packages

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


Pyonkee is a real visual-programming environment for iPad. It is based on Scratch from the MIT Media Lab, so it is a Scratch for iPad written in Squeak. Projects made for Scratch are compatible with Pyonkee. It now reached 700,000 over downloads in the app store which makes it a very popular Squeak Smalltalk application.

Snake and Ladder game in Pharo

is here. Nice.

msgpack-smalltalk 1.2.9

msgpack-smalltalk 1.2.9 is out. Timestamp encoding/decoding in the latest spec is supported.

Thursday, July 20, 2017

Sista Open Alpha

The Cog VM already made a huge difference in performance for the OpenSmalltalk VM shared by Squeak, Pharo, Cuis and Newspeak. But now Sista - the optimizing JIT is getting open alpha and it looks good to increase performance even more. Read here.

Tuesday, July 18, 2017


Pierce extended Sven's excellent " in 10 elegant classes" with even more. Read more.

Saturday, July 15, 2017


PharoLambda is a simple example and GitLab build script for deploying a minimal Pharo Smalltalk image/vm to AWS Lambda.

Tuesday, July 04, 2017

P3, a modern, lean and mean PostgreSQL client for Pharo

P3 is a modern, lean and mean PostgreSQL client for Pharo provided by Sven. P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later). Read the announcement here and check the source code here.

Monday, July 03, 2017

Moldable Debugger in Pharo

Pharo has a moldable debugger built in. So you can even customize the debugging experience for own needs. Look at this debugger for formal specs for an example:



A new project to connect Pharo images to various services/languages in a reactive way via Vert.x. Vert.x TCP EventBus Bridge client for Pharo Smalltalk.

You can interact with various vert.x components (Web, Auth, DB, MQ, etc) via EventBus. Code is on GitHub

Tuesday, June 20, 2017

Calypso 0.7.0 for Pharo

There is a new version of Calypso browser (version 0.7.0) for Pharo supporting navigation history


Wednesday, June 14, 2017

Quick, write me a Redis client

Redis is an open source, in-memory data structure store, used as a database, cache and message broker. Sven wrote a new article on Medium on "Quick, write me a Redis client"

Tuesday, June 13, 2017

CloudFront support in AWS SDK for Pharo Smalltalk

The AWS SDK for Pharo Smalltalk enables Smalltalk developers to easily work with Amazon Web Services. It now has support for CloudFront.

Material Design Lite in Pharo video

Video from DevFest Belgium October 2016 - Philippe Back - Material Design Lite in Pharo

PharoDays 2017 Videos

More videos from PharoDays 2017 are available on Youtube.

PharoCloud focuses on Ephemeric Cloud

Mike announced some news about I already tried the Ephemeric cloud this week - just ZIP a Pharo image with a server running on port 8080 and upload it. The most easy way to get your Pharo web application into the cloud!

Pharo 6 snap package for Ubuntu

There is now also a Snap package for Ubuntu to install Pharo 6.

Saturday, June 10, 2017

Seaside 3.2.2. update for Pharo 6

Seaside 3.2.2 fixes compatibility issues for Pharo 6. It is now available on Smalltalkhub and Github

Thursday, June 08, 2017

Smalltalk and strawberries

SAWADA Farm is a large strawberry farm located near Central Japan International Airport. Surrounded with the beautiful nature of Japan, you can enjoy strawberry picking. According to these slides they seem to use Pharo and Seaside for some website services.

Wednesday, June 07, 2017

IWST 2017 Deadline on 16th June

The International Workshop on Smalltalk Technologie (IWST) 2017 has its deadline on 16th June. Read more

Tuesday, June 06, 2017

Thursday, June 01, 2017

Pharo VM Profiling

Squeak VMProfiler is now available headless in Pharo.

PharoMug + HoneyGinger

Tomohiro Oda received a Pharo mug at the 100th Tokyo Smalltalk Study Group. And he now virtually served water to it using his HoneyGinger project. HoneyGinger is a fluid dynamics simulator and visualizer based on the SPS method. The SmalltalkHub site has some more videos and the code if you are interested. Nice!

Wednesday, May 31, 2017

Tuesday, May 30, 2017

Monday, May 29, 2017

Tuesday, May 23, 2017

Things people built with Smalltalk

Juan Vuletich from Cuis Smalltalk is working at Satellogic company (Buenos Aires).  Back in 2013 the company launched "Captain Beto" (a.k.a. CubeBug-1), the first Argentine CubeSat.

Now as one of the earth-observing companies who push for more-advanced science satellites they were mentioned also in this article from Nice.

Juan helped design and build the hyperspectral cameras in satellites Fresco and Batata. And he wrote the geometric and spectral processing software. The geometric software (image rectification and correction), the most complex part of the processing, was written by him in Cuis Smalltalk, and runs in a Cuis Smalltalk + OpenCL application.

Always interesting to see where Smalltalk is used and what kind of things people built with the help of Smalltalk

Fog - blockchain client for Pharo

Fog is a library that allows the user to connect to an ethereum based blockchain data base. Code is here and the original announcement is here.

DataFrame class -

Oleksandr Zaytsev released "Public Interface for DataFrame class" - an article on a DataFrame class to handle tabular data in Pharo.

Storiefied PharoDays 2017

A storified version of Pharo Days 2017 (based on tweets) is available here.

Updated Refactoring browser critics rules in Pharo

Myroslava is working on rewriting the refactoring browser critics rules from Pharo into newer rules, in a more comprehensible format. Initial version is on her GitHub account - there is a description of the work as an article on Medium

Commander: command pattern library for Pharo

Commander is a new Pharo library which models application actions as first class objects. Description is here and code is on SmalltalkHub.

Calypso presentation PharoDays 2017

Calypso browser is a new browser for Pharo that also allows remote debugging. A presentation from PharoDays 2017 is here

Sunday, May 21, 2017

Thursday, May 18, 2017

Chrome DevTools Protocol and Pharo

I played around with remote controlling Google Chrome from Pharo using Chrome DevTools Protocol (based on WebSockets).

The following video shows an example using latest Pharo 6 on Mac:

Initial Code is on GitHub if someone is interested, requires OSOSX and Zinc Websockets to be loaded.

Pharo Days 2017

The Pharo Days 2017 in Lille are running. You can find pictures and infos on Twitter.

Tuesday, May 16, 2017

German election and Smalltalk

German election results are displayed with an application powered by Gemstone/S Smalltalk. Read more

Thursday, May 11, 2017

Serving the web with Pharo

Two sample videos: serving static web content with Pharo 6


vs. generating dynamic web content

Both are simple examples of what is possible with Pharo. There are even more options ranging from ZincTeapot, Tealight up to frameworks like Seaside.

Friday, April 07, 2017

ImageWorker for Pharo

Interesting project: the image-worker uses OSProcess to easily run tasks in a separate image.

Tuesday, March 28, 2017

Google Summer of Code - Pharo

You are invited to contribute to Pharo - the amazing OpenSource immersive programming experience: Read more here.

Tuesday, March 21, 2017

Smalltalk Meetup London

There is a Smalltalk meetup Chequers Tavern Duke St London Friday March 24th from 6pm according to this Redline Smalltalk tweet

Real PharoNOS

A few years back there was a Squeak project called "SqueakNOS" about a Squeak Smalltalk system that did not require an underlying operating system. The idea was that you can boot into the Smalltalk image without an underlying separate OS. So that means that nearly anything is based on/implemented in Smalltalk (drivers, etc) and Smalltalk becomes the OS itself. I was fascinated by this idea when an initial SqueakNOS system was available and if you follow my blog regulary you may remember that I also reported about it's resurrection in 2006.

For Pharo Smalltalk later there was a similar project (at least with a similar name and idea) called "PharoNOS" by Mike Filonov (from to boot a Pharo system in seconds. Mike provided an ISO that you could easily boot on a machine or in a virtual environment like VirtualBox or other.
But Mikes approach was not like the original "do it all in Smalltalk" project for Squeak as his "PharoNOS" variant used a TinyCore Linux with pure X server underneath and Pharo was running on top in fullscreen. Nonetheless I liked it too as I was able to boot a Pharo in seconds now without having to install a separate operating system. Nice for kiosk systems and others.

But meanwhile also the original SqueakNOS (the Squeak system with no operating system) was ported to Pharo as "PharoNOS" and you can really have a "Pharo with No Operating System": Read more if you are interested as it was announced this week.

While all this is primarily x86 based work one could think about an ARM solution. Some pieces are already there: remember that Pharo had NativeBoost allowing to generate and run machine code in Smalltalk.

For the general Pharo release Native Boost required lots of knowledge and was hard to maintain as a general FFI interface - so it was replaced by a unified solution already (UFFI) in Pharo 5.

But NativeBoost was based on AsmJIT for Pharo which if I remember correctly already had some support for ARM assembly. So maybe this work could be resurrected too and be used as a base to boot a Pharo on an ARM machine without any OS underneath. So let the ideas flow...

Music composed in Squeak

is here.

OopluCon 2017

OopluCon 2017 is a new event for Smalltalk:

Sunday April 9 2017, 11am-6pm in San Francisco

ESUG 2017 Call

25rd ESUG conference in Maribor, Slovenia in September 2017

Friday, March 17, 2017

DrGeo Interactivity

Interactive search for zero with Newton-Raphson method with a small DrGeo Smalltalk script. DrGeo is written in Pharo.

Spec Book for Pharo

There are now many books available for Pharo.

Now also a new book about building user interfaces with Spec is available. I just ordered a hardcopy on Lulu.

Camp Smalltalk with Pi

Found this in my mail box:

Instantiations invites to Camp Smalltalk - RDU, March 31–April 2, 2017 in downtown Durham,   North Carolina. Just for fun there will be a demonstration of VA Smalltalk running on the Raspberry Pi and every attendee will receive a Raspberry Pi Version 3.

Camp Smalltalk is a great idea and now a tradition since 2000 when it started in San Diego. I'm not able to attend as North Carolina for a german is unfortunately not around the corner. Also I already have my Pi running with another Smalltalk.

But registration is here if you are interested.

Friday, March 10, 2017

Friday, March 03, 2017

Pharo - Google Summer of Code (Call for Students and Mentors)

Pharo Consortium has been selected as mentor organization for for Google Summer of code (GSOC) 2017.

Read more here as student and read more here as Mentor.

Pharo success story: Driving ATMs in Moscow streets

Another success story of Pharo: from 2008 to 2015 ATMs (Automated Teller Machine) deployed in Moscow streets were developed and run using Pharo. As the bank is now closed for other reasons it is now possible to talk about used technologies in public.

This reminds that is not unusal that the use of Smalltalk is kept as a secret or stay hidden behind the scenes. The development productivity in Smalltalk is much higher than in other more mainstream languages and with a dynamic and flexible environment once can quickly react to business changes.

This gives a competive advantage and some business dont want to give too much info to their competitors. Smalltalk is often driving mission critical software - business dont want to tell too much about such software.

And for this special example with ATM machines I guess it would not make much sense to tell potential hackers in advance what software the machine runs...

Update: there are videos available

Smalltalk Software Developers (Rhein-Neckar) Meetup

A german Group for people that are interested in software develompent with Smalltalk have a meetup site.

Thursday, March 02, 2017

WebDev Blog on VW Smalltalk

There is a new blog started by Maarten Mostert about VisualWorks and web development.

Wednesday, March 01, 2017

XMI utility project for Pharo

If you work with UML, modeling tools or model data exchange often you might know XMI - the XML Metadata Interchange format. I wrote a little package that makes it easier to work and browse data based on this format within Pharo. Read more.

Regex Tester Tool for Pharo

A little tool to test regular expressions and verify that given samples match it. It also helps to divide an expression into subexpressions to retrieve parts of a matched string.

Code, load instructions and full tutorial on how to use it is on

Tuesday, February 28, 2017

Sunday, February 26, 2017

Pharo Bootstrapping

A short video of the Pharo bootstrapping from a Ring model that is browsed and modified by the Calypso browser.

Thursday, February 23, 2017

Woden 2 release

Ronie Salgado released a new version of Woden: the World Dynamic Engine 2. It is for Linux and OS/X.

Instructions are here

Monday, February 20, 2017

Pharo Cauldron dashboard

Someone created a dashboard for pharo-project which is available here.

But as the underlying data is only based on a few projects it does not show the full picture of community and contributions. Less useful (at least for me)

Sublimish Theme for Pharo

Latest Pharo 6 image build includes a SublimishTheme. I guess is the one from Sebastian.

Application Security

This post points to a blog post back from 2014 with an Application security package. Still worth to read!

Analyzing SAP with Pharo

Two videos showing how SAP could be analyzed using Pharo:

Thursday, February 16, 2017

Blog post about Calypso navigation model

Blog post on Calypso navigation model. Calypso is a new system browser for Pharo.

Sensor Network

This is a demo for creating a spec with Roassal Pharo Smalltalk:

Pharo OpenPONK article

An article about OpenPONK (former DynaCase) tool found on Read more. The tool is written in Pharo.

Wednesday, February 15, 2017

Smalltalk from outer space

To quote Global Chief Technology Officer for Capgemini’s Insights & Data organisation, Ron Tolido:
Question: What is your favourite technology of all time?
Answer: That would have to be the MacBook Air; I’ve had quite a few by now and they still amaze me. In terms of programming languages, I still consider Smalltalk coming from outer space.

Tuesday, February 14, 2017

Code Completion in Pharo

Lukas, a student at the Faculty of Information Technology of the Czech Technical University in Prague decided to make Code Completion in Pharo the topic of his Bachelor's degree and he will try to improve it. You can help him by filling out this survey. I personally would like to see templates in the code completion similar to what Eclipse provides.

Friday, January 20, 2017

Thursday, January 19, 2017

Friday, January 13, 2017

Calypso browser update: method browser and better UI

A new version of Calypso, a new browser for Pharo. Read more here and here or watch the new video:

Snapcraft for Pharo

With you can package any app for every Linux desktop, server, cloud or device, and deliver updates directly. Guillermo provided a Snapcraft for Pharo today.

CampSmalltalk 2017 in Durham, North Carolina

You're invited to Camp Smalltalk - RDU, March 31st – April 2nd 2017 in downtown Durham, North Carolina. Details at

Tuesday, January 10, 2017

Pharo on FOSSASIA 2016

A journey in FOSS with Pharo & FOSSASIA by Jigyasa Grover - FOSSASIA 2016