Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
(obsolete) The Weekly Squeak archive
Last updated at 6:11 pm UTC on 3 June 2013
(This is a historical page; latest news can be found at http://weeklysqueak.wordpress.com)
Welcome to The Weekly Squeak archive! The Weekly Squeak is a weekly report on what's happening in the world of Squeak.

Current edition
The Weekly Squeak No.1: 22 August - 28 August
The Weekly Squeak No.2: 29 August - 4 September
The Weekly Squeak No.3: 5 September - 11 September
The Weekly Squeak No.4: 12 September - 18 September
The Weekly Squeak No.5: September 19th - September 25th
SqueakViews: an interview with Stéphane Ducasse
The Weekly Squeak No.6: September 25th - October 1st
The Weekly Squeak No.7: October 2nd - October 8th
SqueakViews: an interview with Andreas Raab
The Weekly Squeak No.8: October 9th - October 15th
The Weekly Squeak No.9: October 16th - October 22th
SqueakViews: an interview with Craig Latta
The Weekly Squeak No.10: October 23rd - October 29th
The Weekly Squeak No.11: October 30th - November 5th
SqueakViews: an interview with Bryce Kampjes
The Weekly Squeak No.12: November 6th - November 12th
Focus: Will Seaside help remove the Squeak of rust? An interview with Bruce Tate
The Weekly Squeak No.13: November 13th - November 19th
SqueakViews: an interview with Avi Bryant
The Weekly Squeak No.14: November 20th - November 26th
The Weekly Squeak No.15: November 27th - December 3rd
The Weekly Squeak No.16: December 4th - December 10th
SqueakViews: an interview with Cees De Groot
The Weekly Squeak No.17: December 11th - December 17th
The Weekly Squeak, Light Edition No.18: December 18th - December 24th
The Weekly Squeak, Light Edition No.19: December 25th - December 31st


The Weekly Squeak, Light Edition No.18: December 18th - December 24th


Goran Krampe On Socket vs OldSocket and on SocketStreams

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098824.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098844.html

Questions and Comments from a Squeak/Seaside Newbie

http://lists.squeakfoundation.org/pipermail/seaside/2005-December/006321.html

How to determine programmatically your operating system from Squeak

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098868.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098880.html

A holiday morph from Edgar J. De Cleene

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098886.html


The Weekly Squeak, Light Edition No.19: December 25th - December 31st


The Squeak Foundation and the Squeak License

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098789.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098799.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098810.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098942.html

New release of the Chronos Date/Time library, now under MIT license:

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098887.html

Binary Tree packages compared

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098895.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098911.html

Squeak video and webcam support

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098922.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098924.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098943.html

A SmallLint extension for expected failures

http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-December/098927.html

A recap on persistence strategies in Seaside applications

http://lists.squeakfoundation.org/pipermail/seaside/2005-December/006363.html

GestionImmo: a Pier based application

http://lists.squeakfoundation.org/pipermail/seaside/2005-December/006373.html

A library for POSIX file handling

http://lists.squeakfoundation.org/pipermail/seaside/2005-December/006376.html
http://lists.squeakfoundation.org/pipermail/seaside/2005-December/006383.html


The Weekly Squeak No.17: December 11th - December 17th


ShoreComponents for Seaside 2.6

ShoreComponents is a set of useful components for Seaside. Pavel Krivanek announced (here and here) that he has started porting it to the next alpha version of Seaside, 2.6a. This new release of ShoreComponents won't be backwards compatible, since it will use some new capabilities of Seaside 2.6 (such as the new Canvas API and Scriptaculous). ShoreComponents may be found on Squeak Source.

Squeak 3.9a is on fire!

And Cees De Groot is the culprit for that, having created a new integration testing system loosely based on Mozilla's Tinderbox system. SqueakOnFire will periodically upgrade the latest 3.9a image with the patches waiting in the inbox and 3.9a repositories, run all tests and store the outcome on a web page, with details on the failures and errors in the test suite. Other features will be added in the future.

Some questions about Seaside's architecture

After evaluating Seaside, Oleg Mürk askedsome questions about Seaside's internal architecture, comparing Seaside to other (Java-based) web frameworks.Lukas RenggliandAvi Bryantanswered his questions with detailed explanations of Seaside internals and of its use of continuations.

A hosting by the Seaside

Every couple of weeks someone asks about hosting services which can support Seaside. It looks like things are getting better in this regard: Netstyle.chis about to launch afree Seaside hosting for non commercial users, whileArSol.netis going to offerSqueak and Seaside hosting plansin the future.

An explanation of SqueakMap caching

Goran Krampe explainshow the Squeak Map's caching system works, and especially the new server side cache which has been added to Squeak Map 2.1.

SqueakSource Update 1.3

After the initial release of Squeak Source, its source code was forked into three slightly different branches (the main branch, theImpara branch, theSqueakFoundation branch). Thenew version announced by Lukas Renggli overcomes this differences, merging the three separated versions in a single one. This new versions allows for better customization, removes unused features such as blessings and adds some more features such as version copying and moving.

Live Seaside Tutorial

Lukas Renggli writes: I will be giving a two days "Seaside Tutorial" the 24th and 25th February 2006 at the Nordakademie in Hamburg, Germany. It will be given in german, but the slides, examples and exercises are all in english. If somebody is interested to attend you should contact theNordakademie.

New versions of ODBC

German S. Arduino relaseda new version of the OBDC package for Squeak 3.8. This new release contains a fix in decimal handling.

Graphics in JavaScript

Philippe Marshall has discovered a JavaScript library which uses the HTML canvas tag to create graphs (pie charts, bar graphs etc). Philippe has createda proof of concept hack to drive this library using Scriptaculous and Seaside 2.6.

Internship Position &at Douai

Noury Bouraqadi is offeringa Smalltalk internship position (4 to 6 months) on distributed computing using Squeak. The location is the Ecole de Mine de Douai - France, and the internship offers a small salary to cover some of the expenses (trip, accomodation) of the intern student.

A new Spoon-ful

Craig Latta announcedthe availability of version 1 alpha 12 of his Spoon system. This version has seen changes in the CompiledMethod objects, to better allow method unloading and network distribution of behaviour modules.


The Weekly Squeak No.16: December 4th - December 10th


November Team Reports

Many teams have sent their reports for the past month of November. The first team leader to send a report was Brent Vukmer for the new Electionteam, followed by theNetwork,News,Website,Files,Janitors,Box-Admins,v39, andMorphicteams.

Magma and Seaside integration support

Brent Pinkney announcedthat the Magma team has addedsupport for Seaside applications to their Magma object database: the Magma source repository now includes a 'Magma seaside' Monticello which allows a Magma repository to be used from a Seaside application.
Detailed usage instructions and a tutorial are now availablehere.

Trouble with the mailing lists

In the first days of December, the IP address of the mailing lists server (http://lists.squeakfoundation.org) wasaddedto the SORBS blacklist, causing many users not to receive the messages from Squeak-dev and the other mailing lists hosted on the server. The problem was quickly and solved thanks to the work of Ken Causey and Cees De Groot. Our intrepid box admins alsoadvicenot to relyon the SORBS service, but to use the many alternative services available.

A Pier sample application

Damien Cassou and Mathieu Hopmann have createda real estate management application using Magritte and Pier. This sample application isavailableon SqueakSource.

A Magma server with web management console

Cees De Groot has createda ready-to-use Magma server image, complete with a web management console. The image and the related source code can be downloaded from Cees' repository, with detailed instructions on how to use it.

ComSwiki 1.5 released

Jochen F. Rick has released version 1.5 of his ComSwiki package, running on KomHttpServer 7.0.2. This is the first ComSwiki release to include AniAniWeb, a new Wiki-based approach to personal home pages. Ani has a bigger enphasis on looks[...] user accounts and a fairly sophisticated access control system. Owners of a site can control who has access to what.
Edgar J. De Cleene has also provided anenthusiastic reviewof this new version of the Swiki software.

SqueakLight status update

For the small images lovers, Edgar J. De Cleene has updatedhis SqueakLight system. This new release adds support for JPG images, Html-Dom, a more recent Network subsystem and much more. The HttpView2 web framework is scheduled for inclusion, too. A rich image which is still less than 5 Mb in size.

Feedback from a Squeakland workshop

Randy Heiland wrote a reporton his Squeakland workshop for a group of 6th grade girl scouts. Randy also reports some (small) problems with Etoys' UI that were encountered during the workshop.

SqueakSource server image

Torstenn Bergmann has builta working SqueakSource server image that may be used to easily run local SqueakSource repositories. You can learn more about this SqueakSource server on theSwiki.

A Squeak image repository

Cees De Groot has created a small image repositorywhich contains some ready-to-use Squeak images. At the moment, only Cees' Magma Server image and Torstenn's SqueakSource Server image are hosted there, but you may send Cees some images of yours and he will be happy to add them to the list.

What does Squeak development look like?

Keith Fieldhouse would like to start using Seaside in his development projects, but still has some doubt on how to use Squeak at its best. So he askedthe Squeak-dev list what Squeak development looks like, that is, what the normal workflow for a Squeak developer is. Many Squeak developers replied, creating an interestingdiscussionthat we recommend reading in its entireness.

A new test server

Cees De Groot has kindly provided a new test server which may be used for Squeak hacking. As Cees writes, if you have a hack or something that needs to be tested or just on a web server for a demo, ping me and I'll see whether I'll host it. The general conditions are: you get 5 open ports to use and an ssh login, if I notice your image chewing 100% CPU I'll kill it, and there's no availability guarantee :)

New SqueakSource repository for Magritte and Pier

Lukas Renggli announcedthat he has moved all his existing versions of Magritte and Pier to two separate projects in a newSqueakSource repository. Lukas also created two new "-addons" projects for small-extensions to either Magritte or Pier, such as a new description type for the former, or a new widget for the latter.
The new repository also has anRSS feed.

Mantis vs. mailing list: the eternal struggle

There's a recurring discussion on the merits of having a bug database (at the moment it's Mantis) versus having the bug reports sent on the Squeak-dev mailing list. Both the models have advantages and disadvantages. Jerome Peace wrote a good analysisof the merits of having a bug database.

Problems with the MediaView browser port

David Faught sent a quick report about his work on porting Jon Hylands' MediaView browser to the latest Squeak version. Unfortunately, it looks like there are some bumps on the road, related to the way the browser does handle different MIME types.

SqueakViews: an interview with Cees De Groot

Welcome back to SqueakViews, the column in which we interview the Squeak hackers and developers. In this installment, Giovanni Giorgi has met Cees De Groot, one of the most prolific Squeak hackers and a member of the Squeak Foundation board.

GG: First of all, please share a little about yourself and your background. Where are you from, your studies and your current job.
CDG: I live in the Netherlands, will turn Very Old[tm] next year, and the little bit of formal training that people tried to expose me to was at Nijenrode Business School - even though the IT department sucked, I learnt a lot about business and after dropping out I've been mostly an autodidact. I had various software development jobs in the Netherlands, German, Switzerland and the UK and even help setting up some companies in the recent past - read the resume on mywebsite for details if it really interests you :-).
Currently I am self-employed, doing both fixed-price projects and by-the-hour consulting gigs, mostly in some Smalltalk dialect.
GG: You are one of the most famous developer on Squeak. What are your primary working area at the time? What teams are you leading?
CDG: Well, famous is probably an overstatement. Vocal, yes, and by times even actually active. At the moment, I divide my time between Files where I am the team leader and v3.9 and Morphic where I help out. And now and then I come up with a little tool or proof-of-concept, which usually gets announced immediately on squeak-dev... Then of course there is the SqueakFoundation board, where I am a member and we're slowly finding out how to cooperate and how to make the community move forward. It turns out I learnt a lot about community building during my Jini Technical Oversight Committee involvement - I see a lot of history repeating...
GG: Can you do a small description of each of the projects you are working on (and your future plans too)?
CDG: At the moment, I am finishing a project called 'Digital Society of the Past' which resulted in Kolibri, a peer-to-peer system written in wxSqueak; also, I am preparing a new Squeak-based venture which is currently still a bit hush-hush. Kilauea is my main focus at the moment, because it directly forms the foundation for this new venture.
Kolibri is interesting because, to my best knowledge, it is the first project with a complete "I am a Windows application" user experience, from the installer to the (wxSqueak-based) interface. It is also interesting because it does some neat peer-to-peer stuff. The drawback is that it comes up in Dutch, I am planning to do something about that in the near future.
Kilauea is yet another effort to help Squeakers build web applications even faster. I think it differs from for example Mewa or Magritte in that it doesn't give the developer any choice: Kilauea persists in Magma, for example. If you want another persistence mechanism, or something different w.r.t. the web front-end, you're out of luck. This might seem inflexible, but it keeps the code base small and simple, and at the moment I am interested in that above anything else. The end goal is to have a new developer download a Kilauea image and have him have built his first fully-persistent, metadata-driven web application in, say, 5 or 10 minutes.
GG: What do you think of the last directions of the Squeak community? In my humble opinion, Squeak community is rapidly adapting and growing, and must support itself in much more organized way. What is your point of view?
CDG: The Squeak community is probably still 'recovering' from the end of Squeak Central as the leading institution - what we are getting better and better at is removing bottlenecks, so that as little as possible hinges on the effort of just one or two persons. Lots of stuff is happening at the moment, and all at the same time - a new way of maintaining images, a new organization structure "at the top", etcetera. We are happily making lots of mistakes, but so far there seems to be a lot of progress as well. That, and the interest that some high-profile projects like Seaside andScratch are generating, make me feel quite confident about the future.
We are glad to have been 'adopted' by ESUG so we now have a legal entity to do stuff, but I see that as a temporary solution. The decision process is slow, and we're bound by ESUG's bylaws which of course were setup for different goals. Luckily, Ron Teitelbaum has gotten the interest of the people at the Software Freedom Law Center and they have indicated that they're ready to support us with various issues, ranging from crypto law compliance to formation of a legal entity around Squeak Foundation and licensing issues. We're currently dealing with the crypto stuff so that US-based developers can safely work on the Cryptography project, but if that turns out to work well, I am very much for asking these guys to help us with the other issues as well.
GG: About Squeak Community, tell us the state of your project SqueakPeople.
CDG: Half asleep :-). SqueakPeople currently runs the Advogato.org code, which is in C and stores everything in XML files for some reason. I have code that reads the XML files, but so far have been too lazy to write code that writes them back. If we have that, we can slowly move forward, replacing SqueakPeople's Advogato code with honest Smalltalk code bit by bit, but as long as writing data isn't possible, the project is stalled. The only alternative would be a big bang changeover, but that's an amount of work I'm not able to spend at the moment. So if someone feels like helping me here, you'll have my eternal gratitude :).
I am glad that SqP took off and is now one of the 'core' sites of the Squeak community. There is a lot of value in the web-of-trust, and other sites could profit from it as well (like the Squeak Swiki, where we could limit certain kinds of modification only to people who identify as, say, at least someone with the Apprentice level on Squeak People). So I hate it that we currently have this C code that I'd rather not touch, the sooner this moves to Squeak, the better.
GG: What are your plans for the future?
CDG: I'll be happy if I can continue contributing to Squeak and apply it in my work as well. At the moment, all my paid work is done in various Smalltalk dialects and I am very much planning to keep it that way.


