Home
subscribe

L'etat, c'est moi

Mere Complexities sells the consulting and development services of me, Paul Wilson.

Conferences

Organising Scotland on Rails
Speaker, RailsConf Europe '08

Archive

Scotland on Rails 2009 - Call for Proposals

Scotland on Rails

Last week, we opened up the CFP for Scotland on Rails 2009. After the success of this year, and the buzz around SoR in Berlin, next year’s going to be pretty special. We’ve already confirmed keynotes Marcel Molina, and Giles Bowkett. Chad Fowler’s coming too, and is teaching a charity tutorial along with Marcel.

The venue is University of Edinburgh’s Pollock Halls again, 26 to 28 March 2009.

The call for sessions is here, by the way: http://scotlandonrails.com/proposals.html.


Rails Conference 2008

It’s been a few weeks since the European Rails Conference in Berlin and about time I shared my experiences.

Vibe

RailsConf Europe Audience

At the Bratwurst on Rails someone asked what I was excited about seeing at the conference, and I couldn’t answer. Last year DHH’s keynote was that the revolution was over, which seems to be holding true. Changes are steady and incremental, and there doesn’t seem much to get really excited over. This year’s DHH keynote was on refactoring (without mentioning the word): he made good points but nothing particularly new to anyone who’s been exposed to Extreme Programming .

I don’t know how much this was just my perception, but the conference felt a bit flat.

Ruby with an Accent

Alan Francis and Paul Wilson

Alan and I talked on organising a regional conference; considering who we were up against and the niche non-technical nature of our talk, it was reasonably well attended and was followed by a lively question and answer session which spilled into the corridor track. The slides are here. The session has also been accepted at RubyConf in Orlando but I’m not going to make it Graeme will be talking my place.

RSpec

Broken Specs

Last year there was a lot of excitement and sessions around RSpec this year not so-much. The corridor-track did confirm, though, that it has become the de facto method of testing Rails apps. This is despite a large amount of indifference, even perhaps hostility, from the Rails core-team. I haven’t tried or been exposed to RSpec much, though I admit to feeling a certain amount of antipathy towards it and ‘BDD’ – largely I don’t see the point. However people new to programmer testing do seem to get it.

One concern is that discussions around the advantages of RSpec seem to place it in the acceptance/customer testing niche. I wonder if it is being used appropriately at the unit level. I really should try it out properly; I may even become a convert.

Ruby versions

David A. Black

Ruby’s David A Black led a well-attended plenary symposimi which touched on the new Ruby versions. There didn’t seem to be a lot of excitement around 1.9, and zero interest in 1.8.7. Pretty much the entire conference was present and from a show of hands, probably 25% had looked at 1.9 and a handful 1.8.7. There was one person using 1.8.7, and that was because it was the only way she could get a patched version for whatever Linux flavour she was using.

Alternative VMs

Maglev

Rubinius

The Rubinius presentation clashed with ours, but from what I’ve heard (and gathered from other sources) the big news is that there’s not much news. They seem to have embarked on a rewrite phase and a 1.0 release is sometime away.

Maglev

Monty Williams ran a Maglev BOF, which was really more of an unofficial presentation running after hours. Again, there’s not much to report here – it runs benchmarks significantly faster than MRI. (The really interesting aspect – the transparent persistence wasn’t even demonstrated.) A public beta, never mind a 1.0 release, is not going to happen anytime soon.

He did suggest that the eventual licensing model would include a reasonably generous free option. I didn’t make a note, but I think he was musing on single CPU and 1 or 2GB memory for free.

JRuby

I didn’t go to any JRuby presentations as there didn’t seem to be much that new and exciting to see. From speaker-room conversation, I gather they are pushing the multi-threading advantages with Rails, and deployment on Glassfish. They are, also making steady progress with regular 1.1x releases and remain the only production alternative to MRI.

Working with multiple applications

A recurring theme for me (well one tutorial and one presentation) was dividing your application into many little apps, both for re-packaging in different contexts and maintaining modularity / separation of concerns. This is an approach I’ve never tried but quite like, although I’d always felt a bit vague about how it would actually work. My only known example, 37s’ Basecamp integration with Campfire and Writeboard seems quite a kludge. Two approaches were presented: creating applications as ‘resourceful’ plugins; deploying multiple applications with a single sign-on.

Resourceful plugins

The ‘resourceful’ plugin is an approach to reuse mini-applications across many different sites. A conference site, for instance, is really a mixture of different applications: you might want a CMS for displaying the more static content, a blog application for news, a session submission and approval application, and a delegate registration application; a product site might want a CMS and blog, but need a shopping cart. Both sites probably want to customise the applications in some way.

In a half-day tutorial Ben Scofield presented an approach for extracting those separate applications into plugins for reuse, and non-invasive customisation, in different applications. This is a similar approach to Engines, but without the need for a framework and deep hooks into the Rails code that need to be fixed for each release.

There presentation is here. You might also want to check out the source for bloget and sandstone, a blog and CMS application written as resourceful plugins.

Multiple co-operating apps

Justin Gehtland’s presented a different aspect: deploying your site as multiple small rails app. The is more robust: if one app goes down the other’s keep going. It also makes it possible to scale and tune different parts of the application according to their own usage. The illusion of being a single app to the user is maintained through a single-signon server (eg RubyCAS-Server), sharing code through plugins, a shared common database, and asynchronous messaging (eg via active-messaging).

Justin’s written this up with example code here.

As well including some great material in his talk, Justin is also a hugely entertaining speaker – this was my favourite session of the conference.

Fizzled out

Like last year, there was no closing keynote: the last session ended and everyone just wandered off; the conference just fizzled out, like this blog post.