Pavel Krivanek has published details of a project he’s been working on: SeasideXUL, which uses the Mozilla Foundation’s XULRunner and Ajax, with Seaside providing the muscle, and allows developers to create applications with a native look and feel.

Pavel has already used the framework to wrap the OmniBrowser suite of development tools, so allowing Squeak development to take place in the host environment.

The code is downloadable from SqueakSource, and a pre-built image has also been made available which includes the OmniBrowser integration. Pavel has also published a set of screenshots of the “Periodic Table” sample application demonstrating the capabilities of SeasideXUL.

A team of undergraduates at the University of Illinois at Urbana-Champaign have just released “Algernon”, a new keyboard-based launcher to help you navigate around your Squeak environment.

Algernon was developed by Erik Hinterbichler and Joey Hagedorn with their CS598 classmates, working with Professor Ralph Johnson of the Software Architecture Group at UIUC. The developers say that Algernon provides lightning quick access to categories, classes, morphs, and global variables in your image, and is inspired by tools such as Quicksilver and LaunchBar for Mac OS X. Like Quicksilver, it learns from your behaviours, and will prioritise options that you use most often. It is triggered by pressing Control-Space Shift-Return, though this can be changed by editing Algernon>>activationString.

Algernon can be downloaded from SqueakMap using the SqueakMap package loader or from Squeaksource using Monticello, and requires KeyBinder to be installed as a prerequisite.

[Edited in light of Erik’s comments below.]

One of the stumbling blocks for experienced developers looking at Squeak for the first time is the concept of the “image”. Many developers, especially from the UNIX world are used to managing their source code and other resources with a host of file-based utilities, including editors, archivers and change-management tools.

The Squeak philosophy that everything happens within the image can make the transition to Squeak painful for such developers, but there are tools out there to help with the transition. Two such tools were discussed recently on the #squeak irc channel.

Johan Björk announced the release of SqueakFS, which allows you to browse and search all objects contained in your squeak image from your local file system. SqueakFS is currently read-only, but the developers are interested in adding editing capabilities. The file system functionality is provided by a socket client built on top of FusePython. This client translates file system paths into squeak objects and queries a server running in the squeak image for details on these objects. In order to do this, SqueakFS uses FusePython for file system support and is dependent on both FUSE and Python and will only work on UNIX systems. SqueakFS has been developed and tested on Linux 2.6 and MacOS Leopard running on Intel systems.

Brian Rice pointed to another recent project, Stave, which mounts sources on a webDAV share, and so provides an editable WebDAV interface to Squeak’s class system. With the use of a WebDAV filesystem or a webDAV-enabled editor, this enables a file-based view on Squeak. Stave is intended primarily for use with external editors, and hasn’t been tested with search tools.

The Google Summer of Code team have announced that the Squeak Project is one of 175 Free and Open Source projects that have been accepted into their programme for 2008.

This year’s submission was explicitly under the “Squeak Project” title, to allow for projects from the wider community developing based on the Squeak environment.

The current list of projects with assigned students consists of:

Congratulations to Giovanni Corriga and colleagues on the SoC mailing list who put the Squeak Project submission together, and best wishes to the students and mentors for a productive and enjoyable experience. We’re all looking forward to seeing your work!

What’s the difference?

31 March, 2008

Fully Functional Babbage Difference Machine

The following was posted to the Squeak-Dev Mailing list by Markus Denker. The quote speaks for itself and it does give one pause to consider the implications to our community. It also strikes me as relevant to a lot of other development communities too. Great ideas are still very powerful and inspiring, but the idea alone is still seen as only half the process. We all know that there is a lot of very interesting problems that arise while we transform our ideas into working code. We also know that it is much easier to build onto a working system, or take what we learned from the process of building a working system to the next generation. While the idea itself can be seen as a great accomplishment, the realization of the idea by itself confers even greater benefits to the community. What projects have you left undone? What’s the difference?

“One of the sad memories of my life is a visit to the celebrated mathematician and inventor, Mr Babbage. He was far advanced in age, but his mind was still as vigorous as ever. He took me through his work-rooms. In the first room I saw parts of the original Calculating Machine, which had been shown in an incomplete state many years before and had even been put to some use. I asked him about its present form.
‘I have not finished it because in working at it I came on the idea of my Analytical Machine, which would do all that it was capable of doing and much more. Indeed, the idea was so much simpler that it would have taken more work to complete the Calculating Machine than to design and construct the other in its entirety, so I turned my attention to the Analytical Machine.'”

