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!"