The frustrating part is not using many images (which is pretty cool to have multiple computers running at once… but I digress), but setting up the images every time. So I decided I’d find a way to load common configurations automatically. But how would I communicate to the image that it should run certain code on startup? A quick google found writing scripts.
This is one of the nice things we did to Cincom Smalltalk over the last few releases; made this kind of scripting a whole lot easier. In fact, if you check this Smalltalk Daily archive page, you'll find some nice examples. For a more general overview, I covered all of the command line arguments - for both images and the VM - here.
The Smalltalk group at Cincom has always been focused exclusively on Smalltalk - we're now joined in that focus by Instantiations. eWeek thinks that Google's purchase of the Java business from Instantiations is good for Java and for Smalltalk - they quote Mike Taylor:
“We’re extremely excited about both halves of this new development for the company,” Taylor said. “We’re excited for our Java business to go to Google an excellent home it. And the Smalltalk group is excited about being in a new mode where we can focus on Smalltalk.”
The Smalltalk business just got a whole lot more interesting :)
Here's a video from Camp Smalltalk London, 2010 - it's a montage of various things that happened during the event, some with audio from the original video, some with a musical background. To watch, click on the embedded video below - You can also just click on this link to go to YouTube directly.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Videos"?
Sadly, I won't be going to ESUG this year - so the videos I normally shot at the conference won't be appearing, either here or over at my Cincom blog. I'll be following the action remotely via Twitter, Facebook, and whatever other links I turn up, of course. Hope everyone there has a good time, and I'll miss catching up with you.
If anyone has raw video after the conference they would like to have me host, let me know - I have a DropBox account, and that would be a simple way to get stuff to me.
One of the cool new things in VW 7.7.1 is the comparison tool. In a BottomFeeder development image, here's the result of comparing the most recent version of a package to an older one:
Here's one of the changes opened up, with the changed segement highlighted:
Now, if the various things on the screen for this tool don't seem clear, just hit the help button on the top at the right:
Joachim wrote about Seafox again - it's an interesting idea: a Firefox plugin (look in the lower right corner of the browser for the icon) that examines the page you're on and drops Seaside code into the browser window for it.
It's a neat idea, but I have two caveats after having given it a brief try:
The methods it generates are huge - if you use this, be prepared for some serious refactoring :)
Given the wide range of pages out there, YMMV with the results. In my initial attempts, I ran into results that didn't work out
Now, before I end up sounding too negative, it's an 0.1 release, and it's absurd to expect such a thing to handle every web page out there. It's a cool idea, and could give you a nice start from a designer's proposed page layout.
Check out Sven van Caekenberghe's Smalltalk tutorial - using Seaside and Glorp - to implement a Reddit style site in 10 classes. Using a service like the one I have here (Slicehost), going from this tutorial to deployment would be pretty easy.
This is a tutorial showing how to implement a small but non-trivial web application in Smalltalk using Seaside, Glorp and PostgreSQL. Reddit, is web application where users can post interesting links that get voted up or down. The idea is that the 'best' links end up with the most points automatically. Many other websites exist in the area of social bookmarking, like Delicious, Digg and Hacker News.
I'm still trying to get things going with VisualWorks and OAuth - I just realized that the timestamp needed to be in terms of GMT, not whatever my local time is. Makes perfect sense, just hadn't thought about it.
I'm still getting a 401 back from Twitter though; it's likely that my Authorization header isn't structured correctly. I'll have to take a very close look at it, after the next conference call. Later today I'll publish what I have to the public store, in the hope that maybe someone else can tell me what stupid thing I'm doing wrong :)
Update: I just replicated what I have to the public store. If you're inclined to help out, you'll need your own set of keys from an OAuth based system. Look for the OAuth package.