New tools for Squeak

2 December, 2010

The staff and students at the Hasso Plattner Insitute have set up a new site to share the impressive work they are doing using Squeak. The projects they are showcasing include some gorgeous UI Widgets and a new UI Designer (shown above).

Each project is available at the Institute’s SqueakSource server, and can be loaded using Metacello configurations.  All configurations were tested and run in the current Squeak (Trunk) versions (4.1, 4.2). The site is built using Trac project management software, which provides for issue/bug tracking if you do find any problems.

Many thanks to the Software Architecture Group, led by Prof. Dr. Robert Hirschfeld at the Hasso Plattner Insitute (University of Potsdam), for sharing these great projects.

(Note that Firefox currently gives a warning about the site due to an incomplete certificate chain, but this should be fixed soon).

Robert Krahn from the Hasso-Plattner Institut announced this weekend on the squeak-dev list that he and his colleagues have created a SVN repository for their extended version of JSqueak – named Potato (like Dan Ingall’s original VM) – which includes a lot of improvements:

  • support for 32 bit color depth
  • calling Java (in the moment only for strings and integers)
  • refactored code
  • consistent use of Java libraries
  • removed redundancy
  • added a dynamic object table (for loading big images)
  • support for little and big endianness
  • loading of unzipped images
  • fixed lots of bugs and improved usability.
Their plans include further improvements like:
  • adding support for 8 and 16 bit color depth
  • implementing BitBlt warp functionality
  • enhancing BitBlt implementation (“tryCopyingBitsQuickly”, blending)
  • adding save image functionality
  • implementing additional primitives
  • being able to support current images
  • extending Java access
  • finding and removing bugs.
Anybody interested in viewing the work so far, or contributing to future development, can access the code at the following locations:

The German Squeak Association (Squeak e. V.) had its annual meeting on May 17. For the second time, the meeting was hosted by the Software Architecture Group at the Hasso-Plattner-Institut in Potsdam. Before the official part, attendees of the meeting were given the opportunity to demonstrate their Squeak projects.

First, Tobias Pape and Arian Treffer, students of HPI, demonstrated SwaLint, a source code checker for Squeak. SwaLint is intended as a successor to SmallLint and, thanks to its flexible plug-in architecture, supports running SmallLint checks seamlessly. SwaLint can be configured in great detail: thresholds for all kinds of values can be set, and output can be filtered. Users can easily implement their own plug-ins for the tool.

Next, Michael Haupt (HPI) gave a brief demonstration of SqueakFS, which was implemented by Johan Björk and Eskil Andréen from Stockholm University, Sweden. SqueakFS makes the contents of a running Squeak image available as part of the file system. Currently, it is limited to read-only access, but the image can already be viewed from three perspectives: all classes as a flat collection, assorted by category, and by class hierarchy.

Robert Krahn presented SqueakSVN, which is an ongoing development effort in the Software Architecture Group at HPI. The purpose of SqueakSVN is to make Subversion version control available to Squeak developers; it is able to import Monticello projects. SqueakSVN will be released in June.

Martin Beck is currently working on his MSc thesis in the HPI Software Architecture Group. His work is dedicated to implementing NXTalk, a Smalltalk virtual machine for the Lego Mindstorms NXT platform. Development of NXTalk application takes place in a Squeak image, and assembled NXTalk images are transferred to the NXT for execution by the dedicated NXTalk VM. In the current state, simple images can be assembled and run: Martin demonstrated a program that can be used to steer a simple NXT bestowed with two motors.

The popular introduction to the Seaside web application framework that was produced at HPI was briefly presented by David Tibbe, one of its co-authors.

Robert Krahn had another appearance presenting the collection of games for the XO laptop developed by HPI students. All of the games are available for download as project or SAR files.

Finally, Carl Friedrich Bolz (Düsseldorf University), Adrian Kuhn (University of Bern), and Toon Verwaest (University of Bern) presented SPy, their ongoing effort to implement the Squeak VM in Python using the sophisticated PyPy tool chain. SPy is currently lacking GUI  and other I/O support, but is able to load images and run the tinyBenchmarks. Right after the Squeak association meeting, a PyPy development sprint in Berlin will, amongst others, bring new improvements.

After the official part of the association meeting, special guest Dan Ingalls gave a demonstration of Lively, his current project at Sun Labs. It looks and feels, admittedly, a bit like Squeak in disguise, but in Dan’s opinion, there is nothing bad about building the “same” system several times if it’s cool. That is certainly true for Lively.


On 15/16 May, the workshop on Self-Sustaining Systems (S3) took place at the Hasso-Plattner-Institut in Potsdam. An exciting event at a beautiful place, it featured invited talks by Ian Piumarta, Dan Ingalls, and Richard P. Gabriel, and five presentations of reviewed papers that approached self-sustainment from different angles.

Read the rest of this entry »

The Software Architecture Group at the Hasso-Plattner-Institut (who have produced a great online Seaside tutorial and associated book) have recently been involved in using Etoys in the classroom. They kindly sent us this report about the experience of two of their members when introducing Squeak and Etoys to high school students.

Read the rest of this entry »

SqueakSVNAt the Hasso-Plattner-Institut (HPI) in Potsdam, all Bachelor students have to participate in a software development project in their final year. Said projects are usually issued by industry collaborators, and hence are “real” development tasks that often yield actual products. The different HPI research groups coach the student project groups.

This year’s Bachelor project of the Software Architecture Group was issued by CollabNet, the company that spawned Subversion. The students are working on SqueakSVN to make SVN version control and tooling available in Squeak.

Coaching in the Software Architecture Group includes training in agile methodologies, with a strong emphasis on Extreme Programming. Of course, this includes heavy testing.

The students were facing the question of how to make the current project status perceivable in a motivating way. Ideally, the status should be immediately visible when entering the project room in the morning, without the need to start up a Squeak image and run all the tests first.

ampel2They came up with a really nice idea: the “test stoplight”, or, rather, “golight” to make it sound more positive. It’s as simple as this. A wooden board, three red, yellow, and green light bulbs, sockets, power supply lines, and an USB-controlled multiway connector make up the hardware part of the golight.

Realizing the software part was also easy. One computer plays the role of a dedicated test server, running a Squeak image. In this image, a process checks out the most recent version of the software from the repository every five minutes, runs all the tests, and switches on the light corresponding to the color of the TestRunner bar. At night, it switches the lights off entirely.

leiste.jpgThe software does not even have to know anything about the protocol used to drive the multiway connector. The connector comes with a set of command-line tools that can be run from Squeak using OSProcess. These are currently limited to the Windows operating system, but since controlling the connector is basically about writing some data to a serial connection, it should not be too hard to come up with solutions for other platforms.

This morning, when I first saw the golight, it was showing green.

Feel free to contact us for detailed building instructions and information related to the software!