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

Cypress TreesJust released FileTree 1.0.4 with a bundle of bugfixes.

To install, follow these instructions.

Photo by / CC BY 2.0

Mississippi MorningJust released FileTree 1.0.2 with a hand full of bugfixes and Pharo3.0 support.

To install, follow these instructions.

Photo by / CC BY-NC-ND 2.0

Git BellThe video of my STIC 2012 talk “Practical Git for Smalltalk” is available. You can view the slides on SlideRocket or as pdf.

Photo by / CC BY-NC-SA 2.0

The Persistence of LightBob Nemec responds to Dave Thomas‘ statement that object abstraction is too complex for the majority of programmers.

From Bob’s post:

There are two types of programmers: the toolsmiths (abstractionists) and the tool users (constructionists). Smalltalk developers seem to all be abstractionists.

Most programmers are constructionists. They have a job building and maintaining business applications. As Smalltalkers we ask ourselves: how can we get these programmers to use Smalltalk, to see how much more productive and enjoyable our environment is? The answer, I believe, is to reduce barriers to entry.

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

My heart will go on ♥Smalltalk love from J. Pablo Fernández:

…Look all the code we wrote without having to memorize any keywords! What’s even more important is that by now you essentially know Smalltalk. That’s all there is, but like LEGO bricks, this simple and small building blocks allow you to build whatever you want….

Photo by / CC BY-NC-SA 2.0

105119Bruce Badger hits the nail on the head with his Who looks at Smalltalk? post:

The C guys looked at Smalltalk and said they didn’t need object orientation….

Photo by / CC BY 2.0

PerfectionDaniel Lyons writes about his initial experiences with Smalltalk:

Smalltalk seems like a good environment for learning better OO design, but it makes you wish Java or whatever you’re using were as fast, easy and simple.

Thanks to Randal Schwartz for the pointer.

Photo by / CC BY-NC-ND 2.0

If you are a student and are interested in getting a stipend to write some Smalltalk this summer then have we got a deal for you!

Check out the GSoC Smalltalk Call for Students for details.

Photo by / CC BY-NC-SA 2.0


Well the time has finally come, or nearly come.

It’s been nearly a year since I’ve released a GLASS Beta Update. Last April, when I released the SOAP Preview for GLASS, it was obvious to me that the days were numbered for the GLASS.230-dkh umbrella package and that I would have to find a better solution for making releases in Smalltalk. I just didn’t realize that the number would top 300:)

In my defense, starting in November of last year I did initiate a series of Bootstrap releases (1.0-beta.0, 1.0-beta.4, and 1.0-beta.5), but over the last 10 months I’ve really focussed on getting Metacello up to snuff.

The good news is that I am in the final steps of the year long release cha cha.

Metacello 1.0-beta.25

Metacello is nearly ready for 1.0, but there are a handful of things that have to be done before release. I’ve outlined most of them in The road to 1.0. I will release 1.0-beta.25 later today (fingers crossed) and will spend a day or so writing up additional documentation on some of the new Metacello features.

GemTools 1.0-beta.6

Once Metacello 1.0-beta.25 is out the door, I will polish up GemTools 1.0-beta.6.

The big news with GemTools 1.0-beta.6 is that I have transitioned to using the Help System for documenting the update steps for GemTools and GLASS. I will continue to announce releases on my blog, but the details for doing an update will be included in a Help System browser available via GemTools. This means that you won’t have to try to cross reference the versions of GemTools and GLASS with ancient blog posts to figure out how to upgrade to later versions.

Continuing the process started over a year ago, you will need to update to GemTools 1.0-beta.6 in order to update to GLASS 1.0-beta.8.

BTW, when Pharo releases version 1.0, we’ll release a new one-click for GemTools.

GLASS 1.0-beta.8

I plan to push GemTools 1.0-beta.6 out right before I release GLASS 1.0-beta.8. At this point I’ve got most of the major port and testing load behind me:

There are a few more details that I need to cover and quite a bit of documentation to write about for 1.0-beta.8 before release, but I thought it was worth letting you know that I am in the final approach for releasing 1.0-beta.8

[1]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.
June 2023