RailsConf 2013

Closing Keynote

Closing Keynote

by Aaron Patterson

The closing keynote at Rails Conf 2013, delivered by Aaron Patterson, centered around humor and practical insights into the world of Ruby on Rails development. Patterson began with light-hearted speaking tips and an amusing anecdote about a bathroom incident that set the stage for a relaxed atmosphere.

He then delved into the main topics of the keynote, outlining key advancements and elements within the Rails framework:

  • Introduction and Background: Patterson introduced himself as a member of the Ruby and Rails core teams, engaging the audience with both personal stories and technical insights.

  • Key Advances in Rails: He mentioned new features in Rails, including Active Support Halt, Rails Q (which ultimately did not make it into the framework), and updates regarding testing with MiniTest spec. Each feature was discussed wittily, providing a blend of technical detail and entertainment.

  • Development Challenges: Patterson candidly discussed the complexities of working within large corporations like AT&T, using the example of a convoluted expense reporting system to illustrate the challenges of development within bureaucratic frameworks.

  • Security in Rails: A significant portion of his talk addressed security concerns, outlining processes to handle vulnerabilities when they arise. He made sure to emphasize the need for proactive measures while navigating the realities of software security risks.

  • Open Source Contributions: Patterson shared his journey in open source, highlighting the collaborative nature of projects and the importance of community support in overcoming burnout and challenges related to coding.

  • Final Thoughts on Community: He concluded with a motivational story about the impact of small interactions, urging developers to recognize their contributions to improving others' lives, much like he did with the shopkeeper at 7-Eleven.

Overall, the keynote reinforced the notion of community, the humor that can accompany tech challenges, and the importance of innovation within the Rails ecosystem.

Key Takeaways:

  • The importance of humor in tech talks.
  • Understanding new Rails features and their practical application.
  • Navigating security challenges as part of software development.
  • The value of community contributions in open source frameworks.
  • Recognizing the small ways developers can positively impact others.
