Sunday, 27 December 2009

Boston Roundup

First off, just to get this out of the way, Hyatt Regency Boston: nice enough hotel but 50c/min for internet? They do realize that works out to $30/hr right?! I mean... heck, I'm speechless. And I can't decide which is worse, that or the $36/day for parking. Luckily I didn't have a car.
From Boston '09 (Steven Noble)
I was in Boston a few weeks ago to take Product Management training (happy to report I passed the certification!). An old friend of mine came down from Ontario and we took in the town for the weekend. We spent much of Saturday wandering around Cambridge and then walked the Freedom Trail back through the North End, Boston's fabulous Little Italy.
The financial district had a nice sense of scale, not unlike downtown Vancouver (if you ignore the West End) or maybe... Perth? And Boston Commons is a perfect feature in the heart of downtown; it's nowhere near the size of, say, Central Park or Stanley Park but is one of the nicest city parks I've seen.
Overall, I liked the feel of Boston, and the snow and drizzle failed to dampen our spirits. I have to confess that I found Cambridge pretty uninspiring, though. I expected Harvard and MIT to exude a sense of history and achievement—like the colleges in Cambridge, England or even Trinity College in downtown Dublin—but they felt like little more than a collection of oldish buildings. Maybe the preponderance of brick as a building material simply fails to impress.
On Sunday night, I went for dinner with Carl Gundel and Chris Norton, two Boston-area one-time Squeakers. As in Vienna, I presented a convenient excuse for Smalltalkers who hadn't crossed paths in years to get together. We had some interesting discussions and hopefully reignited the Smalltalk spark in Chris.
Kudos to Yelp for the recommendation of Bar Lola and to Zagat for the pointer to delicious Italian food and friendly service at Carmen. Oh, and I loved the Equal Exchange Cafe — wish it was in Vancouver.
As usual, click any of the photos above to see the others I posted. Or check out Steven's photos from the trip.

Wednesday, 16 December 2009

Training in Boston

So I'm most of the way through this jaunt down the US East Coast and have yet to post even a single update (unless you count the occasional tweet). I know, I know... what can I say? I've been busy. My first attempt was overly rambling so I'm going to focus on one aspect here and follow up with a few more posts over the next couple of weeks.

The main reason for the trip was a Product Management seminar led by Steve Johnson of Pragmatic Marketing—and I definitely recommend the course to anyone who's interested in this stuff. One thing I found interesting: in North America smalltalk usually means asking, "so what do you do?"; well at a seminar made up of 30 people who all do the same thing, that gets replaced with, "so where do you work?". Fun watching the puzzled looks on people's faces as they stared at the blank line below the name on this independent consultant's name tag. :)

The main focus of the course is on guiding product development through market problems and on grounding those problems in real data instead of hunches and "wouldn't it be cool if...?". I'm interested in Product Management from two angles: first, as a possible career direction and, second, in its applicability to open source projects, such as Seaside.

In past jobs, I've found myself naturally trying to fill an institutional void. I've been the one asking, "Are you sure the students want an on-campus version of Facebook? I kind of suspect they just want to use Facebook...". Actual demand for what we were doing, the exact problems we were trying to solve, and even the development costs have all been more-or-less-hand-wavy things. How do you know what to implement if you don't know what problem you're solving and for whom? Or, to look at it another way, if you develop without that knowledge, how do you know anyone will find the result valuable? It was revealing for me when I first learned there are people who make a living doing these things I found rewarding.

The applicability to open source is an interesting issue. On the one hand, it is almost intuitively obvious that most of the same factors apply. A project that meets a market need will succeed while one that does not will fail. A project that knows who its users are can be more effectively marketed; one that does not will succeed only through chance or an inefficient shotgun approach. What I'm not sure of yet is what is different: is it the formulas, the costs of the resources, or maybe their units of measurement? Or do we need to tweak one or more of the definitions? As a random example, Product Management makes a distinction between users and buyers of a product; what's the correct mapping for these concepts in open source? I'm still pondering all this... more to come.

Before I leave off, I should mention that the Hilton DoubleTree in Bedford is one of my best hotel experiences in recent memory. Everything was efficient and painless. The room was roomy, modern, and spotlessly clean. The internet was fast and free. And the (three!) extra pillows I tossed on the floor were left there neatly for my entire stay instead of being put back on the bed. They even insisted on comping a meal I had in the restaurant which was, admittedly, slow in arriving but not to the point I was concerned about it. So, I don't know why you'd be in suburban Boston, but if you are, go stay at the DoubleTree.