The Weekly Squeak No.15: November 27th - December 3rd


Persistence for lazy people

Ross Boylan wonders if the image could be used as a persistence layer for his own Seaside application. After all, a Squeak image is a object database... Many Seaside hacker answered his question, providingadviceandguidelineson when to use an image to save your application's data.

A forensic tool for dead images

In the same discussion, Avi Bryant depicteda fictional tool which could retrieve some data from a dead image, and create an ImageSegment starting from that. The tool would be a variation ofan existing toolby Yoshiki Ohshima.

Squeak Map changes and upgrades

Last week has seen some changes in the Squeak Map system. First of all, the Squeak Map server has been movedto the newer box2.squeakfoundation.org machine, and is now available at thehttp://map.squeak.org/URL. The old URL (map1.squeakfoundation.org) is still available so that old client can still connect to the service.
Goran also added aserver side cache, so now all Squeak packages can be retrieved for the squeak map server in those cases were the old URL is temporarily offline.
As a consequence, the Squeak Map version has been bumped to 2.1. Goran provideddetailed instructionson how to do an upgrade on the client side.

Installing the latest HV

Goran has also published instructionson how to install the latest version of HttpView (HV). HV is the lightweight web framework used for SqueakMap and many other applications.

Some notes on Squeak's UI

Larry White has wrotea critique of Squeak's current user interface, with some notes on how some actions aren't really as easy for a newcomer as they are for an experienced user. Larry's criticism is a little blunt, yet valid.

Don't forget your updates

Kim Rose reminded the Squeakland mailing list that since the latest Squeakland image has been in the public use for a few months, we've been informed about a few things that have required a small change or fix. [...] please periodically visit the squeakland.org site and load updates. Kim's message also contains detailed instructions on how to update a Squeakland image.

Singletons in Squeak

Edgar J. De Cleene askedon the Squeak-dev mailing list why Squeak doesn't have a Singleton class to use when to implement the homonymous pattern. Stjin Timbermontanswersto Edgar's question with an interesting explaination which involves the metaclass hierarchy.

Stable Smallwiki1 source on Squeaksource

