Author: Michael Davies

  • Algernon: your personal assistant for Squeak

    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.]

  • Seaside: your next web framework

    Randal L. Schwartz had a “standing-room only” audience at BarCampPortland for his presentation on why web developers should consider using the Seaside web application framework. BarCampPortland is described as an “unconference for the Portland [Oregon] tech community”, and aims to offer the attendees interesting topics, cool people and great networking opportunities.

    Randal was offered a 45-minute slot, and took the opportunity to explain what makes Seaside such a powerful framework for professional web developers. His material, which incorporated feedback from colleagues on the Seaside mailing list, was very well received, and will form the basis for future presentations by Randal to raise the awareness of Seaside in the web development community.

  • Squeak and the filesystem

    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.

  • Using Smalltalk with Java: JavaConnect and JNIPort

    Torsten Bergmann has an interesting post which introduces JavaConnect, a project by Johan Brichau, a postdoctoral researcher at the Université catholique de Louvain. JavaConnect is a library (developed using Visualworks Smalltalk and released under the MIT licence) that allows a seamless interaction between Smalltalk and Java. Johan describes it as allowing a Smalltalk application to “access any Java object and send messages to it, just as if it were a Smalltalk object. Its implementation relies on a connection between the Smalltalk environment and a standard Java VM environment using Visualworks’ DLLCC and Java’s JNI. The Java application thus executes on a regular Java VM and the Smalltalk application executes on the regular Smalltalk VM.”

    Joachim Geidel posted a comment giving a detailed comparison of JavaConnect to JNIPort, a similar tool developed by Chris Uppal for Dolphin Smalltalk, and ported by to VisualWorks by Joachim, a consultant for blueCarat Consulting GmbH. JNIPort (available under a bespoke, liberal licence) invokes a Java VM using the Invocation Interface functions of the Java Native Interface (JNI). It can automatically generate wrapper classes for Java classes.

    Joachim and Johan developed the two projects in parallel, and have discussed whether they could merge in the future, although there are a number of differences in the designs at present. In particular, Joachim believes that JNIPort as currently implemented could be more readily ported to Squeak.

     

  • New Dabble DB Demo Debuts

    Avi Bryant writes at the Dabble DB blog that the team has produced a new 8-minute demo of their product in action. This new video replaces their 2006 video which was linked to so frequently that it still shows up as #4 in the google results for “the demo“.

    Dabble DB is a tool to help you create, manage, interpret and present data via your browser. Written in Squeak using the Seaside web application framework, it has received glowing reviews since its launch in 2005.

  • Using Squeak in Education

    Hilaire Fernandes is writing a series of blog posts intended to introduce Squeak to teachers and to developers of educational software. The articles—available in both English and French—are intended to be a gentle introduction to Squeak’s features, and to highlight the ways in which it can be used in education. In each post Hilaire introduces a new topic, and explains its relevance to educational users.

    In writing this series of posts, Hilaire is able to draw on many years involvement in developing Free software in education (including Dr Geo II for the OLPC XO), and working with education professionals to incorporate such software into the school curriculum.

    The first post gives Squeak’s background and introduces Morphic – English, Français.

    The second post is an overview of how images work – English, Français.

  • Squeak Project in Google Summer of Code 2008

    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!

  • “An Introduction to Seaside” now published

    Michael Perscheid announced in the Seaside mailing list the publication of a new Seaside book An Introduction to Seaside. He says that:

    “This book explains the major concepts of Seaside in a clear and intuitive style. A working example of a ToDo List application is developed to illustrate the framework’s important concepts that build upon each other in an orderly progression. Besides the notions of users, tasks, components, forms and deployment, additional topics such as persistence, Ajax and Magritte are also discussed.”

    The book is based on the online tutorial developed at the Hasso-Plattner Institut, and the content has been revised and expanded for this edition.

    The 212-page book can be previewed and ordered at online publisher lulu.com for about €20/£14/$25.

    Congratulations to all involved at the HPI Software Architecture Group for producing this great introduction to Seaside. They are: David Tibbe, Michael Perscheid, Martin Beck, Stefan Berger, Jeff Eastman, Michael Haupt, Robert Hirschfeld and Peter Osburg.

  • Video of Newspeak lecture now available

    The video has now been posted of Gilad Bracha‘s talk on Newspeak that we mentioned last month. Newspeak is a new dynamic language being developed at Cadence, and is descended from Smalltalk and Self, with influences from E, Scala and Scheme, exploring ideas around combinatorial parsing, strict message-passing, reflectivity, capability-based security and actor-style concurrency.

    Newspeak is being developed on top of Squeak, and the presentation makes a number of direct comparisons with Squeak, especially when discussing UI matters such as the Newspeak widget framework, application framework and Class Browser, and how they’ve improved on Squeak’s access to the operating system with a new FFI framework.

    The roadmap for the future development of Newspeak is also laid out, including a discussion of when/whether the code will be published.

    (If you’re having trouble viewing the video, see this thread for help).

    [Edit – Gilad Bracha has a fascinating blog that records his ongoing development of Newspeak.]

  • Free Smalltalk books

    Stéphane Ducasse maintains a great list of free Smalltalk books including online pdfs of many out-of-print books.

    These books span over twenty years of Smalltalk development, and includes great resources such as Smalltalk-80: The Language and its Implementation (the “Blue Book”), Smalltalk with Style(pdf), and more recent classics such as Squeak by Example (written by Stéphane Ducasse along with Andrew P. Black, Oscar Nierstrasz and Damien Pollet).

    This is a great resource that is of use to beginners and to more experienced programmers wanting to understand more of the philosophy and design decisions behind Smalltalk and Squeak.

    Links and reviews of many other (non-free!) books can be found at the Squeak wiki, John M McIntosh’s site, and Squeakland has a reading list prepared by Alan Kay for those who want to learn more about the ideas and philosophies that influenced the creation of Squeak.

    If you know of other books and online resources that should be listed here, please let us know!

    [Please note the URL has been updated to address David’s comment below. The original URL was an older page with fewer books available.]