RailsConf 2011 Recap
RailsConf 2011 took place in Baltimore last week and I had the luck to not only attend but speak at the conference. It was my first time attending a RailsConf, and I was thoroughly impressed with the number of great talks, great after-parties, and how well-organized the conference was. Here’s the recap:
-
Gregg Pollack and crew from Envy Labs opened up one of their codeschool.com courses and walked the audience through it. Each section was coupled with a video of a classic arcade game where the sound effects were replaced by hilarious vocalizations. Even if the games were only loosely related to the topic, it was a great example of capturing the audience’s attention.
The course had a healthy dose of game mechanics (a points system with hints that docked your score) and that ended up being a lot of fun. Time will tell whether learning this way sticks better than skimming blog posts.
-
Ignite ended up being a packed house with lots of great presentations. Some favorites included “How to create awesome Screencasts” and “20 Awesome Gems”
-
Cloud Foundry - The Rails Developer’s Perspective
Some developers seem to shy away from sponsored talks, but I really enjoyed this one. In particular, I’m interested in using Cloud Foundry as an alternative to Chef for setting up single-machine Linode instances, which I think could prove a useful middleground between rolling-your-own and the price of Heroku. The project is young, but this is definitely one to watch.
-
20 Productivity Tips: You Can Be 15 Percent More Productive
I met Hirotsugu Asari in the speaker lounge and he struck me as a really talented developer and genuinely nice person. His talk ended up going pretty deep into mathematical formulas, though I loved his summation: “Productivity = Number of successful Pomodori while working towards a SMART goal in a given time period”. Oh, and did I mention he has an ErdÅ‘s number of 2 ?!
-
Why you should never use an ORM
Having played around with MongoMapper in the past, I was looking forward to John Nunemaker’s talk. The title was meant to be a little inflammatory, but it contained a lot of great points. There’s definitely value in understanding all the magic that an ORM is doing for you. Also, there’s a lot of cost and hidden complexity when trying to retro-fit an existing ORM on top of something that doesn’t really fit.
-
This was one of my favorite talks at the conference. There’s something to be said for speakers that talk fast and pack a lot of material in a 50 minute presentation. Eric Redmond gave a great overview of the datastore landscape and how the various datastores compare to each other, complete with sample code. Also, his seamless integration of pre-recorded coding demos had many of us wondering if he was live coding while talking! The presentation left me wanting to learn more and I can’t wait to grab a copy of his upcoming book, Seven Databases in Seven Weeks
-
I’ve been looking to implement a Continuous Deployment infrastructure ever since hearing Eric Reis speak about his setup at IMVU. However, working in the client services industry makes it a difficult sell to clients. This means that I only have side-projects to try it out on. I was happy to get the chance to ask Eric about bootstrapping continuous deployment with a small userbase (which makes it difficult to A/B test). While his response was not what I expected, it was a good reframing of the issue. He pointed out that having a “pathetically small number of customers” is actually an advantage since you can get to know your customers without the need for statistics. Side note: I can’t stand how my voice sounds when recorded.
-
Stateful, Scalable Servers with EventMachine and Rails
With all the node.js rage, it was nice to see the Ruby approach with EventMachine. You certainly have to be more careful not to make a call that blocks the event loop, but I think Ruby still wins when it comes to clean and readable code. A good example David Troy gave in this presentation was a POP server that implemented its commands as method calls, making it easy to add new commands without having to explicitly define a mapping.
-
Though I’ve been using the basic features of Bundler for some time, I appreciated this broad overview of the tool and the problems it is solving. Happily, I don’t need to deploy to servers that block internet connections, but it’s good to know they’re thinking about that stuff if the need ever arises.
-
Solving Performance Problems with Horizontal Scale (The Worker Pattern)
I met Ryan Smith at the Heroku booth and was looking forward to his talk. It was interesting to see the pattern he was advocating (loading a busy message in a div then polling the server until the operation is done). This pattern is quite common in Flex Apps, and I was pleased to see a straight-forward Rails-based implementation. Also, I liked his point about checking the HTTP status codes before rolling your own solution. Only downside: it was scheduled at the same time as the lightning talks, which had rave reviews.
-
Programming meets poetry. This has to be one of the strangest talks I’ve ever attended. That said, the Shakespeare videos were hilarious. I recommend watching the video, preferably with your favorite alcoholic beverage.
-
Building Rails Apps for the Rich Client
This was another one of my favorite talks from the conference. Yehuda gave a great presentation on the strengths of Rails over Sinatra/Rack/RollYourOwn when it comes to developing REST APIs. I tend to think Sinatra fits best for single-screen-of-code apps, and this talk further cemented the idea.
-
Sadly, I’ve been more of a gem consumer than creator. After hearing this talk, there’s no reason not to wrap your common code in a gem. They’ve really streamlined the process. Main takeaway: visit http://guides.rubygems.org/