Planet Squeak

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

February 24, 2017

Torsten Bergmann

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

by Torsten ( at February 24, 2017 07:07 AM

February 20, 2017

Torsten Bergmann

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)

by Torsten ( at February 20, 2017 04:52 PM

Sublimish Theme for Pharo

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

by Torsten ( at February 20, 2017 04:44 PM

Application Security

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

by Torsten ( at February 20, 2017 04:25 PM

Analyzing SAP with Pharo

Two videos showing how SAP could be analyzed using Pharo:

by Torsten ( at February 20, 2017 08:29 AM

February 16, 2017

Torsten Bergmann

Blog post about Calypso navigation model

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

by Torsten ( at February 16, 2017 07:50 PM

Sensor Network

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

by Torsten ( at February 16, 2017 07:46 PM

Pharo OpenPONK article

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

by Torsten ( at February 16, 2017 10:53 AM

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.

by Torsten ( at February 16, 2017 07:08 AM

February 15, 2017

Torsten Bergmann

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.

by Torsten ( at February 15, 2017 07:44 AM

February 13, 2017

Torsten Bergmann

XML Magritte Generator for Pharo

A new tool for Pharo for converting XML to #Pharo code with Magritte annotations

by Torsten ( at February 13, 2017 05:54 PM

February 09, 2017

The Weekly Squeak

Call for Papers – 10th ACM SIGPLAN International Conference on Software Language Engineering

**Call for Papers**
10th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2017)
23-24 October 2017, Vancouver, Canada
(Co-located with SPLASH 2017)
General chair:
   Benoit Combemale, University of Rennes 1, France
Program co-chairs:
   Marjan Mernik, University of Maribor, Slovenia
   Bernhard Rumpe, RWTH Aachen University, Germany
Artifact evaluation chairs
   Tanja Mayerhofer, TU Wien, Austria
   Laurence Tratt, King’s College London, UK
Follow us on twitter:
Software Language Engineering (SLE) is the application of systematic, disciplined, and measurable approaches to the development, use, deployment, and maintenance of software languages. The term “software language” is used broadly, and includes: general-purpose programming languages; domain-specific languages (e.g. BPMN, Simulink, Modelica); modeling and metamodeling languages (e.g. SysML and UML); data models and ontologies (e.g. XML-based and OWL-based languages and vocabularies).
### Important Dates
Fri 2 Jun 2017 – Abstract Submission
Fri 9 Jun 2017 – Paper Submission
Fri 4 Aug 2017 – Author Notification
Thu 10 Aug 2017 – Artifact Submission
Fri 1 Sep 2017 – Artifact Notification
Fri 8 Sep 2017 – Camera Ready Deadline
Sun 22 Oct – SLE workshops
Mon 23 Oct – Tue 24 Oct 2017 – SLE Conference
### Topics of Interest
SLE aims to be broad-minded and inclusive about relevance and scope. We solicit high-quality contributions in areas ranging from theoretical and conceptual contributions to tools, techniques, and frameworks in the domain of language engineering. Topics relevant to SLE cover generic aspects of software languages development rather than aspects of engineering a specific language. In particular, SLE is interested in principled engineering approaches and techniques in the following areas:
* Language Design and Implementation
   * Approaches and methodologies for language design
   * Static semantics (e.g., design rules, well-formedness constraints)
   * Techniques for behavioral / executable semantics
   * Generative approaches (incl. code synthesis, compilation)
   * Meta-languages, meta-tools, language workbenches
* Language Validation
   * Verification and formal methods for languages
   * Testing techniques for languages
   * Simulation techniques for languages
* Language Integration and Composition
   * Coordination of heterogeneous languages and tools
   * Mappings between languages (incl. transformation languages)
   * Traceability between languages
   * Deployment of languages to different platforms
* Language Maintenance
   * Software language reuse
   * Language evolution
   * Language families and variability
* Domain-specific approaches for any aspects of SLE (design, implementation, validation, maintenance)
* Empirical evaluation and experience reports of language engineering tools
   * User studies evaluating usability
   * Performance benchmarks
   * Industrial applications
### Types of Submissions
* **Research papers**: These should report a substantial research contribution to SLE or successful application of SLE techniques or both. Full paper submissions must not exceed 12 pages including bibliography in ACM SIGPLAN conference style (
* **Tool papers**: Because of SLE’s interest in tools, we seek papers that present software tools related to the field of SLE. Selection criteria include originality of the tool, its innovative aspects, and relevance to SLE. Any of the SLE topics of interest are appropriate areas for tool demonstrations. Submissions must provide a tool description of 4 pages including bibliography in ACM SIGPLAN conference style (, and a demonstration outline including screenshots of up to 6 pages. Tool demonstrations must have the keywords “Tool Demo” or “Tool Demonstration” in the title. The 4-page tool description will, if the demonstration is accepted, be published in the proceedings. The 6-page demonstration outline will be used by the program committee only for evaluating the submission.
* **Industrial papers**: These should describe real-world application scenarios of SLE in industry, explained in their context with an analysis of the challenges that were overcome and the lessons which the audience can learn from this experience. Industry paper submissions must not exceed 6 pages including bibliography in ACM SIGPLAN conference style (
* **New ideas / vision papers**: New ideas papers should describe new, non-conventional SLE research approaches that depart from standard practice. They are intended to describe well-defined research ideas that are at an early stage of investigation. Vision papers are intended to present new unifying theories about existing SLE research that can lead to the development of new technologies or approaches. New ideas / vision papers must not exceed 4 pages including bibliography in ACM SIGPLAN conference style (
### Artifact evaluation
Authors of accepted papers at SLE 2017 are encouraged to submit their experiment results used for underpinning research statements to an artifact evaluation process. This submission is voluntary and will not influence the final decision regarding the papers.
Papers that go through the Artifact Evaluation process successfully receive a seal of approval printed on the first page of the paper in the proceedings. Authors of papers with accepted artifacts are encouraged to make these materials publicly available upon publication of the proceedings, by including them as “source materials” in the ACM Digital Library.
### Publications
All submitted papers will be reviewed by at least three members of the program committee. All accepted papers, including tool papers, industrial papers and new ideas / vision papers will be published in ACM Digital Library.
Selected accepted papers will be invited to a special issue of the Computer Languages, Systems and Structures (COMLAN) journal.
### Awards
* **Distinguished paper**: Award for most notable paper, as determined by the PC chairs based on the recommendations of the program committee.
* **Distinguished reviewer**: Award for distinguished reviewer, as determined by the PC chairs using feedback from the authors.
* **Distinguished artifact**: Award for the artifact most significantly exceeding expectations, as determined by the AEC chairs based on the recommendations of the artifact evaluation committee.
### Program Committee
Marjan Mernik (co-chair), University of Maribor, Slovenia
Bernhard Rumpe (co-chair), RWTH Aachen University, Germany
Mark van den Brand, TU Eindhoven, The Netherlands
Ruth Breu, University of Innsbruck, Austria
Jordi Cabot, ICREA, Spain
Walter Cazzola, University of Milan, Italy
Marsha Chechik, University of Toronto, Canada
Tony Clark, Middlesex University, UK
Tom Dinkelaker, Ericsson, Germany
Bernd Fischer, Stellenbosch University, South Africa
Sebastian Gerard, CEA, France
Jeff Gray, University of Alabama, USA
Esther Guerra, Autonomous University of Madrid, Spain
Michael Homer, Victoria University of Wellington, New Zealand
Ralf Lämmel, University of Koblenz-Landau, Germany
Tihamer Levendovszky, Microsoft, USA
Gunter Mussbacher, McGill University, Canada
Terence Parr, University of San Francisco, USA
Jaroslav Porubän, University of Košice, Slovakia
Jan Ringert, Tel Aviv University, Israel
Julia Rubin, University of British Columbia, Canada
Tony Sloane, Macquarie University, Australia
Eugene Syriani, University of Montreal, Canada
Emma Söderberg, Google, Denmark
Eric Van Wyk, University of Minnesota, USA
Jurgen Vinju, CWI, Netherlands
Eric Walkingshaw, Oregon State University, USA
Andreas Wortmann, RWTH Aachen University, Germany
Tian Zhang, Nanjing University, China
### Contact
For any question, please contact the organizers via email:

by Ron Teitelbaum at February 09, 2017 02:11 PM

February 08, 2017

Eliot Miranda

Smalltalk, Scanning and S^HControl Structures

Here’s what I hope you’ll agree is a nice example of bytecode analysis and of creating custom control structures in Smalltalk. One might think that a dynamically-typed language like Smalltalk is difficult to analyze. But in fact there are many ways of analyzing it, and this post concerns analyzing bytecode. Further, languages that support closures […]

by admin at February 08, 2017 01:36 AM

February 07, 2017

Torsten Bergmann

New version of StateSpec

A new version of StateSpecs for Pharo. Read more here.

by Torsten ( at February 07, 2017 09:27 AM

February 01, 2017

Torsten Bergmann

Squeak Etoys in Chrome Web Store

Squeak Etoys in Chrome web store.

by Torsten ( at February 01, 2017 01:37 PM

January 31, 2017

Torsten Bergmann

Next Pharo Sprint

is March 3. Read more.

by Torsten ( at January 31, 2017 07:36 PM

January 29, 2017

Torsten Bergmann

Mathematics in Cuis Smalltalk

A computational algebra system in Cuis Smalltalk. Read more.

by Torsten ( at January 29, 2017 07:21 PM

January 24, 2017

Torsten Bergmann

Pharo Techtalk on Bloc

A techtalk on Bloc is streamed today. Read more or watch:

by Torsten ( at January 24, 2017 08:24 PM

PharmIDE - Pharo remote IDE

PharmIDE - Pharo remote IDE is available. Read more.

by Torsten ( at January 24, 2017 03:20 PM

January 20, 2017

Torsten Bergmann


The Glamorous Toolkit for remote work with Gemstone/S is available on GitHub.

by Torsten ( at January 20, 2017 05:15 PM

January 19, 2017

Torsten Bergmann

Bloc progress

A picture showing again some progress on Bloc for Pharo. If you want to help or test check the github page.

The screen shows the big list of naughty strings that can some systems cause to crash. As it works Pharo and Bloc can be considered string safe ...

by Torsten ( at January 19, 2017 09:26 PM

January 13, 2017

Torsten Bergmann

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:

by Torsten ( at January 13, 2017 11:01 AM

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.

by Torsten ( at January 13, 2017 10:58 AM

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

by Torsten ( at January 13, 2017 10:50 AM

January 10, 2017

Torsten Bergmann

Pharo on FOSSASIA 2016

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

by Torsten ( at January 10, 2017 06:21 PM

January 02, 2017

Torsten Bergmann

Amber 0.18.2 is out

read more here and here.

by Torsten ( at January 02, 2017 03:12 PM

December 30, 2016

Torsten Bergmann

Redline Smalltalk updated

Redline Smalltalk (which is running on JVM) was updated. Read more.

by Torsten ( at December 30, 2016 12:18 AM

December 28, 2016

Torsten Bergmann

Pharo happiness

Use Pharo and cognitive services from Microsoft to find out about the happiness of people on pictures. The article is in japanese - but the code example shows what to do.

by Torsten ( at December 28, 2016 07:06 AM

Calypso - another system browser for Pharo

Calypso is another system browser for Pharo. Read about it here or check the code here.

by Torsten ( at December 28, 2016 06:56 AM

December 21, 2016

The Weekly Squeak

Eliot Miranda – Lubrication and Flow

Eliot gave a terrific presentation about the current state of the community and what we might do to improve it.

Evelyn (Lin) Ostrom


Eight principles for managing a commons

  1. Clearly defined boundaries
  2. Proportional equivalence between benefits and costs
  3. Collective choice arrangements
  4. Monitoring
  5. Graduated sanctions
  6. Fast and fair conflict resolutions
  7. Local autonomy
  8. Polycentric governance

Editorial: by Ron Teitelbaum follows

Eliot gave the presentation to help get the discussion going (it’s not the start of the conversation either, there are earlier efforts like the Pharo Consortium) this Article is part of that discussion.

My take on the conversation is that there are really two aspects of what Eliot is discussing.

First that some sort of economic organization that helps Smalltalk is needed and that the organization should be used to help both programmers and customers.  It seems to me that a Smalltalk Guild could be set up to do just that.  It would be a place for customers to find certified developers with access to a group of people (other guild members) that can solve difficult problems if they get stuck.  It could also be a place where members who make over a certain amount of money could get proportional benefits.  As a developer. I would probably join such a guild and as a customer, I would love to have a place to go which could help me solve some programming issues.

Second that we need to have better visibility, coordination, and cooperation.  The cost of coordination using technology is falling fast.  Having a site that pairs tasks with developers, shows developers guild certifications, allows for customer and developer ratings and comments, highlights training materials and growth paths, and generally allows communities to form and disband around specific areas funded by companies or the guild itself would fundamentally change how we organize and grow the community.

To illustrate let’s say we form a Smalltalk Guild.  Members pay $10 a year to join + %10 of what they make on jobs they get through the Guild Jobs.  Companies can also join the guild and pay $100 per year and pay %10 in addition to what they pay for a job if they hire a Guild member to do the work.  (These are just made up figures I have no idea if they would actually work and some study would be needed to figure that out).  As a group, the Guild can provide Training for new members, create certification levels and growth plans.  The incentive for the group is that as members grow and make more money everyone benefits, there is an incentive to make sure people are qualified, can do the work, and actually get work instead of doing nothing (like java programming).  Users that contribute over 10k to the guild (earn 90K) can get benefits if they are out of work, or maybe healthcare on a group plan, some form of compensation which of course would be less than they contribute + generate in customer fees and would be decided by the Guild as Eliot says 0.N/X.  This gives the best guild members an incentive to stay with the guild and to feel like the guild is helping them provide some basic needs and it allows the guild to acknowledge the contributions the member is putting in to help the entire group.  The money could also be used to benefit the Guild.  To pay for someone’s training or certification, to increase visibility, to look for donors, find new customers, invest in new training materials, new conferences, courses, or even develop technology like the VM or application frameworks based on the group’s collective choices.

by Ron Teitelbaum at December 21, 2016 06:56 PM