You are currently browsing the monthly archive for September 2011.

ESUG 2011 photo by James Foster

Click on the picture to view the video of my GLASS 2.0 talk from ESUG 2011. Slides from my talk are available here (SlideShare) and here (pdf).

During the talk I cover:

On The Beach c1900I just finished updating the Metacello configurations for Seaside 2.8, Magritte 1.0 and Pier 1.0. I’ve tested the configurations in Pharo 1.0 and GLASS 1.0-beta.87 running against GemStone 2.3 (i.e., the appliance).

The change log for the most recent Seaside2.8 checkins indicates that Seaside2.8 should run in Pharo 1.3, but I haven’t tested in that environment. In a comment, Lukas confirms that Seaside2.8 runs in Pharo 1.3. You can download images from the Lukas’ continuation integration server.

If you want to run the latest configurations of Seaside2.8 and friends in the appliance, then follow the update instructions on Getting Started with GLASS.

Photo by / CC BY-NC-SA 2.0

YesplanCheck out this new video of Yesplan. Now that’s a cool desktop app…running in your browser! Check out this post for more details on the technology behind Yesplan.

Beach HammockBob Nemec, a long-time Smalltalker and GemStoner just posted a description of how he is using Seaside to extend the life of a couple of legacy Smalltalk applications:

Both systems were designed over a dozen years ago, using GemStone and a fat client. Grafting a multi-user Seaside interface to the fat client designed for a singe user was not going to work…

Photo by / CC BY-NC-ND 2.0

toad in the holeThe tODE repository has been relocated to the SS3 repository.

It’s new home is

For more details see the announcement on the tODE mailing list.

Photo by / CC BY-SA 2.0

Containers on deck[1]

When you have a bunch of packages that you need to transfer between repositories, you can use Metacello and Gofer to simplify the task.

With the SS3 repository coming on-line, I decided to move tODE development to it’s own repository on SS3. The scripts that I wrote turned out to be pretty simple, but not necessarily obvious, so I thought that they’d be worth sharing.

The basic idea is to use Metacello to identify the packages that you want to transfer and use Gofer fetch to download the selected packages from the source repository into the local cache. Then use Gofer push to upload the packages from the local cache to the target repository.

In my case I want to transfer all versions of the packages used in tODE 0.1:

| gofer |
"Identify the source repository"
gofer := Gofer new gemsource: 'Naviode';
	package: 'ConfigurationOftODE' yourself.
"Traverse all packages defined in version '0.1' of the tODE configuration"
(ConfigurationOftODE project version: '0.1') packages do:[:spec |
	"Use the #name and #package: messages and Gofer will fetch 
	all versions of the Monticello package"
	gofer package: spec name ].
"Initiate the download with the #fetch command"
gofer fetch.

After the above expression completes, I can then initiate the upload:

| gofer |
"Identify the target repository"
gofer := Gofer new url: '';
	package: 'ConfigurationOftODE' yourself.
"Use the same algorithm for identifying the packages to be pushed"
(ConfigurationOftODE project version: '0.1') packages do:[:spec |
	gofer package: spec name ].
"Initiate the upload with the #push command"
gofer push.

If you want to transfer only the latest versions of the packages, substitute the following expression in the above scripts:

"Traverse all packages defined in version '0.1' of the tODE configuration"
(ConfigurationOftODE project version: '0.1') packages do:[:spec |
	"Use the #file and the #version: messages and Gofer will fetch
	only the specified version of the Monticello package"
	gofer version: spec file ].


[1] Photo by / CC BY-NC-SA 2.0

running with the seagulls[1]

Metacello 1.0-beta.30 was released this afternoon. This release has a couple of bugfixes and some more significant performance improvements.


  • Pharo1.4 support (build 14124 or later). tests pass, but ProfStef apparently has not been ported. Based on fix for Pharo Issue 4613
  • another round of performance improvements with significant speedups for #currentVersion, #project, #versionStatus and friends
  • tweak MetacelloToolBox class>>saveModifiedPackagesAndConfigurationIn:description: so that description is updated when your package updates are needed.
  • persistent author initials can be set by defining #’GS_tODE_AuthorInitials’ in UserGlobals with desired author initials string (in support of tODE). GemStone only
  • allow configuration branches to be used in a project reference (className: is name sans branch, file: is name with branch)


  • fix  Issue 136 : load of referenced project can fail with missing version error
  • fix  Issue 146 : unrecognized SystemVersion results in assuming system is on #gemstone…

If you already have an earlier version of Metacello loaded, evaluate the following expression to upgrade to 1.0-beta.30:

ConfigurationOfMetacello project updateProject.
(ConfigurationOfMetacello project version: '1.0-beta.30') load.

Metacello 1.0-beta.30 was tested against:

  • PharoCore-1.0
  • PharoCore-1.1.2
  • PharoCore-1.2
  • PharoCore-1.3-13299
  • PharoCore-1.4-14126
  • Squeak4.2
  • GLASS 1.0beta.8.6


[1] Photo by / CC BY-SA 2.0

The best days are not planned[1]

The SS3 Alpha was announced at the end of May, but with SmalltalkHub scheduled to come on-line soon work on the alpha was suspended.

On the Sunday before ESUG (August 21), the Pharo folks started using ss3 for storing their Pharo 1.4 work – SqueakSource had crashed one too many times.

Consequently we are resuming work on SS3 and are committed to taking into production.

The warning that packages stored in SS3 will not be preserved beyond the Alpha period has been withdrawn and we have instituted daily backups for the site. We are still in the alpha period, but the basic operation of the site is sound. Tobias Pape has bugfixes queued up for most, if not all of the outstanding bugs and we will be working towards pushing the fixes into production over the coming weeks.

It should be noted that some mcz files cannot be stored in SS3. We plan to characterize and fix the known problems with loading mcz files.

Please report issues you run into with the SqueakSource3 issue tracker.

When we’ve addressed the initial crop of critical bug reports we will move into a short Beta period and then  transition to full production. In the interim, if you are willing to put up with the current set of bugs in exchange for stability, then you should consider hosting your project on SS3.

With that said, keep in mind that work on SmalltalkHub is continuing and I understand that there is an active project to improve the reliability of, so carefully consider the impact on your users before moving to SS3. SS3 is intended to be a stable alternative until SmalltalkHub is brought online and is stabilized.


[1] Photo by / CC BY 2.0

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 446 other subscribers


RSS GLASS updates

  • An error has occurred; the feed is probably down. Try again later.

RSS Metacello Updates

  • An error has occurred; the feed is probably down. Try again later.

RSS Twitterings

  • An error has occurred; the feed is probably down. Try again later.
September 2011