Garage Band

This is a great time to be an aspiring musician. Check out Garage Band. They keep making their services better and better. I have been a member ever since my composition teacher joined. If you like Jazz piano search for Jon Raney , son of the legendary Jazz guitarist Jimmy Raney. Unfortunately, you won’t find me there yet :)

Collaborating with StORE

It had been probably about 1.5 years since I last tried to use Postgres on Windows as a backend for StORE, the source code versioning environment for VisualWorks. It was not happening at all. At that time I decided to use the Interbase/Firebird backend because it was a multi-user solution which was stable and that was a step up from what I had been using at the time namely Access. Why is a multi-user backend necessary? Well, because it one wants to collaborate with somebody there is no to setup some centralized repository somewhere you can do it peer to peer which sure beats passing parcels around. However the Interbase/Firebird solution was not quite perfect. So now I have decided to move on to using Postgres on Windows as my StORE backend the reasons being:

  • Good security which means that participants do not have to be confined to the same local network
  • Very easy install on Windows
  • the admin tools are good, making it easy to setup users and multiple databases
  • Postgres works with Glorp and thereofore with the Glorp Store replicator
  • I want to start working with something that uses Glorp since we plan to use it in the near future
  • Finally, this is the setup that many of the Cincom Smalltalkers seem to be using i.e. from my talks at SS 2005

Murphy and the Matrix

Everything that possibly could go wrong went wrong. Did I drop the ball, did I slack off? Let’s start at the very beginning. About three years ago or so I went to OOPSLA , I’m confused as to whether it was in Tampa or Minneapolis. All I remember, is that STIC had a fairly decent size booth with a gigantic overhead sign and right across from the Microsoft booth. There I setup a camp in one corner and demoed something I called OpentalkMatrix. OpentalkMatrix is something akin to LimeWire or Kazaa but yet different. Like LimeWire and Kazaa it allows users to discover components on a p2p network but it has extended support for VisualWorks code parcels. Anyhow, let’s leave the details for later just suffice to say that the demo worked. I would later go on to demo OpentalkMatrix at NYC Smalltalk and yet again it worked. At home I have a 4 node network including a node on a wireless leg and it works here fine. Prior to the conference , I even tried this out on the network at the office and that worked too. Finally, a couple days before my slot at Smalltalk Solutions I met with one of the principal Cincom Smalltalk engineers in charge of Opentalk development and our dry run went well as well. Of course, the logistics at the demo were slightly different. I did not count with the original presenter running over into my time slot :) I did not count on my notebook not being able to connect properly to the projector i.e. something that I have done many, many times at NYC Smalltalk, I did not count on a second wireless network in the area. Did not count on having to use TightVNC in quite the way I did. I knew that a live demo was a daring undertaking but I thought I had taken enough spins around the block. Overall, I am pissed and mostly because I do now think that I did slack off. I did not deliver. I did not take the time to control my environment. Anyhow, the only way I will be able to redeem myself is to demo OpentalkMatrix at a global scale i.e. let the Internet be my stage but before I can do that for one we will have to fix one minor issue with Opentalk. More on that later :) .

4th of July in NYC

Every year we make an excuse, oh the rowdy crowds and this and that, but for some reason this year we dragged ourselves out and got on the subway and in 30 minutes got to our spot. The spot was in Long Island City right across the river from 34th street. New York is such a great city and we just don’t take enough advantage of it . The fireworks were spectacular, beautiful. We will be making this a tradition. One of the coolest things about watching the fireworks in NYC is that within my immediate radar there were couples, and families of just about every possible race, ethnic background, all enjoying for 30 minutes the tremendous spectacle Macy’s puts out for the 4th. Supposedly, 1000 shells per second were launched. These fireworks were the second largest in NYC history second to the millenium celebrations. Here are some shots, I did not take them , I figured somebody would.

OpenSkills Membership Management System

