Planet Squeak

blogs about Squeak, Pharo, Croquet and family
planet squeak - planet squeak es - planet squeak jp - planet croquet - planet squeak code - planet smalltalk

March 24, 2015

Torsten Bergmann

Boardician - a framework for building board games

Bordician is a Pharo framework for building board games in Pharo. Read here and here.

by Torsten ( at March 24, 2015 06:21 PM

Bloc for Pharo

There is a talk/meeting on "Bloc: Reinventing Morphic" in Bern on Tuesday, March 31, 2015

by Torsten ( at March 24, 2015 10:27 AM

March 23, 2015

Torsten Bergmann

Kendrick DSL v0.15

Kendrick DSL v0.15 is out: new syntax, more than 30 epidemiological models included. Checkout the page.

by Torsten ( at March 23, 2015 06:45 PM

Pharo 4.0 Beta Test

If you want to help beta testing Pharo 4.0 then visit this page.

by Torsten ( at March 23, 2015 02:08 PM

March 22, 2015

Torsten Bergmann


Viva - a minimal framework for animations in Pharo.

by Torsten ( at March 22, 2015 07:04 PM

March 19, 2015

Torsten Bergmann

Using Google service discovery API’s with Pharo Smalltalk

Want to use Pharo to easily discover Google Services? Then read this nice blog article.

by Torsten ( at March 19, 2015 08:33 PM

March 18, 2015

Torsten Bergmann

MongoTalk, MongoBrowser and Mongo Spotter support

Beside my new article "Building a Mongo Browser in Pharo" and the new Mongo Browser tool I now added support for "Spotter browsing/navigation" using a running Mongo DB instance to the project.

Just load "MongoTalk" from config browser in Pharo 4, run you Mongo database and then use Spotter to enter/search a database name.

When Mongo is running locally you can directly use spotter to browse Mongo databases, included collections and documents.

If Mongo is not running on localhost you can also switch the default
db instance:

  Mongo default: (Mongo host: 'myserver' port: 1234)

to browse remotely.

by Torsten ( at March 18, 2015 08:08 AM

March 16, 2015

Torsten Bergmann

A4BP on Pharo

There is a A4BP (Assessment for Bussines Process) project to visualize data from BPM using Rossal and Moose on top of Pharo.

The web page is here:
There is also a facebook page where you see some results and a video of a BPEL Analyzer:

by Torsten ( at March 16, 2015 07:32 PM

March 15, 2015

Sean DeNigris

Programmers: You Probably Don’t Know What a Computer Is

When car buffs debate the relative merits of say a Ferrari vs. a Lamborghini, they obviously discuss the most salient features — like which mine the iron ore in the chassis came from, the gauge of the wires connecting the interior lighting, and the polymerization reactions used to make the plastic parts.


The folly of the above argument is so obvious because we are intimately familiar with the purpose of a luxury race car — to perform well on the road (and looking cool doesn’t hurt either!). In the context of the purpose of the machine, the importance of those implementation details fades into the background.

And yet, this dramatic irony repeats ad infinitum as one of the programming world’s favorite pastimes… Debating Smalltalk. Why did it never become widely popular? How “pure” is the language? Is it still relevant?

Smalltalk is weighed against languages like Ruby, Java, C.

But sit down. Are you sitting? Are you sure? Don’t hate me on reddit if you fall over and hurt yourself after reading the next part…

Programming languages are the wires connecting the interior lighting, but Smalltalk is the car.

That’s right — the car — the computer itself. Smalltalk is a 1980 answer to what a computer could be. Namely, a world of living objects, simulating the user’s mental model, which each provide the full power of the computer itself.

Okay, okay. So the car is a 1980 Ferrari. It’s aging. But here’s the thing — for the most part, the programming world stopped building cars after that. They keep putting cooler, faster, smaller parts (i.e. programming languages) into the same pre-1980 Yugo — the computer in which isolated applications cut the user off from the full power of the computer, which are themselves boxed in by the operating system, of which Dan Ingalls famously remarked:

An operating system is a collection of things that don’t fit into a language. There shouldn’t be one.

While we take this “operating system plus applications” paradigm for granted, it’s not a particularly powerful idea. As Alan Kay would say, it’s “reinventing the flat tire”. And, it doesn’t have to be this way. Let me take you on a little journey. But first…

Disclaimer: The point of all this is not how great Smalltalk is, or why you should use it. The point is to answer Dr. Kay’s challenge to “obsolete the damn thing” [1], to pick up where Smalltalk left off — creating a uniform, dynamic, fun system that “provide[s] computer support for the creative spirit in everyone” [2], instead of smearing more cool icing on top of the “operating system plus applications” mud pie, the impenetrable layers of which have grown well beyond the possibility of human understanding.

The following is an introduction I wrote to some Smalltalk GSoC students…

Congratulations on finding Smalltalk. I doubt you have any idea how important this could be for you.

You may not realize it, but you have opened a portal to some of the greatest minds in the history of our industry. In the beginning, for many of our heroes — Doug Engelbart, Alan Kay, Seymour Papert — computing was about the possibility of evolving the general level of human thought for the benefit of mankind. Effective critical thinking is vital to modern life e.g. the proper functioning of democratic governments. Yet traditional media have been ineffective at improving our thought on a large scale. Today, we’re mostly glorified “caveman with briefcases”, reacting to the same human universals as our distant ancestors — Fantasies, Stories, Superstition, Religion/Magic, Vendetta.

So what does this have to do with computing?!

I’m glad you asked :) In 1972, Alan Kay envisioned a “dynamic medium for creative thought” which he called a Dynabook [2]. It was an answer to the problem described above — a computer to support and guide minds to the level required to overcome our uglier instincts, and replace them with our highest ideas, like Equal Rights, Democracy, Slow Deep Thinking, Legal System over Vendetta, Theory of Harmony — ideas which do not take seed on their own, but must be actively nurtured.

So what does this have to do with programming?!

I’m glad you asked that, too :) Smalltalk is interim[3] Dynabook software! You have in your hands, not a programming language, but a live, dynamic, turtles-all-the-way-down environment designed to provide “support for the creative spirit in everyone”.

More practically, Smalltalk is a programming tool that allows productivity unimaginable in most systems. And, if you put in enough time and effort to actually think in it, it will help you program better in any language you use. But, I think it would be a great waste if you left Smalltalk “a better programmer”, when the questions before you are:

  • What really matters?
  • How can computers fulfill on that?
  • How can I, as a programmer, contribute to that?

Ideas for research

[1] The Computer Revolution Hasn’t Happened Yet
[2] Design Principles Behind Smalltalk
[3] The Dynabook is a Platonic ideal, as so any implementation is just a step along the way in an infinite game

Reprinted on

by Sean DeNigris at March 15, 2015 01:44 AM

March 11, 2015

Torsten Bergmann

Building a Mongo Browser in Pharo

Another new article on how to use the new GT Tools in upcoming Pharo 4.


by Torsten ( at March 11, 2015 06:44 PM

Concerning Pharo

Sven has assembled some articles concerning Pharo:

by Torsten ( at March 11, 2015 06:29 AM

March 10, 2015

Torsten Bergmann

SmalltalkHub project list

A simple web page list to browse the SmalltalkHub projects.

by Torsten ( at March 10, 2015 11:28 PM

Silk for Amber Smalltalk

A Stream-based, Seaside-inspired framework for creating and manipulating contents of a page. Read more here, code is on GitHub.

by Torsten ( at March 10, 2015 11:27 PM

Smalltalk with sentences

"Since every polite person talks in sentences, Polite Smalltalk is a programming language which encourages developers to name their method names in the most natural manner.". Read more here.

by Torsten ( at March 10, 2015 08:02 AM

Self like IDE in Pharo

Sean DeNigris is working on a Self like infinite live editing IDE in Pharo Smalltalk. Video is here and code here.

by Torsten ( at March 10, 2015 07:45 AM

BPEL visualization using Pharo

Looks like there is some BPEL visualization with Roassal and Pharo in the pipe.

by Torsten ( at March 10, 2015 07:44 AM

Stéphane Ducasse: Pharo and Smalltalk

by Torsten ( at March 10, 2015 07:37 AM

March 08, 2015

Torsten Bergmann

AthensSketch for Pharo

A playground for drawings with Athens written by Nicolai. Read more.

by Torsten ( at March 08, 2015 07:36 PM

Pharo and J

A Pharo binding for J by Martin Saurer. J is a general-purpose, high-performance, array-oriented programming language which is particularly strong in data analysis.

by Torsten ( at March 08, 2015 07:32 PM

March 07, 2015

Torsten Bergmann

GT-Tools and HelpTopics

"Back in the good old Pharo days" (TM) I once wrote a simple help tool so we could provide a better infrastructure to browse documentation inside of the image. The idea was as simple and minimalistic as the domain model: basically anything one requires is a HelpTopic class with a title and contents. Any help topic can have subtopics so in the end they form a substructure of books with chapters. Additionally I implemented a simple HelpBrowser tool that can browse the help tree. Later some additional tools where added like editing the help contents or creating topics from wiki style syntax. If I'm not mistaken the simple help tool is also used in Squeak.

This week I played with the new GTTools in Pharo 4 (GTInspector, Spotter) and added some specific inspectors for the help topics. After e-mail conversation with Andrei Chis and Tudor Girba this was extended even more. The result is described in this nice blogpost.

It shows how powerful the adoptable GT tools in Pharo 4beta already are.

More to come like including the search of help title/contents in the spotter tool.

by Torsten ( at March 07, 2015 05:00 PM

March 06, 2015

Torsten Bergmann now cached now cached as Marcus just announced.

by Torsten ( at March 06, 2015 10:07 AM

March 05, 2015

Torsten Bergmann

More people into Smalltalk

More Smalltalkers are still required to fill jobs worldwide like in Sydney or Berlin.

But I'm sure Open Source Smalltalks like Pharo will change this to bring more people to this amazing technology.

by Torsten ( at March 05, 2015 09:44 AM

March 04, 2015

Torsten Bergmann


Nice intro to DSP.

by Torsten ( at March 04, 2015 11:12 PM

The origins of the Collection protocoll

Did you know how the enumeration method names came into Smalltalk? If not read here and afterwards listen to this song.

by Torsten ( at March 04, 2015 10:40 PM

Code Review: Veni, ViDI, Vici

Slides from Yuriy Tymchuk on "Code Review: Veni, ViDI, Vici". The ViDI (Visual Design Inspector) tool can be seen here.

by Torsten ( at March 04, 2015 10:10 PM

March 01, 2015

Torsten Bergmann

TrashCan of removed methods

A trash can for removed methods:

by Torsten ( at March 01, 2015 09:18 PM

Teapot 0.9 for Pharo

A new version of Teapot was released: Teapot 0.9!/~zeroflag/Teapot

It still less than 700 Lines of code and a nice micro web framework for Pharo. You need to load "ConfigurationOfTeapot-AttilaMagyar.6", if you are on Pharo 4 you can directly load it from the configuration browser.

 As this framework is very easy to use (it bases on the concept of URL routes): you can serve dynamic or static HTML pages, JSON and other web related stuff easily from Pharo. It is nice especially if frameworks like Seaside are too heavy for your web application needs.

by Torsten ( at March 01, 2015 09:15 PM

AST Link Annotation Infrastructure

Pharo 4.0 also includes some more AST Link Annotation Infrastructure. Read more.

by Torsten ( at March 01, 2015 08:03 PM

Language Detection using Pharo

Language Detection API is a service to query the language of a given input text. You can use it from Pharo. Read more.

by Torsten ( at March 01, 2015 07:55 PM

February 27, 2015

Torsten Bergmann

Twins in Pharo

Beside Slots Pharo 4 now also got Twins.

by Torsten ( at February 27, 2015 09:51 PM