This year, RailsConf took us to Kansas City where we joined up with thousands of fellow Rubyists for three days of workshops and presentations. For those who were unable to attend, Tim Barmann, Micah Frost, and Eric Freese each worked to summarized two favorite presentations as well as a unanimously agreed upon, "Best in Show".

To make it easier to follow along, we've included links to SlideDeck and GitHub when available, but feel free to drop helpful links or your own favorites into the comments section below. Videos courtesy of Confreaks.

TL;DR? Here's our RailsConf YouTube playlist for you.

BEST IN SHOW

Succession: A Refactoring Story in Ruby

Speaker: Katrina Owen

Slides: https://speakerdeck.com/kytrinyx/succession

Katrina Owen found a clever way to talk about rewriting computer code. She “refactored” a well-known children’s story: There was an old lady who swallowed a fly.

It’s that silly rhyme in which a woman swallows increasingly larger animals — a fly, a spider, a bird, and so on, until she meets an untimely demise.

The task Owen presented was to construct a Ruby program that could easily substitute different creatures within the story. Her talk was a thinking-out-loud kind of an exercise analyzing the structure of the rhyme, identifying patterns, and coming up with classes and methods that reflected that structure.

Her talk was peppered with important concepts about refactoring, such as how properly naming variables and classes will lead to code that’s easier to understand and maintain. And this gem: refactoring is not about trying to make your code “pretty,” Owen said. “It’s about balancing simplicity, readability, and changeability”

Her code for the exercise can be viewed here: https://github.com/kytrinyx/succession

TIM'S FIRST PICK

Making a Rails App with 140 Characters (or less)

Speaker: Nate Berkopec

Slides: https://speakerdeck.com/nateberkopec/make-a-rails-app-in-140-characters-or-less

GitHub: https://github.com/nateberkopec/rails_lightweight_stack

Programmers new to Ruby on Rails often find the large number of directories and files that Rails creates when starting a new app intimidating. Are all those files really necessary?

Nate Berkopec says that in some cases, you can get rid of almost all of them. To prove his point, he built a tiny rails app that was small enough to fit into a 140-character tweet. It turns out, however, that his “app” could only do one thing: send an empty 404 error response — not too useful.

Despite the gimmick, Berkopec goes through many of the 61 files that “rails new” automatically generates and gives an overview of what many of them actually do.

He also discusses cases in which it might be appropriate to pare down the Rails framework for particular uses, such as testing or using a Rails app simply as a backend API server.

Incidentally, here is Berkopec’s 109-character rails app. The code is stored in config.ru, the only file in the project.

require "action_controller/railtie";run Class.new(Rails::Application){config.secret_key_base=?x;}.initialize!

TIM'S SECOND PICK

From Director to Intern: Changing Careers as a Single Mom

Speaker:Teresa Martyny

Slides: https://speakerdeck.com/tmartyny/railsconf-2016-director-to-intern-changing-careers-as-a-single-mom

Switching careers is daunting for anyone, but Teresa Martyny had a particularly challenging journey. She wanted to be a programmer but had not worked in the tech industry for more than a decade. On top of that, she was a single mom in her mid-30s.

Her talk at RailsConf was not a tech presentation, but a personal story of resilience and determination.

After college, Martyny had worked as a website builder and a Java programmer. The dot-com collapse of 2001 threw her career trajectory off-course and she landed in the non-profit sector where she eventually became a Director.

She said she always wanted to get back into software engineering and decided to pursue her dream. In January 2015, she quit her job and enrolled in a 6-month high-intensity Rails bootcamp, a risky decision since she knew she couldn’t devote 72 hours a week to study like the other students typically did.

Martyny’s story ends on a positive note, but some of her experiences were heart-wrenching. She described going to job interviews where she had trouble answering even basic questions because, as she put it, “I would bring the whole weight of feeding and housing my children to the interview, in my head.”

MICAH'S FIRST PICK

Hiring Developers, with Science!

Speaker: Joe Mastey

Slides: https://speakerdeck.com/jmmastey/hiring-developers-with-science

You’re not measuring what you think you’re measuring when it comes to the interviews you give. At least that’s what Joe Mastey argues in this fantastic talk about the tools we use when interviewing candidates for that position you’ve been trying to fill. His whimsical slides walk through common pitfalls in the interviewing process and offer a simple system for measuring the validity, usability, and reliability of your process. Though this is not specific to Rails, this session is a must-see if you’re looking to grow your team!

MICAH'S SECOND PICK

Get a Whiff of This

Speaker: Sandi Metz

Slides: https://speakerdeck.com/skmetz/get-a-whiff-of-this

The much loved teacher returns with a fantastic walk-through of Beck and Fowler’s classic "Code Smells". She reminds us that refactoring is less of an art than we usually like to imagine, showing the step-by-step process for identifying the problem and applying the fix. For new developers fresh out of code camp, this is a bountiful toolbox that will help clean up your code and provide you with the language needed to discuss code with your peers. For the seasoned developer who has internalized all of these techniques, it is a refreshing reminder of the science of refactoring.

ERIC'S FIRST PICK

Rails 5 Features You Haven't Heard About

Speaker: Sean Griffin

Core Rails contributor Sean Griffin tells the stories behind implementing some of the lesser known features of Rails 5. The Attributes API was actually introduced as a major refactor in 4.2, but will appear more publicly in version 5. ActiveRecord::Relation#or has been long-requested, and has finally been implemented after a lengthy debate over the right API to use. Migrations have gotten an update as well and are now pinned to the version of Rails that they were created with. This allows Rails core developers to more easily change the migration APIs.

ERIC'S SECOND PICK

Saving Sprockets

Speaker: Richard Schneeman

Slides: https://speakerdeck.com/schneems/saving-sprockets

Richard Schneeman gave a fantastic performance as Indiana Jones in his talk about saving Sprockets, the open source asset packaging solution used by Rails. From 2011 to 2016, Sprockets was downloaded 51 million times (compared to the 65 million downloads of Rails). Recently, its creator decided to step away from his role as primary maintainer, and Richard was tasked with picking it up. In this talk, he shares his experience jumping right into working with a mature, unfamiliar codebase, and gives some great insight into what it takes to keep open-source projects alive and well.