RailsConf Europe 2008 Impressions

I came back yesterday from Berlin where i attended RailsConf Europe 2008. Unfortunately i can not clone my self so i was not able to attend all the talks but here are some of my impressions and small summaries.

Neal Ford and Patrick Farley from Thoughtworks held a great tutorial on meta-programming in Ruby, explaining a lot of different techniques.

The guys from Intridea gave a very good talk on unobtrusive Javascript using Low Pro. They did a few goo examples during their talk.

DHH talked in his keynote about how everything we write starts feeling legacy at some point. This feeling gets stronger over time and at some point we get sick and start considering a complete rewrite, something that he said is always a big mistake. He stressed the fact that if you keep learning and improving yourself over the time that is part of the whole process so we should not feel bad about it. He brought up a few examples of actual code from their projects at 37 signals and demonstrated his approach: finding out why things went wrong and fixing it rather than complaining about how bad it is written.

The guys from Made by Many gave a brilliant and really funny talk on their project Juggernaut. It enables rails applications to push data to their clients subscribing channels. It works using a transparent SWF on the client that opens a socket to a Juggernaut server subscribing one or more channels. Rails applications communicate with the clients using a plugin and the Juggernaut server.

Till Vollmer gave us an insight on Google Gears and how to build an application with Gears support. He also gave away some premium accounts for MindMeister, which i find really cool!

Jonathan Weiss talked about the possible vulnerability issues when deploying Rails applications, explaining how hackers can these out and exploit them, bringing up examples on how it works and you can fix it. He presented all the information in a very practical manner and i will definitely will spend some time looking again at his slides.

Jeremy Kemper from 37 signals gave a very interesting talk on performance and optimization. It’s an interesting fact that most people focus on the optimization on server side rendering but actually that is only a small fraction of the time that affects the user. There are a few techniques to improve frontend performance like sprites, content delivery networks, compression with gzip, using multiple asset hosts, etc.

During the Symposium with David Black on Thursday people discussed about the different Ruby implementations and versions they are using and what’s coming up in Ruby 1.9 and Ruby 2.0. Most of the people seem to be using Matz’s Ruby Interpreter and version 1.8.x. David also did some live coding to demonstrate some of the differences between Ruby 1.8 and 1.9.

Ben Scofield presented some advanced REST techniques to use in different complex situations. It was a really interesting talk, with lots of information and examples and definitely something to look at again at home.

Sven Fuchs talked about the past, the present and the future of localization in Rails. Because of the lack of support for localization in Rails, in the past there were all kinds of plugins that were essentially monkey-patching rails, which ended up in a rally big mess. With the release of version 2.2 Rails will support I18n, this means there will be hooks for localization. There will DB-based backends like Globalize 2, YAML-based backends and also native Ruby backends.

It seems that Sun is doing quite a lot of effort with JRuby and Glassfish. Basically, any rails application using native Ruby gems can run on Glassfish. I had a brief conversation with some of the guys and they said that the performance is definitely acceptable (they mentioned some comparisons with Mongrel and other servers) and that the thread safe feature in Edge Rails results in a significant reduction in memory usage. Of course i would like to see some benchmarks comparing JRuby with Passenger.

Trends

  • quite a lot of people seem to have switched to jQuery
  • the current approach for using AJAX and keeping your application accessible seems to be progressive enhancement rather than graceful degradation. Essentially you build the essential functionality first and AJAXify it later using Low Pro.
  • Sun is putting a lot of effort in JRuby but it does still not seem very popular (not many people are using it)
  • there a some companies that are doing business around profiling and optimization, for example Gomez and FiveRuns

 

If you missed the event i recommend taking a look at some of the presentation files. There are also some pictures.