Wednesday, 2 December 2009

New York presentation confirmed

The details for my talk in New York have been confirmed. We'll be at the Suite LLC offices (directions) on Thursday, December 10; there's an open house at 6:30pm and the presentation is at 7:00 (drinks afterwards).

Here's the planned subject of the talk, though I think I'll play it a bit by ear and see what people are interested in:
Seaside is a rare example of software that runs on all the major Smalltalk platforms: Pharo, Gemstone, GNU Smalltalk, Squeak, VA Smalltalk, and VisualWorks. We’ll take a look at some of the challenges in keeping the framework portable and some of the techniques the team has developed to deal with these. Along the way we may also touch on tools such as Grease, Slime, and Monticello and how they help the process. And then we’ll see where the discussion leads.

Friday, 27 November 2009

Fresh Tracks!

Wow. After the snowiest month on record, what a beautiful day for Blackcomb's opening. Much of the mountain was ice after yesterday's rain but that first run down untouched powder in 7th Heaven made the whole trip worthwhile. And the second run. And the third (ok, no longer untouched by this point). I'd almost forgotten how beautiful snowboarding can be on a sunny day.

Tuesday, 24 November 2009

Boston, NY, Raleigh

I've confirmed a December trip to the US East Coast. In Boston, I'm attending a product management seminar put on by Pragmatic Marketing, meeting up with a few Smalltalkers from the area, and planning to pop in on the Boston Ruby group's monthly meeting if I can squeeze it in.

On Thursday, December 10, it looks like I'll be giving a presentation at the NYC Smalltalk users group—Charles was kind enough to try to schedule something around my timetable. Details are not quite confirmed; I'll try to remember to post an update here but keep an eye on their site if you're interested. I'm planning to talk a bit about the techniques and tools we use to ensure Seaside portability across the various Smalltalk dialects but we'll see where the conversation wanders. I'm also planning to visit with friends, enjoy the pre-Christmas season in New York, and maybe do some shopping.

Finally, I'm making my way down to visit the VA Smalltalk team in Raleigh, North Carolina. John and I are planning to put our heads together on a couple of issues and I think I'll be doing a Seaside tutorial for some of the engineers while I'm there.

I'm looking forward to a productive, if exhausting, trip. Drop me a line if you're in one of these areas and want to meet up.

Friday, 20 November 2009

SIXX port for VASt

I just published an initial port of SIXX to VAStGoodies. Most of the tests are passing and I'll push the minimal changes I made back upstream for integration. Just like the Pier and Magritte ports I recently finished, this one was requested and released back to the community by Nationaal Spaarfonds.

The plan is to see if I can use SIXX for Pier persistency... that'll be the next step.

Tuesday, 3 November 2009

Pier for VASt

I mentioned a couple of weeks ago that I had uploaded an initial port of Magritte for VA Smalltalk. I've spent a couple of days since then (again courtesy of Nationaal Spaarfonds) getting the Pier port cleaned up and posted. Currently none of the add-ons have been uploaded but I have the security package mostly done and it will follow shortly.

Consider these alpha releases: they are being heavily updated to work with the newest Seaside (3.0a5 currently) and to sort out compatibility with different platforms. With that said, though, all of the Pier tests and all but four of the Magritte tests pass, so give them a try. You'll need the B130 development build of VA Smalltalk.

The original Pharo sources for these Seaside 3.0-compatible versions are available: pier repository magritte repository. Again, these packages are still in flux. They're now built on top of the same Grease portability layer as Seaside 3.0a5; I'd encourage interested platforms to give them a try and see how easily portable they are.

Monday, 19 October 2009

Magritte for VASt

Over the past month or so I have been doing some work for National Spaarfonds, including porting Magritte to VA Smalltalk. They are generously offering this work back to the community and I am happy to announce that I have just uploaded the first version of the VASt Magritte port to VAStGoodies.

You'll want to start with the VASt 8.0.1 [128] developer preview image and then load the configuration map from VAStGoodies. There are currently four failing tests: three caused (I think) by method inlining and one by differences in error handling behaviour. I haven't yet determined what (if anything) can be done about these.

A version of Pier ported to Seaside 3.0 and VASt won't be far behind but I have some more cleanup to do first in order to make sure it loads into a clean image.

Friday, 9 October 2009

Vienna or bust

