I guess I was so busy preparing for my STIC talk I forgot to announce the availability of a podcast on GemTalk Systems that I did with James Robertson and David Buck. I have to say that James and David run a pretty smooth interview. It was fun and (I hope) informative.
Today GemTalk Systems announced the acquisition of the GemStone/S platform from VMware. Before anyone gets their knickers in a knot, this is a good thing:
The entire Smalltalk team is moving intact from VMware to GemTalk Systems and I want to emphasize that both GemTalk Systems and VMware are being very generous and fair during the transition.
We are re-locating to another suite in the same office complex, up the stairs from our old location.
We are keeping all of the GemStone/S intellectual property including MagLev and all of the GemStone/S customers.
We are not keeping our old name (GemStone Systems) and we are not keeping the gemstone.com domain. I guess one can’t expect everything. I have also been assured that the URLs for GemSource and SS3 will continue to function for at least a year (if not longer).
From a technical perspective GemStone/S has thrived at VMware, the engineering team has been pretty much left alone and we were given all of the necessary resources to “get the job done”. From a technical and personal perspective, I have been very happy with my tenure at VMware.
On the business side, I would say that GemStone/S foundered a bit. The GemStone/S product never got fully integrated into the VMware universe (unlike GemFire), but then the GemStone/S product was not the primary focus of the original VMware acquisition.
Now, with the GemFire team becoming part of Pivotal, you can imagine that the Smalltalk team is very happy to find a home with GemTalk Systems .
GemTalk Systems is a privately held company led by Dan Ware. Prior to the VMware acquisition in 2010, Dan had been an executive with GemStone Systems for 17 years. For most of those years Dan was in charge of the Sales organization, so Dan knows the GemStone/S customer base, very well.
Dan and the investors love GemStone/S and want to see it continue to thrive.
This quote bears repeating:
and from our transition FAQ:
Frankly, I don’t think that I could have imagined a better home for GemStone/S.
GemStone/S 3.1.0.1
GemStone/S 64 3.1.0.1 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 3.1.0.1 ships with GLASS 1.0-beta.8.7.2 pre-installed in $GEMSTONE/bin/extent0.seaside.dbf, but t
here 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 3.1.0.1.
GemTools 1.0-beta.8.7
A One-Click GemTools 1.0-beta.8.7 for GemStone 3.1.0.1 can be obtained from the seaside.gemstone.com downloads page or you can download GemTools 1.0-beta.8.7 for Gemstone/S 3.1.0.1 all platforms directly.
You can build a custom GemTools image by following these steps on the glass db wiki.
Seaside3.0.7.1
Seaside 3.0.7.1 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 ftp://ftp.gemstone.com/pub/GemStone64/3.1.0.1, use the installGemStone.sh script to download and install GemStone/S on your machine (highly recommended), or visit seaside.gemstone.com downloads page.
To use the installGemStone.sh script, your supply the GemStone version number as an argument to the script. The following downloads and installs the GemStone/S 3.1.0.1 release:
./installGemstone.sh 3.1.0.1
Upgrading
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 3.0.7.1
Let’s say that you’ve got Seaside 3.0.7.1 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 3.0.7.1, that means you’ll run the following topaz script BEFORE running the upgradeSeasideImage.sh 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 3.0.7.1 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] http://www.flickr.com/photos/gatesfoundation/5076533520 / CC BY-NC-ND 2.0
The video of my STIC 2012 talk “Practical Git for Smalltalk” is available. You can view the slides on SlideRocket or as pdf.
Photo by http://www.flickr.com/photos/unavoidablegrain/3277754772 / CC BY-NC-SA 2.0
GemStone 3.1.0
GemStone/S 64 3.1.0 was released July 5, 2012.GemStone/S 64 Bit 3.1.0 is a major new version, including many new features as well as enhancements to existing features and bug fixes. A quick highlight of features is as follows:
- IPv6 support
- multi-threaded, highly performant backup and restore
- increased security for remote logins using SRP and SSL
- a new hot standby interface, providing continuous automatic synchronization
- powerful locale-specific collation using the ICU libraries
- full support for upgrade of Seaside applications
- API for secure SSL sockets from Smalltalk
Release notes, Install Guide and manuals are available here. Be sure to carefully read the GemStone 3.1.0 release notes, if this is the first time you have used GemStone/S 3.x as there are significant differences between GemStone3.x and GemStone 2.x.
Before attempting an upgrade you will want to make sure that your application loads into a virgin 3.1 repository (extent0.seaside.dbf) and passes unit tests before attempting the upgrade.
GLASS 1.0-beta.8.7.2
GemStone 3.1.0 ships with GLASS 1.0-beta.8.7.2 pre-installed in $GEMSTONE/bin/extent0.seaside.dbf
.
With the GemStone 3.1.0 release, there is an upgrade path from Gemstone 2.x and GemStone 3.0.1. See the Linux or Mac Install Guide for detailed upgrade instructions.
Download and Installation
You can download the binaries from ftp://ftp.gemstone.com/pub/GemStone64/3.1.0, use the installGemStone3.1.0.sh script to download and install GemStone 3.1.0 on your machine(highly recommended), or visit seaside.gemstone.com downloads page.
Starting a 3.1.0 stone
Once you’ve installed Gemstone in /opt/gemstone/product
, follow these steps to start and stop the stone:
- Define GEMSTONE environment variables ($GEMSTONE/bin and $GEMSTONE/seaside/bin added to your $PATH environment variable):
source /opt/gemstone/product/seaside/defSeaside
It is recommended that you add this step to your
.bashrc
. - Copy the
system.conf
and GLASSextent0.dbf
files to data directory:cp $GEMSTONE/seaside/system.conf \ $GEMSTONE/seaside/data chmod +w $GEMSTONE/seaside/data/system.conf cp $GEMSTONE/bin/extent0.seaside.dbf \ $GEMSTONE/seaside/data/extent0.dbf chmod +w $GEMSTONE/seaside/data/extent0.dbf
This step is performed as part of the installGemStone3.1.0.sh script.
- Start
netldi
andstone
processes:startnet startGemstone
- Ensure
stone
process is running:gslist -lcv
- Stop
stone
process:stopGemstone
Check the Starting a stone page on the glass db wiki for updates to the above procedure.
GemTools 1.0-beta.8.7
A One-Click GemTools 1.0-beta.8.7 for GemStone 3.1.0 can be obtained from the seaside.gemstone.com downloads page or you can download GemTools 1.0-beta.8.7 for Gemstone/S 3.1.0 all platforms directly.
You can build a custom GemTools image by following these steps on the glass db wiki.
—–
[1] http://www.flickr.com/photos/gsfc/4131313757 / CC BY 2.0
For those of you who are using or interested in Kaliningrad, you might want to take a look at Amber Skeleton, a project I just announced.
Where Kaliningrad is based on Seaside and Monticello, Amber Skeleton is based on Zinc and Cypress.
The Cypress project defines a format for disk-based packages. There are Cypress implementations available (or in the works) for GemStone, Pharo, Squeak, VAST, and VisualWorks.
The original motivation for Kaliningrad was:
I created the Kaliningrad project because I want to use Monticello to manage the code that I write in Amber.
With Amber Skeleton, the server-side Smalltalk source is stored on GitHub (using FileTree) along with the client-side Amber source, which is already managed on GitHub.
The FileTree project implements a Monticello repository type that is compatible with Cypress, it is easy to save Squeak/Pharo/GemStone Monticello packages on disk and use Git for version control.
Everything isn’t quite hunky dory:
- Metacello does not have Git/GitHub support, but there is a project underway to address that.
- Amber Skeleton is currently only implemented on Pharo, but Squeak and GemStone versions shouldn’t be too difficult to implement
- Currently there is no image-based tool support for Git/GitHub, but there is a project underway to address that.
Despite the limitations, I still think that you might find Amber Skeleton interesting.
Photo by http://www.flickr.com/photos/stonehorse/3854662047 / CC BY-NC-SA 2.0
During STIC 2012, we announced VMware’s new list prices for 4 & 8 core perpetual GLASS licenses. You can also purchase Tech Support from VMware for your GLASS deployments.
No Changes to the free version terms!
Photo by http://www.flickr.com/photos/skippy/4016102 / CC BY-SA 2.0
Bob Nemec responds to Dave Thomas‘ statement that object abstraction is too complex for the majority of programmers.
From Bob’s post:
Photo by http://www.flickr.com/photos/markchadwick/6549846977 / CC BY-NC-ND 2.0