“After a few minutes’ talk, we went into the next work-room, where he showed and explained to me the working of the elements of the Analytical Machine. I asked if I could see it. ‘I have never completed it,’ he said, ‘because I hit upon an idea of doing the same thing by a different and far more effective method, and this rendered it useless to proceed on the old lines.’ Then we went into the third room. There lay scattered bits of mechanism, but I saw no trace of any working machine. Very cautiously I approached the subject, and received the dreaded answer, ‘It is not constructed yet, but I am working on it, and it will take less time to construct it altogether than it would have token to complete the Analytical Machine from the stage in which I left it.’ I took leave of the old man with a heavy heart.”

— Lord Moulton

Marcus Denker

Squeak 3.10

Squeak version 3.10 has just been released onto the ftp server. This marks the completion of the development effort and gives Squeak developers an opportunity to check compatibility of packages and ports; work is still under way to produce final and fully packaged release files and once this has been completed, the images on the Download page will be updated to point to fully packaged versions of this new release. Normal Squeak users are advised to wait for the packaged versions to be made available before upgrading.

The goal of the 3.10 release was to improve the process of making Squeak releases and to improve the quality of the code. The release team concentrated on improving the coverage of unit tests, in making Squeak more modular, and in getting rid of non-core and unsupported code. In addition, many bugs were fixed.

Highlights were:
– Removal of non-core code.
– Consistent use of Monticello to manage package dependencies.
– Use of Package Universes for managing package compatibility issues.
– Bug policy requiring all fixes to include unit tests.
– Image fully tested on Mac OS X Tiger, Windows XP and Simply MEPIS 6.5 Linux.

Thanks to the 3.10 release team including Ralph Johnson, Edgar De Cleene, and the many other Squeakers who contributed ideas, bug-fixes and support. Their work has given us an excellent release, and one which will be a great starting point for eventual progress to 4.0.

Discussions and planning for 3.11 is already beginning on the mailing list, including topics such as:
– the removal of major packages such as eToys and Nebraska to become loadable via Package Universes, and use of MinimalMorphic instead of the full Morphic suite.
– migration to the improved packaging and loading functionality of tools currently under development such as DeltaStreams or Monticello2.
– all code under old licences has been identified, and its replacement will be a priority.
If you have an interest in how Squeak develops in the future, now is the time to have your say!

For more information about this release, see the 3.10 page on the swiki or the welcome notes in the image itself.

[Edited to clarify status of this release]

Google Code

Giovanni Corriga has announced that Squeak is one of the 175 Free and Open Source projects accepted as mentoring organisations for this year’s Google Summer of Code.

Students interested in joining the programme will receive a stipend of $4,500 and can find out more at the Squeak summary page, and list of proposed projects. You’re encouraged to visit the #squeak and #gsoc irc channels on to discuss your application and additional project proposals. Applications open on 24th March, and more details of the process can be found at the GSoC blog.

Congratulations to Giovanni who managed the application process and everyone who contributed project ideas.

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!


Call For Papers

*** Dynamic Languages Symposium (DLS) 2008 ***

July 8, 2008 (Tuesday)

Co-located with ECOOP 2008, Paphos, Cyprus

Sponsored by ACM SIGPLAN

Submission deadline: April 25, 2008 (hard deadline) Author notification: May 23, 2008 Camera-ready copy due: June 6, 2008 DLS 2008: July 8, 2008

The Dynamic Languages Symposium (DLS) at ECOOP 2008 in Paphos, Cyprus, is a forum for discussion of dynamic languages, their implementation and application. While mature dynamic languages including Smalltalk, Lisp, Scheme, Self, Prolog, and APL continue to grow and inspire new converts, a new generation of dynamic scripting languages such as Python, Ruby, PHP, Tcl, and JavaScript are successful in a wide range of applications.

DLS provides a place for researchers and practitioners to come together and share their knowledge, experience, and ideas for future research and development.

DLS 2008 invites high quality papers reporting original research, innovative contributions or experience related to dynamic languages, their implementation and application. Accepted Papers will be published in the ACM Digital Library.

Areas of interest include but are not limited to:

– Innovative language features and implementation techniques
– Development and platform support, tools
– Interesting applications
– Domain-oriented programming
– Very late binding, dynamic composition, and runtime adaptation
– Reflection and meta-programming
– Software evolution
– Language symbiosis and multi-paradigm languages
– Dynamic optimization
– Hardware support
– Experience reports and case studies
– Educational approaches and perspectives
– Object-oriented, aspect-oriented, and context-oriented programming

