A newer, faster computer – for free!
8 July, 2010
Eliot Miranda has announced that his new Cog VM is now available for download, bringing Just-In-Time compilation and massive speed-ups to Squeak and Pharo.
If you’ve been following Eliot’s blog, you’ll know that he’s been working on this new VM for quite a few months now; well, it’s now ready for public consumption, and it’s blisteringly fast: up to three times faster than the existing VMs.
The VM selectively re-compiles code to native (Intel) machine-code, based on the size and complexity of the methods, and how often they’re called. This means that the benefits of the new VM vary from task to task, but Andreas Raab estimates that you should expect a 2-3x performance improvement generally, “more towards 2x when running primitive and I/O-bound stuff; more towards 3x when running ‘pure’ Smalltalk code”.
Eliot is interested in hearing from developers on other platforms who want to port the new VM to those platforms. In the meantime, he has also released the “Stack VM”, a cross-platform interpreter that uses context-to-stack mapping to achieve more modest performance gains.
See Eliot’s original post and the following discussion for more details of the new VM, some notes of caution, and how to get your hands on it and use it.
Thanks to Eliot for this great piece of work, and to Teleplace who have funded this work (and have been using it for the past year), and have agreed to release the new VM’s under the MIT Licence.
Squeak running on iPad
17 June, 2010
Bert Freudenberg has recently got Squeak working on the iPad, and has the video to prove it!
Bert’s work is based on John McIntosh‘s original port of the Squeak Virtual Machine to Apple’s touch-based OS, modified slightly to enable multi-touch and keyboard input. Bert also added multi-touch handling to Morphic. Interestingly, he notes that “Morphic was designed to handle multiple ‘hands’ (pointing devices) from the beginning”, so Squeak has always been multi-touch capable, and just let down by operating systems until now!
Bert’s work will help the Etoys team prepare their application for the next machine from OLPC, the XO-3, which will also be a touch device. The new version of the Sugar OS for the new device is still being developed, so it looks as though Etoys is well ahead of the curve.
Given the recent changes to Apple’s licence terms for iOS developers, it’s looking increasingly likely that we will see Squeak-based applications appearing for the iPad in the future. After a forty year wait, the Dynabook is nearly here!
JNIPort: Running Java from Squeak
11 June, 2010
Joachim Geidel has published a preview release of JNIPort, a Smalltalk library which allows Java code to be invoked from Smalltalk. It acts as a bridge between the world of Smalltalk objects and a Java Virtual Machine (JVM) where Java code is executing.
The port to Pharo and Squeak is not yet finished: it lacks support for callbacks from Java to Smalltalk, and is a work in progress. Joachim is particularly interested in feedback from Squeak 4.1 users.
JNIPort was originally written by Chris Uppal for Dolphin Smalltalk and published under a liberal licence which permits its use in commercial and non-commercial software. Joachim Geidel originally ported JNIPort to VisualWorks in 2006 and is now building on that work to make it available to Pharo and Squeak. The goal is to publish a stable release for VisualWorks, Pharo and Squeak in Q3/2010.
In addition to giving Smalltalk programs access to Java libraries and services, the interactivity of Smalltalk makes it an ideal environment to experiment and prototype new Java functionality.
Once it’s installed, calling some Java can be as simple as three lines in your workspace:
jvm := JVM current.
class := jvm findClass: #’java.lang.System’.
class currentTimeMillis_null
Installation instructions documentation and much more information are on the JNIPort Wiki.
Juan Vuletich has been working for some time on Morphic 3, a research and development project aimed at building the next standard in 2D user interfaces. One of his aims is to do mathematically proved alias-free rendering. In order to achieve these objectives, he has been experimenting with several techniques and design features, some which are new and others are not, but have never been consistently applied to a 2D GUI.
Juan’s contention is that, although the theory behind sampling is about 80 years old, existing graphics software completely ignore the theory and that his quest for higher quality results has resulted in the idea of applying the Sampling Theory which allows for mathematically proved alias free rendering. He informed the squeak-dev mailing list of his latest post which makes the startling claim that “I developed new drawing algorithms that give better results than those in Cairo, AGG, etc.” and he has created some examples showing some of the problems with existing algorithms, and how his approach improves these issues.
Juan is preparing the algorithms for release, which will involve him publishing it in a journal or as a Ph.D. thesis, and securing it for free use by either putting the code in the public domain or releasing it under the MIT licence.
Juan’s work on Morphic 3 is supported by ESUG’s Support Your Project programme.
Google Summer of Code – work begins!
27 May, 2010