Bruce Badger , a long time friend of NYC Smalltalk , will again be gracing us this year with a presentation on another support system for his OpenSkills organization. Last year the presentation involved Gemstone , a Smalltalk based oodms/app server as well as the use of Squid, and a Smalltalk based wiki.. This year the presentation involves using GLORP ( the reincarnation of TopLink) and the generation and management of PGP keys among other things. Bruce always presents the week after Smalltalk Solutions since that is when he makes his pilgrimage from the land down under up to the States. So invariably, we will also be discussing Smalltalk Solutions which I hope will not include my mishap but more on that later.

If you are in the NYC area please join us. More information can be found at the NYC Smalltalk wiki.

Etoys now Scratch

First came E-Toys an environment built on Squeak , a Smalltalk dialect developed by the original inventor of Smalltalk – Alan Kay. Now, we have Scratch a learning environment that unlike E-Toys targets an older audience, the 10 – 16 crowd. Scratch is being built on Squeak that is clear. Not sure , if it is being built on E-Toys. Nonetheless, this is exciting from a Smalltalk promoter’s perspective since there will now be two learning environments that at least acquaint young humans from kindergarten through high school to Smalltalk.

I recently learned about this since I had invited one of the principals of the E-Toys project to present to us (NYC Smalltalk) in the April/May timeframe. Unfortunately, some last minute schedule conflicts forced us to postpone the meeting. We are still hopeful for sometime in the Fall. This would not have been the first presentation on E-Toys. Last year we had a teacher at a private school here in NYC share with us his work using E-Toys actively in the classroom. I also met a public school teacher doing the same. Columbia Teacher’s College is actively involved with E-Toys and there has been an active pilot if not full-blown program in the California School System.

Hopefully, I’ll manage to convince one of the principal developers for Scratch to present.

VisualWorks and Traits

I don’t have much spare time to spend on non-compensated Smalltalk work. Sure, I enjoy coding with Smalltalk but nowadays I have returned to my original passion which is playing the guitar. My quota is a minimum 10.5 hours of guitar per week although it is difficult to consistently achieve that. Then there is walking the dog for at least an hour per day if not more. I am also married , need I say more. So I choose my pet Smalltalk projects very carefully. I have a few active ideas. However, when I found at that Terry Raymond had built a core Traits engine that was just too much to resist. Why?

  • I believe Traits has the potential to be quite useful.
  • I knew Terry would have something substantial that I could sink my teeth into.
  • I did not have a presenter scheduled for the NYCST March meeting. That usually means that I have to try to put something together quick.
  • I have been feeling guilty about not contributing to the community with product and this seemed like a great chance.

So sometime in February I decided that I was going to do my best to add StORE and RefactoringBrowser integration to VW Traits and to present the work at the March meeting for NYC Smalltalk. It was close but that is what I did.

The presentation I thought went well. Terry Raymond which lives about 4 hours away up in New England decided to come and visit us which was a definite plus. The discussions at the meeting and then later at the bar went great. I think we gathered some nice ideas on how to extend Traits and make it even more powerful.

I won’t bore you all with any further detail. Those so inclined can start by checking out the Traits section on our wiki.

Finally, I have published the work to the Cincom Public Repository. Load bundle: ‘VW Traits Development 3’.

I would be very much interested in feedback as I am sure so would Terry Raymond.

VisualWorks 7.3 and Product Roadmap

I am slightly behind on my blogging , better late than never. Last Wednesday James Robertson, product manager for Cincom Smalltalk and which is now co-in charged of business development, stopped by to give NYC Smalltalk a presentation on 7.3 and their immediate plans.

I think that by now it is clear that Cincom is committed to Smalltalk. Ever since Cincom took over , their Smalltalk division has been aggressively improving the VisualWorks product line. This next year does not let up the pace. The current product roadmap for VW 7.3 can be found here.

Some of the more interesting questions that came up during the presentation dealt with whether Cincom anytime soon planned to support / become involved with Croquet and Traits. The answer was no and maybe.

