ESUG is really the place to be. There’s so much to learn about what people do in Smalltalk and it’s good to see the energy being put into Smalltalk by young people. Tuesday started off with Colin Putney’s talk on Monticello 2, from which I was a bit distracted by some production problems back home (greetings from sunny Barcelona, btw!), followed by Thomas Stalzers System Integration talk. Nice to see his Smalltalk-based home automation stuff is taking off. Seems he’s found a niche which is both fun and a place where nobody cares about what technology that stuff is written in, as long as it’s just good.
The next talk gave us an overview of what Esteban is doing with Reef in their ibizlog application, which was also very interesting.
Eli Green’s talk on platform integration was just plain cool: he’s building a tool in Objective-C that allows for easy integration of a Gemstone server with native Cocoa Aplications on a Mac. He built a little Cocoa Application in the XCode Interface Builder that allowed displaying and managing data of the Seaside Sushi store on a Mac natively. What I mean by that is that he used an Array controller in IB to display the contents of a Smalltalk Collection from Gemstone. There was no ObjC-code to write in order to add new sushis to the inventoryl, just the usual drag&drop and wiring stuff in IB. Just to prove the date was really being stored in the Gem, he instantly refreshed the sushi store in his web browser and the added sushi was there. Very cool stuff, and open source. Not to mention that Eli had a very nice way of presenting. It was fun listening and watching!
The last talk for the day was Veronicy Uquillaz Gomez showing Torch, a tool for visualizing changes in code. The idea behind all that was to make integrating changes committed by several code maintainers easier. She’s come up with a very understandable way of visualizing changes in packages, classes and methods and presents them in a so-called dashboard. After a short introduction of what the several boxes and lines mean, we had a little quiz: what has changed in a body of code, just seeing the dashboard (no code changes). I must admit that the first one or two were really hard for me, but once you get the pattern, you can really see what the changes to a package was about, like: well, this must have been a message rename, because in all methods calling this method, there was a little removal right before an insert. Amazing.
The talk on what we can learn from Ruby was cancelled, unfortunately.
We’ve had a glimpse at a few projects in the “Show us your project” session, and instead of trying to remember specifically interesting things I just say: wow, amazing what people are coming up with or working on!