I've been wanting to visit Vienna at least since my arrival in Germany last year —particularly after trying to learn the Viennese Waltz in my ballroom dancing class—but could never convince anyone to come along. Thanks largely to an invitation from Bernhard Pieber, I finally made the trip.
And I've been busy: as well as trying to take in Viennese culture and some of the sights, I also presented an introduction to Seaside at mobilkom austria and had the chance to meet some local Smalltalk and Seaside developers over dinner and beer. It seems to take the arrival of a foreigner to prompt the locals to get together (no surprise: the same is true in my home town!).
Vienna is much as I imagined: a real "European" city with beautiful old architecture everywhere you look. A visit to the Kunsthistorisches Museum would have been worth it just to see the building itself, but I was also struck by a couple of sculptures and by several paintings by Pieter Bruegel and Lucas I. van Valckenborch. It's interesting that I liked both artists since it turns out that van Valckenborch studied under Bruegel and Bruegel's Tower of Babel, which was displayed in the museum, was the model for van Valckenborch's version, which hangs in the Louvre.
First thing one morning, I walked to the Spanish Riding School to watch the exercises of the Lipizzaner Stallions. I thought Lipizzans were all grays but apparently that is simply the dominant and selected gene and it is tradition to keep at least one bay at the school at all times. The horses and their riders are impressively controlled and the Winter Riding School itself is astounding too: is there anywhere else in the world where you can ride a horse on a bed of sawdust, surrounded by two levels of marble balconies and lit by enormous chandeliers?

We saw a big band concert at a local jazz club and got standing-room tickets to a sold-out orchestral performance with Lang Lang (郎朗) on the piano and Zubin Mehta conducting. I would have gladly paid the extra for a seat if one was available, but these €6 standing tickets are a wonderful idea to make the symphony more accessible. The only disappointment was the sound in the concert hall, which seemed somewhat flat, probably due to our location under the balcony.

Schloss Schönbrunn (the former imperial palace) is also worth a visit. The expansive gardens are enjoyed in the mornings by walkers and runners and, despite the tourist hoards, the Gloriette perched on its hilltop behind the palace, creates a striking image. The palace museum was interesting too: among other things, I discovered that Marie Antoinette was Austrian (she, like most of her 10 sisters, were married to foreign royalty for political reasons).

Like I said, I've been busy.

Thursday, 8 October 2009

Seaside 3.0a5

The fifth alpha release of Seaside 3.0 is out. Check out the release announcement. It's looking like Cincom, Instantiations, and GemStone will all include this version in their next upcoming releases; Pharo users can use the Seaside Builder to generate a load script. Squeak users will probably have success using the Builder as well, but we are looking for one or more people to actively test and maintain a Squeak port. Get in touch if you're interested.

We're expecting this to be the final alpha release, so now is the time to actually send in any bug reports you've been sitting on.

Sunday, 4 October 2009

Languages - the other kind

A few days ago, Adriaan and I checked out Inglourious Basterds. It wasn't really what I was expecting (what was I expecting?) but it was well done overall and I enjoyed it. Christoph Waltz was the highlight for me: the cunning Col. Hans Landa was just plain interesting to watch. The movie kept me engaged right up until he finds the shoe (I'll leave it at that so as not to give anything away), at which point things seemed to go steeply downhill and the movie stopped feeling like it was going anywhere. It never really recovered.

The most rewarding part for me, though, was watching a movie with three spoken languages and understanding just about all of it. I was particularly keen to see the movie in the Netherlands where the absence of dubbing and my inability to read the subtitles left me free to take it in without distraction. Anyone know any other German/French/English movies that are worth seeing?

Monday, 28 September 2009

Seaside at Amsterdam.rb

I'm just back from the monthly meeting of the Amsterdam Ruby User Group at De Bekeerde Suster in Amsterdam. The cheeseburger was delicious, though I was slightly offended when the guy who brought the food said, "Let me guess... you want ketchup?". It's not like I'd even said a word; how could he have decided I was north american? :)

We talked about their plans for the RubyEnRails conference coming up on October 30 and shared some of our experiences from ESUG conferences. There was quite a bit of discussion around how to encourage programmers to give lightning talks. I also took a few minutes to give an overview of Seaside. Everyone there was quite interested in Smalltalk and the level of awareness was already quite high. We had some interesting discussions of the language's history as well as its benefits and limitations. In the end that made up a good part of the evening.

Thanks for the warm welcome.

Monday, 21 September 2009

In Bruges

