View this email in your browser

Websites Update

We have moved the Pharo downloads and some of the websites to a new home. There are now new website for On the main website, we have updated the installation instructions for Linux:
  • Linux and 32bit Pharo here
  • Linux and 64bit Pharo here


Bloc is the new low-level UI infrastructure & framework for Pharo. It is in active development, with a first beta released in November 2017. Bloc on GitHub

We are happy to announce GT Mondrian, a graph visualization engine built on top of Bloc.

It is similar to the original Mondrian and the Mondrian from Roassal, but it is different in that it is built directly out of Bloc elements. This is interesting because it allows us to combine typical widgets with visualizations. The other interesting thing about it is that it validates the design of Bloc: right now, the implementation has 509 lines of code (excluding graph-specific layouts). The goal is to make visualization a first class citizen and an integral part of the IDE.

The key ingredient that made this happen is that Bloc can now treat graph layouts, such as tree or force based, behave under the same rules as typical widget layouts, such as grid or flow. The challenge comes from the fact that a graph layout depends on the notion of edges between elements, and we did not want to have elements know about edges in the core of Bloc.

The solution was to split the typical edge implementation in graph visualization libraries into two distinct concepts:
  • Line is an element that draws the connections.
  • Edge defines constraints imposed by connection between elements.
Thus, edges form constraints, and constraints are what layouts deal with. That is one reason why elements in bloc have the ability of defining layout-specific constraints. Using this, we can nicely define edges between elements as a plugin to Bloc, but still be able to connect arbitrary elements. What's more, it turns out that we need constraints for other layouts as well. For example, an element in a grid layout might specify the span.
The API of GT Mondrian is similar to the one from Roassal, but there are a few differences as well. These are described in the Pillar documentation available in the GitHub repo.

The best way to experience GT Mondrian and its documentation is to load the GToolkit as described here.

New Releases, Libraries and Stuff

  • HaltManager: Conveniently browse, deactivate and reactivate halts and breakpoints Link
  • Pharango: A http connector for Pharo and arango db Link
  • A Pharo API for Mastodon Link
  • New Calypso version 0.8 is out Link
  • OpenSSL libcrypto wrapper for Pharo Link
  • TypeLWidgets for Pharo Link
  • StarfallNight, A little game implemented using Bloc Link
  • Advent Of Code 2017 with Pharo Link
  • Towards Exploratory Data Analysis for Pharo Link
  • The Videos of the Argentinian Smalltalks Conference are online Link
  • Spanish Talk about Pharo: "Un Entorno de Programación Subversiv" Link
  • The first Pharo TechTalk of 2018 will be about Genetic Algorithms end of January Link
  • How to Contribute a fix to Pharo7 Link

Job Corner

  • ZWEIDENKER GmbH is looking for Pharo developers (Cologne, Germany). Contact for more information.
  • [Phd] From Relational to NoSQL databases Link
  • Engineer 1 year: Pharo IoT platform Link
Copyright © 2017 Pharo Association, All rights reserved.

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