There is no current plan for Cincom itself to port over Croquet. For those that don’t know what Croquet is it is an amazing collaboration framework which has an even more amazing 3D virtual world interface to it. Croquet is currently written in Squeak a dialect of Smalltalk. More info can be found on the NYC Smalltalk wiki for which I provide a link below.

As far as Traits , there has been some interest expressed by at least one of the engineers at Cincom. The maybe answer is that were something to be built by the community Cincom Smalltalk would evaluate it and contemplate its integration or at least supported distribution.

Currently, there is an initial port of Traits out in the Cincom public repository which was implemented by Terry Raymond. The port basically provides “core” trait services i.e. synchronization between client and traits and installation albeit manually. I have extended the initial port so that it integrates with StORE and is in general more transparent in use but more about that later.

One further very noteworthy news is that Cincom Smalltalk plans to support a migration path for VisualAge Smalltalk customers who wish to stay with Smalltalk and keep up with the new developments in Smalltalk. Talks are underway with some potential partners.

Next month we will have a presentation on Traits. More info on Traits, a new and very interesting mechanism for code re-use, can be found along with info on Croquet on our wiki.

Open source Smalltalk presentations

A couple of years ago I had made a suggestion that a bof be put together at Smalltalk Solutions on Smalltalk user groups, why they are important and what can be done to help spawn more of them. One of my recommendations was that user groups share presentations. The more presentations that are around , the more reason to meet, and the more Smalltalkers meet the better. Unfortunately, I was not able to attend the conference that year. I know that the bof was held but so far have not seen any activity on that front.

Anyhow, recently I was given the opportunity to “put up or shut up”. A new stug out in the L.A. area recently put a post out on c.l.s announcing its birth. I emailed them with some suggestions and hopefully words of encouragement. Daniel, their leader, mentioned that some presentation material would be nice which reminded me of the idea that I had not acted upon.

So here:


The NYC Smalltalk User’s Group will make its presentations available to other Smalltalk User groups. We encourage other stugs to take advantage of this and we hope that other stugs will reciprocate and follow suit. We hope that this will motivate current stugs to meet more often but more importantly encourage Smalltalkers to start stugs in their local areas.

So currently, I am in the process of digging up some of our old content, dusting it off and hopefully sending Daniel something soon. I plan to put a link on our wiki sometime in the near future.

Now, what do I mean by open source Smalltalk presentations?

The presentations will be under something akin to GPL i.e. more specifically:

  • Presentations are to be used to promote Smalltalk in the context of a Smalltalk user’s group meeting.
  • The original authors needs to be credited on the introduction of the presentation.
  • Any amendments /extensions need to be documented i.e. the amendment’s author’s name and date.
  • The modified presentation must be made available to the original author and any other Smalltalk user’s group which expresses interest.
  • There are no warranties whatsoever made with regards to accuracy of the content.
  • Any actions taken on the part of a reader based on the content provided is solely the responsibility of the reader.
  • Any disparaging comments as to the content or authors of the content cannot be included in any of the presentation’s versions.

Well, so much for my legalese. If this encourages the launch of just one more stug, I’ll be happy enough.

Text Messaging with VisualWorks

One very easy way of sending text messages from a VisualWorks application is to simply send email to a provider that forwards the email to your cell phone. See my previous blog for an example of SMTP in VW.

One such provider is Verizon Wireless. Email sent to yourPhoneNumber@vtext.com will get forwarded. Messages are truncated to 250 characters and attachments are of course ignored. I figured that most cell phone providers would have similar service but from a quick look it seems that most have web interfaces but not many an email interface. However, there are companies out there that offer the service. One such company is www.ipipi.com. What is interesting about them is that email will be forwarded to your cell phone depending on rules that are setup.

We plan to shortly be able to alert our users of production issues via text messaging by leveraging SMTP in VisualWorks.