The Best of RailsConf 2015
It’s been a few months since this year’s RailsConf, but the videos are now all posted online and there is plenty of great content to digest. Here’s a short list of my favorite talks and what I took away from each one.
I’ve skipped linking to the keynotes, since those have already been discussed in depth in other blogs and podcasts. Hopefully you will find something here you haven’t seen before. Enjoy!
General programming
Nothing is Something, by Sandi Metz (36 min)
The best presentations are like a well-told story, and this is a great example. Metz tells a tale of new features being added to a simple system, where – of course – class inheritance is the obvious solution. But then comes the plot twist, and The Better Way is revealed, something that in hindsight we can’t believe we overlooked. The result is an excellent analysis of what it means to do object-oriented design.
Sometimes a Controller is Just a Controller, by Justin Searls (42 min)
This confusingly-titled talk is actually a fast-paced, entertaining, and emoji-laden discussion of the human aspects of software development. Searls shares programming and team-building wisdom informed by his experience running a software development agency. Chock-full of great insights.
Rails in depth
Scaling Rails for Black Friday and Cyber Monday, by Christian Joudrey (37 min)
As a community, we are incredibly lucky to have the Shopify team, who for years have been using Rails and sharing their experiences. In this talk, Joudrey pulls back the curtain and shows how Shopify prepares itself for the huge spike in traffic that comes during the holiday shopping season. Dealing with the traffic in Rails itself is one thing, but what if an external dependency like PayPal or FedEx goes down? Lots of battle-tested tips and techniques on display here.
Ruby on Rails on Minitest, by Ryan Davis (33 min)
Davis, the creator of Minitest, pulls no punches in explaining Minitest’s philosophy and how this differs from other testing frameworks. This is a dense technical talk that serves as a great introduction to Minitest and how Rails testing works under the hood. I’ve been using Minitest for a while and still learned a lot in this presentation.
Breaking Down the Barrier: Demystifying Contributing to Rails, by Eileen Uchitelle (82 min)
Rails is a massive and daunting codebase. Even after using it for years, I still don’t have the confidence to say that I really understand it. But here’s the secret: no one else understands all of it either! Uchitelle recounts her experience of gaining confidence to open Rails pull requests, and shares her toolbox of powerful debugging and tracing tools. There are a bunch of recommendations here that apply not only to Rails, but for exploring any large Ruby project.
JavaScript
React.js on Rails, by Michael Chan (31 min)
I’ve heard the hype and done the tutorials, so I am familiar with the basics of React.js. What I didn’t realize is that there is an officially-maintained gem (part of the reactjs GitHub organization) that integrates React with Rails. And this isn’t some thin asset pipeline wrapper: it is an entire paradigm for elegantly combining the two frameworks, and makes JSX (and ES6!) first-class citizens in Rails. This talk is a great introduction to how to use it.
Using JavaScript from the Future in Your Rails App Today, by Steve Kinney (32 min)
Kinney gives a crash course in the impressive language changes introduced to JavaScript in ES6, and shows how easy it is to add it to the asset pipeline. If you haven’t dug deep into ES6 yet, you’ll be surprised at how Ruby-like many of the new features are, and how JavaScript’s language designers are trying their hardest to fix past mistakes. Legacy JavaScript is still a mess, but the Good Parts are getting a lot better. Thanks to transpiling, you can use ES6 (and already some of ES7) today without needing to wait for browser support.
Your Front End Framework is Overkill - Server Side Javascript w/ Rails, by Jim Jones (34 min)
Rails is still firmly in the server-side-rendering camp, but it does also have some interesting JavaScript features. These features earned Rails a bad reputation for JavaScript in the Rails 2.x years, but today the picture is different. Jones makes the case that modern Rails “sprinkles” can be used very effectively and allows developers to sidestep the complexity that comes with buying into a full-blown JS framework. This is one of those “I didn’t know Rails could do that” talks that illuminates some of the undocumented magic of the framework.