Interview with Aaron Patterson on Rails core and keynote perspective at RailsConf 2014

★ Transcript Available Jump to transcript
Description: Interview with Aaron Patterson at RailsConf 2014 on Rails core and keynote perspective. This recording captures practical lessons and perspective for software teams and technical communities.
Published: May 13, 2022

Transcript

Hi, it’s Mike with UGtastic, and I’m at RailsConf 2014, and I’m standing here with Aaron Patterson. You might know him as TenderLove on Twitter and GitHub and all those social places, but he’s going to be giving the footnote to the conference tonight. He can’t really call it the keynote, because it’s at the end. I don’t know what to call it. The anti-keynote. Yeah, the anti-keynote. Well, thank you very much for taking the time to speak with me. Can you tell me a little bit about what your talk is going to be about? Yeah, well, first, I guess the first 30% is just going to be jokes and trolling. The second 30% is going to be, I don’t know, some bugs and stuff with active record internals, and the first 30% is going to be, I don’t know, some bugs and stuff with active record internals, and the first 30% is going to be, I don’t know, some bugs and stuff with active record internals, and the first 30% is going to be, I don’t know, some bugs and stuff with active record internals, and the first 30% is going to be, I don’t know, some bugs and stuff with active record internals, and the final 60% is going to be, excuse me, the final 50% is going to be about adequate record, and I know that adds up to 110%, but I always like to give 110%. It’s 100%. Just don’t add it. Don’t add. So, yeah, it’s just going to be, like, I don’t know, jokes, bugs, and then adequate record is what we’re going to be talking about. Okay. What is adequate record? It’s a project. It’s a project that I’ve been working on. I’ve been working on it for a very long time, but I didn’t really have a name for it, but what it is is it’s just a set of patches on top of active record. Okay. It’s just stuff that I’ve been doing on top of active record, specifically for performance, like performance improvements to active record. Is it, like, just more of a streamlining of the internals, or? Well, it’s been, so basically I’ve been refactoring the internals for a very long, like, I’ve had this idea for the performance improvements, and what the main performance improvement is is basically SQL statement generation caching. So, actually, the string that you pass to the database, or that active record passes to the database, like the actual SQL statement, it caches the generation of that. So, we only do that once, and your queries end up being faster from that. But I’ve been working on, basically, internal refactoring for literally years just to get to the point where I could do, I could have this particular thing, but I never had a name for it until recently. Oh, really? Yeah, well, that sounds like what in other database engines where you can lean on some of that query caching inside of it. You’re pulling some of that capability out into the Ruby layer, the app layer, so it can… Yeah, yeah, we actually already do, so active record actually already does query caching, like uses prepared statements and does cache query execution. So, we do that. The problem, though, is that even though we use those prepared statements, we still have to generate the SQL statement in order to look up the prepared statement and then do that. So, we’ve always had this overhead before querying the database of building up the query before we go out. So, this basically eliminates that overhead as part of the stuff I’ve been working on. Yeah, and you’ve been a contributor to Rails for a while. Yeah. Is Rails the first open source projects you were involved in, or how did you come to being a Rails core? Yeah, no, no, not at all. Rails was not the first thing I worked on at all. I guess I’ve been working on, well, my very first open source commit, or open source patch was probably in, what was that, 2001, I think. It was to a Perl library. Don’t Google me. Perl, please. It’s embarrassing. But. You don’t want anybody to know you did Perl. No, no. I can’t. No, my first real major open source stuff was with Ruby in maybe 2006, working on the Mechanize gem. That was my first real meet. Also, that was a port of the Perl Mechanize. Perl Mechanize, yeah, yeah. By Andy Lester, who I’ve also interviewed. Ah, awesome. He’s also from my neck of the woods. Oh, that’s awesome. Yeah, yeah. So, from one open source project to another, I’m making the network. I’m going to close all the open source contributors. Yeah, yeah. So, I worked on, actually, I mean, I didn’t actually start Mechanize. I inherited it from somebody. Like, I was using it a lot, and, like, actually, I have a fun story about using it. But, anyway, yeah, like, the current, or the maintainer, when I picked it up, he wasn’t, he wasn’t working on it so much, so I picked it up from him , and that was, like, my first responsibility, I guess. So, that’s when you became a grown-up in FOSS. Yes, yes, exactly. Is that when you decided to go with the beard, or? No. You’re like, oh, I own something. I got a responsibility. Yeah, I probably got to grow up, just grow out the beard. But, you know, but from there, when did you learn about Rails? So, basically. So, basically, around the same time, I was getting into Ruby, working on, like, basically working on Mechanize, just to do some, oh, automation, like , web automation stuff. And then, around that same time, the 15-minute video came out. Oh, yeah, that, that, build a blog post. Yeah, and then I saw, so I saw that. Build a blog. Yeah, I saw that, and I was like, wow, I got to try this out. So, I tried out, like, I tried out. I tried out Rails from there, and I loved it. I was actually a, I was actually a Java developer at the time. Like, I worked at a, worked on J2EE systems, and saw the, saw the blog in 15 minutes, and I was like, I must do this. This looks so much easier than my job. Yeah, and more fun. Yes, definitely. So, that’s how I got introduced, like, how I was introduced to Rails. And then, I don’t know, maybe about a year later, I got a job. I. Took a job doing Rails development for a startup. And then, and then you just started contributing patches, or? Yeah, yeah. I mean, I did a lot, like, basically, throughout that time, my open source portfolio was growing, I suppose. And, so, at this startup, I got experience doing Rails development. Like, I didn’t really contribute any patches or anything. I was just an app developer, right? But, after that job, I got a job at. It was AT&T, and I was doing app development there as well, but it turns out that, like. Oh, AT&T Interactive? Yeah. The Seattle Ruby thing? Yep, AT&T Interactive. Yeah, I got a job there, and they, it turns out they had a lot of Ruby developers, and a lot of them were using my open source stuff. And they also needed patches to Rails, and I guess, like, one thing led to another, and that’s, like, that’s basically how I got involved. Yeah, I have to say, was it kind of a little trippy to meet people? Like, were you using my stuff? Oh, yes. Yes. Absolutely. It was very, like. So, at the time, I had, I mean, you know, I knew there were people out there who used my software, but I was. It was kind of an abstract thing. Well, I was, yes, it was kind of abstract. I was also completely oblivious to the actual number of people who were really using it, because, I mean, you know, you only get, like, you get a bug report or whatever, you only get one. I mean, you get a bug report from a very small percentage of people who actually use your software, and, like, you don’t understand exactly how small a percentage that is, right? So, then when you understand, like, oh, it’s actually a very tiny percentage, which means that there are tons of people using your software, it kind of, it blows your mind. It’s pretty incredible. So, yeah, it was very nice. Yeah. Well, and now here you’re speaking to a conference for, probably, the vast overwhelming majority. I mean, I don’t know if I said exactly this to DHH, but, you know, I pay my bills using these tools. And, you know, and that’s, I often wonder for people who are running large projects or contributing to these, does that ever alter your perception of the relationship with, like, don’t you just try not to think about that too much? No, I mean, I think about that. It actually, like, that actually makes me very happy that people are using my software to pay, you know, pay bills. I mean, like, I don’t know, like, I like… I got all serious on you, man. I’m sorry. No, no, no, it’s okay. It’s okay. It’s okay. Like, it’s actually, so it’s actually really cool to me because I want to be able to help people, right? Like, ideally, I would, I want to help people. I want to help as many people as possible, and, like, my skills are programming. Like, that is what I do, and that’s something I can do well , and I feel like I have more reach to help people. Like, doing, by doing open source stuff, I feel like I’m actually improving the lives of more people than, say, if I was working on an online advertising website. Yeah. Or coupons. Which is where, yes, exactly, or where, so, like, that’s, I mean, that’s why I love doing what I do, and I’m happy to think about that. Makes me happy that people are making money with software, right? Yeah. So, so it feels good, and it’s fun. And that, and that’s overall the vibe you give on, on your Twitter and everything is you do the Friday Hugs, you have your cat, Gorby Puff? Yes, Gorby Puff, yes. Yeah, I can’t remember if it’s Gorby Puff or just Gorby. Well, well, his full name is Gorbachev Puff Puff Thunder Horse, the third, but we call him Gorby Puff for short. Gorbachev, Gorbachev Puff Puff Thunder Horse. Thunder Horse, the third. The third, yes. Yeah, so you hear it here. Please, please get it right on, on the Twitter. Yeah, I like, so I was thinking about. You don’t know him well enough to call him Gorby Puff. I was thinking about changing my name to Thunder Horse, because it sounds like, it sounds super awesome. When, when I got married, I was like, hey, what do you think about changing our last name to Thunder Horse? Then we can be in a band or something. We’ll be, yeah, we’ll be the band. You do, you do have the metal vibe. No, I feel like, you know, I’m going to get a contact high. No, I’m kidding. I’m kidding. I feel like I should be getting a contact high. I’m not actually. Erase, erase. No, I’m not going to erase that. But, well, and with that relationship to the community, and sometimes I think, I was thinking, looking at the conference, and I look at DHH’s very early talk, which is funny in his wry sense of, his wry humor, his very Danish, Denmarkian humor. And then. A little bit more, uh, uh, American humor, a little bit more obvious. Uh, and I, and I was thinking like, what is the analogy? I was thinking Bing Crosby and Bob Holt. They were both funny, but one was more, you know, the guff aw funny and, uh. Hey-o. Yeah. Swing the golf club, you know, and, uh, one was more funny, but in a very upright way. Uh, so I just think it’s, it’s funny. In our community that we have, uh, we have our own Bing C rosby and, and Bob Holt. And, you know, I, I think though, when, when DHH got up and , and, and gave his, his talk that because he didn’t have the Bob Holt to, to foil off of , I think some people took what he said a little too literally, a little too much to heart. Oh, yeah. Am I, am I. No, I agree. I agree with you. I agree with you. Well. But, but I think it’s fine because, um, that’s basically why I’m going to be trolling him in my talk. Yeah. So when they, when they listen to you, they should think of it in the context of, you know, these are people who are central to the maintenance and future of rails and kind of orbiting around each other in, in getting in the direction that you listen. I am the, we’re the yin and yang. Yeah. I suppose. One’s going to have the little captain. Captain’s cap, uh, and a golf club, but I’m sure, uh, I’m sure DHH knows how to dance really well. Oh yeah. Yeah. Um, well, thank you very much for taking the time. Oh, thank you so much. I appreciate it. Thank you. It was good to meet you here. Have a hug. I’ll get it on a Friday. Thanks. User groups with lots to say interviews and more. No way. Sharing great ideas in the tech community. Fascinating conversations, a plethora of information. Find out for yourself today at ugtastic.com. Thank you.