In my experience with conferences, the last day things start to get a little more sane. People slow down - they’re usually exhausted from several hours of drinking from the firehouse (of course some of that ain’t just learning water either…) and at least a few people have already travelled home (wi fi is almost usable!) so the numbers start to drop. Today is no different - I didn’t need to arrive at my first session 20 minutes early just to get a decent seat, in fact, after a great chat with ThoughtWorker Joe O’Brien (thanks for the tip on the backpack and the girls are adorable!) I was able to saunter up to the front of the room about a minute to 9.
My first session was on open source testing tools in Rails by Dave Hoover. Dave covered Watir and Selenium with a shout out to Sahi. Over the years, I’ve tried various UI level testing tools and have always been left disappointed. Most are just too brittle - change something innocuous like today’s date and all of a sudden you have failing tests all over the place. Many used proprietary scripting languages further raising the barrier of entry but worse, you typically had to plunk down some serious change on licenses. Lucklily, the open source world is coming to the rescue and while both of the tools Dave demoed have their issues (Watir is basically Windows only and Selenium has an odd syntax) it’s certainly good that we have options.
I’ve read a bit of what Phil Windley has said about identity but I’ve never really worried too much about it - after all, I’ve spent so much of my time developing corporate solutions where it was handled by others. Sure, I’ve been annoyed at the volume of logins I need and it concerns me how much of that data is spread all around the web but after seeing Matt Pelletier of Eastmedia talk about Open ID (in a talk related to one I attended on Friday) it sure makes me want to explore that solution. While there are still issues to be worked out (and features to add such as reputation services and attribute verification) it feels like there is a lot of promise in this space. Based on the questions the audience asked, people have clearly thought through some of the ramifications of identity and privacy (more so than many large companies apparently).
If you’re read any of my other posts on RailsConf (day 1 and day 2) you may sense a theme: metaprogramming. I’m really interested in this topic (partially due to my upcoming teaching assignment…more on that later) so I had to attend Stuart Halloway’s talk (besides, I knew what a great speaker he is so I probably would have gone to anything by him). Stu went through a number of tricks in Ruby such as to_proc, indifferent access, and whiny nil. One thing I’ve really noticed about the Ruby/Rails community - they get the Pareto principle, they really understand that 80%, that good enough, is well, good enough. I’m not sure what it is, but on so many of the Java projects I’ve worked on, we’ve really gotten bogged down worrying about that edge case, that thing that happens once in a while, we seem to focus too much on the what if. For whatever reason, that doesn’t seem to be a problem in Rails land. While certainly some of that is language related (Java forces you to work in certain ways) but a lot of that is just attitudinal.
After showing of some cool Ruby-fu, Stu went on to describe how certain things are done in Rails including class reloading, ActiveRecord accessor generation, transactions, and (my personal favorite) how data gets from the controllers to the views. If I count up all the time I’ve spent pushing data into and out of forms on a web page…and the pain that has caused (hmm, is that int value really 0 or has it just not been entered yet?) it makes me want to cry. Rails makes so much of this cruft just go away and I love that! A great talk by a fantastic speaker.
After lunch mister Tomcat/ant himself, the chief photographer for all things O’Reilly, James Duncan Davidson did a talk on deploying Rails apps (I’ve never seen James live before - he has quite an interesting background!) As I mentioned in an earlier post, I’m actually quite surprised at how *hard* deploying Rails apps can be. Dave challenged the community on Friday to fix it and I expect things will quickly improve, but for such opinionated software, for a framework that makes so many things so darn easy, deployment is really a weak link. James gave some good tips (of course every app is different so it’s hard to arrive at “this is what will work for you” type advice) and also pointed out some of the real land mines out there. With the brain power in this space, I know the problem will improve, it’s just a matter of when.
The event wrapped up with Q and A of the Rails core team (well, 3/4 of it anyway). Most of the questions were actually fairly technical in nature but the 80% answer came out on more than one occasion. I think the adherence to this mantra is the core strength of Rails - I really wish *that* would infect other languages and frameworks.
Anyway, I’m quite tired - been some long days here but tonight my wife and I will venture out for some classic Chicago pizza! All in all, I have to say I had a great weekend and I’m even more jazzed to further my work with Rails. I have mixed feelings about the news that next year the event will be cosponsored with O’Reilly, I suspect they will allow thousands in and probably triple the price and of course the event is moved to the West coast (Portland to be exact.) While I would like to go, we’ll see… Other than the spotty wi fi (which is now, btw, extremely snappy), the hotel was fine (well, my wife would have preferred for the pool to be open) and the dining options near by were, ahh, limited (surprisingly, the constant airplanes - like every 1-2 minutes - wasn’t too distracting). Still, it was great to meet some new people (though I understand where the cult label comes from), folks that have really been inspirational. Thanks to everyone that made this event all that it was!