You are currently browsing the category archive for the ‘Seaside’ category.

Live, From New York, it's Saturday Night!On Thursday of this week (October 18, 2012), John McIntosh is giving a presentation about WorldPulse at the New York City iOS Developer Meetup.

WorldPulse is application for the iPhone and iPad, that shows live accurate cloud cover data, the day/night terminus, night lights, and in 2.0 weather data from all the weather stations in the world.

In John’s presentation:

…he will talk about the steps needed to cache, secure, and protect weather data as fetched from a data supplier for delivery to WorldPulse users.

The presentation will highlight the use of Amazon EC2 as a backend, Gemstone for the object oriented database

The meetup is hosted by Spreecast and the presentation will be live streamed as well as archived on the Spreecast site.

Photo by / CC BY-NC-ND 2.0

Turning coffee into cash[1]


GemStone/S 64 was released August 28, 2012. This release fixes a number of bugs and we recommend all 3.x customers use this release. Be sure to review the release notes and install guides for this release.

GLASS 1.0-beta.8.7.3

GemStone ships with GLASS 1.0-beta.8.7.2 pre-installed in $GEMSTONE/bin/extent0.seaside.dbf, but there are a few minor issues that show up as test failures. GLASS 1.0-beta.8.7.3 has been released to address those issues.

You should update to GLASS 1.0-.8.7.3 when you start using GemStone

GemTools 1.0-beta.8.7

A One-Click GemTools 1.0-beta.8.7 for GemStone can be obtained from the downloads page or you can download GemTools 1.0-beta.8.7 for Gemstone/S all platforms directly.

You can build a custom GemTools image by following these steps on the glass db wiki.


Seaside should be used with GemStone/S 3.1.x. There are a few critical bug fixes included in that version.

Download and Installation

You can download the binaries from, use the script to download and install GemStone/S on your machine (highly recommended), or visit downloads page.

To use the script, your supply the GemStone version number as an argument to the script. The following downloads and installs the GemStone/S release:



If you are upgrading from GemStone/S 2.x, then be sure to read my post on GemStone/S 3.1.0 first.

If you are upgrading from GemStone/S 2.x or GemStone/S 3.1.0, you still need to run through the upgrade process described in the Install Guide for (Linux or Max).

Helper Scripts for Upgrade of Seaside

Let’s say that you’ve got Seaside installed in your GemStone/S 3.1.0 repository. According to the upgrade instructions you will need to define the BootstrapApplicationLoadSpecs for your application. For Seaside, that means you’ll run the following topaz script BEFORE running the script:

The important bits are that you are specifying GLASS 1.0-beta.8.7.3 and specifying the <path to seaside cache repository>. The seaside cache repository is a directory on your machine where you’ve stashed all of the mcz files needed to reload Seaside into your upgraded repository. You can use the following script to create the seaside cache repository:

Finally, as noted in Issue 354, you need to reload the ConfigurationOfGLASS and ConfgurationOfSeaside30:


[1] / CC BY-NC-ND 2.0

The Persistence of LightSebastian Sastre shares his thoughts on scaling Smalltalk/Seaside apps:

Let the scaling problem come to you. It’s a good problem to have.

Photo by / CC BY-NC-ND 2.0

Sea GlassI’ve just released a new configuration version for Seaside30 as a complement to the recently released GLASS 1.0-beta.8.7.1:

  • CofigurationOfSeaside30

This release is primarily aimed at supporting GemStone/S 3.0.1 with several GemStone-specific bugfixes and a couple of GemStone-specific Seaside bugfixes:

  • Issue 636: expected exception behavior WAWalkbackErrorHandler not portable (and not ANSI compliant)
  • Issue 694: Swazoo adapter does not respect Request URIs ending in slash

With this release I have finally implemented remote breakpoints for Seaside 3.0 which will be covered in a separate blog post.

Photo by / CC BY-NC-ND 2.0

Insect In Amber. From Kaliningrad, Russia.[1]

Kaliningrad oblast (sometimes called Yantarny krai which means “The amber region”) is located on the coast of the Baltic sea and is the site of the world’s largest amber deposits.

Kaliningrad Project

I created the Kaliningrad project because I want to use Monticello to manage the code that I write in Amber.

Kaliningrad automatically maps Amber package names to Monticello package names, so Kaliningrad is pretty easy to use.

Kaliningrad is based on Seaside 3.0 and uses the Seaside File Library and the Seaside-REST package to serve and store the Amber .js and .st files.

To load Kaliningrad execute the following expression:

Gofer new
    url: '';
    package: 'ConfigurationOfKaliningrad';
((Smalltalk at: #ConfigurationOfKaliningrad) project version: '0.1') load.

The Kaliningrad configuration loads only the most basic packages for Seaside 3.0, so you’ll need to load up one of the adaptors (Swazoo, Comanche, or Zinc) before you can connect.

Using Kaliningrad

Once you’ve got the Seaside server running, hit (user/password : admin/tool):


to bring up the Amber Browser:

If you want save your Amber code into a Monticello package follow these steps:

  1. Create an Amber package (‘tODE-AmberClient’) in the Amber Browser.
  2. Create a Monticello package with the same name (‘tODE-AmberClient’) using the Monticello Browser in your image.
  3. Register the Monticello package with the KOAmberBrowser class:
     KOAmberBrowser addMonticelloPackage: 'tODE-AmberClient'

Thereafter, when you hit the Commit package button for ‘tODE-AmberClient’ in the Amber Browser, the .js and .st source will be saved in the ‘tODE-AmberClient’ Monticello package.

Thats it!

The class KOAmberBrowser is also a good example for how to integrate Amber code into a Seaside component.

Importing classes into Amber

If you want to import a class from your Smalltalk image into Amber, you can evaluate an expression like the following in an Amber workspace:

KOImporter importClass: 'TOSession' intoModule: 'tODE-Amber'

Be aware that there are differences between Amber Smalltalk and other Smalltalk implementations (see the section entitled Differences with other Smalltalk implementations on the Amber documentation page). KOImporter does not check for correctness.


Kaliningrad 0.1 is based on Amber 0.9.

I’ve been using Kaliningrad with Pharo for a couple of weeks now, but the code should run in GemStone and Squeak.

If you run into problems, let me know.


[1] Photo by / CC BY-SA 2.0

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

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

Ruta de vueloNick Ager just published the instructions (and a screencast) for creating a free Micro EC2 instance for Seaside, Pier, and GLASS:

Amazon’s offer of a free micro instance for a year grabbed my attention:

To help new AWS customers get started in the cloud, AWS is introducing a new free usage tier. Beginning November 1, new AWS customers will be able to run a free Amazon EC2 Micro Instance for a year…

But would a micro instance be sufficient to allow a Seaside application to run within Gemstone — my deployment method of choice?

[Updated: 1/4/2010] If you are interested, you should also check out the discussion on the Seaside list.

Photo by / CC BY NC ND 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.
March 2023