We invite original contributions that neither have been published previously nor are under review by other refereed events or publications. Research papers should describe work that advances the current state of the art. Experience papers should be of broad interest and should describe insights gained from substantive practical applications. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, and originality.

Papers are to be submitted electronically at in PDF format. Submissions must not exceed 12 pages and need to use the ACM format, templates for which can be found at

Accepted Papers will be published in the ACM Digital Library.


Chair: Johan Brichau (Université catholique de Louvain, Belgium)

Joe Armstrong (Ericsson AB, Sweden) Pierre Cointe (École des Mines de Nantes, France)William R. Cook (University of Texas at Austin, USA) Pascal Costanza (Vrije Universiteit Brussel, Belgium) Wolfgang De Meuter (Vrije Universiteit Brussel, Belgium) Maja D’Hondt (IMEC, Belgium) Robert Hirschfeld (Hasso-Plattner Institüt, Germany) Roberto Ierusalimschy (PUC-Rio, Brazil) Andy Kellens (Vrije Universiteit Brussel, Belgium) Michele Lanza (University of Lugano, Switzerland) Michael Leuschel (University of Düsseldorf, Germany) Oscar Nierstrasz (University of Berne, Switzerland) Kent Pitman (PTC, USA) Lynne Shaw (CheckFree Investment Services, USA) David Ungar (Sun Microsystems, USA) Peter Van Roy (Université catholique de Louvain, Belgium) Martin von Löwis (Hasso-Plattner Institüt, Germany) Daniel Weinreb (ITA Software, USA)

Workshop on Self-sustaining Systems (S3) 2008
May 15-16, 2008
Potsdam, Germany

Call for papers:

The Workshop on Self-sustaining Systems (S3) is a forum for discussion of topics relating to computer systems and languages that are able to bootstrap, implement, modify, and maintain themselves. One property of these systems is that their implementation is based on small but powerful abstractions; examples include (amongst others) Squeak/Smalltalk, COLA, Klein/Self, PyPy/Python, Rubinius/Ruby, and Lisp. Such systems are the engines of their own replacement, giving researchers and developers great power to experiment with, and explore future directions from within, their own small language kernels.

S3 will be take place May 15-16, 2008 at the Hasso-Plattner-Institute in Potsdam, Germany. It is an exciting opportunity for researchers and practitioners interested in self-sustaining systems to meet and share their knowledge, experience, and ideas for future research and development.

— Invited talk:

Ian Piumarta: Late-bound Object Lambda Architectures (Viewpoints Research Institute, USA)

— Submissions and proceedings:

S3 invites submissions of high-quality papers reporting original research, or describing innovative contributions to, or experience with, self-sustaining systems, their implementation, and their application. Papers that depart significantly from established ideas and practices are particularly welcome.

Submissions must not have been published previously and must not be under review for any another refereed event or publication. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, and originality. Revised papers will be published as post-proceedings in the Springer LNCS series.

Papers should be submitted electronically via EasyChair at in PDF format.
Submissions must be written in English (the official language of the
workshop) and must not exceed 20 pages. They should use the LNCS format, templates for which are available at

— Venue:

Hasso-Plattner-Institut (Potsdam, Germany)

— Important dates:

Submission of papers: February 15, 2008
Author notification: April 11, 2008
Revised papers due: April 25, 2008

S3 workshop: May 15-16, 2008

Final papers for LNCS post-proceedings due: June 6, 2008

— Chairs:

* Robert Hirschfeld (Hasso-Plattner-Institut Potsdam, Germany)
* Kim Rose (Viewpoints Research Institute, USA)

— Program committee:

* Johan Brichau, Universite Catholique de Louvain, Belgium
* Pascal Costanza, Vrije Universiteit Brussel, Belgium
* Wolfgang De Meuter, Vrije Universiteit Brussel, Belgium
* Stephane Ducasse, INRIA Lille, France
* Michael Haupt, Hasso-Plattner-Institut, Germany
* Robert Hirschfeld, Hasso-Plattner-Institut, Germany
* Dan Ingalls, Sun Microsystems Laboratories, USA
* Martin von Lšwis, Hasso-Plattner-Institut, Germany
* Hidehiko Masuhara, University of Tokyo, Japan
* Ian Piumarta, Viewpoints Research Institute, USA
* David Ungar, IBM, USA

— Registration fees:

Early (until April 18, 2008)
* Regular participants: EUR 160
* Students: EUR 80

Late (after April 18, 2008)
* Regular participants: EUR 170
* Students: EUR 90