Good news from Mariano Martinez Peck, one of the key organisers of the joint Smalltalk entry into this year’s Google Summer of Code: the students started work on their projects this week!
Following Google’s decision to focus on fewer organisations last year, ESUG co-ordinated a joint application for projects across all Smalltalk dialects this year, and were so successful in this venture that they got approval for 6 projects. You can find out more about the selected projects at the projects page.
For the last two weeks or so, students have been talking and discussing with their mentors, reading and investigating about the projects, and perhaps getting an early start on their development work. This was in line with the GSoC deadlines that you can read at the ESUG GSoC site and at the GSoC blog.
The organisers have told students to ask in case of problems or questions to their mentors but also to the community through the mailing list, so be prepared to help out with questions and issues that the students may have.
Mariano says “Good luck to all students and enjoy this wonderful opportunity you have. Now we are in the best part of the program!”
Squeakfest 2010 – University of North Carolina
20 May, 2010
Rita Freudenberg has announced that “The official Squeakfest website is now live and ready for you to propose a presentation, workshop, or panel.”
Squeakfest is an annual conference where developers and users of the Etoys media-rich authoring and experimentation environment (based on Squeak) get together to share ideas, experiences, and their enthusiasms with colleagues from around the world.
This year’s conference will be held at University of North Carolina in Wilmington, North Carolina, in the USA from 26th—28th July, and the theme for will be “Etoys in the STEM classroom.”
The conference will offer an opportunity to reflect on the achievements of the NSF-funded project “Using Squeak to Infuse Technology (USeIT)” which is now reaching its 3rd year.
The team are keen to hear from individuals and groups with experience teaching with Etoys, as well as non-classroom Etoys use, particularly as it relates to OLPC pilots or homeschooling. More information will be added to the website as it becomes available, but the organisers ask presenters to get presentation information to them by completing and submitting the online form no later than 11th June, 2010.
To get a flavour of what to expect at the conference, have a look at our report from last year’s Squeakfest.
Squeak Video Tutorials, 74 and counting!
29 April, 2010
Chris Cunnington reminded the Squeak-dev mailing list that for a while now he’s been creating video tutorials explaining aspects of Squeak. In fact he’s been working at this for so long that he now has over 70 videos available!
The videos give snappy introductions to topics as varied as: using SqueakSource to download Squeak applications; the mysteries of the red, blue, and yellow mouse buttons; how to use morphs; and using Croquet to interact in 3D environments (as seen above).
If you want to learn about Squeak, or to find out more about Squeak applications you’ve never used before, these are a great resource, so head over to Chris’ Smalltalk Medicine Show channel on YouTube. If you know of other great videos for newcomers to Squeak and Smalltalk, please let us know in the comments.
Squeak 4.1 released
23 April, 2010
Squeak 4.1 has now been released! This version combines the licence change occurring in the 4.0 release with the development work that has been going on while the re-licensing process took place.
Much of the work in this release has been focused on fundamental improvements. Major achievements are the integration of Cog’s closure implementation, the improved UI look and feel, the new anti-aliased fonts, the core library improvements, and the modularity advances.
One key focus for this release was to address the issues that have been known to frustrate developers using Squeak for the first time. A much improved set of UI widgets, the new menu bar including the fast search control, integrated help, improved test coverage, more class and method comments, and integrated syntax highlighting all make the system more accessible. The new full closures, the new traits implementation, multiple improvements to the collections and streams classes, the new NumberParser hierarchy all help make development easier and produce cleaner, faster code. Deploying your completed applications will be made easier by the work done on making many modules unloadable, and by support for other cleanup activities.
To download the Squeak 4.1 release please visit http://ftp.squeak.org/4.1 or go to the squeak.org homepage and use the Download links on the right hand side.
Final preparation for 4.1 now under way
9 April, 2010
Following the successful release of Squeak 4.0, which was the first version of Squeak to be cleaned of all non-open-source code, there was enthusiasm to quickly get the next release out of the door. This was driven by concerns that the long and difficult process of re-licensing and re-writing meant that many areas of the 4.0 release were a long way behind the current state of Squeak.
As a result, there has been a concerted effort to move quickly to release version 4.1, incorporating many bugfixes, thorough test suites, much faster and cleaner code in many areas, the removal of obsolete code, and a much more consistent and clean user interface. It will also offer a much simpler and more robust installation process for new users.
The work on preparing for the 4.1 release is now drawing to a close, but more help is still welcome! You can support the work by downloading the latest release candidate from http://ftp.squeak.org/trunk/ (and possibly the 4.0 sources file) and:
- ensuring all tests are green,
- contributing fixes for issues marked as critical for 4.1 on bugs.squeak.org (or any other fixes you’ve been hiding up your sleeves),
- checking that your packages on SqueakSource and SqueakMap install correctly in the new version,
- checking that the new Windows installation process works on your configuration,
- and of course, keeping an eye on the squeak-dev mailing list to ensure that you’re not duplicating work.
We expect a lot of interest in this new release, and want to ensure that we give new users a great first impression of Squeak. If you want to contribute to this work, now’s the time!
Call for students for Google Summer of Code
29 March, 2010
Janko and Mariano who are co-ordinating the joint ESUG application to this year’s Google Summer of Code are now looking for students to apply for the thirty-five proposed projects. The process couldn’t be simpler: review the list of projects, and you can register your interest in projects with just one click once you’re registered. You can also contact the project mentors for more information.
Note that this approach allows many students to register for each project, so if you want to improve your chances, make sure the project mentors can see why you would be the best choice for their project by editing your biography, and making sure that your contact information is up to date!
You must register by 9th April, so get cracking!
Any questions, visit the ESUG GSoC website, or contact the admins at esug.gsoc.adm2010@gmail.com.







