I'm at BarCampPortland this weekend, scheduled to introduce a whole new batch of folks to Seaside this afternoon.
So, I'm apparently at the point where I'm getting interviewed about my progress with Smalltalk and Seaside. I met Ronaldo M. Ferraz at FISL a few weeks ago, and he asked if he could interview me. He sent me a list of questions by email, which I answered a week later (too busy enjoying Caipirinhas on the beach in Copacabana), and he's posted the result in both Brazilian Portuguese and English. It's a good summary of how the first part of my "year of smalltalk" has gone. Enjoy!
After FISL, I spent a week in Rio to kick back and visit my friends of the Rio Perl Users Group (commonly known as "Rio.pm"). I offered to give a talk in exchange for hanging out for a meal, and they asked me what I would want to talk about. Of course, I said "Seaside", as in, giving the same talk I gave at FISL.
I gave my Seaside intro talk earlier today at FISL 9.0 (pictures being uploaded to my flickr account already). The talk was well-attended (about 200 or so in the audience), including some Rails folks. I was surprised though when I asked how many people had coded in Smalltalk before, and got about 25% of the hands raised! Most of them were also web-app programmers.
I was interviewed by noted futurist Stephen Euin Cobb for his podcast, The Future And You. If you skip ahead to about the fifty-five minute mark, you'll hear me rave about Seaside and describe my recent activities. I also rant about why Muni Wifi will never work, and why a pacemaker shouldn't have an IP address amongst a dozen other topics. Enjoy!
In comp.lang.smalltalk today, I got to answer a simple question about metaprogramming. My classic example is being able to create an anonymous class simply by calling "Behavior New". Here's my code:
| myClass myInstance |
myClass := Behavior new. "create anon behavior"
myClass compile: 'theAnswer ^42'. "add a method for instances"
myInstance := myClass new. "create an instance"
Transcript show: myInstance theAnswer; cr. "shows 42"
I just got word that my proposal for a 3-hour Seaside tutorial at OSCON has been accepted. Here's what I pitched:
Introduction to Seaside - Powerful web application development in Smalltalk
Description: Introduction to the Smalltalk Seaside web application framework: an open-source (but vendor supported) challenge to the classic web design strategies, using test-driven development, continuations for easy workflow abstraction, and view components for consistency and re-use. Includes introduction to Squeak Smalltalk, but general OO principles won't be covered.
Abstract: Sure, Smalltalk is where we got our modern view of windows and mice and “the desktop” and object-oriented programming and extreme programming two decades ago, but what has Smalltalk done for us lately?
I’ll answer this by showing off the Seaside web application framework. Imagine being able to debug a broken web-hit in the middle of the hit, fixing the code, and continuing before the browser knows that something went wrong. Imagine being able to re-use control flows and web components with the ease of OO programming. Imagine being able to do test-driven development, even for HTML delivery. Imagine taking an application from “three guys in Starbucks on a laptop” to “3000 hits per second on your Amazon EC2 cloud” with no major changes in design. No need to imagine… I’ll demonstrate all this and more.
Smalltalk knowledge is not required: I’ll start with a brief overview of Smalltalk using Squeak, the free implementation that’s even included in the OLPC XO. General knowledge of Object-Oriented Programming basics would be helpful, though.
As I'm chatting in the #squeak channel this morning, I was reminded that I had adapted Kent Beck's Smalltalk Best Practice Patterns for a half-day Perl coding tutorial. In fact, I referenced this book in a Perl Column I had done for Linux Magazine. If you know both Smalltalk and Perl, you might get a kick out of that.
One of my fond memories of years past was reviewing the frequent submissions to the Internet Ray Tracing Competition (IRTC), being consistently stunned at how Dave Buck's povray could be used to generate some remarkable photorealistic images, even back in the early days when 10 Mhz was a fast machine.

on The Elevator Pitch for Seaside