I've been back from RailsConf for a few days now, and I've had a chance to reflect on the things I learned while in Las Vegas for what turned out to be my favorite RailsConf yet. Elsewhere, I wrote about my overall impressions, but for this post I want to focus on several of the sessions I attended and participated in.
RailsConf for me really started Monday night, with the Teaching Rails Birds of a Feather session that I moderated. We had a great turnout (somewhere in the neighborhood of 30 people), and the attendees ranged across a number of different disciplines — some people were teaching in a university setting, some were writing books, and others were interested primarily in building the community through educating new developers. Regardless of their backgrounds, though, everyone had good ideas and experiences to share, and I learned about a number of exciting new efforts (including the various components of the RailsBridge effort and the upcoming Rails Tutorials project).
Tuesday, I attended James Adam's session on Rails Engines. I heard great things about his presentation on plugins from the 2008 RailsConf, so I had high hopes about this one. As it turned out, the presentation itself was decent, but the content was a little too basic for me — we've looked fairly carefully at the engines support in Rails as the next step for our resourceful plugins, so most of what James talked about I'd already seen. I do have to say that the DHH-headed cherub slide was a real winner, though.
Given the recent flap in the community, I was eager to see how the Women in Rails panel would go. Attendance was lower than most everyone expected, though the major players were all present. Desi McAdam, Sarah Mei, and Lori Olson avoided (for the most part) the brouhaha, and ended up having a nice discussion of the various issues surrounding women in technology in general and in the Rails community in particular. As I mentioned to various others at the conference, I think it's good that we're having these sorts of discussions now, and that people are willing to talk about diversity and its value.
This was another session that I was looking forward to primarily based on the presenter. Scott Chacon did the session before mine last year, and famously ran through several hundred slides; this year, he had somewhere around 400. Amazingly, his slides aren't even of the Takahashi school — he puts some fairly complex diagrams and animations on there, and does an excellent job of presenting compex issues. I knew of many of the advanced tricks in this presentation beforehand, but a lot of it was new, and I had a great time at the session.
I wasn't entirely sure what to expect of Obie Fernandez's presentation; it ended up being a primer on the various issues he's dealt with as the founder of Hashrocket. Viget's similarities to Hashrocket meant that I was familiar with many of these, but Obie's an engaging presenter, and I think he communicated the challenges very well.
For the most part, I'd like to avoid talking about the keynotes. I do, however, want to call specific attention to Chris Wanstrath's. Unlike many presenters, Chris writes essays for his talks, and he reads them live. Unlike some speakers who do this, though, Chris is really good at it. It also helps that his content is excellent. For this talk, Chris told people how to become 1) a famous Rails developer, and 2) a good Rails developer. Unsurprisingly, the two are not synonymous, and his exploration of the processes behind each was inspirational.
I attended this session mainly to make sure that my session on Thursday wouldn't duplicate too much of Adam Wiggins' content. Luckily, Adam provided a much more basic introduction to the issues than I'd planned on, so there was minimal overlap. The most interesting thing I came out of this session with was an understanding of just how pervasive Rack was at this RailsConf — everyone was talking about it to some extent. I almost think there could've been a complete Rack track across all three days...
Unfortunately, the Rumble panel didn't go as well as I'd hoped. The more events I attend, the more convinced I am that panels are one of the hardest sessions to do well — and while I really enjoyed the discussions all of us had leading up to the session, the actual on-panel conversations just didn't seem to flow as smoothly as the less formal ones did.
I was very excited to meet the other panelists, though — they've all worked on some remarkable things, and they're great guys. I'm looking forward to seeing what they all do in this year's Rails Rumble (August 22nd-23rd, by the way - mark your calendars!)
My solo session was (as it always seems to be) on the last day of the conference. Luckily, however, this time it was in the morning, so people were still fairly alert, and were only beginning to suffer from learning-overload. I'm very happy with how the overall presentation went, particularly as I was trying out a new technique for taking questions (which I originally heard about from Giles Bowkett).
At the beginning of the talk, I showed the hashtag #?forben, and asked people to tweet their questions as the session progressed. This has the dual benefit of letting people ask questions when they arise, and forcing those questions to a reasonable (140 character) length. When I was ready for Q&A, I fired up my trusty Twitter client and saw what people had asked. The main problem with the technique was the layout of the room, which meant I had to jump down off the stage and run over to the side to see the actual questions (after a few iterations of this, the audience finally just shouted the question out to me and I answered it from the stage).
One other interesting thing came out of this session; while I was talking about all the great changes in Rails over the past year, I put up a slide with the most awesome logo I know of (the one Doug Avery created for Bowling Thunder last year). The logo and website got around, and finally ended up on Reddit, where it apparently generated a small flood of traffic to the website. Let's hear it for Doug Avery, everybody!
Going in to RailsConf, this was the session I was most excited about. The problems with integrating disparate Rails applications have always been one of my prime interests, so I'm greatly looking forward to it being much easier in Rails 3. Unfortunately, however, Yehuda's and Carl's talk left me unsatisfied and a little less hopeful. They admitted upfront that there was no code for mountable applications yet, and that they'd be showing us unicorns — the way they hope it'll work — which is perfectly fine. The vision they presented, though, appeared to me to be very incomplete, and to have some fundamental issues that don't appear to have been addressed. At this point, however, it's pretty close to useless to object, since the vision itself is so far from being implemented. I'll be keeping an eye out, however, and will be very interested to see how this progresses in the future.
Incidentally, this talk was also the one that most inspired me to begin working on Athena again, since one of the features I'd originally planned for it was a painless way to bundle multiple applications together.
So, that's a quick review of some of the sessions I attended. All in all, I think this RailsConf was a huge success — I met a ton of new people, and learned some interesting things along the way, which is about all you can hope for out of a conference, isn't it? Let's hope that next year is as good!