00:00:16.560 This thing on? I guess it's on. Okay, I want to start out with a couple of speaking pro tips. Whenever you're giving a talk, make sure to show up early. This is one thing I do because the AV people are extremely happy when you do this. Also, you're going to have connectivity issues; your monitor isn't going to hook up right—guaranteed. So, show up early. The other thing I always do is go to the bathroom before I give a talk, because you definitely don't want to have to go while you're on stage. That's not very exciting.
00:00:41.800 So today, I went through my ritual of going to the bathroom before the presentation, and I'm thinking about my talk. I run to the bathroom, and I’m impressed: Wow, there are a lot of stalls in here! That's great; there's not going to be a backup. I go into one of the stalls, do my thing, and then I exit, only to realize, oh wow, the cleaning person in here is a woman! I'm totally fine with that, but then I quickly notice there are other women in the bathroom. Oh my God. I quickly ran out!
00:01:14.080 So, if you ask me, nothing can possibly happen in this presentation that can be more embarrassing than that! So I’m good to go here. Alright, I want to start this talk off with a quote. So hey, Jose—anyway, yes, this is my keynote and here is the title. I'm pretty bad at giving talks—but here it is. One thing I noticed is that I’m really happy to be here in Portland. I’m excited to be the first person to welcome you to Rails Conf!
00:01:45.079 Yeah, Rails Conf! Woo! I'm staying at a really fancy French boutique hotel here in Portland called the DoubleTree. It's pretty sweet; I like it a lot. I'm from Seattle, and I was going to spend some time trolling Portland, but I just don't have time for that.
00:02:07.159 So I've noticed that at developer conferences, they have these round tables where everybody sits down. I was really hoping that one year, at one of these Dev conferences, they would sit everybody at the table, serve spaghetti, and have one chopstick on either side of the plate. Just to see how many people would starve to death! I think that would be interesting.
00:02:38.800 Anyway, as you can tell from the title of my talk, I’m not very good at keynotes, so what I decided to do is take elements from all the other keynotes and put them into mine. We had some really popular ones this year, and I want my keynote to be popular too! So I—
00:03:02.640 I've got some volatile outlets! Michael Lop was talking about that, and then James Duncan Davidson was talking about using a pipe, so I’ll steal a little from that as well. I also decided that I should probably drop a lot of F-bombs in my talk since I heard that’s pretty popular. Then, I’m going to sprinkle in a bit of JavaScript.
00:03:28.960 The nice thing about being the last person to speak is that I got to hang out and watch DHH's keynote. I talked to him afterward, and I told him how awesome it is that he was the first keynote and I'm the last because that means that I can totally troll him, and there’s nothing he can do about it! So to do that, I've decided to give an introduction to Node.js. Just kidding! Just kidding!
00:03:57.040 Okay, so my name is Aaron Patterson, as Evan said. You can find me on the internet under the name Tender Love. I’m on the Ruby core team and the Rails core team, and you might know me from such things as the Enterprise gem. I work for a company called AT&T, and I have to thank them because they let me code open source all day long—that's my job as an open source programmer.
00:04:18.760 I hack on open source stuff every day, and you might be surprised to learn that AT&T is a giant bureaucratic company. You might be wondering how they let me do this. Well, they're a big company, but they're actually not bureaucratic whatsoever. If you don't believe me about that, feel free to email me. This is my email address.
00:04:49.280 No really, that’s my email address, and you can go ahead and email me. But here’s what will happen: your email will come through the server, and I will see it. I guarantee you I will see your email! But if I try to respond, I can't, because our mail server only allows me to send emails to other AT&T addresses.
00:05:05.880 I think this is some sort of inverse spam filter; I’m not sure what the deal is there. But if you do email me, I will definitely see it.
00:05:30.000 So my job title used to be Corey Haynes—it’s not that anymore. Then I switched jobs to Senior Facebook Integration Engineer Elect, but unfortunately, I lost that election, so now my job title is Senior Software Architect. I actually build bridges with software! It's pretty amazing.
00:05:53.140 Soon after I got promoted to that position, I got one of these sweet drafting tables! It's got a lot of blue ink involved, and it’s really nice—I like that. But let me tell you, I still have to do expense reports, and there’s more drama involved! Let me catch all of you up on this.
00:06:18.720 So we use Concur, and I'm required to fax receipts in. Since I don’t have a fax machine, this is how it works: I generate a PDF of my receipts, then I email that PDF to a special email address. That email address sends a fax, which is then converted into another PDF that gets uploaded to Concur. It's quite a process!
00:06:38.800 What’s kind of weird is that our fax machine takes breaks, and I can't use it on weekends. I’m serious! My email wasn't working for a while, but now it is, thank goodness. The process for sending my expenses is a bit convoluted. I generate a PDF, send it to my boss, and then they have to fax it over to Concur. It’s safe to say there are more steps involved, but I just don't know what they are.
00:07:03.920 I like to call this a Rube Goldberg expense reporting system. We hired Rube Goldberg himself to design it! I’m making fun of this, but I actually think it’s pretty genius from the perspective of interfaces and adapters. Think about it—there are people faxing things into this system, and then someone like me comes along and says, 'I don’t have a fax machine; how am I supposed to get these things in?'
00:07:27.360 So there was a meeting in Atlanta, and a bunch of engineers were sitting around trying to solve this problem. Someone in the meeting had a really great idea: 'Let’s have a special email address that will fax things.' At first, everybody said it was a horrible, hacky idea. But then, they thought about it and realized it was actually quite the genius idea!
00:07:52.440 Now, I totally appreciate my job! It's an honor for me to be able to work at a place that's willing to let me do what I love every day. What I want to do next is catch you all up on what I've been doing for the past year since RailsConf last year.
00:08:15.079 Um, I started a consulting company called Adequate Industries. I was going to add some music to go along with my presentation, but I figured singing it would work just as well! So I started this consulting company—and let me share our motto: "You get what we think you paid for!"