Rails Conf 2016

[Originally posted by Jessica Dussault, September 12, 2016 on Github Pages]

I’ve been sitting on this blog post for several months now, so my apologies for a rather late update! In May the dev team (Karin, Greg, and I) headed to Kansas City for the Ruby on Rails 2016 conference.

Railsconf logo: a railroad crossing sign which says "Rails Conf Kansas City"
People in the conference hotel thought that there was a train convention going on.

Most of our dev team was not particularly familiar with Rails before going. I had worked haphazardly with Rails, but not with ActiveRecord (which is kind of the heart of Rails, in my opinion). I was interested in hearing about general Rails advice, Rails 5 news, and interesting features I might not have heard about from just getting some basic apps set up. Karin was really interested in the asset pipeline, design, and dev team management. Greg spent a lot of time in the security track.

I was happy to get my history fix in when one of the keynotes addressed dev team organization using Skunk Works as an example of creative team structure and the importance of thinking outside the box.

Skunk Works Logo
If you don’t know what Skunk Works is, I recommend reading about it. Particularly if you like things like the SR-71! And who doesn’t?

Here are some of the talks which I found very interesting. I’m sure that Karin and Greg have more they would recommend, too!

Making a Rails App with 140 Characters (or less) by Nate Berkopec

Making a Rails App with 140 Characters

Nate Berkopec’s talk was good old fashioned fun. He took an almost inane idea and made it incredibly interesting. While he cavalierly ripped code from the framework, I learned a lot about all of the libraries that Rails loads up, how things are loaded, when they are loaded, why they are loaded, and if they MUST be loaded.

rackup \
-r action_controller/railtie \
-b 'run Class.new(Rails::Application)(config.secret_key_base=?x).initialize!'
“All this application can do is serve empty 404 responses. But it is a Rails application!!!” — Nate Berkopec

Multi-table Full Text Search with Postgres by Caleb Thompson

Multi-table Full Text Search

This is one that is noteworthy because I ….pretty much completely disagreed with the presenter. Thompson did an admirable job connecting tables in a massive query that I surely would have struggled with substantially, but the whole time I was thinking “why don’t you just use Solr or Elasticsearch?” He did address them at the end, but said he didn’t want to use tools like Solr or ES because it would add to the technology stack (true) and that then you need additional steps to populate them and keep them in sync with your databases (also true). However, at a certain point, it seems like the time spent upfront getting one of those types of tools set up would vastly outweigh running gigando queries constantly. I might be biased since we use Solr quite a bit here.

RSpec and Rails 5 by Justin Searls

RSpec and Rails 5

This presentation was one of the more memorable ones of the conference. He started quite a discussion that people were still talking about over meals and snacks a few days later. Searls was not actually supposed to be presenting on RSpec, but stood in when the original speaker was unable to attend, so it might not be that surprising that his talk was not nearly as much about RSpec as it was about the state of the Rails community. Searls is an incredibly gifted speaker and really pulled the audience along on a fun adventure…at least it was fun until he went Real Talk on us.

“When an ecosystem is popular everything is easy, cuz there’s just, you know, wave after wave of person on the internet who’s gonna write open source for free just for the ego, just for the fame, to be attributed to the new, popular thing.”

He goes on to explain that things like Java, Go, and JavaScript are unlikely to die out because large companies are relying upon them and therefore will lend their support to maintaining them. Rails, on the other hand, largely depends on a volunteer community. But once something like Rails matures, then “when you maintain a popular gem like RSpec it no longer makes you rich and famous.”

Searls is concerned that as it ages, Rails will no longer have the vibrant community that it once did. The talk was extremely relevant, as one of the primary maintainers of Sprockets had recently excused himself from working on it, leaving a huge void in his wake.

Image of Richard Schneeman as Indiana Jones
“Sprockets, why did it have to be sprockets?” – from Richard Schneeman’s talk titled Saving Sprockets

Succession by Katrina Owen


This talk was probably my favorite talk of the entire conference. It was essentially just a step by step demo of how to refactor some code, presented in an incredibly approachable way. Because of my unorthodox introduction to programming (“So, your CV says that you ‘learn things pretty fast and stuff and probably you could learn to program?’”), I often feel like I’m lacking some basic knowledge that other devs magically know. Code design practices and refactoring tips are among them, so I was really enchanted by Owen’s presentation.

Owen is also the creator of Exercism which provides interesting programming challenges in different languages, which received a burst of applause when she mentioned it at the conference, so that might be an interesting resource to try out sometime.

Exercism Logo
It has a pretty sweet logo, too.

Get a Whiff of This by Sandi Metz

Get a Whiff of This

I said that Owen’s talk on Succession was my favorite presentation at the conference, but honestly it’s really hard for me to say that this wasn’t also my favorite talk.

I was reminded of early in my programming life when when of my coworkers said he was nervous anytime he saw a “private” JavaScript method being called anyway other than this._blah(). That is, if you say this.some_other_class._blah() then you should consider rethinking why you’re doing that at all. That was the first time I learned about “code smell” though it would be until this summer’s Rails Conf to realize that it was, in fact, “code smell.”

I was vaguely familiar with the term “code smell” but I didn’t know much about it. I certainly didn’t know that people have been compiling lists of warning signs and recipes for corrective steps to take. I took pages of notes during the talk, and I intend to do a lot more reading on the topic. I spent some time almost immediately after the convention rethinking and refactoring some code, and I credit Owen and Metz for points of inspiration there.

99 Bottles of OOP book cover
Since I liked Metz and Owen on their own, I’m guessing that their book is AWESOME.

Closing Keynote by Paul Lamere of Spotify

Closing Keynote

One of the most interesting and enlightning talks of the entire conference was the final keynote. Paul Lamere of Spotify spent an hour talking to us about the interesting things that Spotify is doing with user data, audio manipulation, music generation, and more. This talk was not particularly specific to Rails, but it was fascinating. I really recommend taking a listen to it if you have a spare hour of your time. Sadly, the American Sign Language interpreters did not make it into the official conference video, which is a tragedy because they were amazing during this keynote. On the fly, they had to interpret everything from metal to rap to pop and did a fantastic job! It was a great way to end the Rails Conference, and I’m glad that we had the opportunity to experience it!