I spent this weekend in Belgium. Arriving in Bruges after dark, I was greeted by the clip-clop of horse-drawn carts on cobbled streets (what an amazing sound!) and narrow lanes lined with medieval stone and brick buildings. The whole scene is gently lit by street lights that manage to avoid casting the gloomy sodium-light shadows found most places. Bruges by night is one of the most beautiful and romantic cities I have seen.
Incidentally, apparently I'm one of the few people left in the world who hasn't seen the movie In Bruges (oh it's recent... no wonder I didn't see it: I was in China), since it's all anybody talks about whenever Bruges comes up in conversation.
I had already decided to go for a run on Saturday when I looked at the online event listings and found there was an organized run happening and not much else that interested me. So, after a pleasant boat tour around the canals, I took my advice from last week one level further and saw the area around Bruges while running a 15km race.
For dinner, I found an excellent restaurant called De Vlaamsche Pot (The Flemish Pot), which serves local regional cuisine. The two-storey restaurant is cleverly laid out throughout a restored period house, complete with huge wooden beams in the ceilings. It is charmingly decorated and it successfully creates the atmosphere of somebody's dining room without any of the rooms feeling cramped at all. On top of that, the service was excellent in any language you can think of and the food was terrific. I filled up on delicious Flemish beef stew and didn't have room to even consider dessert.
The city's charm is tempered slightly during the day by the hoards of ambling tourists but not enough to put a damper on the weekend. It would be nice to do some day trips in the area some day: I'd love to see the fields of poppies and maybe check out Ypres and its Menin Gate, a painting of which struck me while in Canberra a number of years ago. It's always good to save something for the next visit.
Belgium brings my number of visited countries for the past three weeks to six and it looks like I'll hit at least seven before making it back to Canada... whew.

Friday, 18 September 2009

Smalltalk on AppEngine

Torsten posted a link to the announcement of GwtSmalltalk, which compiles to JavaScript and runs on top Google Web Toolkit and, thus, AppEngine. This is interesting coming only weeks after Avi's announcement of Clamato... there's clearly some interest around combining Smalltalk and JavaScript at the moment.

You can try out a demo. Hint, to create new instances you need to use:

Kernel instanceOf:

Saturday, 12 September 2009

On Walking

Whenever I find myself in a new city, I like to walk. I find a map; I pick a direction, a neighbourhood, or an arbitrary destination; I put on comfortable shoes, and I walk somewhat aimlessly, just taking in what I find. Often I'll do this for days in a row, each time in a new direction. The endpoint and the route are irrelevant because it's about the journey itself.

There seems to be no better way to get a true sense of a city. You're really missing out if you think that Paris is all about the Eiffel Tower, that Beijing is characterized by the Forbidden City, or that you'll get a full understanding of New York by riding the subway and visiting Times Square. Oh sure, make time for those landmarks if you want, but what's really interesting is a city's people, its architecture, back alleys, corner stores, sidewalks, graffiti, parks, and used bookshops.

In Beijing I walked for weeks—hours every day—trying to puzzle out hànzì characters and discovering hidden temples, noodle shops, and bicycle repair stands. Day after day, I remember being constantly astounded by the sheer quantity of life that is lived every day in that vast city, by the amount of observable change from week to week.

Wandering in central Berlin one day, I stumbled across a brick line in the road, marking the former path of the Berlin Wall. I traced this line from Brandenburg Gate, through quiet residential areas, alongside concrete walls covered with vibrant murals, past memorials, and down renovated green spaces. As I picked my way east towards Warschauer Straße across the river, I felt a real sense of the history and the difference, still visible, between west and east.

In Kolkata (Calcutta), on possibly the only occasion when "the children" (we were 26) were allowed to roam the bustling downtown streets freely by ourselves, we stumbled across a serene old church with a graveyard full of interesting 250-year-old tombstones. There we hid from the beggars and hawkers and attempted to decipher the epitaphs engraved in old-fashioned English script.

The last two days, I wandered Frankfurt. Yesterday I took in the riverside, with its grassy banks, apparently covered with runners once the work day ends. I wandered downtown, enjoying the modern low-rise office buildings and German-style half-timbered houses, the quiet cobbled squares and the wide-open bustling shopping street. Frankfurt is perhaps not the most noteworthy of cities but it has a comfortable scale and pleasant feeling of balance.

Today, wanting to go farther afield, I caught an S-Bahn out of town, thinking I'd look for the Cincom office, which I knew to be in that direction. Only 20 minutes out of downtown, I got off the train in South Kronberg and discovered apple orchards, corn fields, vistas of church towers and rolling hills, and people riding horses right past the business park! In a field beside the passing cyclists and trail-walkers, a middle-aged man practiced paragliding. Wandering south through Niederhöchstadt, I then lucked upon an Apple Festival and made lunch out of apple wine and bratwurst before catching a return train.

