View this email in your browser

Pharo Newsletter Summer 2018

Instead of a July and August newsletter, we combined everything into one big Summer newsletter. Many announcements of new libraries, the monthly Feenk Log and a list of all blog posts / articles and videos posted over the last weeks.

Help wanted! If you have content for the newsletter, please send it to We are looking especially for people interested in creating newsletters that go deeper into specific topics.

Pharo TechTalks

The recording for the TechTalks are available:
  • July 12: Towards Machine Learning in Pharo with TensorFlow   YouTube
Next TechTalks:
  • 23 Aug 2018: Pharo TechTalk August,  Link
  • 11 Oct 2018: Pharo TechTalk October,  Link
The archive for all TechTalks is available here:

ESUG 2018: Smalltalk Conference

The ESUG board is pleased to announce that the 26th ESUG conference/summer-school will be held in Cagliari, Italy 10-14 September 2018; with Camp Smalltalk 8-9 September 2018. The conference is co-organized by the University of Cagliari and the Agile Group of the faculty of computer science. Link

Pharo and AI

  • TechTalk: Towards Machine Learning in Pharo with TensorFlow   Youtube
  • Lecture: Intelligent System Construction by Alexandre Bergel Youtube
  • TechTalk: AI (Neural Networks): YoutubeSides
Book in Progress: Agile Artificial Intelligence 

  • KerasWrapper: Keras bindings for Pharo. This binding allows using Keras (implemented in Python) within Pharo. For the Pharo programmer, the fact that Keras is written in Python is completely transparent. GitHub
  • TensorFlow library bindings for Pharo GitHub

Feenk Log


We were a bit silent the last couple of months. Quite a bit happened in the meantime, so here is a summary (for more fine-grained announcements, you can follow us on Twitter):


- Scrolling. We finally have a good scrolling support tweet 

This might sound like a trivial feature, but it turns out it is not. We had a bug that forced us to rethink the support quite deeply in order to be able to debug it. To do this, we now can simulate time in Bloc, which is really cool:

- Pannable element is a combination of a scrollable element with a scalable element, and it offers the possibility either to zoom in/out + scroll, or to fit screen and resize when the parent resizes.

- PDF, SVG, PNG, JPG export (based on the underlying Moz2D support):

- Better curve support:

- Better debugging support for understanding bounds:


- We now have simple list and columned list widgets. The list is both fast and scalable and supports rows of variable heights:

- Basic tab widget:

- Looks: a mechanism for specifying element-specific composition and interaction.


- Documenter saw some major improvements. Just a reminder, Documenter is the tool that enables live programming and previews directly within Pillar documents.

We now have a capability similar to notebooks like Jupyter:

We use it extensively to document our code. For example, here is a tutorial about playing with looks in Bloc:

And we can also express whole tutorials based on Epicea:

- Diagrammer. We now have better editing support for detailed things such as arrow head:

While Diagrammer is apparently a tool for diagrams, it has a rather generic design that can be utilized for all sorts of use cases. For example, one side effect is that now all elements can be visually edited:

- Mondrian: Using the new pannable element, we can now zoom in/out and scroll, and we can also set element to fit screen. We can also drag elements around.

- Inspector: we now have an initial support for multiple views associated with an object. The support is similar to the one from the current inspector. 

Have fun, The feenk team

Blogs, Tutorials, Videos

  • Video: Astares UML Support for Pharo youtube
  • Blog: Dr. Geo and Dynamic Media Link
  • Blog: Watch method calls in Pharo Link
  • TechTalk: Designing Code Quality Assistants by Yuriy Tymchuk and Myroslava Romaniuk youtube
  • Video: Pharo ZeroConf youtube
  • Slides: Dockerizing Pharo slideshare
  • Blog: Querying US Government Data Sets With Pharo and XMLParser Link
  • Thesis: Reproducible moldable interactions Link
  • Tutorial: Demonstration of a dynamic update on a remote device running PharoThings Link
  • Video: Context visualization of Object Factories Link
  • French: Utocat et Inria font avancer la recherche sur les smart contracts Link
  • Syntax on a Postcard: SVG
  • Exercism exercises for Pharo (in progress) GitHub
  • Free chunk management in the Cog VM Link
Mondrian - Agile Visualization

New Libraries and Frameworks

  • PngSuiteExplorer: Simple Pharo Widget for viewing the result of running the PNG test suite GitHub
  • ZTimestamp: a Magnitude, a point in time, an alternative to DateAndTime and TimeStamp GitHub
  • Smalltalk TOML parser GitHub
  • ChartJS for Seaside GitHub
  • Telescope is an engine for efficiently creating meaningful visualizations GitHub
  • A Smalltalk GraphQL Implementation GitHub
  • P3: A lean and mean PostgreSQL client for Pharo GitHub
  • TensorFlow library bindings for Pharo GitHub
  • KerasWrapper: Keras bindings for Pharo  GitHub
  • CORMAS (COmmon pool Ressources and Multi-Agent Simulations) GitHub
  • Punycode encoder/decoder SmalltallHub
  • jdt2famix: This project offers the mechanism for producing MSE files that can be loaded in out of Java code GitHub
  • roslyn2famix produces MSE files that can be analysed with out of C# Visual Studio Solutions GitHub
  • Heimdall is a login identification system directly usable for seaside. GitHub
  • PrismCodeDisplayer for Seaside: a  is a lightweight, robust, elegant syntax highlighting library GitHub
  • StCAD - now open source: Link
  • GT Documenter is the tool for creating and consuming live documents inside the development environment. GitHub
  • Chrysal: Experiment with new ways of managing configurations GitHub
  • Pharo - "Containers" for collections and data structures Link
  • Git Thermite is a visual tool to assess GIT commits, GitHub Pull Requests, and Monticello commits GitHub
  • PHARO-HDFS: API to access, create and delete files on Hadoop Distributed File System (HDFS) GitHub

Updated Libraries and Frameworks

  • MatplotLibBridge v. 0.1: A bridge to provide the ability to Pharo user to use Python's Matplotlib. GitHub
  • OSSubprocess v1.0.1: Link
  • Polymath 0.101: PolyMath is a numerical computing and data analysis library on top of Pharo. GitHub
  • Willow-Mixpanel is now part of the ba-st Web Stack family Link
  • Iceberg (Git for Pharo) version 1.2 and 1.2.1

Real-time News? 

If you want to follow Pharo in real time, we have these channels:

Pharo Consultants

If you need help for commercial projects, we have a listing of available Pharo Consultants

Job Corner

  • HRWorks is looking for Pharo Software Developers Link
  • Thesis: Transferring Visual Age Smalltalk into Pharo (HRWorks, Freiburg, Germany) Link
  • ObjectProfile  Santiago, Chile: Engineering position (with a strong research activity) in the field of artificial intelligence and software engineering. Link
  • ZWEIDENKER GmbH is looking for Pharo developers (Cologne, Germany). Contact for more information.
Copyright © 2018 Pharo Association, All rights reserved.

Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.