Samir Saidani has announcedthat the source code for the stable version of Smallwiki1 (the one poweringhttp://www.squeak.organdhttp://www.seaside.st) is now available on Squeaksource.


The Weekly Squeak No.14: November 20th - November 26th


Pier 1.0.0 alpha: now with access control

Soon after Lukas Renggli announced the first alpha release of Pier (neé Smallwiki 2), Philippe Marschall released a prebuilt image of Pier. This image includes an access control framework, and is a work in progress meant to give anyone who is interested a first impression and the ability to provide feedback. Philippe's image also contains some little addons, such as Magritte descriptions for email, and IM addresses.

A German Squeakland success story

Uwe Hübner wrote to the Squeakland mailing list to report the outcomeof the showing of the Squeakers DVD to some teachers. As Uwe reports, four teachers were interested in learning Squeak and eToys. We wish a good luck to Uwe and to those four bold teachers.

SoapCore 0.8 on SqueakMap

Masashi Umezawa has releasedversion 0.8 of SoapCore, a SOAP implementation for Squeak. This new release has support for m17n (multilingualization), support for literal encoding and some utility methods for a quick service registration.

A report on the Bern Smalltalk Gathering

Klaus D. Witzel wroteto the Squeak-dev mailing list to give an account of the Smalltalk Gathering which was held in Bern on November, 18th. It looks like it has been an interesting experience, that should be replicated soon.

squeak-mentors.org

Jason Burke is a Squeak newbie who has been recently digging into Squeak. He thinks that, even though Squeak's syntax is easy, becoming proficient with Squeak's class library can be a daunting task. For this reason, he has startedSqueak Mentors, a website which will collect many resources and tutorials on learning Smalltalk and Squeak. Wilkes Joiner has sent a reply,pointingto a Squeak tutorial he has written.

MCConfigurations quick howto

Cees De Groot has publishedas quick howto on how to use MCConfigurations (also known as Monticello Configurations). MCConfiguration is a system for managing groups of Monticello packages, ensuring that the correct versions of those packages are loaded in the correct order. Cees' howto has explains how to use a Monticello Configurations browser, and contains some suggestions for integrating the MCConfiguration system in your workflow.

Squeakland and particle systems

Alan Kay pointsto some interesting works on particle systems (like the old bouncing atoms object) using Etoys.

SQLite3 FFI wrapper for Mac OS X

Claes-Fredrik Mannby has publishedan FFI wrapper for the SQLite3 library. This wrapper is based on Avi Bryant's one for SQLite 2.

Squeak on an electronic paper display

Bob Courchain is workingon an info appliance based on electronic paper display, and would like to use Squeak to build a demo to run using such a device. Bob is looking for advices or pointers to help him write a driver for this particular display.

Packaging media with Monticello

Hilaire Fernandes askedon the Squeak-dev mailing list how to add media content (graphics and sound) to a Monticello package. Various squeakers replied, offering different solutions to his problem.

More work on the bootstrapped kernel image

Klaus D. Witzel has been workingon Pavel Krivanek's minimal (1.3 Mb)kernel image. Klaus has retrofitted to Squeak 3.7 the InterpreterSimulator from 3.8. with whis simulator it's now possible to run the kernel image inside a standard 3.7 image.


The Weekly Squeak No.13: November 13th - November 19th


Multiplatform sensor refactoring

Serge Stinckwich suggested that EventSensor and InputSensor could use some refactoring or merging into one class. Tim Rowledge pointed to some background and his plans for cutting away the old sensoring code and John M. McIntosh pointed to crusty code for fixing differences between Windows and Mac mouse sensoring. (Klaus D. Witzel)

New 3.9a images available

Stephane Ducasse announced that the latest 3.9a images (previously available from the update stream only) can now be downloaded from Squeak's ftp site. (Giovanni Corriga)

A Resource framework

Russel Penney has reminded us of his Resource framework proposal during a discussion on the state of the Squeak-native Ogg Vorbis player. This framework aims at handling different kinds of media objects and devices in a clear and non-obstrusive way. Comments are welcome. (Giovanni Corriga)

Answers ain't just for newbies

In the past weeks, some newcomers to the Squeak community have surfaced and started askingforhelpin the squeak-dev mailing list. Various squeakers have answered their questions with interesting and insightful replies. This answers are an useful resource for everyone, and sometimes they also help discover new bugs. So,keep'em coming! (Giovanni Corriga)

Dabbledb vs WikiCalc

On the Seaside mailing list, Andrew Catton compares Smallthought's coming Dabbledb with Dan Bricklin's WikiCalc. While the two applications use completely different frameworks, they do share some philosophical common ground. (Giovanni Corriga)

C5-06 Conference

Kim Rose announced to the Squeakland mailing list, that online registration is now active for the C5-06 Conference (Conference on Creating, Connecting and Collaborating through Computing) hosted in part by Viewpoints Research Institute, to be held January 26 & 27th at UC Berkeley. [...] Presentations will cover topics ranging from the more technical aspects of system architecture and design to sharing practices and developments in educational enviorments both face to face and online.
We have two wonderful keynote speakers scheduled – Diana Oblinger, VP EDUCAUSE and Bob Stein, the Director of the Institute for the Future of the Book.
Please share the info on this conference with your colleagues and please join us!
We look forward to seeing you at "C5-06"!
. (Giovanni Corriga)

SqueakNOS VMWare Package

Cees De Groot has createda VMWare image of the SqueakNOS system.SqueakNOS is a project which aims to create an operating system entirely based on Squeak, without any underlying OS. This package can be used with either a commercial version of VMWare, or with the freely available VMWare Player. (Giovanni Corriga)

Morphic Layout documentation

While replying to a question asked on the squeak-dev mailing list, Matej Ko.ík points to some documentation on the Swiki on how to use the LayoutMorphs. Matej also points to the "layout" menu available for every morph. (Giovanni Corriga)

IMAP client for Squeak

Steve Greenberg askedwhere he can find an IMAP client and Brian Murphy-Dyemade available his package for the community. (Klaus D. Witzel)

Cees' Refractoring Browser

Cees De Groot has devised yet another utility for developing in Squeak: the Refractoring Browser. This is a refactoring browser which shows only those categories and packages which are explicitly selected by the user. Very useful when you have many packages installed in your working image. (Giovanni Corriga)

A poor man's VNC with Seaside

Avi Bryant has posted on the Seaside mailing list some instruction on how to create a "poor man's VNC" in a browser, using the Seaside component WAScrenshot. (Giovanni Corriga)

Despamming a Swiki

Anders Conradi updatedus with SpamReverter forremoving spam from a Swiki. (Klaus D. Witzel)

DoIt refurbished

Damien Cassou asked why he can see but not remove these DoIt methods (which puzzles developers from time to time). Lukas Renggli and Hans-Martin Mosner suggested to replace handling of DoIt methods (which are, after decades, still the exciting feature of interactive systems), by a more current approach and Lukas entered a refurbished version to Mantis for inclusion in the 3.9 release. (Klaus D. Witzel)

The annual VM building experience

Josh Gargus reported his experiencewhenbuildingthe VM using a fresh copy of the most recent tool chain which was, with the support of Tim Rowledge and John M. McIntosh, eventually a success.
In another message, Göran Krampe officiallyannounced the new website for the Squeak VM source. (Klaus D. Witzel, Giovanni Corriga)

eCompletion in a workspace with Shout

Torsten Bergmann wrote ushow he added Shout and eCompletion to the Techo application and so got TechoShout, tabbed workspace scripts with sytnax highlighting. In another message Torstendetailed the steps to make for enhancing applications with such interactive features. (Klaus D. Witzel)

A Smalltalk Job Offer

Colin Putney has posted a job offer for a Senior Engineer position. The job involves working on a scalable, distributed system for gathering and processing network statistics and loading them into a database for reporting, written almost entirely in VisualWorks. As Colin writes, It sounds like a pretty dull application, but there are some pretty cool aspects to it. (Giovanni Corriga)

A Squeak post card

As Serge Stinckwich reminds, SeungBum Kim has created a Squeak Action Card which contains all the essentials regarding Squeak's syntax, the most common actions and some useful community links. (Giovanni Corriga)

First release of Pier 1.0.0-alpha

Lukas Renggli has announced the first Squeak Map edition of Pier, his project formerly know as Smallwiki 2. This is an alpha release, with many missing or incomplete features, but it looks really promising. (Giovanni Corriga)

Small-Land video on Google Video

Marcus Denker announced that the Small-Land video (a documentary about the Squeak project in Extremadura, Spain) is now available on Google Video. (Giovanni Corriga)

Some tips on cross-dialect portability

On the Seaside mailing list, Michel Bany has proposed some guidelines for writing code which may be ported from a Smalltalk dialect to another without any change. While some of Michel's proposal are Seaside-specific, there are some which may be useful for every Squeak developer. (Giovanni Corriga)

SqueakViews: an interview with Avi Bryant

Welcome back to SqueakViews, the column in which we interview the Squeak hackers and developers. In this installment, Giovanni Giorgi has met (by e-mail) Avi Bryant, creator of many useful Squeak tools and frameworks such as Monticello and Seaside.

GG: First of all, please share a little about yourself and your background. Where are you from, your studies and your current job.
AB: I grew up in Vancouver, Canada and did a degree in Computer Science there at the University of British Columbia. I'm recently back in Vancouver after spending a year in the Netherlands.
I work for a company called Smallthought that I founded with Andrew Catton. We do 100% of our development in Squeak and Seaside. We have some long term development projects that pay the bills, and we provide consulting, training and support to teams in North America and Europe that use Seaside.
We're also working on a commercial product; see http://dabbledb.com for more info.
GG: You are one of the most famous developer on Squeak, of the last two years. You have written Monticello and Seaside, and experimented a lot with Object Oriented Database like Goods, Magma, OmniBase. How do you ended up with Squeak? What way did take you the Squeak community ;) ?
AB: I first became interested in Squeak and Smalltalk in mid-2001. At the time, I was working with Objective-C and Ruby, both of which were heavily inspired by Smalltalk, and I was beginning to become very interested in the ideas around XP and agile development, which arguably came out of the Smalltalk world. So it was a fairly natural step to trace all of these interests back to their origin. However, although I played around with Squeak and Smalltalk/X for a while, it never stuck until I went to that year's OOPSLA to present a demo paper with Andrew. Our work was in the distressingly large category of OOPSLA papers that I sometimes describe as "dragging Java into the 1980s". The activity at Camp Smalltalk, and especially the Squeak BOF, seemed so vibrant and refreshing compared to all of that nonsense, that we both spent the next few days diving seriously into Squeak for the first time. Not long after that, Julian Fitzell and I were supposed to start working on a new web application, and I suggested that we do it in Squeak. So we did.
There were actually two occasions in the following months that almost made me go back to Ruby. The first was when I realized that I wanted to use continuations in Seaside - this was long before its first release. Ruby has a primitive for capturing continuations, and Squeak doesn't, and it looked like, despite Squeak's clear advantages in other areas, I was going to have to continue the work in Ruby to explore the idea. Luckily I was just naive enough to believe that it might be possible even without a primitive, at the image level, and Squeak was just flexible enough that I was right. So I got to keep working in Squeak.
Then, a few months later, Colin Putney (then at Whistler.com) approached me about doing some work with him; he knew me from the Ruby community and wanted to build a new Ruby web framework to use for all of their development. I was in a bit of a fix, because it was an interesting project, but I also knew I didn't have the energy to maintain frameworks in both Ruby and Squeak - and if I was getting paid to work in Ruby, the work in Squeak would have to get set aside. I finally managed to convince him that Squeak was a better choice, and that Whistler.com should use Seaside rather than building something new. Whistler.com doesn't use Smalltalk anymore, but luckily for us Colin's conversion was permanent - and by the end of that project, so was mine.
GG: Can you give us a small description of each of the project you areworking on (and your future plans too)?
AB: Most people probably know about Seaside and Monticello (and if you don't, google for them). So I thought I'd mention a few of the smaller and lesser-known packages I've worked on recently that people might find useful:
GG: What do you think of Exupery project? It seems very promising and can eventually make Squeak faster then Visual Works (the leading technology on this side)?
AB: I've learned not to doubt Bryce. When he first announced the project, I was highly skeptical: here was some guy nobody had ever heard of before, claiming he was going to implement a native compiler from scratch entirely at the image level - it just felt like one of those extremely ambitious projects that was never going to go anywhere. Especially since it's not much use until it's mostly done; if it were me, I would get distracted partway through and move onto something else. But his focus has been unwavering and the progress has been extremely impressive. So now I'm really looking forward to version 1.0. And it's convenient that Apple is moving to the same architecture that Exupery targets: I figure I should have an x86 PowerBook at about the same time that Exupery becomes useful for development work.
GG: What do you think of the last directions of the Squeak community? What is point of view?
AB: My main concern is that all of the organizational churn, all of the discussion and experimentation around harvesting models and so on, is going to burn out people that would otherwise be off writing useful code. To take Göran as an example (I don't think he'd mind): take the total volume of email he's produced over the last year, and compare to the number of improvements that have been made to SqueakMap in that time. I have my own ideas about which is more useful to the community. But I've always had an anti-authoritarian streak and a dislike of what most people would call "being organized".
That said, when you have hackers off in their corners producing cool packages, you often do need someone to do the thankless work of integrating them all, and I think we're making some progress there. For example, Andreas produced the first version of ToolBuilder in a matter of days if not hours, but it takes a concerted community effort to actually integrate the work into the base image. That's happening, thanks to Cees and Brian Brown and others, and that's great. The work Stef, Marcus, Doug and Daniel are doing to work out package-friendly harvesting is also really important going forward. And in general I think the team model, splitting things off into smaller groups and dedicated mailing lists, has been a success, even if I've been somewhat remiss in my own leadership duties for the Packages team.
bGG: We know you are one of the founder of the beta4.com web site, but it is pretty 'minimalist' (the home page has only an email address on it). What are you carry on there?
AB: Beta4 Productions is the name Julian and I used for a variety of work that we did together starting in 1998 or so: mostly software related in some way to the theatre industry. The word "Productions" was intentionally vague, since we wanted to leave the door open for hardware projects (we did some experimentation with lighting consoles) or theatre/film production (Julian's an experienced theatre technician and I've done some freelance camera and editing work) as well as software. Both of us have since moved on to other things, but still use that domain out of habit. So we're really phasing that site out, which explains its minimalism - not that there was ever much there, but there's now even less. At any rate, if you want to email me these days, avi@smallthought.com may reach me faster than avi@beta4.com. And SqueakSource has more recent versions of our code than beta4.com/mc does.
GG: What is you preferred license scheme? Free as LGPL or more protecting one?
AB: I don't get very political about these things. Most of my income comes from providing services, not licensing, so I tend to release stuff under very unrestrictive terms (eg, the MIT license). It's usually code I need to write for myself or my clients anyway, and if someone else can get some benefit from it too, great.
GG: What are your plans for the future?
AB: More of the same, hopefully; I'm having fun hacking Squeak and running a small business and living in beautiful coastal Canada... the longer I can keep that humming along, the better.


The Weekly Squeak No.12: November 6th - November 12th


A Petri nets simulator using EToys

Stéphane Ducasse pointsto a Petri nets simulator created with EToys by Prof. Oscar Nierstrasz and Markus Gaelli, for their Concurrent Programming course at the University of Bern.
Don't miss their examples including the famous dining philosphers onhttp://www.iam.unibe.ch/~scg/Teaching/CP/PetriNets/Squeaklets/index.cgi

'self error:' considered harmful

Cees De Groot warnsthat the message #error: shouldn't be used anymore, and the various senders of #error: should raise the appropriate exceptions instead. Tim Rowledge agrees, and hascommentedthat using Errors instead of proper exceptions is a hurdle in creating good designs and good applications.
Tim also expressed the need for a tool for finding raisers and handlers for exceptions, and to help select the right exception to be raised.

A volcanic framework

The volcanic Cees De Groot has releasedyet another package for Squeak. This package, calledKilauea, is a framework which integrates Seaside, Magma and Mewa in order to help people quickly create web applications with persistance. Cees is using this framework for his Nags project manager, which appeared on the last issue of TWS.

Using GPU hardware in Croquet

Michael Kleiber has implementedGPU shader effects fro Croquet, as part of a lab project for the University of Magdeburg. He has documented his work in a wiki page (in English).

More on passwords in the image

Matthew S. Hamrick has postedsome insightful notes on securely handling passwords in a Squeak image. Matthew's notes are an interesting read for every security-conscious Squeak user.

A tool for fighting Spam on the Swiki

Anders Conradi has posteda small tool which can be used to clean a page of the Squeak swiki from the spam.

New release of OSProcess and OSProcessPlugin

David T. Lewis has releaseda new, mantainance version of his OSProcess and OSProcessPlugin packages. This release adds some methods and primitives for handling the SIGUSR1 and SIGUSR2 OS signals. This addition has been suggested during the discussion of John M McIntosh's work onprofiling the message sends in a Squeak image.

Squeak and Robotics

A question by Paul Grunwald on Stéphane Ducasse's Squeak: Learn programming with Robots book has spawned an interesting discussion on Squeak's usage in robotics. Some squeakers have joined the discussion, illustrating thier work: from Jon Hyland'sMicroSeeker, to Joaquin Sitte'slectures, and from Serge Stinckwich'sSqueakBot projectto Chuck Smith's350 lb behemoth.

Exupery 0.07 released

As announced in last week's SqueakView, Bryce Kampjes has released version 0.07 of Exupery. This is the first release reliant enough to play with. Bryce has also produced somedocumentationon his project.

Will IBM walk on the Seaside?

Edgar J. De Cleene has pointedto an interesting article about Smalltalk and Seaside on IBM's Developerworks website. While commenting on this, Alexandre Bergel hasreportedthat while at OOPSLA he has done three demos of Seaside to some IBM employees. Will this be the beginning of a new IBM love for Smalltalk? We certainly hope so!

A world map of Squeak users

A world map of Squeak users has been createdonhttp://www.frappr.com/squeak. Add yourself to the map, and let us know where you're located! (No registration required).

Shrinking Morphs

Steve Greenberg asked for help in creating a new kind of Morph. His request has been answered by the squeak community, and he has been suggested a couple of different ways of creating his custom Morph.

Hacking the Context for fun and research

Michael Haupt is working on making AspectS 's control flow matching faster. To do so, he'd like to add a field to the ContextPart class, whose structure is unfortunately hardwired in Squeak's VM, making modifications a little more difficult than usual. Many Squeakers gave him some suggestions, from adding a new temporary field to each method (as suggested byKlaus D WitzelandAndreas Raab), or by using ByteSurgeon (as suggested byStephane Ducasse).

Upcoming Squeak Chats

The next Squeak Chats will take place between 20:00 (8 PM) GMT Tuesday November 15th and 00:00 (Midnight) GMT Wednesday November 16th, 2005 and between 00:00 (12:00 AM) and 04:00 (04:00 AM) GMT Sunday November 20th, 2005. As usual we will meet in #squeak on irc.freenode.net. If you have the time please attend and work toward the future of Squeak.


Focus: Will Seaside help remove the Squeak of rust? An interview with Bruce Tate

by Ron Teitelbaum
Last Friday, Edgar J. De Cleenealerted usto a very nice article about Seaside:Secrets of lightweight development success, Part 8: Seaside. There are two things I found very interesting about this article. The first and most obvious was that it is written by an accomplished Java author. The second was that although being very complementary to Seaside, Bruce describes Smalltalk by saying that train rusted at the station.

When I first contacted Bruce Tate his response was:
Re rusting, sorry about that. I try to be strong in my opinions. I really think Smalltalk stagnated some time ago and is and will be a niche language but a very good one.
Well this definitely interested me so I figured I.d ask a few more questions for the Squeak News team. Here are my questions and his answers.

RT: You are a very accomplished Java writer. What made you look at squeak, how did you find Seaside?
BT: I've always been one to follow the market. As an independent consultant, I feel safest where there's opportunity. I felt justified in staying with what I knew was not the most productive language, feeling that I could make up for any problems with better tools and more frameworks. I still think static languages support better refactoring.
But I played with Ruby on Rails for an application that I was building with Justin Gehtland (he wrote the code, and I worked on the data model). I found that Rails was many times more productive. I was badly shaken, because the safe language only takes you so far. If I can deliver the same application for a fraction of the cost, you've got to listen to me, regardless of language. So I went underground, and started doing research. Out of the research came the book called Beyond Java. I asked around, and people kept recommending Seaside as something radical. I got some of the details wrong in Beyond Java, but I captured the spirit of the framework well, I think.

RT: You mentioned in your article about Seaside that other languages and methodologies will find there way into main stream development based on their utility. Your new book:Beyond Java presents requirements for the next generation and predicts the ultimate demise of Java. Could you explain for our readers what you believe needs to happen in our community to allow Smalltalk to oil its rusty wheels and take off down the track?BT: I almost feel guilty for saying this, because Smalltalk is an awesome language and it should have been the logical next step for applications, after C.
But I think that after a certain period of time, people like me think they know everything there is to know about a language and framework.
Smalltalk badly needs a catalyst, or a framework that transcends language. Great languages rarely grow slowly to prominence. They usually explode, or are relegated to niche status, like Smalltalk. Even so, its window may have closed. I think most of the early problems were two fold. First, it was a little alien. Syntax, to be sure, was different than what we'd experienced before. More to the point, though, the image is a productive way to work, but it takes a whole lot of experience to coax the application out of the image. And most people don't understand how to team with Smalltalk.
I do think that eventually, all things will come back to Smalltalk or Lisp in some form, though probably not the form you see today. Maybe we're seeing some of that with the Ruby programming language, which as you know, is based on Smalltalk and Lisp. You're also seeing Seaside impact many of the web development frameworks in the Java space, like Rife and WebWork.
So Smalltalk isn't really going anywhere...it will continue to grow or decline slowly, as market conditions change. All bets are off if Smalltalk gets that catalyst...maybe something like Croquet. You'll see frameworks like Seaside rise in other dynamic languages, I think, so you need something more.

RT: Your bio stresses physical fitness and outdoor sports. In my experience physical activity is a must for programmers or we begin to look like the chairs we sit in way too many hours. Can you tell our readers how you balance your time, and your philosophy on work and play?
BT: I've never been one to work long hours. It's all about priorities, I think. I love my family dearly, and I love the outdoors. Programming is a means to get those things. I have a passion for it...but it doesn't rule me. I don't think you can be a programmer or consultant and constantly work long hours and still have the time you need and a fresh brain to explore.
We all need to pay attention.

RT: There are a number of authors in the Squeak Community. There are also a lot of would be authors. Do you have any advice, or encouragement for new authors?
BT: Two things. First, on paper, you need to be yourself. Conventional publishing wisdom is to strip all of yourself out of a book, but that doesn't work for me. I draw the best insight from metaphors, so my books are all about opening learning opportunities with metaphors, stories, and the like. Be yourself, and write as an average Joe, not an academic.
Second, be brief. Long articles, and especially long books, don't really work. They take too much effort and too much risk. Focus on capturing the essence of what you're writing about. References don't work. This field moves too fast. You'll get that stuff on line.

RT: Please add any comments if you have more you would like to say to the Community.
BT: I'd tell you all to rush out and buyBeyond Java, but you already know what I teach in that book. Metaprogramming and clean, dynamic languages are the future. The Smalltalk community is inspirational to me, because it's not the world's most popular language, and the users don't care. They know it's one of the most productive languages. We all need a competitive edge. If Smalltalk is yours, so be it!


The Weekly Squeak No.11: October 30th - November 5th


Team reports for October 2005

As requested by the foundation board, various team leaders have sent their monthly report on the activities of the various teams. Here is a list of the teams which have sent a report: Files,3.9,Morphic,Web,Box-Admins,Janitors,News. The Squeak community has to thank the teams for their ongoing effort. (Klaus D. Witzel)

Creating graphs using eToys

Kim Rose points to some tutorials on the Squeakland website, including one on creating real-time graphs. The tutorials come in booklet, fold-out and poster sizes. (Giovanni Corriga)

Maui vs BobsUI

Chris Muller has posteda comparison between his Maui framework for building user interfaces and BobsUI (of which we reported in a past issue). Maui still hasn't been ported to Squeak 3.8, but it has aSqueakSource repository (Giovanni Corriga).

Porting PortAudio to Squeak

Brad Fuller issued a request for help with porting PortAudio to Squeak and the VM experts (apparently Jedi Knights :) had quite an interesting discussion on using external functions cross platform with Squeak. (Klaus D. Witzel)

Exupery's new mailing list

Bryce Kampjes has announcedthat Exupery (Bryce's JIT engine for Squeak) now has a dedicated mailing list. The mailing list has also aGmane mirror. (Giovanni Corriga)

Merging FileArea and WebTeam

Göran Krampe suggested the merger of the two teams. This was happily agreed by all parties and en suite put in place. (Klaus D. Witzel)

Squeak 3.9a 6696 ready for testing

Stéphane Ducasse announcedthat Squeak 3.9a 6696 is available for testing. This announcement was followed by adiscussion on the steps needed to upgrade to the latest versions. (Klaus D. Witzel)

Applescript news

Javier Diaz-Reinoso announcedthat he put an update for Applescript that works in 3.8 in squeaksource, together with a quick note on compatibility issues and line ending characters.
In another message, John M. McIntosh announced hemade available a change set for enabling compilation of the applescript plugin under os-x 10.x. (Klaus D. Witzel)

On Files and Flow

Two different discussions involved Squeak files' subsystem. The first is a warning from Lukas Renggli: if two processes concurrently access the source code of a method they might get an invalid string that cannot be compiled ... [which] is especially annoying if Squeak is used within a server environment. Tim Rowledge added that this is a general problem with the whole file accessing system. Craig Lattacommentedthat his Flow framework doesn't have such a problem.
In a separate discussion, Stéphane Ducasse asked the Files team if it's possible to add Flow to the standard Squeak versions. Andrea Raabretrievedfrom the mailing list archive some message on the same topic. Craiganswered all the questions raised. (Klaus D. Witzel, Giovanni Corriga)

Cees' Anvil

Cees De Groot has announced a little proof-of-concept tool called Anvil. This tool uses a Magma database to log every change to an image, in an Envy-like fashion. This tool could be used instead of the changes file as a central database, shared between all the images in the same system. (Giovanni Corriga)

Smalltalk Solutions 2006

The 2006 edition of the Smalltalk Solutions conference will be held in conjunction with the Linux World and Network World Expo in Toronto, April 24-26, 2006. Avi Bryant is acting as the semi-official Squeak rep for Smalltalk Solutions, so if you have a good idea for a talk, let him know. (Giovanni Corriga)

Lightweight monitors and promises

Andreas Raab asked for opinions on a leightweight monitors implementation; the thread eventually diverted into discussing the behavior of promises in Croquet and E. (Klaus D. Witzel)

Rules for package responsibles

Juan Vuletich askedif there are any rules a package mantainer must follow when developing and publishing new versions of his package. BothGoran KrampeandCees De Groot answered his question, with a detailed list of the (proposed) procedures. (Giovanni Corriga)

Managing password in the image

Andreas Raab initiated a discussion on MC passwords in imageswhich was followed by Cees De Groot's announcement of hisKeythingpackage and goodies forSeasideandMonticelloand apre-announcement by Chris Muller of his KryptOn package. (Klaus D. Witzel)

Nags is Not A Groupware Server

Here is yet another project by tireless Cees De Groot. Nags is a project management web tool developed using Seaside. Cees is asking for some feedback on the Nags demo running on Cees' site. (Giovanni Corriga)

Scratch gets closer to shipping

John M McIntosh has sent a message regarding the soon-to-ship Scratch. Scratch is an eToys-like tool developed at the MIT Media Lab and aimed at kids aged 10-16. (Giovanni Corriga)

Two questions on Smalltalk designs

Jim Menard sent a message to squeak-dev asking for a desing adviceon his application. The answer from many Squeakers are an interesting read for both the rookie and the pro Squeaker.
In another thread, Martin Kuball askedwhy there is no queue data structure in the base system. Many Squeakers explained several approaches how to match specific needs when using queues in Squeak. (Giovanni Corriga, Klaus D. Witzel)

Smalltalk Gathering in November in Bern

Alexandre Bergel sent a reminder and emphasized the importance for participants to register for the Smalltalk Gathering on November 18, Friday, in Bern. (Klaus D. Witzel)

Upcoming Squeak Chats

The next Squeak Chats will take place between 20:00 (8 PM) GMT Tuesday November 15th and 00:00 (Midnight) GMT Wednesday November 16th, 2005 and between 00:00 (12:00 AM) and 04:00 (04:00 AM) GMT Sunday November 20th, 2005. As usual we will meet in #squeak on irc.freenode.net. If you have the time please attend and work toward the future of Squeak.

SqueakViews: an interview with Bryce Kampjes

Welcome back to SqueakViews, the column in which we interview the Squeak hackers and developers. In this installment, Giovanni Giorgi has met (by e-mail) Exupery's creator Bryce Kampjes.

GG: First of all, please share a little about yourself and your background. Where are you from, your studies and your current job
BK: I was born in Nottingham in 1973, grew up and went to university in New Zealand, and live in London. My current job is in the financial services sector working on a VisualWorks/GemStone system.
GG: The Exupery project is the main reason I wrote to you. Can you introduce us to it in a few statements?
BK: Exupery is a byte-code to machine code compiler for Squeak. It's kind of like a JIT except the compiler is written in Squeak and runs as a normal program. The aim is to make Squeak a lot faster, ideally as fast as C for many programs.
GG: In an old email (April 2004) you said "Exupery is finally faster than VisualWorks for the byte code benchmark." I have used VisualWorks, and these results seem to me very very good, even for a "Bleeding edge" (ie. beta) software.
BK: It's only faster for the bytecode benchmark where it's about 15% faster. It's seven times slower than VisualWorks for sends but still twice as fast as Squeak's interpreter.
GG: On what platform Exupery works? Linux-X86, Windows-X86, MacOs-PPC?
BK: Exupery only currently runs on Linux-x86. There is a PPC-MacOs port just starting now. I'm thinking about porting to Linux-x86 64bit.
GG: Do you know about GNU Smalltalk and Paolo Bonzini's work on a similarproject? As far as I know, Bonzini was working on a bytecode compiler for x86 platform...BK: I'm not currently following GNU Smalltalk. I did use it about 8 years ago.
GG: You are one of the most active Squeak developer out of there. What is the most important reason you find comfortable using the Smalltalk integrated Environment?
BK: Squeak is a nice community to contribute to. It's still small enough for an individual to make a difference. That matters when deciding to work on a large project. Most of my Squeak activity is writing Exupery.
I'm using Squeak because of the development tools and it's openness, at the moment that's primarily the Refactoring Browser, SUnit, and Shout. It has a nice open VM which is really important for a project like Exupery, being open means you can start such a project before gaining credibility. It's really the Refactoring Browser, Shout, and the open VM that set it apart.
GG: What are your plans for the future (not only limited to Exupery)?
BK: My plans for Exupery are to get it to 1.0 as soon as possible. 1.0 is the release that's worth merging into mainstream Squeak. The first step is getting Exupery up to beta quality, that's what I'm currently working on. Debugging it until it becomes safe to run the compiler in the background.
I've just released Exupery 0.07 which was purely bug fixing. It's now reliable enough to play with. The next iteration will increase the amount of code Exupery can compile. Two missing features, blocks and super sends account for 90% of the failed compiles. Object creation also eats up a lot of time and could be easily optimised with Exupery.
After being able to compile blocks, super-sends, and object creation (#new) then the problem will be finding the remaining small features that matter. I really don't know what the minimal feature set will be. I could write a list that's large enough to be definitely big enough, but what matters is the smaller list that creates the first community of real users. That will need potentual users who are willing to seriously try Exupery and help figure out what's still needed. As we're a broad community, that will involve people with different interests especially things other than writing compilers.
Possible features for a minimal 1.0 are:
After 1.0, the next major feature is an SSA based optimiser. That offers another large jump in performance. Say 2-3 times faster than Exupery is now for bytecode performance. It also opens up another large list of possible optimisations including serious floating point at near C speeds and possibly vectorisation.


The Weekly Squeak No.10: October 23rd - October 29th


Of images and projects

Answering a questionby a Java programmer who is starting to learn Squeak, both Jecel Assumpcao Jr and Bert Freudenberg give a good explanation of whatimagesandprojects are. (Giovanni Corriga)

Multiple metaclass hierachies

In a discussionon how to integrate the Traits system in Squeak 3.9a, Andreas Raab hasproposed and explained how to have many different metaclass hierarchies in the same image. Andreas has also provided some classes to bootstrap a parallel metaclass hierachy. (Giovanni Corriga)

Win32 installer for Squeak 3.8

Cees de Groot was, as he said, bored for 10 minutes, so he has created a Win32 installer for Squeak 3.8. The installer uses the open source NSIS package, and provides menu items, desktop icons for image and change files, etc. (Giovanni Corriga)

NetMorph 0.3 released

Masashi Umezawa has released version 0.3 of his NetMorph package. With NetMorph, morphs aren't confined in a single image, but may move around peers' desktops. This new release has many new features, including a nifty P2P-style eToy project sharing. (Giovanni Corriga)

More on Henrik Gedenryd's work

Andrew Tween has volunteeredto take a look at the late Henrik Gedenryd's font rendering code, to see if it can be integrated in the current Squeak releases. It's nice to see that Henrik's good work won't be lost.
In the same thread, Giuliano Megaannounces he has found another paper by Henrik. (Giovanni Corriga)

New Mac VM

John M McIntosh has released yet another Mac VM, 3.8.9b7. This release is slated to replace the older 3.8.6b6 VM as the current official Mac VM. (Giovanni Corriga)

An eToy success story

Randy Heiland has posted on the Squeakland mailing list a great report on a Squeak/eToys workshop for 6-8 years old girls he has just started at an after-school community center. (Giovanni Corriga)

A recollection of the Atari Smalltalk port

Hans-Martin Mosner recollects some facts on the old Smalltalk VM that Georg Heeg eK ported to the Atari ST platform. According to Hans-Martin, this was one of the first truly affordable Smalltalk machines for home users. (Giovanni Corriga)

A Smalltalk web browser

David Faught has announced that an initial version of Jon Hylands' MediaView web browser is now available on SqueakSource. This version is not yet working, since it was developed on a highly patched version of Squeak 2.x, and has to be ported to the current Squeak releases. (Giovanni Corriga)

Three Sokoban releases

Robert Hirschfeld hasput out three releases of his Sokoban package. Version 0.2.4 is a structured version, while version 0.3.4 is a flat one. Version 0.4.1 add themes to the game. (Giovanni Corriga)

Three more Smalltalk videos on Google Video

Marcus Denker hasadded three more Smalltalk videos to Google Video. The first one is by Dan Ingalls, about the various Smalltalk implementations. The second video is a speech by Alan Kay held during the Kyoto Laureate Symposium, while the third is an old Smalltalk demo by Adele Goldberg. (Giovanni Corriga)

Squeak merchandise now ready to ship

Stéphane Ducasse has annunced that the Squeak merchandise (buttons, magnetsandt-shirts are now ready to ship. All the money collected by selling this items will go to the Squeak Foundation. (Giovanni Corriga)

Another SUnit test runner

Lukas Renggli hascreateda new SUnit test runner which solves many of the current one's shortcomings. It is now available on Lukas's own MC repository; if you're curious on how it looks, here'sa screenshot. (Giovanni Corriga)

BobsUI ported to Squeak 3.8

Javier Diaz-Reinoso has portedBobsUIto Squeak 3.8. BobsUI is a development environment for standard GUI user interfaces, and has many interesting features such as separate runtime and development modes and interactive creation of layouts. Javier has alsocreated two repositories for BobsUI on SqueakSource. (Giovanni Corriga)

Profiling a Squeak image

In order to profile a Squeak image for performance issues, John M McIntosh has released a test Mac VM which traced the message sent during execution. His announce on the squeak-dev has spawned an interesting discussion on profiling, during which Alexandre Bergel hasannounced he'll be working on profiling techniques in the near future. (Giovanni Corriga)


The Weekly Squeak No.9: October 16th - October 22th


Smalltalk at OOPSLA

Alexandre Bergel sent us an enthusiastic reporton Smalltalk at OOPSLA. Cincom's Suzanne Fortman has added herrecollections on the conference.
It is good to see that the Smalltalk community is doing well on such an important event. (Klaus D. Witzel, Giovanni Corriga)

Four technologies that may challenge

Steven Elkins wrote us that Seaside's continuation is considered as 'Technology to Watch' at O'Reilly's OnJava.com. From the article: The best continuation-based frameworks are developed in dynamic languages. By far, the most robust is Seaside. It's a framework based on Squeak, a Smalltalk dialect. Seaside features fantastic debugging support–you can actually inspect, debug, and change your code from a browser. (Klaus D. Witzel)

Bootstrapping a Squeak image kernel

Pavel Krivanek has createdan experimental kernel image of only 1.3 Mb. Pavel also postedmore details on how the image was furnished and how to bootstrap a consistent kernel image. (Giovanni Corriga, Klaus D. Witzel)

New Cryptography Team

Ron Teitelbaum took the leadership of the newly created Cryptography Team and suggested 10 topicsthe new team is focused on. Ron's team isopen to volunteers and people with an interest in cryptography in Squeak. (Klaus D. Witzel)

The art of visualizing object memory

Craig Latta created a movie and screen shots which show the object memory in action in his Spoon image. (Klaus D. Witzel)

Fixing the underscore

Stéphane Ducasse initiated a lively debateabout the assignment operator (which in ASCII is the underline character). Bert Freudenberg provided apackage which moves the arrow glyph to code point 16r9F (ISO-8859-1) and Stéphane pushed that into the pipeline for 3.9a. (Klaus D. Witzel)

Flash support in Squeak

Sachin Desai asked for plans on improving the level of Flash support in Squeak. Andreas Raab and John M. McIntosh mentioned that, since Flash >3, Macromedia asks developers to license their specification, which seems to hinder developers creating a new player. (Klaus D. Witzel)

Squeakware - a compact, customizable Squeak-enabled Linux

Masashi Umezawa has releasedSqueakware, a Squeaky Linux distro based on SLAX. Masashi has also providedsome notes on how to further customize the image. (Giovanni Corriga)

New QualityControl package on SqueakMap

Cees De Groot announced that there's now a QualityControl package on SqueakMap (and on SqueakSource). Cees proposed that teams apply QC during their daily work. (Klaus D. Witzel)

Magritte framework now on SqueakMap

Lukas Renggli has publishedon SqueakMap a first, unofficial and incomplete version of Magritte. From the Squeak Mapdescription: [Magritte is a] powerful meta-description framework to build user-interfaces, reports, queries, persistency, etc. It is also one of the building blocks of Smallwiki 2. (Giovanni Corriga)

Swazoo vs KomHttpServer

Swazoo is a cross-dialect Smalltalk web server, born more 5 years ago at the very first Camp Smalltalk in San Diego. Jimmie Houchin askedwhat the differences are between Swazoo and KomHttpServer. Janko Mivšek, a mantainer and one of the authors of Swazoo,proposedto merge the two codelines, and let all the Smalltalk dialects benefit from that. Goran Krampe, KomHttpServer's current mantainer, hasagreed to look into this. (Giovanni Corriga)

New Team: Election

Ken Causey has announcedthat a new Election Team has been formed, under the lead of Brent Vukmer.Here is Brent's proposal for the team. (Giovanni Corriga)

Contributing to Smallwiki 1

Samir Saidani has proposed some rules for contributing to Smallwiki 1. (Giovanni Corriga)

All The Squeaker's Repositories

If you are confused on how the various Squeak Map, SqueakSource, etc are related to each other, you may be interested in Simon Micheal's analogies between some Squeak tools and other tools used in other OSS comunities. (Giovanni Corriga)

Focus: The Foundation is Squeaking

By Ron Teitelbaum

The Squeak foundation is off and running and already there are major squeaker issues. I guess most of what we see today on Squeak-dev could be considered growing pains. The major issue that arose this week was raised by Stéphane Ducasse.

The following is all paraphrased. Let me say now that if I got it wrong please feel free to correct me on the list. The benefit of a summary is to highlight ideas, and I hope I was able to do that. Also I hope that if I left some important person or comment out that you will correct that also. Everyone's input is valued.

The problem: There is too much work to do to properly manage the release cycle. There is not enough expertise to do it right. There is not enough development in areas that are buggy because nobody wants to work on some parts of the code.


Solutions:

Stéphane: Use the money collected by the foundation to bring commitment, professionalism, and a qualified person to the harvesting area. Also we could fund projects to fix code that people do not have the time or interest to fix.

Göran Krampe, Ken Causey: Change the structure to allow better access to package owners (stewards and Reviewers). Allow for ownership of packages, email links to owner or group, bug reporting to group, and repository for changes to be posted and made available. Move the coordinating and integration of changes to this new group and let the group be responsible for working with Harvesters to release code. The greater access to groups will help to allow great contribution form general squeakers.

Marcus Denker: Changes is good, but real experience is needed to solve real integration problems. Problems can not be ignored and progress can not take forever or people will stop making progress while there changes are being harvested.

Andreas Raab: Less control is good, we need to give more of the control to people that actually do the coding. Write access should be allowed to teams (possibly like the Göran and Ken "Steward" model). Changes need to be reviewed and discussed with owners. People should resist the urge to "FIX" someone else's code without discussing it to find out if they even properly understand the code.

Chris Muller: Images are just that, collections of useful code. It is difficult to get everyone to agree what the one standard configuration should be. We could allow the publishing of working community images and build tools to help integrate from one image to another. By allowing configuration publications and custom images for custom purposes the images with the most community support will grow, others may not but overall people will pick the best configuration for their need. This removes the need to review and agree on a single image.

Cees De Groot: Supported the idea that there should be as many "disjoint but mergeable" images as the community wants. There should be less effort into coming up with a single image. By focusing on packages we allow better integration between images, and more configuration options.

Juan Vuletich: Bug fixes yes, major releases no. Major releases should be packaged up and controlled by the developer and released separately and they can be loaded by users that want them.

Michael Rueger: lets stop reinventing and try learning and using the system we have. Mantis is intended to facilitate group discussion and coordination maybe we could write an interface to automatically fill out forms (much like Göran and Ken's changes suggested for bugs and repositories). Let's use the tools we have to help fix the problem.

So where does that leave this problem. I think with some really great progress. The squeaking is loud at times but hopefully it will lead to a better organized and more efficient community group. The struggle over authorship and control, time and energy, stability and innovation, are always problems for every group. It is to everyone credit that change is being discussed, and it should be the responsibility of all to ensure that we make things better. Stef and Marcus should be commended for the hard work and the dedication to this group. Contributions from some very talented people should be acknowledged there would be no squeak without them. This is what a community is all about, we are much more as a group then we could be alone. This is all about helping each other, learning, doing, and having fun.

Update: This article was written a number of weeks ago and since that time a number of very good thingshave happenedwhich was spawned from Andreas Raab's comment about Actually doing something; Ken Causey, and Cees de Groot have taken on Coordinating the Package List, and there have been a number of people that have stepped up to take responsibility.See Package list . Thank you Andreas for rolling the ball and everyone that has volunteered to participate.


SqueakViews: an interview with Craig Latta


Welcome back to SqueakViews, the column in which we interview the Squeak hackers and developers. In this installment, Giovanni Giorgi has met (by e-mail) Spoon's creator Craig Latta.

GG: Please share a little about yourself and your background. Where are you from, your studies and your current job.
CL: I'm from Palo Alto, California, not far from UC Berkeley where I earned degrees in Music and Computer Science. I'm working with Dan Ingalls at Weather Dimensions, making personal weather stations (http://weather-dimensions.com). My primary calling is music composition; most of the work I've done with computers has been in support of that.
GG: What are the projects you are working on? Can you provide a small description of each of them?
CL: I'm working on:
GG: One of your more interesting projects is Spoon. I think it is truly innovative, and can lead to better modularization of the Smalltalk core. Can you talk more about it, for example its future?
CL: I plan to make the next Spoon release during this year's OOPSLA conference. The main addition will be the "Naiad" module system, which lets multiple object memories synchronize with each other through live negotiation. Besides being more accurate generally, I think this will be useful for moving behavior to new snapshots more easily, as well as for upgrading old snapshots. In time I envision a relay network of module servers which can provide updates for all running Spoon systems.
I think Spoon will be more approachable by newcomers than previous Squeak systems. Installation will be much easier. It'll be faster, for one thing, since the initial system has only the bare necessities. It will also be simpler, since the system can start and update itself from a single website visit.
GG: I know you like music a lot. Can you tell us about NetJam, even if it's not Squeak-centric?
CL: NetJam is a longstanding project of mine to get people to play music together at a distance. It turns out to be a very interesting and intricate problem, calling upon many prerequisite technologies. I've slowly been drawing together all the pieces, in networking, synthesis, musical instrument support, and so on. It makes heavy use of software, and I want the software to be open and modifiable by each participant. Naturally, I'm using Squeak. I think Spoon will be an important component of NetJam, principally for its ease of installation.
GG: You are hacking at the Squeak VM as far as I can see on the mailing list. It is a complex task? Can you sketch it in few words? Is VMMaker good for the job?
CL: Hacking the Squeak virtual machine is a great deal of fun, and not terribly complex. VMMaker is a very good tool. It keeps track of most of the housekeeping details that go along with a large project in C (the target implementation language of the virtual machine source translator).
When changing the VM directly, the task consists of writing methods for the Interpreter class, generating new translated sources with VMMaker, and compiling them with a C compiler. That's what I do, for example, to
support the remote message-sending in Spoon. I also write "plugins", or modular primitives, such as the networking primitives in Flow that Spoon uses. The process is basically the same, with the additional step of writing simulation support. Flow is a little odd, because the primitives are mostly handwritten C code, but the simulation support is in Smalltalk, as normal.
I find the hardest part of VM hacking is always learning the little details of the host platform's C development environment.
GG: Finally, can you tell us more about Quoth?
CL: Quoth (http://netjam.org/quoth) is my attempt to make an interactive fiction authoring system. I wanted one where there was no distinction between being an author and a "player", rather like the "MUD" and "MOO" systems popular in the early 90s. I also wanted to use it for music improvisation (see the current Quoth demo for an example, athttp://netjam.org/quoth/demo).
Quoth is interesting from a Smalltalk perspective because it makes heavy use of nameless classes. I think it'll make a good demonstration of Naiad's distinction between class name and class identity. Also, I think it would be an excellent basis for a "Smalltalk shell", something that might help make Smalltalk more accessible for Unix and other "scripting" developers.


The Weekly Squeak No.8: October 9th - October 15th


A "real forum" for Squeak

Christophe Tricot suggested to run the mailing list like a forum with a web (browser) interface with a lot of new features and functions. More than a dozen of Squeakers opinioned their pro's and con's to Christoph's suggestion but no initiative was taken. (Klaus D. Witzel)

Al's Code Review Guide

Alan Grimes haswritten a small code review checklist, based on his experiences on working with Squeak's code base. This checklist contains many useful tips for writing maintainable code without sacrificing performance. (Giovanni Corriga)

Henrik Gedenryd passed away

While looking around the Internet for information about Henrik Gedenryd, Göran Krampe found out that he passed awayin 2002 at the age of 32. Many Squeakers expressed their sorrow on the list, some of them sharing anecdotes, events and places where they happened to meet Henrik. As Dan Ingallssaid:
Henrik was so bright and fearless. He's the only person who really worked through my first attempt at modules, and understood and worked with the reorganizeEverything logic. He was a tireless and enthusiastic collaborator. I now feel double pain that we were not able to get this into the mainstream in a way that worked for everyone. His font work was also extraordinary, and I'm glad to find that paper on "Universal Composition". But too late, alas.
Henrik's blue look image is available fordownload, courtesy of Marcus Denker. His paper onUniversal Composition is strongly recommended by many for the innovative concepts exposed within. (Klaus D. Witzel)

Speeding up Morphic

Alan Grimes is busy working on the Morphic codebase in order to fix and speed it up. As a result of his (ongoing) work, he sent some patches to Squeak-dev; this is but one of those patches. (Giovanni Corriga)

Pending Mac vm 3.8.9b5

John M McIntosh has released another Mac VM, 3.8.9b5. Amongst the various changes and fixes, we can highlight the use of double click on an image when a Squeak vm is already running to launch another copy of the VM and open that image, instead of opening a binary reader on the image. (Giovanni Corriga)

News Team formed

Recently, a new team has been proposed and created. The purpose of this News Team is to publish news regarding Squeak development and news, and to try to promote Squeak outside its own community. The News Team is now responsible for editing and publishing the Weekly Squeak newsletter. (Giovanni Corriga)

Spoon Mailing List Moved

Craig Latta askedif his Spoon mailing list can be moved to the SqueakFoundation server. This was O.K.ed and the list is now availablehere. (Klaus D. Witzel)

An Announcement on Announcements

Ken Causey has created a new Annoucements mailing list. This moderated list is for announcements and mailing lists summaries, and it is an useful tool for whoever wants to stay up to date with Squeak development. (Giovanni Corriga)

Grant Opportunity for K-12 Science teachers

Kim Rose reminds the Squeakland mailing list that U.S.-based K-12 Science teacher may apply for a "Toyota TAPESTRY Grant" and receive up to $10.000. (Giovanni Corriga)

Call for Help from the Website Team

Jason Rogers writes:
We could use one or two more active editors on the Website team. The workload at present is fairly light. Mostly we need folks to adopt sections of the site and take responsibility for its content. If you
are interested please subscribe to the website team mailing list and send me a private email to let me know your interests and availability.
You can subscribe to the team list by clicking on the 'eSubscribe' link onthis page. (Klaus D. Witzel)

BotsInc reprinted

Stéphane Ducasse announced that his BotsInc book (whose official title is Squeak: Learn Programming with Robots) is selling well, at the point that there will be a reprint. Kudos to Stef! (Giovanni Corriga)


The Weekly Squeak No.7: October 2nd - October 8th


On the Squeak Foundation, and Squeak usage in businness.

Ron Teitelbaum has chimed inon the discussion regarding the new Squeak Foundation with some insights on Smalltalk usage in businnesses. This has spawned an interesting (a little flamed, too) discussion, includingthis answerfrom Cees De Groot.

What did the Dormouse say?

Jerome Peace points to an interesting book titled What the Dormouse Said: The Untold Story of How the Sixties Counterculture Shaped the Personal Computer Industry by John Markoff. It contains a description of the cultural set in which Smalltalk (and Squeak) where conceived.

Help wanted for project "Kolibri"

Kolibri is a p2p application for the exchange of files, organized in communities, and the exchange of discussion threads about these files. It has been created by Cees De Groot and others using Squeak technologies such asAardWorks GossipandwxSqueak.
Since Kolibri's usefulness has exceeded its original purpose, Cees is nowlooking for helpin the Squeak community
to review and improve his software.

Squeak Merchandising

The Squeak Foundation is on the move, accordingto Stéphane Ducasse. Two CafePress shops have been created, one for theFoundationand one for theSqueak project. The Foundation has given the right to reproduce many Squeak-related logos and marks, and is open to suggestion on other kinds of merchandise. So, if you have a good idea for a coffee mug, a T-shirt, or else, let the foundation know it!

Games package managed with Monticello

Editor's note: this item has been deleted for being... well, completeyl wrong. Sorry for the inconvenience.
http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-October/095300.html

Squeak CDs and DVDs

Marcus Denker has announcedthat the Squeak CD and DVD have been updated to Squeak 3.8. They are available for download (CD only) or for sale (CD and DVD). All the money earned from the sales will be used to support Squeak.
Marcus has also announced that the Squeak videos which may be found on Google Video are nowavailable on a data DVD.

The new face of www.squeak.org

Jason Rogers has announced that the new Squeak websiteis nowup and operational. Jason has also posted information onhow to become an editorfor the new website.
Many thanks to the Website Team!

Morphic Wrappers for Squeak 3.7

Edgar J. Cleene is working on the Morphic Wrapperspackage and fixing it to run on Squeak 3.7. He has posted afirst fixand atutorial video

SqueakFoundation and Coordinators' merger

Goran Krampe has announced the mergerof the Squeak Foundation board and the Coordinators group. This is a good step on the road towards a better organizational model for Squeak development, use and promotion. We wish a good work to Cees, Doug, Goran, Ken, Marcus, Noury and Stéphane.
As a result of the merger, the new SqF board is creating an externalElection Teamwhich will be responsible for the procedure of designating new board members.

A demo of a bug/wishlist voting system

Cees has also create a small demo for a bug/wishlist voting system. Everyone with a SqueakPeople account may add entries to the system, and has a number of votes to spend on the items. The amount of votes depends on the SqueakPeople certification.

OSProcess 4.0 released

David T. Lewis has announce the releaseof OSProcess 4.0. OSProcess is a plugin which provides access to the external operating system from Squeak. OSProcess 4.0 add 64-bit compatibility, asynchronous IO and support for Win32 OS threads and console.

Smalltalk Gathering in Bern

The Swiss Smalltalk User Group is organizing a Smalltalk gatheringin Bern on Friday November 18th, 2005. The event will start at 9:30 AM and will end with an apero offered by the local sponsors.

How to contribute to Squeak's development

Answering a question by Ron Teitelbaum, Ken Causey explainshow you can contribute to Squeak's development by providing fixes, patches etc.

Ariethfa Ffenestri: multiple windows using Squeak

As you know, Squeak uses a single World window where the many Morphic (or MVC, or Tweak) windows get painted. If you'd like to have more than one OS window, you may use Ariethfa Ffenestri, a low-level infrastructure created by Tim Rowledge and John M. McIntosh. This package is available on Mac OS X and RISC OS, with aWindows port by Impara. The infrastructure code is slated forinclusion in Squeak 3.9a.

How Squeak saves an image to file

A fairly technical questionby Avi Bryant on how to use OSProcess to periodically save a large image in a background process, has spawned an interesting and informative discussion which sheds some light on how Squeak's garbage collector and snapshotting primitives work.

Craig Latta's notes on how tho shrink an image

Craig Latta has started a blogon Squeak People, where he will be posting some notes on how to shrink a stardard 3.2 image to create a working Spoon image.

A Sudoku solver

Georg Gollmann has posted a link to a simple Sudoku solverwritten by himself. It is capable of solving the traditional tables (with square-shaped regions) and also more esoteric tables with odd shaped regions.

A comparison between several different laptops

An off-topic question on Powerbooks vs. PC-laptops has started a series of comparisons between several different laptops regarding Squeak benchmarks. The results have been posted in this messageby Juan Vuletich.

Academic resources on Smalltalk and Squeak

Hilaire Fernandes is gathering infos on the various English academic resources on Smalltalk and Squeak. He is also interested in knowing about academic courses on the same topic.

SqueakViews: an interview with Andreas Raab

Welcome back to SqueakViews, the column in which we interview the Squeak hackers and developers. In this second installment, Giovanni Giorgi has met (by e-mail) Andreas Raab, Tweak maintainer and the author of the first Squeak port ever.

GG: First of all, please share a little about yourself and your background. Where are you from, your studies and your current job.
AR: I'm from Germany, studied at the University of Magdeburg and did my PhD there. Afterwards ('98) I went to work with Alan at Disney until we left Disney. I returned to Germany ('01) and together with Michael Rueger and Maic Masuch foundedImpara there. In '04 I joined Hewlett Packard and I'm still there (despite rumors otherwise).
GG: You are one of the most active Squeak developer out of there. What is the most important reason you find comfortable using the Smalltalk integrated Environment?
AR: Speed. It's all about efficiency. I'm a very fast hacker and anything that gets into my way when I'm in the midst of formulating my ideas in code is bad. I do use other environments (Emacs for VM hacking, for example) but they just don't come close in terms of efficiency. But more important than writing code is debugging. I probably spend 50% of my time and write 30% of my code in the debugger, because that's the place where I can look at the actual environment.
GG: About your recent works:Tweak seems the most cool thing out of there you are working on. Can you introduce us to Tweak's basic ideas?AR: The base idea behind Tweak is simple: Combine the best of Morphic with the best of MVC. Morphic is a wonderful architecture as far as direct manipulation is involved but it's a terrible architecture to build reusable systems. Morphic simply doesn't have any abstractions and that makes it very hard to build re-usable and flexible components. BTW, it's not *impossible* to build reusable components it's just very hard because the architecture itself doesn't help with it (it's like writing secure code in C - yes it is possible to do it but it is very hard).
MVC, on the other hand, has some excellent properties as far as abstraction is concerned. Because MVC is a "viewing architecture" it encourages a better separation of concerns between the (domain) model and the (graphical) view. Unfortunately, that's where MVC stops. It doesn't allow you to use the same principles for building views itself - once you get to the views things get messy since there is no abstraction any more (e.g., it's not "turtles all the way down").
Tweak approaches this problem by combining the best of the two. It is as directly accessible as Morphic and it provides a viewing architecture similar to MVC. It achieves that by having one "primary view" that we call an object's "costume" which is responsible for handling all of the graphical requests sent to the object. That's what makes it possible for a user to think of "just using an object" whereas, in reality, you are actually always interacting with a pair of player (model) and costume (view). And contrary to MVC you don't have to worry about creating views for every object - you can start out straightforwardly just like in Morphic, but when the time comes there is an architecture that will allow you to build generalizations from the concrete object.
Another key idea in Tweak is that of asynchronous event handling. Unfortunately I can't say I invented that (though at the time where I came up with the idea I wasn't aware of anybody else doing it) but it turns out that this is what is now typically referred to as "event-loop concurrency". The idea here is that all responses to events are asynchronous messages, e.g., are executed some time *after* the event has been signaled. The reason this is important is that by using asynchronous events you do not expose internally inconsistent state to a listener. When you use synchronous events (callbacks) you end up with
the problem that the listener (inadvertently or not) may request temporarily inconsistent state or otherwise violates the invariants of the computation (like raising an exception). A good (or rather bad) example is the system notification mechanism in Squeak - it allows listeners to interfere *during* the compilation process with unclear results what might happen if there is any problem. In Tweak this simply cannot happen - you get to execute your code only when the computation that signaled the event is completed. There are actually many other reasons why asynchronous events and event-loop concurrency generally are
a good idea (check it out athttp://www.erights.org/elib/concurrency/event-loop.html).
I also think that we've made some major usability advances by using method annotations for method triggers (e.g., events triggering methods). They look like here:

onMouseDown
"Handle a mouseDown event"

on: mouseDown

onButtonClick
"Handle the button's click event"
on: click in: button/code

and are displayed with icons in the latest versions of theTweak-enabled browser. Being able to see what event triggers a method is a major advantage to the way things are done today.
Tweak also allows a little more "centralized control" for making simple graphical objects. What this means is that I always envied the fact that other systems (VisualBasic for example) get away with a single place to do all their stuff as long as they don't get too complex. For example, in VB you start out with a simple form that you design and then you write some event responses for it. For the simple things you never leave that form, it's exactly like programming in a procedural language "inside the object" (yes, VB uses objects these days).
The reason I like this is because it avoids needless context switching, it's one of these simple things that really ought to be simple. Compare this with Morphic - at the least you have to write some initialization
code (aMorph when: #mouseDown send: #onMouseDown to: self) in a separate method and often this won't work because many Morph's implement the event responses improperly (even some of the Morphic tutorials teach broken techniques by avoiding the appropriate "super" invokations).
And of course, if you want to change the initialization you need to destroy the old and create a new object which feels very much like a "compile, link, run" cycle to me. In Tweak, you use an event with the <on:in:> annotation, which cannot be improperly overwritten and which is recognized so your objects on the screen will react to the changed annotation in real-time.
Using events in this way avoids having to poke around in other objects and enables us to have a relatively well-understood centralized component to deal with the integration aspects of your various UI elements.
GG: Tweak is essentially a replace of Morphic. I was a young student(!) in the old 1997 when Morphic wasn't even the default Squeak GUI. Now I have seen Morphic at work, and the first question arise is: why invent another GUI? Morphic doesn't seem to me yet finished but it works very well for basic purpose. We haven't a full GUI Builder for it, so changing it seems to me a bit "danger", isn't it?
AR: First of all, I do like Morphic. And I like MVC, too. And one might have argued like you are doing back in '97 (MVC wasn't finished either in Squeak!) when Morphic was introduced.
The point of switching from MVC to Morphic was to get a more lively user interface framework. And that worked beautifully. But at the same time, we lost some things that were wonderful about MVC (clear abstractions, viewing ...) And it's time to get them back without giving up the good things from Morphic. The best and easiest way to do that is to introduce a viewing architecture like in Tweak. And from there, Tweak is simply the logical consequence of MVC and Morphic.
Talking about switching to Tweak, I have been very careful not to make any promises (or threats). The fact of the matter is that people will decide for themselves what they want to use. I'm neither in a position to decide for you nor do I want to be in that position. You'll switch when you are ready and not before (perhaps never). Remember, there is actually a community of people using MVC in Squeak and they seem to be quite happy.
GG: About the other projects you are on, what is the most focused one, excluding Tweak?
AR: Most of my time I'm actually spending on Croquet. That does include time spent on Tweak btw (Tweak is but one part of Croquet).
GG: On theSqueak 3.9 release plan I read also about the "Post-3.9" plans to have full 64bit support on Squeak4.0 which would break compatibility with the 3.9 stream.AR: Squeak 4.0 would. The 64bit changes wouldn't.
GG: I have read on the mailing list in the past month a lot about it but I don't feel 64bit a true priority now. Why is 64bit so important in your own opinion?
AR: I think it's as important as being able to run Squeak on any other major platform - the overall market share of 64bit systems is surely not going to decline.
GG: Changing architecture is important, but I think we should be more focused on exploring new ideas and move the 64bit-porting in the Squeak 4.2 or even beyond. What do you think?
AR: I hardly think in terms of "we should", since in reality there isn't much of a point to that. "We should" do lots of things but only a fraction of those will get done and if you ask me which ones you might as well flip a coin. I simply don't know.
GG: What are the plan for the future (not only limited to the current projects)?
There's lots of stuff on my plate right now but the key pieces are Croquet and Tweak. We're also involved in the hundred dollar laptop project but that's a different issue alltogether.


The Weekly Squeak No.6: September 25th - October 1st


Squeak Videos on Google, Redux

Marcus Denker reportsthat since Google is now using Flash to stream the videos on video.google.com, Mac and Linux users can now watch the many Squeak Videos available on the site.

Limited senders and implementors browsing

Herbert Konig askswhether it is possible to have a senders/implementors browser which limits itself to change the messages to certain categories. Romain Robbesanswersthat such a thing is possible using his Services-All package. This useful feature may be found under the "Navigation" menu item of the message menu.

Next Croquet release based on Squeak 3.8

Josh Gargus has reportedthat the next Croquet release will be based on Squeak 3.8.

New Squeak 3.9a releases

Marcus has announced the latest releases for Squeak 3.9 alpha. The latest "official" release is Squeak-3.9a-6693, and contains some small fixes. After this release, the 3.9 release team started working onintegrating the Morphic Splitters changes. Unfortunately, such a big merge temporarily broke the update stream, so Marcus has put out a newer, "unofficial" 3.9a version, namedSqueak-3.9a-6693md4.

Mailing list server downtime

lists.squeakfoundation.org has an extended downtime last week, due to some hardware problemson the machine which hosted the squeak-dev mailing list. The mailing list system has now beenmoved to the new community-managed box2.squeakfoundation.org. Many thanks to Cees de Groot for having hosted the mailing list server and archives, and to Ken Causey for the effort of migrating them to the new server.

Quoth: a dynamic interactive fiction system

As reported in the last TWS issue, Craig Latta isworkingon releasing Quoth, a dynamic interactive fiction system. There is now a website for Quoth, featuring a short demo movie showing it being used for "musical livecoding". Craig has also given more details on thedemo movieand on Quoth'spurposes.

A first integration of RoelTyper in Squeak

Alexandre Bergel has integratedRoelTyper, Roel Wuyts' super fast type inferencer, within a Squeak code browser. The feedback on this integration has beengood, and has stemmed an interesting discussion on how to integrate many of the available tools tocreate a next-generation programming environment.

Missing methods in Complex

Martin Snelgrove has noticedthat some methods (#arcSin, #arcCos and #arcTan) are missing from the Complex class, and has posted some simple versions of those. Martin has alsoannouncedthat he's working on better integrating the Float and Complex classes.

Japanese Squeak

Takashi Yamamiya answersa question by Hilaire Fernandes on how to convert a standard Squeak 3.8 image into a Japanese localized one. Takashi points to the SqueakMap package and to the squeakland.jp site to see how Japanese kids use Squeak.

Favicons in SmallWiki 1

Lukas Renggli explainshow to add a favicon to your SmallWiki 1 wiki.

Keymapping discussion

Since there are plans to integrate the Keymapping package into the standard image, David Shaffer is looking for feedbackon a general and flexible way of handling keyboard shortcuts.


The Weekly Squeak No.5: September 19th - September 25th


Loading vs. Merging in Monticello

Last week saw an interesting discussion on Monticello and its Load and Merge features, which seem to create some confusion among Monticello's users. During this discussion, Avi Bryant listedsome use cases for Monticello, while some other developers madesomesuggestionson how to simplify Monticello's UI.

How VMMaker works

Dave Mason is working on a research project and is interested in using VMMaker to generate Java files. Tim Rowledge has given him some hints onhow VMMaker works.

HashTables

An interesting project which may be found on SqueakSource is HashTable, a replacement for Dictionary which performs better than the standard Dictionary class. Marcus Denker explains why in this message.

BabyUML overview posted

Trygve Reenskaug has posted an overview of his BabyUML project. From his message: I want increased confidence in my programs. I want my own and other people's programs to be more readable. I want a new discipline of programming that augments my thought processes. BabyUML is a coherent multi-language discipline for coding object interaction and objects/classes.
Trygve has also posted anexampleconverting the Rectangle class to a BabyComponent.

Ottawa Smalltalk Users Group meeting

David Buck has announcedthe next Ottawa Smalltalk Users Group meeting. The meeting will be held on October 5th, at the Carleton University.

Smalltalk Job Offer in France

Noury Bouraqadi has posted a job offerfor both junior and experienced Smalltalkers in France.

64-bit OSProcessPlugin, XDisplayControlPlugin, AioPlugin on SM

David T. Lewis has announced that The OSProcessPlugin, XDisplayControlPlugin, and AioPlugin plugins are now updated for the 64-bit Squeak VM. They compile, run, and pass all OSProcess/CommandShell unit tests.

A Sourdough Image

Austin King asks: Metaphorically how much is my Squeak image like sourdough bread? Literally, are there instances of objects that have been living ( or allocated ) in the image for 30 years?. Both Hans-Martin MosnerandJecel Assumpcao Jranswered, providing useful insights and recollections of Squeak's (and Smalltalk's) history.

A directory with Companies using Smalltalk

Noury has announcedthat a directory with companies using Smalltalk around the world is now available on the ESUG site. If know of a company which uses Smalltalk and is not listed in the directory, please contact Noury.
This directory is a complement to theold oneon the Good Start website.

New Magma release

Chris Muller has releaseda new version of Magma, the multi-user object database. Among its other improvements, this new release can now be safely installed on a Squeak 3.9a image.

NetJam, Quoth and Spoon

Craig Latta has explained the relationship between his NetJam, Spoon and Quoth projects. From the netjam.org website: NetJam is a music collaboration network on the Internet. Participants exchange musical information both in real-time and asynchronously via protocols and software that they design and write themselves. NetJam will be based on Spoon, a minimal object system with intelligible organization, and provisions for extension and reduction. Quoth is ia dynamic interactive fiction system, with an eye toward musical livecoding, also based on Spoon.

Ken Causey joins the Coordinators

Goran Krampe has announced that, as of September, 21st, Ken Causey has joinedthe Coordinators' group. Ken has been part of the Squeak community for quite a while and has often volunteered for the most menial but necessary tasks. Many thanks, Ken, and congratulations!

How to do things in an MC update stream world

Since the start of the development of 3.9a, we have moved from an update stream based model to a more sophisticated, Monticello-based update model. Daniel Vainsencher has posted a proposalfor guidelines on how to use this model and how to easily integrate your contributions to the development of Squeak.

Squeak Planets

Simon Micheal has set up two different planets for Squeak. The first, Planet Squeak, aggregates the blogs of the Squeak Developers, whilePlanet Squeak 2aggregates non-blog feeds. The two planets provide RSS feeds that you may subscribe too.

SqueakLight status

Edgar J. De Cleene has posted a report on the status of his SqueakLight project. His latest image, SqueakLignt.12.image, is 4.8Mb big with an almost normal Morphic and support for media files (.mp3 and .mpg), Monticello and ImageSegments.

ACM's Classic Books in Computer Science

Klaus D. Witzel has forwared to squeak-dev a message from Dave Patterson, ACM president:
ACM is launching a new initiative to revive classic, out-of-print computer science books, with the intent to make the full text available online to members via the PDC/DL. I'm asking you to identify the
books you believe are "classics." The suggestions I've received so far can be viewed athttp://www.acm.org/csclassics/.
The book must be out of print to qualify.[...]
.
As a side note, the Blue Book has already made the list!

Charsets support in SmallWiki 1

Koji Yokokawa has produced a changeset to handle different charsets correctly on SmallWiki 1. Now it is possible to specify the charset for the pages. This is an important step to internazionalize SmallWiki 1.

SqueakViews: an interview with Stéphane Ducasse

Welcome to SqueakViews, a monthly column in which we interview the Squeak hackers and developers. In this first installment, Giovanni Giorgi and I have met (by e-mail) Stephane Ducasse, university researcher and one of the founders of the Squeak Foundation.

GG: First of all, please share a little about yourself and your background. Where are you from, your studies and your current job.
SD: I was born in Nice in France where I did all my studies and learned mainly Lisp, CLOS, MOP.
My PhD was on language design (how to have first class relationships in OOP). I'm not really proud of it. I didn't use Smalltalk because there weren't any cool and free versions on linux (no non-commercial versions,
no Linux versions (Linux was in version 0.6), no Squeak). Then I wanted to see the world or part of it...
I moved in Switzerland to work on reengineering of large industrial code. I was planning to learn C++ and I thought: "I'm a free man not a compiler" (ref to The Prisoner). During 9 months, my wife was living in france and me in Switzerland (in fact more in my office) and there was a big Sun machine telling me to try Smalltalk. So after trying Java, I stole the Smalltalk used at the University of Nice for the student exercices and I started to have fun. I read the History of Programming language paper and decided to build a lecture so I read everything I could find and we bought VisualWorks.
Now I'm full professor of Université de Savoie at Annecy and I will start teaching OOP using Smalltalk.
I decided that if I want something to happen I should not wait for others to do it. So this is why I helped ESUG to continue with some friends and we have fun and are proud to get this conference and actions done each year.
GG: You are one of the most active Squeak developer out of there. What is the most important reason you find comfortable using the Smalltalk integrated Environment?
SD: Sometimes I wonder why I'm so active. May be passionate is not good because you expect a lot... But seriously because this is fun, interactive, elegant and simple. I can just focus on what I want to
do or express not fight with types, makefiles, projects...
Now I wish that you guys around invent new ways for us all to be productive. Shout, eCompletion, refactoring browser, monticello, BrowseUnit are clearly the way to go. The Smalltalk community should continue to be creative and invent the future.
StrongTalk was a step in that direction: a step back from what was granted to be best and rethink it. Omniscient debugger, new compiler, pluggable types are all sort of tracks to explore.
GG: About your recent works. We can see your last book athttp://smallwiki.unibe.ch/botsinc/. Why did you decide to write it?SD: In 1998 my wife got a new job where she had to teach computer sciences. But she is a physic teacher so I told her that I would build a lecture if she would got the job.
Then she got it while I was at OOPSLA where I bought a Lego Mindstorm (for nothing: I never use it) and I saw the presentation of Dan Ingalls and I got hit. In the school they had 15 PCs so I decided to go for software :).
Now the question I was facing was: should I use eToy? My problem was that they was no material available, I was alone and my wife could not make any experimentation since she had to impose herself
for political reasons in the school. So I went and read a lot of old papers and books on Logos,
Boxer, Karel, Caro... and I decided to have a kind of Smalltalkish Logo because the only thing that I know how to teach is abstraction and programming.
GG: We know there is a very strong focus on Squeak as a language primary thought for young boys and even children. For example, Alan Kay started working with children while developing the various Smalltalk-7x/80. I have noticed Smalltalk is the only language with a so strong focus on "so young programmers" ;)
Why, in your opinion, are other notable scripting languages lacking in this regard? For example, Python, Ruby and Perl can be quite simple to teach in some restricted area but no so much people cares to use them.

SD: Seriously I do not know. But I like this pressure put on Smalltalk to be simple and understandable.
GC: Along with some other Squeak developers, you have recently announced the birth of the SqueakFoundation. What is it, and what are its goals?
SD: SqueakFoundation is an association whose goal is to promote Squeak in all possible areas.
More precisely the goal of the SqueakFoundation is to
of modern platforms and operating systems;
Concretely the SqueakFoundation wants to support the spread of Squeak by
Now we did the foundation because we wanted to provide a better organization to Squeak development. In particular we want to put in place an organization that structures Squeak growth. Our goal at the
end is to be able to redraw from the core organization and that the development and process continues. At the end of the day we like compilers and MOPs and hacking in Squeak. Our goal is that if YOU want to participate you can and have fun and satisfaction doing it.


The Weekly Squeak No.4: 12 September - 18 September


New releases of AST and RefactoringEngine

Marcus Denker announcednew releases of AST and RefactoringEngine, two of the packages created by splitting the old Refactoring Browser package. This new releases have many cleanups and fixes.

Developer initials, identity, and SqueakMap

A questionasked by Stéphane Ducasse about using full names instead of initials spawned a good discussion on how a Squeak system identifies a developer using its initials. While proposing some different identification system, Tony Garnock-Jones suggestedsome interesting pointerson how to build a distributed and secure identification system. Göran Kramperemindedthat SqueakMap is more than a simple catalog of Squeak packages, but is meant to work as a map of many Squeak related activities.

Coordinators' summer report

Göran has sent to squeak-dev a comprehensive reportof all the activities of the coordinators, the teams and the Squeak developers. And yes, there was something about the Squeak License :-) .

Videos, videos everywhere...

Stéphane has produced lots of videos, on both his BotsInc environmentand onSeaside. As usual, these videos have no sound, so that you can add your commentary in your language.

A security model for SmallWiki 2

Philippe Marschall has proposeda security model for SmallWiki 2, which actually has none. Not everything has been laid out, so your feedback is much appreciated.

VerySmallTalk PhD Position @ Ecole des Mines de Douai

Noury Bouraqadi has postedthe announcement for a Smalltalk related PhD position in the VerySmallTalk (a Very Small smallTalk) project. Soon after the announcement, Jecel Assumpcao Jrpopped inwith some useful advice on designing an embedded Smalltalk.

Test VMMaker branch for 38b4 on SVN server

Tim Rowledge has madea test branch on the SVN server which should contain all the files needed to work with Squeak 3.8 and VMMaker38b4. Tim has also announced more branches will be created for each future version of VMMaker, should this test branch prove itself useful.

On the Squeak License

This season's discussion on the SqueakL produced two interesting and insightful posts which we'd like to highlight. The firstis from Jimmie Houchin about open source licences and giving back to the community, and how you may have a very open and giving community regardless of the "open-sourceness" of the license. Thesecondpost is from Andrew Greenberg, on the risks and legal complications of most software license (GPL included).

A new name for SmallWiki 2?

As you may know, SmallWiki 2 is much more than a Wiki, so its name doesn't really convey the full power of this great product any more. A discussion startedon the SmallWiki mailing list on a possible new name for SW2. Many names have been proposed, but the discussion is still going on.

Some clarifications on the Squeak Foundation

As an answer to some questions on the newborn Squeak Foundation, Stef has posteda detailed e-mail about the Foundation, its purposes and the tasks/positions that need to be completed/fulfilled.

Two articles on Squeak

Two new articles on Squeak have been published last week. The firstwas published in the French magazine LinuxPratique, while thesecondwas published in the German magazine iX.

Your articles on Smalltalk now worth more

Speaking of articles, ESUG has started a new initiativefor promoving Smalltalk's diffusion. Every article published after August 2005 will be awarded 100 EUR if it will meet certain conditions set by the ESUG board. Gentleman, start your keyboards!

New Mac VM 3.8.9b1

John M McIntosh has published a new Mac VM (release 3.8.9b1). Among other fixes, this new version allows starting multiple VM instances when double clicking on an image file.

A preview of the next issue

The feedback on the past issues of this newsletter has been great, with many congrats and some good suggestions too. But there's still lots of room for improvement. So, don't miss the next issue of The Weekly Squeak, which will sport an interview with a Squeak developer!


The Weekly Squeak No.3: 5 September - 11 September


On the various Squeak wikis and the squeak.org web site

The discussionon the state of the squeak.org website started two weeks ago has spawned a goodcomparisonof the three wiki engines running on Squeak:Swiki,SmallWiki1andSmallWiki2. Also, Goran Krampe is thinking about packaginganother wiki engine.
On a side note, the same discussion on the state of squeak.org has pushed Doug Way toremove a couple of obsolete pages.

What is cool about Squeak?

Chao-Kuo Linhas addeda new page to the swiki, writing down the feature that make Squeak cool. The list is in no way complete, so feel free to add your cool items!

A file storage for Smallwiki 1

The Impara team has released an enhancement to Smallwiki 1 that supports external storage. This allows Smallwiki to run completely from disk. Read the announceon the Smallwiki list.

Marvin enabled Mac VM

Soon after Pavel's announcementof Marvin (a Self dialect for Squeak) John M McIntosh has published an experimental Marvin-enabled VM (Mac carbon only).

BotsInc and Squeak videos

Stéphane Ducasse has produced some videos on BotsIncand onSqueakitself. He has also announced that many more videos are coming. The videos have no soundtrack, so you can provide a commentary in your own language.

Squeak 3.9a6690

Marcus Denker has releasedthe latest update to what will become the next Squeak version. This release includes many bug fixes, anda new dedicated package for deprecated methods.

A SmallWiki1 Squeak image

Even though running SmallWiki 1 on a Squeak image is not officially supported by the SmallWiki team, a SmallWiki 1 Squeak image has been used for about a year for Seaside's website. The very image used for that site is nowavailableto the general public. Remember to comply withLukas' instructionson how to start a new wiki from scratch.

Squeak's Third Way

Third Way is a modernized version of MVC created by Boris Gaertner for many different versions of Squeak up to Squeak 3.7 . If what you need is a good-looking and low profile UI for Squeak, Third Way is probably the right thing for you.

MorphicSplitters phase 1 completed

The first task of the MorphicSplitters team is now completed and will soon be integrated in the main development stream. Juan Vuletich writes: [This first change set] creates a few packages and does a massive categorization of classes and methods, to fill them. [...] Next steps in the MorphicSplitters project will involve real refactoring, to allow unloading of the EToys and MorphicExtras packages.

Stef's book wins PC Plus Award

Stephane's book Squeak: Learn Programming with Robots has won thePC Plus Editor's Choice Award. Congrats to Stef!

Getting Genie to work in current images

Genieis a Squeak enhacement allowing flexible mouse/pen recognition. Unfortunately, it seems to be incompatible with the latest Squeak versions. But fear not, Simon Michaelhas started an effortto get it to work again in current images. He's seeking help for this effort, so you if are interested in this, you should try and give him some help.

New version of Services available for preview

Romain Robbes has publisheda new version of his Services framework. This new version provides many new nifty features which will leave you delighted and amazed. Romain is looking for feedback on this: if you find something which you feel should be fixed, don't hesitate to contact him.

Multiple Repositories support for Monticello

Michaël Piel has relasedan small add-on to Monticello which simplifies saving to more than one repository at once. Feedback is welcome.

Alan Kay and the $100 laptop project

John M McIntosh has found out that MIT Media lab's $100 laptop project lists Alan Kay as an additional researcher. Normally we would give a project like this the best of wishes, but given the resemblance between this project and Alan's old Dynabook concept, we can't but give it the bestest of wishes ;-) .

A new foundation for Squeak

Stephane has announced the birth of SqueakFoundation, an organization that pushes the visibility of Squeak and that enables Squeak to be a platform of development for all kinds of applications (educations, multimedia, web developments, research), but also support the production of books, videos...
We want to make sure that Squeak continues to be maintained even if we stop. We want to be able to
pay a cleaner a day a week to support the harvesting and bug fixing. Squeak needs to have more users and
companies selling products with it, because the more we will be the more we will be to fix and enhance
the system.

Many thanks and congrats to Stef, Noury, Marcus and all the other founders for starting this effort which may be really useful for the Squeak project.

The SqueakL discussion - 2005 edition

At least once per year, the Squeak Licence's shortcomings cause some discussion on squeak-dev. This year's discussion has arrived, brought by Tom HoffmanandSerge Stinckwich. On a more serious note, it seems that this discussion hasn't been unproductive: there is now a serious effort of getting in touch with Apple on the matter of Squeak's license.


The Weekly Squeak No.2: 29 August - 4 September


Smalltalk and Self

Jecel Assumpcao Jr has written a very good recollectionon Self, the Smalltalk-derived prototype-based language created by Sun during the '90s. Self is particularly important to Squeak, since it pioneered the Morphic user interface used by Squeak. Alan Lovejoychimed in, providing Jecel the opportunity forsome more recollections.

Seaside Presentation to Vancouver LISP UG

On August, 25th Avi Bryant presented Seaside to the Vancouver LISP user's group. Ken Causey has set up atorrentfor the video of the presentation.

Let's talk about TraitsThe discussion on Traits is going on full steam, with questions on usage, performance and impact on the current ways of developing in Squeak. If you still aren't following the thread,this messageis a good starting point. Also, Daniel Vainsencher has declared theopen season for Traits bugs. Bug hunters, what are you waiting for?


Let the revolution begin!

In a post to the Traits thread, Hernan Wilkinson writes something which we feel should be reported fully:
If we can not try new ideas with Squeak, if we can not make the "revolution" happen with Squeak, where can we do it?
I think traits is a great idea, and I believe Squeak is the best "environment" to try, not because of Squeak but because of the community involved in it.
I applaud this decision and I'm anxious to see the results, no matter if they are good or bad, because we will learn something new.
Let the revolution begin!!


The latest on Exupery

Bryce Kampjes has posted a couple of messages in which he has summarized the current state of Exupery, and how to help the development of this promising bytecode-to-native compiler for Squeak. Some highlights:
Exupery is a bytecode to native machine code compiler. The compiler itself is written entirely in Squeak. [...] The goal is to make Squeak much faster, Exupery is only designed to compile hotspot methods, all other methods will be interpreted. It's designed to produce very high quality code at the cost of slow compile
times. It's meant to compile in a background Squeak thread so there shouldn't be visible compilation pauses.
. Start reading Bryce's messages from here.

Squeak 3.9a6684 and 3.9a6686

The relentless Markus Denker has released two alpha versions of the 3.9 release. Read the release notes for 3.9a6684and for3.9a6686.

Jabber package now on SqueakSource

Upon request, Julian Fitzell has puthis Jabber server package on SqueakSource. Michael Rueger is also going to integrate his own Jabber code in the package.

Wiki vandalism

Unfortunately, Wiki vandalism is still running rampart, has it has been reported many times on the Squeak-dev list. This is just a friendly reminder to everyone to try and do your best to keep the wiki clean from this kind of garbage.

A French wiki on Squeak in education

Stephane Ducasse remindsall the French-speaking Squeakers ofHilaire Fernandes' wikion using Squeak in education. Stef has then forwarded another message from Hilaire onwhy you should use Squeak to write educational applications.

An history of Squeak 3.3

Jecel is surely running for the chair of Squeak's resident historian! In this messageJecel tells us of the unfortunate Squeak 3.3 release.

A report on Squeak's leadership

Göran Krampe has posted a messageon the current Squeak leadership which is in place sincelast February. Later on he haspromiseda quick status report which should be published in a day or two.

A Squeak intro in German

Markus Gaelli has postedthe link to a goodGerman intro to Squeak and Smalltalkfrom Heiko Schroeder.

Some thoughts about managing packages in VW

Stéphane has posted a link to a blog post from Travis Griggson managing packages and dependencies in VisualWorks. Michal Starke, the author ofKabungu, has postedsome thoughtson the matter.

Distributed Objects in Squeak

Michaël Piel is investigatingsome frameworks for distibuted computing in Squeak, and has posteda list of them.

Method cathegories as first class objects

Some food for thoughtfrom Avi on using Traits as a sort of first class method cathegories. Interesting.

An introduction to Neo Smalltalk

Jecel has posted a detailed introduction to his project, Neo Smalltalk:
Neo Smalltalk (previously called Self/R and Merlin OS before that) is the system level software of a low cost computer for students. Not only should this machine be useful as a tool for learning about math, science, history, languages and so on but it should also be an interesting object to study in itself. A very high priority goal is that the path from casual user to script writer (eToys level programming) to application writer (Smalltalk-80 level programming) to system developer to hardware hacker should be as smooth as possible.

Marvin: Self for Squeak

Pavel Krivanek has announced a new project named Marvin, a Self dialect which combines characteristics of Self
programming language and Smalltalk-80.[...] Smalltalk isn.t suitable for prototype-based systems. It has no literals for objects and you have to use pseudo-variable "self" extremely frequently. Self programming language can be hardly integrated with Squeak. In shortcut, Marvin is Self with Squeak literals and conventions. It.s integrated with Squeak environment.
. Pavel has also published aFAQon his project.


The Weekly Squeak No.1: 22 August - 28 August


ESUG 2005 Innovation Technology Awards results

Noury Bouraqadi writes:
Last week, the ESUG 2005 Innovation Technology Awards was held during the ESUG conference.
We had 9 groups competing for the 3 prizes (500 Euros, 300 Euros and 200 Euros).
3 Smalltalk dialects where represented: VisualWorks, Squeak and Dolphin.
After competitors demos, conference attendees voted for their 3 preferred Smalltalk based softwares.
You can find the detailed results on the ESUG web page (http://www.esug.org/).
Thanks again to all competitors and congratulations to the three winners.


Janitors Team Progress report

Ken Causey has published a report on the progress of the Janitors team. Thanks to him, Milan Zimmerman and Marco Monteiro, all the open issues from the BFAV2 database have been moved to the Mantis database (http://bugs.impara.de)!
Readthe complete report.

Source code management

Answering a question on how to manage your Squeak source code using Subversion, Julian Fitzell has posted a summary of the differences between Monticello, MonticelloCVS and other SCM tools. Ha has also posted a link to the Monticello website (http://www.wiresong.ca/Monticello/) which describes in a detailed way how Squeak's own SCM tool works.
You may read the whole thread starting fromthis message, or you may readJulian's answer.

Keeping a Safe, Clean, and Current Development Environment

Daniel Salamaasked: a new image comes out, how can I migrate my entire development environment to the new image?. Some squeakers quickly replied giving him some tips and illustrating the scripts they use.

Squeak 3.9a6681

Markus Denker has announced a new snapshot of Squeak 3.9a. Don't missthe juicy highlights in this release and the even juicier todo list!

A 2.8-3.8 speed comparison and a recap on the MorphicSplitters project

In a post to an interesting thread ona speed comparison between Squeak 2.8 and Squeak 3.8, Juan Vuletich has illustrated the MorphicSplitters project: MorphicSplitters started with an Etoys-free Morphic image I made on 2004, based on 3.7. It was really easier to understand and could have been a good base for complete Morphic overhaul. [...] But then, many people showed interest on this work. It became clear that although it was hard, it would be possible do this cleaning in the official version. So the MorphicSplitters project was born. [...]
You may read Juan's posthere.

Traits approaching mainstream Squeak

Daniel Vainsencher has posted arequest for commenton integratingTraitsin Squeak 3.9, complete with ademo image. Haven't you tried it yet?

Austrian Smalltalker mailing list

Stéphane Ducasse hasannouncedthat a new mailing list for Austrian smalltalkers has been createdhere. As he said, feel free to let it grow!

Squeak related videos on video.google.com

ESUG has announce that many Squeak related videos are now available at Google Video. The videos will soon be available as a data DVD via ESUG. For more details, and for a list of available videos, seeMarkus Denker's announce.

Request for Comment: MethodAnnotations for 3.9alpha

Another request for comment has been posted on squeak-dev: adding MethodAnnotations to Squeak 3.9alpha. MethodAnnotations are a way for storing state in CompiledMethods in a clean, non-hacky way. Tweak uses them to describe when a method should be activated. If you want to know more about MethodAnnotations, and to give a look to an initial changeset which provides some basic support for them, readMarkus' message.

New Version of Audio and Video library available

Martin Kuball hasannounced>http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-August/094038.html a new version of his Audio and Video library. This new release, available at SqueakSource, offers lots of bug fixes and some mp3-related improvements.