Each city has a rhythm and you won't find it sitting in your car, your hotel room, or the ticket queue for the tourist sight of the day. So get out and walk.

Monday, 7 September 2009

ESUG 2009 wrapup

Well, as I recover from another busy but very fruitful ESUG, it's interesting to look at what made it such an enjoyable conference. There is a real sense of community there that makes it a pleasure to attend every year.

There were some interesting presentations but, for me anyway, the true value was in the networking and personal conversations. I made some interesting new contacts, renewed some old ones, and rounded up some consulting work that will keep me in Europe for a little bit longer. The organizers made some last minute changes this year to help encourage these sorts of meetings and I hope we will see more of this sort of thing next year.

My overall impression is that these are interesting times for the world of Smalltalk. There seems to be a sense of common purpose and renewed life at the moment and it's satisfying to think that Seaside has played at least a small role in making that happen. I'm not sure what lies ahead, but I think opportunities will arise that we need to take advantage of. I'm also not yet sure exactly what part I want to play but I'm starting to think seriously about it.

My tutorial with Lukas was well received. As usual, we didn't quite manage to get through all of our material, but it went pretty smoothly and I think the thirty-or-so participants all picked up some new tricks to use in their Seaside projects.

The Seaside sprint was very successful, even though we didn't quite meet our target of finishing a 3.0 beta release. Keep an eye out for an announcement when we do get it done.

I'll close with links to a few people's photos:
Hope to see you all next year in Barcelona!

Wednesday, 2 September 2009

Seaside 3.0 and Documentation

For those who aren't at ESUG this year and missed Lukas' tweet, we announced yesterday that the Seaside 2.9 alpha series will become Seaside 3.0 when we go to beta.

We feel the name is well earned: a cleaner architecture, increased flexibility, better documentation, improved portability, and jQuery support make Seaside 3.0 an even more solid base for developing powerful web applications. They also lead the way for more incremental changes in the future and should make life easier for anybody who wants to develop tools or other frameworks on top of Seaside.

We will be running a Seaside Sprint here in Brest from Friday afternoon through Saturday and the goal is to get the remaining issues resolved for a first beta release. Please join us if you have the opportunity.

Also announced at ESUG, was the release of the online book Dynamic Web Development with Seaside. It's a great resource: make sure to check it out and contribute comments and content.

Saturday, 29 August 2009

ESUG and Keychain integration for Firefox

I arrived this afternoon in Brest, France for the ESUG 2009 conference. I didn't write much Smalltalk but got caught up with a few people and had a couple of interesting discussions.

There will be much Seaside to come but, taking a break from that over the past few days, I also managed to get a beta version released of my Keychain Services Integration extension for Firefox that allows OS X users to store their logins and passwords in Apple's keychain. This allows the passwords to be shared with other browsers like Safari and Camino and also lets you take advantage of features like Keychain locking to protect your stored passwords. If you use Firefox 3.x on OS X, give it a try and let me know how it goes - it's scratching an itch for me anyway.

Tuesday, 14 July 2009

Through the eyes of a child

On a whim, while walking in London yesterday, I popped into the Tate Modern gallery. I'm not a huge modern art fan, but a few pieces caught my attention. Two of the most interesting were No Title (Table and Four Chairs) and Red Room, which I've just discovered are both by Robert Therrien.

Red Room is, as the title suggests, a room where every single object (except the single white light bulb in the ceiling) is practically the same shade of red. The room is packed with stuff and it's surprisingly compelling to look at. The collection of objects screams that there's some hidden story here waiting to be deciphered.

No Title (Table and Four Chairs) is a large scale (3.5 times normal) dining table and four chairs. On first glance, I thought, "ok, a big table". But the more I studied it, the more I was almost unable to walk out of the room. I began to contemplate the effect of looking up at the underside of a table, of standing barely higher than the seat of a chair. Obviously, as children, we all saw the world from exactly this position, but I found the situation almost impossible to fathom, let alone to recall. Very interesting.

Check out photos of both or if you're in London drop by the gallery and see them for yourself.

Monday, 29 June 2009

Web Velocity released

Big news from Cincom on the Seaside mailing list today: they've made an evaluation version of their commercial Seaside-based Web Velocity environment available for download. In case you've missed the buzz, Web Velocity takes Seaside running in VisualWorks Smalltalk, adds ActiveRecord integration and a web-based development environment (written in Seaside, of course). If you're curious, head over and download a copy.