The Changelog: Software Development, Open Source - Ruby, Rails, the Cloud (Interview)

Episode Date: March 1, 2011

Steve and Wynn caught up with Dr. Nic from Engine Yard to talk about the cloud, Jenkins, Ruby, and lowering the barrier of entry for learning Rails on Windows....

Transcript
Discussion (0)
Starting point is 00:00:00 This is Dr. Nick Williams, and you are listening to The Change Log. Welcome to The Change Log, episode 0.5.0. I'm Adam Stachowiak. And I'm Winn Netherland. This is The Change Log. We cover what's fresh and new in the world of open source. If you found us on iTunes, we're also on the web, thechangelog.com. We're also on GitHub.
Starting point is 00:00:31 Head to github.com slash explore. You'll find some trending repos, some feature repos from the blog, as well as our audio podcasts. And if you're on Twitter, follow ChangeLog Show, ChangeLog Jobs, and me, Adam Stack. And I'm Penguin, P-E-N-G-W-I-N-N. This episode is sponsored by GitHub Jobs. Head to thechangelog.com slash jobs to get started. If you'd like us to feature your job on the show, select advertise on the changelog when you post your job,
Starting point is 00:00:54 and we'll take care of the rest. Up this week, our friends at Pusher over in London. Looking for someone that knows the evented scene. Experienced with Node.js, Redis, and message queues are a big bonus for people that can work in the U.S. remote or in the London neighborhood of EC1. If you're interested, lg.gd slash 8c.
Starting point is 00:01:15 If you're a software dev in the Toronto area, in the Python and PHP community, and love the fast paced and creative environment of a startup, FreshBooks is looking for a disciplined developer who doesn't sneer at scripting languages but also knows their enterprise-level stuff. Check out lg.gd.com. Fun episode this week.
Starting point is 00:01:33 Steve and I sat down with Dr. Nick Williams, a really funny Aussie from Down Under. Now lives in San Francisco, works at Engine Yard, big in the Ruby community, works on the cloud. You'll find out what that means. He's keynoting at RedDirtRubyConf. We'll be there doing a live episode. That is in April, April 21st and 22nd. Prior to that, he'll be at CodeConf. Be sure and catch him there, as will our buddy Steve Klabnick,
Starting point is 00:01:58 will be the official ChangeLaw correspondent at GitHub CodeConf. And in March, March 11th through the 13th, is the main conference PyCon in Atlanta. Kenneth will be there hopefully with a big bag of changelog Ts. Absolutely. And a mic. And a mic. And for all of you guys
Starting point is 00:02:18 out there actually asking us for more Python, head up Kenneth for that because he can help us out there. And if you're going to be at PyCon and he's got a mic in his hand, go say hi. Say, I have this cool Python project and it needs to be on the changelog. Just grab me by the arm and say, interview me now. That's right. Interview me now.
Starting point is 00:02:36 And this is episode 50, so this is a big thing for us. We're excited about being on the air and thanking you for listening to us and supporting us all this time and thanks to GitHub and thanks to all the people who have us promote their jobs and everything for readers and Wynn and the rest of the team for supporting us. It's been awesome. Thanks for putting up with us for 50 episodes. Hopefully
Starting point is 00:02:58 here's a 50 more. Alrighty. Good episode this week. You want to get to it? Let's do it. Chatting today with Dr. Nick Williams from Engine Yard. So, Dr. Nick, for those that don't know you, I want you to introduce yourself and your role over at Engine Yard. I am one of the early Rails developers and users and fell in love with Rails back in 2005 when Ajax came out and fell in love with Ruby and made lots and lots of little open source projects.
Starting point is 00:03:33 And I think lots of people have used at least one of them. So I ended up finding my way over to Engine Yard over here in San Francisco, America, which is not where I come from. And I
Starting point is 00:03:47 now have the very cool job of both looking after our large open source program over here, which is the Rubinius, JRuby, Fog, and Rails in general, as well as our grants program, and I also sort of take a developer advocate role
Starting point is 00:04:03 here for our products. Well, believe it or not, we have a lot of non-Rubyists that listen to this show. So what does Engine Yard specialize in? We specialize in Ruby, specifically getting Ruby into the cloud. So for Rails apps, Rack apps, Sinatra, Merb, we think there's a huge marketplace for just that niche in of itself. So we essentially deployed to two different infrastructures, which is the fancy phrase for Amazon and Terramark. Because, yeah, I mean, a lot of people don't even know that Terramark exists
Starting point is 00:04:41 and why, because there's just different customers have different reasons for different needs of their infrastructure and amazon doesn't provide all of them so you say cloud oh i know cloud isn't that cool name i've heard of 100 different definitions you drive down the you know the 101 here in uh in out of san francisco and uh you know there's big billboards with the word cloud on it and Microsoft attempting to tell you what cloud is. So essentially cloud is I trivialize it for my own amusement. Cloud is the shiny new name for this thing we call the internet.
Starting point is 00:05:16 But what it is is allowing us to provision resources, like compute resources, storage resources, via APIs and pay for them on a sort of a rental basis, which means that you don't have to go off to Dell and fill up the back office or fill up a data center with machines in case you might get traffic.
Starting point is 00:05:38 You can start small and grow based on success of the business or the traffic that you drive, which is really, really important for nearly every, you know, app that's being built these days. The whole world's moving to cloud, but that doesn't make it necessarily easy. It just means that you know you have to go there. Yeah, that's definitely true.
Starting point is 00:05:58 I have a lot of friends who come from a non-web perspective, and they do the standard, oh, poo-poo, cloud, you know, kind of thing. And so we talk about this stuff a lot. I definitely agree that cloud is becoming super important. You guys have done a lot of great stuff and historically have done a lot for Ruby. One of the things that's always interested me
Starting point is 00:06:16 I guess about you, as long as I've known about you, is that you have 154 public repos on GitHub. Like you said, you have a lot of open source projects and everybody's used probably at least one of them. And I find myself in the same position. Like I literally wrote and released a tiny little Ruby gem last night after I was tired when I came home, because there was some little idea that I wanted to bring up there. So how do you manage running that many projects and keeping abreast of if they need something? Do you sort of abandon a lot of
Starting point is 00:06:44 old ones? Do you actively try to work on your older projects? How does that all work? I actively abandon them. I mean, you just can't. I think I did a talk. I mean, if you ever sit down and think about it, you mathematically just can't. I think I did a talk at Future Ruby, which whilst a Ruby conference had lots and lots of different content. And I think all the talks for Future Ruby were put on InfoQ, so you can go back and find those, a lot of interesting talks. The topic that I talked about was, hey, you have 1,000 projects. Because I did this back of a napkin type calculation.
Starting point is 00:07:17 After three years of doing open source, I had 75 projects. And 75 kind of real-ish projects, not just demo apps or something. And I kind of figured if you did the maths and you had a job, did this 40 years, which what we do in open source is wonderful. It's like being a garage mechanic, except you get to do it in public. You make shiny things and show them off
Starting point is 00:07:37 and let other people use them. Why wouldn't you end up with a thousand projects? And I quickly realized that was going to be disastrous for my social and and marital life yeah so i had to figure i had to figure out what the solution to that problem was um and i figured it was worth sharing and uh active aggressive abandonment uh is is an important uh part of that uh and that's only really possible now because of things like github you know back in the subversion and cs CVS days, you couldn't really just abandon
Starting point is 00:08:05 projects and assume that they might survive. But with GitHub, people can discover projects, people can fork them, have their own permission structures. Now, in Ruby, you're allowed to release gems even in your own name. I assume in different communities or different packaging environments, they'll have their own solution to that. So really in this modern world, in 2010, 2011, making projects as ideas and releasing them, we're really unable to do that these days. Yeah, I almost wonder, having taken on two of Y's old projects, I almost wonder if that wasn't part of his deal,
Starting point is 00:08:39 was having too many things open at once, because Hacking & Shoes is a handful enough for me, as it is, not that I'm the same person why is obviously but uh it's definitely it's hard to to contribute to so many things at once uh jamis buck who uh created a project he created a whole bunch of projects in his early ruby days but his most hugely popular one was a um a deployment tool called capistrano which which was the definitive way that Ruby applications got deployed. And then one day he publicly declared he was abandoning the project, which I thought was, you know, and he got massive feedback, you know, of praise and admiration and thanks.
Starting point is 00:09:17 And I thought that was genius because it never occurred to me to publicly tell people I was nervous I'm going to work on something. So I thought that was pretty genius at the time. So, yeah, I think there's a lot of examples of people who start a wonderful project, and sometimes just the community just needs to know that they're allowed to participate. GitHub, again, has really...
Starting point is 00:09:39 And that whole community notion has really been fostered around open source. And I think as less people need to be actually explicitly told they can participate, I think more and more people know they can just fork, add features, send pull requests. So I think it's very healthy, I think, these days to feel that you can just start a new project and know that someone will turn up and help. You know, Kenneth and Steve tell me I'm not a real developer until I get firmly in the world of Vim and leave TextMate behind. But I think I've discovered you via all your TM bundles.
Starting point is 00:10:11 So is TextMate still your primary editor? Oh, yeah. Okay, so do I have an issue with people going back to 1960s technology? I don't actually know when Vim and Emacs came out. But, I mean, Emacs is really old, isn't it? When Emacs is the canonical base of GNU, that was Stallman's big project. But do I have an issue with people picking up legacy technologies?
Starting point is 00:10:35 I mean, yeah, I do. I have a big issue with it. Do I poo-poo them publicly on public podcast radio? I guess I just did. Well, Vim is 95, to defend it a little bit, if I remember correctly. Yeah, let's all go and get record players in Windows 95 and live the good life.
Starting point is 00:10:54 Hey, Windows 95 is cool. You could put the Simpsons theme all over your machine. Anyway, but what's more important is that these people are aggressively trying to pick tools and chop and change their tool set that they use as developers. And if they think they're not getting the right, you know, if they don't feel enabled by tool set and find out what set of tools, languages, libraries, and teammates that you want to work with. So best of luck to them. Totally. I spend a lot of time SSH'd into servers, and so having one editor in most places is the main reason I use Vim.
Starting point is 00:11:41 But I just installed Janus yesterday yesterday actually, and a friend looked over my shoulder and said, oh, so now your Vim is TextMate, basically. And I thought that was really interesting. And I have used TextMate in the past. It's just, you know, I'm more used to Vim. These wars will forever happen. The program is arguing about tools. I'm really
Starting point is 00:11:59 excited about Redcar as well. I know that Engine Yard used to be involved with j ruby but then that is not really happening anymore and i know that you know sort of segue no we are still very involved j ruby i apologize if if we haven't communicated their involvement well enough no when uh the three guys charlie tom and and uh nick left oracle they came to Engine Yard and we started ensuring that that work carried on and we have that as an alpha product at the moment for people to try.
Starting point is 00:12:33 But no, the world needs, I mean, Engine Yard needs more people using Ruby. That's our belief. Ruby is a wonderful language. Yeah, I mean, we're not anti-polyglot, but I mean, as a base language for building web scale applications which you know the same for mobile right
Starting point is 00:12:48 if you're building mobile apps every app these days needs some sort of central back end and we believe Ruby is still the best language and has the best frameworks for doing that so JRuby helps spread that message and it's also it's possibly
Starting point is 00:13:04 you know the best VM it's also, it's possibly, you know, the best VM in and of itself. I mean, I can say that today and it might change tomorrow, but I mean, it is, the JRuby on top of the JVM is a tremendous product. Totally. The segue to that, I guess, was Red Car. So have you tried it?
Starting point is 00:13:20 I have. I don't think I've tried it. It's actually very aggressively being developed. I think I played with it a few months ago. At the time I wasn't quite ready to give up TextMate itself, but I definitely understand what they're trying to achieve. It seems like
Starting point is 00:13:34 it changes quite often. It's definitely aggressively being developed. I had a friend give a presentation on my local Ruby Brigade about it and the commands he had looked up the week before didn't work while he was giving his presentation because they changed the API. Yeah, that's awkward for demoing.
Starting point is 00:13:49 Again, if it means that like Emacs, it's built in a language that you can hack and you can modify, that's very empowering for a lot of developers. Especially what we've lived in the dark ages of TextMate, which is I think why many people leave TextMate
Starting point is 00:14:05 it's not because there's anything necessarily wrong with it they are just fed up with lack of activity from the public eye but Redcar being written in a language that even if you're not a Ruby developer just knowing that it's written in a language that you could learn and that you could modify and you can contribute to in the editor itself.
Starting point is 00:14:29 Obviously, it has bundles as well, like TextMate and all the other editors, I think is going to empower it greatly. So I look forward to them getting to a stage where the world starts to realize that it is a wonderful editor and gets a lot of traction. Well, you also do Objective-C development, right?
Starting point is 00:14:45 I dabbled. I was a dabbler. Well, you also do Objective-C development, right? I dabbled. I was a dabbler. I mean, Oracle, Apple, is there a difference? No. So when the iPhone SDK came out, I just happened to be playing with Ruby Coco. This was 2007. Ruby Coco. And so I was very desperate to figure out, could I get Ruby running on
Starting point is 00:15:06 the iPhone? Unfortunately, I just wasn't clever enough to solve that problem. I'm just not a C person. Have you ever, 2007, I got a linking error. I didn't realize people still had linking errors. That was weird. I felt like, I know Objective-C is this beautiful syntax relative to the underlying language, but I wasn't ready for a linking error emotionally.
Starting point is 00:15:30 But no, I did some Objective-C back in 2007 and made a bunch of Ruby test libraries to sort of make it easier to test your Objective-C. And my consultancy at the time did a bunch of iPhone work. But I was pretty annoyed by Apple's anti-open source approach at the time because they had that NDA in place, and so a whole bunch of Objective-C people just wouldn't talk to each other. iPhone developers wouldn't talk to each other because they were all scared of Apple.
Starting point is 00:15:59 What did Objective-C cause you to appreciate about Ruby? That is an excellent question. And I say it's an excellent question because I don't know what the answer is. Message passing a generalist. Just like string concatenation. I'm very excited about MacRuby. I mean, MacRuby is sort of blending
Starting point is 00:16:20 the two things together. And I believe it's going to become... I have heard whispers and ideas that it may become a first-class language in line. And I believe it's going to become, I mean, I have heard whispers and ideas that it may become a first-class language in line. And that'll be very exciting for anyone that wants to do, you know, sort of application development for the Mac without having to go down to the Objective-C level.
Starting point is 00:16:40 And it looks very similar. I mean, I think they even created a TextMate bundle for MacRuby so that you could copy documentation in and generate MacRuby syntax. But so what did I learn? I learned appreciation for all the things that I no longer have to think about. Managing memory. Exactly. Just remembering what did I do with that object?
Starting point is 00:17:04 I had an object lying around here somewhere. What did I do with it object I had an object lying around here somewhere what did I do with it I was very excited to see Engine Yard team up with Appcelerator for mobile apps so I guess you guys are providing plumbing for back end API type steps for there aren't many
Starting point is 00:17:18 iPhone mobile apps that have a significant purpose in the world if they're not going to have a back end and making it easy for people. Rails makes it easy to build that middleware layer, or Rails or Ruby and Rack make it easy. Getting it up and running in a production environment. If your app's going to take off, then you need to make sure your back-end scales.
Starting point is 00:17:40 So we worry that people are making some awesome apps, mobile apps, but don't have the expertise to ensure that their app doesn't look ridiculous because their backend failed. So it's pretty important that those guys get the support they need. So yes, we're very cool, very excited that AppCelerate, they're doing some very cool stuff. So Rails Installer, I've been spending a lot of quality time with the Ruby Installer project lately, and it's been great. Luis took a couple hours on a Saturday to help me with some things involved with it, and it's been a great project. And so I'm excited to see Rails Installer bringing the same kind of thing. One of the things I saw him say was that he's sick of people saying that the answer to Ruby on Windows is install Ubuntu in a VM.
Starting point is 00:18:25 And so it would be great to have Rails actually be a first-class citizen on Windows. As much as I hate Windows, there are people that love it, and so getting Rails to them is a good thing overall. So I guess congrats on that project. It's a really important project. I mean, people just need to – I'll tell you a funny story. It's a funny story. If you go to the Rails 3 guide,
Starting point is 00:18:46 which I think is at guides.rubyonrails.org, and you go to how to get started on Windows, the answer to that problem was a project called Instant Rails. And Instant Rails was how I got started in Rails back in 2005. Unfortunately, it hadn't been maintained since 2007. It was distributing a version of Ruby that didn't work with Rails 3. And so what you had was people being told that if you're on Windows, to go and install a set of software that didn't work with Rails 3.
Starting point is 00:19:17 So it was pretty much low-hanging fruit, really, for a project that needed doing. Really, really important. And so now if you go to the Instant Rails project, it now says, you know, please use Rails Installer. But all we did was we packaged up like a gift bag of things that we think make your life as a Rails Ruby developer functioning and pleasant. So it's not just the fact that it bundles Ruby Installer,
Starting point is 00:19:44 it's that it includes Git. It's that it bundles ruby installer it's that it includes git it's that it attempts to set up you know future version are going to set up your ssh keys and you get config and just you know get you not just ready to be a rails developer so it's going to like it includes my sqlite not just sqlite gem but also sqlite itself so you know you're just just ready. You don't have to go and look any further. But it also, once you take that next step and you want to start getting other jams or get source, participate in the GitHub, you know, centric community, you're ready to rock and roll because we just want to lower the barriers to people participating.
Starting point is 00:20:21 Yeah, that's awesome. I actually wish that I had remembered that over the last couple days. We're actually, the Shoes project is built with Ruby Installer, and so I'm essentially doing the same kind of deal. All these extra recipes on top of Ruby Installer, and so a lot of those same things are there. Git, SQLite, all those things. So I probably could have gotten
Starting point is 00:20:39 some help from looking at your code. I mean, Luis is, I mean, I hope nothing bad ever happens to Luis. He is a machine. Similar to, I remember I accused Charlie Nutter once of there being three of him because he seemed to be available and online helping 24 hours a day. And I think Luis
Starting point is 00:20:56 is just a phenomenal human being for the effort he puts in and his knowledge about the Ruby ecosystem of software. And if there's a bug, he kind of knows where that bug is most likely to exist. The fact that he's now on Ruby call to be able to look after Windows is very enabling and wonderful.
Starting point is 00:21:17 No, so it was, he was our jungle guide when we were building the Rails installer. Yeah, I talked to him once and then he spent six hours on a Saturday helping me find an obscure bug in Ruby and then said, oh, I'm sorry, I need to go now. My fiancé is going to be mad at me or something. So he's just, he's totally, he's a machine, it's great. Yeah, we need to have some words with this fiancé. I hope she understands what he does,
Starting point is 00:21:41 how valued and appreciated. We're hoping that he's going to be coming up to RailsConf. So if you have no other reason for Ruby Developers to come to RailsConf, it's to come and see Luis and at least to thank him for what he does. Speaking of conferences, you are speaking at CodeConf, right? Oh, I am. And that's going to be exciting.
Starting point is 00:21:58 I even know what I'm going to talk about now. I could be accused of many things, and definitely one of them is to pick my topic of of a talk you know as late as possible whether the conference organizers get really cranky and say nicholas we need they never said nicholas that's my mother i'll say dr nick we need and my mother doesn't run conferences so it's dr nick dr nick we need to know what you're talking about um but it's in this case I actually went over to GitHub yesterday and Chris and I noted out a talk idea,
Starting point is 00:22:29 and that's going to be around the tool set, a theme that we sort of talked about here earlier on the podcast. Just the importance of constantly evolving and picking your tools and building your own, looking at what other people are using, why it is okay to use Vim, even though I personally dislike it. I mean, if you have to put the shortcuts on a coffee mug, I don't know. I just think there's something for us to learn from that. Yeah, I'm excited for CodeConf.
Starting point is 00:22:56 And one of the interesting things about it I noticed that's great, it seems like someone said it seems like every Ruby conference has to have some sort of controversy. And so the Ruby, or CodeConf is going to have like 40, 30, 40% women speaking. And not to broach the whole,
Starting point is 00:23:13 you know, women CS, oh my God topic, but I think that's going to be really exciting. And it looks like we've got a great lineup. So, you know, I'm excited to go to it.
Starting point is 00:23:22 And I don't think it's a pure Ruby conference. I think people are talking about other languages, other stuff. There's lots of JavaScript. Josh Eschenankis, or however you say his last name, is going to be talking. Ashkenaz, that's right. I've butchered it more than anybody. I remember you guys talked to him. You had a conversation about this.
Starting point is 00:23:38 I believe your show has talked about his projects more than anyone else. So if anyone can get his name pronunciation correct, it would be you guys. He's done some wonderful stuff. The Document Cloud, he works over at the Document Cloud. They've done some awesome projects that have come out of there before and after CoffeeScript.
Starting point is 00:23:57 Docco is great. I'm really, really happy with it, even though I wrote a blog post that said I wasn't almost. It's great. It's been fantastic. I've been using it for every project since. The Cloud Crowd project, the underscore one. Coffee Script is my favorite.
Starting point is 00:24:14 Oh, absolutely. It goes with that. It's a brilliant invention. Very glad. Makes me very happy. So if you just now picked your topic for CodeConf, I guess you don't have a clue what you're going to talk about at Red Dirt? The Red Dirt, Ruby Nation, and RailsConf, I'm going to go with the Rails installer theme.
Starting point is 00:24:32 I've never really gone with giving the same talk at multiple conferences, but I say unfortunately. This would be awesome. I get to get better at it. But this message about Rails installer, which is getting the Rails developers to get back out and sharing Rails again. I mean, Rails Installer is obviously a tool for new people, but it's also a tool for current Rails developers
Starting point is 00:24:55 to be able to share Rails with confidence, which is why we're building OSX and probably a Linux one, so that you can point to this one URL and say with confidence, this is the place you go to to get this one url and say this is and say with confidence this is the place you go to to get started in rails and have a heavy experience um i mean that's one of the reasons google took off was you know you could share the google address with someone and have confidence that people your friend your mother your you know siblings were going to have a positive experience um searching the internet uh so we we want rails installer to have a positive experience searching the internet. So we want Rails Installer
Starting point is 00:25:25 to have that same message. When you talk about going to multiple conferences to speak, to get that message out there, it actually draws back to one of the things that's sort of a problem with Rails. And I wonder if you know how this is going to be fixed in the future is that we sort of have developed a culture of, so if you just read these like 15 blogs, you'll get all the documentation and all the knowledge about what's going on and what you should be using. And I've had problems in the past with people Googling answers. And since Google's page rank accumulates links over time, you know, you'll get answers from Oh, there's some classic 2006 articles that you just must read.
Starting point is 00:25:57 Yeah, exactly. So how is Rails going to overcome that in the future? That is, and that is certainly one in the mission statement of Rails installer from the website perspective it's a term to bring that together um you know the getting started information um but i mean that's not to take away from from some of the the um the textbooks that have been written like the rails freeway and uh um uh the one ryan big and yuhuda wrote um you know i mean that people are putting a lot of effort into those and, you know, paying $30 for books to get the rock-solid getting started experience. A whole bunch of people are doing training.
Starting point is 00:26:31 I mean, Engineered University exists on top of other people doing, you know, the Rails training podcasts and peat code, et cetera. A bunch of different, you know, getting started experiences. So I do want to make, make yeah that is definitely the mission statement though to bring that all together so that people can get started we may even put it into the bundle it in ourselves so that's you know everything's work we have to you don't have too many good ideas versus a capacity to execute. But no, lots of people making that much easier. But if we can stop people going to Google for answers, the longer the better.
Starting point is 00:27:13 And if we can keep people on Windows, the longer the better. I don't want people to think that they need to go and buy a Mac because then they stop being experts on Windows and that community dies. Question from Twitter. Casey Carroll wants to know your thoughts on the Jenkins-Hudson drama.
Starting point is 00:27:33 Well, I think it's a wonderful lesson to businesses involved in open source that they very likely don't get it. So Engine Yard has an experience with open source. We currently don't really lay any claims over trademarks or IP on Rubinius or JRuby or Fog or any of the projects that we sponsor full-time, which included Rails until recently.
Starting point is 00:27:59 You know, we contribute to them because they're part of our product or part of the community that uses those things. Oracle, you know, bought this huge company called Sun which was the largest owner of open source I think owner so to speak, the largest orchestrator of open source and you know they're having some
Starting point is 00:28:18 teething problems figuring out what do they do with those assets and they've sorry they're coming for you we'll just have pause they do with those assets. And they've... Sorry. They're coming for you. We'll just have pause. It's the Oracle police.
Starting point is 00:28:37 I had someone that says Oracle's new open source strategy is to find every single developer and just kick them in the balls. And that's their new initiative going forward to reach out to the community. Yeah, perhaps they'll have little booths at shopping centers where you can, as a developer, come and have your balls kicked. I had an idea for Netflix, completely off the topic.
Starting point is 00:28:55 I went and saw a Netflix talk. And we'll get back to Jenkins. I went to a talk on NoSQL at Netflix the other night, Dan, and it was actually the Facebook office. It was the Bay Area Cloud Computing, one of the multitude of cloud in actually the Facebook office. What is it? The Bay Area Cloud Computing. One of the multitude of cloud computing things. Meetups. And I just had this cool idea of Netflix
Starting point is 00:29:12 wherever they go and talk, they should have these cardboard postbox, like a blue or red mailbox that they could put at the front of the room and people just know that if you're going to see Netflix talk, you can take your Netflix DVDs with you and drop them off there. Because, you know, if you're going to see a netflix talk you can take your netflix dvds with you and drop them off there because you know who's got time to go to the post these days and i thought that would be a cool idea i saw a really ridiculous thing thing about the facebook
Starting point is 00:29:33 login controversy with people again using google inappropriately where i guess redbox has received a number of complaints of people thinking that they're Amazon just because they're both red and they're both DVDs. Or maybe it was the other way around. Maybe it was the people trying to return their Redbox things in their Netflix papers. But I thought that was like, it's something we have to overcome as developers, you know, is like getting out to people and having them understand this stuff.
Starting point is 00:30:01 Yeah. So Jenkins, back to Jenkins. So what do I think? I think it shows just the power of the tools and the power of the community to decide that you can fork something. I mean, forking when renaming wasn't just Jenkins itself.
Starting point is 00:30:16 It was every plugin. I mean, every plugin has essentially had to fork itself, rename itself, then go back to the original mailing list or original project and say, I no longer want to be a contributor. I mean, as a grassroots movement, it was exceptionally well executed. And I don't know that Oracle's really left with anything that they aren't trying to make up themselves.
Starting point is 00:30:41 But it was very disappointing. I mean, it was annoying that Oracle first went and got the trademark that they realized they didn't have. They weren't really putting any resources into it except turning up to the one meeting I went to for Hudson, and they had an Oracle representative there. Everyone assumed they had the brand, the trademark, but it turns out they didn't right up until they decided that they were going to start meddling. Have you seen Travis?
Starting point is 00:31:09 This is a product because I don't know anyone called travis have you met travis it's a very social conversation no but uh what about barry no travis just dropped i guess uh this last week it's a very alpha distributed uh continuous uh integration for ruby oh yeah the name no i haven't played with it i i um um i must admit i've i've kind of made decisions around about this and people should just use jenkins and be done with it i mean it works it's rock solid um they've got the plugins we are there's um uh there are people building JRuby plug-in for it, the front side. But anyway, Charles Lau and his brother are building a JRuby plug-in so people can write plug-ins that are in Ruby.
Starting point is 00:31:55 And no doubt the work they do there will make it easier for people to write in other languages as well. It is just a rock-solid CI workflow engine. People are building businesses on top of Jenkins that aren't continuous integration. They're using it for its workflow engine. So I get it, the people that are building your own CI tool, and this is only slightly disrespectful
Starting point is 00:32:19 to everyone else that's building their own. I get it. I mean, I've certainly built my own stuff, but I implore companies that have projects that need a CI, need a continuous deployment solution, I implore them to at least investigate Jenkins.
Starting point is 00:32:34 If we can all just agree that this thing is awesome and we start making our open source contributions around that product, I think we'll all get a tremendous outcome. I get nothing out of it. I just think it's important that we all focus our energies I also need to get
Starting point is 00:32:50 Ruby developers to get over this whole Java thing Yeah So I guess one more general open source question I've had a lot of people actually I got two or three patches to a couple of my projects in the last week and people said please be – I just want to say careful or like this is my first patch.
Starting point is 00:33:11 So I apologize if something is wrong and they were like incredibly tenuous about their contribution. So what do you think the open source community can do to actually encourage people to get into open source and contribute? I mean this has been sort of a long question, but... I think we should always remember that we're lucky that open source exists anyway and that it's full of disparate humans who all have different motivations and some days we're happy and some days we're sad.
Starting point is 00:33:40 Some days our wives appreciate what we do and some days they get annoyed at us. And if you make your first contribution to to a project and you don't get the positive warm loving cuddle that you expected or thought you might get um don't don't give up you know not everyone's going to get back to you if you contribute to one of my projects and you don't hear back from me for six to 12 months, that is unfortunate. And so I assume that I'm just catching that for myself. It is not that I don't like you or don't know who you are or whatever.
Starting point is 00:34:14 If I'm not using that project, it's really hard for me to validate the merit of your patch. But, I mean, just keep contributing. Understand that that's your first step of 10,000 contributions. And I am very glad. I wish there was like a badge that you could get. I made my first commit. It probably is one of those little badges that you can get. It was a wonderful experience.
Starting point is 00:34:39 And I must admit, I forget what it's like to make my first contribution. It was back in the subversion days. I remember I had to figure out how subversion worked. There's a big learning curve just to making your first contribution, to go from being a user of libraries to becoming a contributor to libraries. Definitely. I think I write a blog post that's very old and tired,
Starting point is 00:34:59 and there's probably better ones now. But for the people making the contributions keep you know i i employ you to do it i mean i know that we a lot of employers are certainly here at engine yard we look at github accounts we look at your commits look at your projects you know because we want to see what you're interested in what you're capable. We want to see that you've taken that manly step. I don't mean manly, sorry, in the sense of gender. That maturity step of knowing that you can contribute beyond just your own code base. That solving your own application problem
Starting point is 00:35:36 sometimes involves fixing other people's stuff because that shows initiative. Do you think the open source portfolio is the new developer resume? Yep, absolutely. I think, I know there was a project recently, that GitHub resume project, that was kind of cute. I don't think that's the end of it,
Starting point is 00:35:56 but it might be cool for people to add tag. This is my favorite commit. But I think that certainly it's a starting point for for real conversation but it's also you know getting out learning that how to talk in front of public going and talking at local groups about your project communicating um why you did something i think that is that is how you're going to get real jobs and real distinction um contributing is is one part of that contributing code is one part of that. Contributing code is one part of that. Contributing at meetings, helping run meetings, each of those is valuable and gives you visibility.
Starting point is 00:36:31 And with visibility comes opportunities. What's been your biggest adjustment to life in the Northern Hemisphere? Well, it took me a few weeks, but I now drive on the correct side of the road. That's not obvious. Those multi-lane freeways are really quite treacherous if you're on the wrong one. You flash your headlights, but nothing changes. They get really angry at you. I actually got my temporary driver's license the other day.
Starting point is 00:37:00 Biggest adjustments is dealing with my children's accents changing. Dealing with them picking up new words that uh you know we always we thought accent might be the issue but then coming back with with all the american phrases and then pronunciations that's actually that's a bit of an adjustment it is weird realizing that we are the foreigners in someone else's country now we've lived overseas, so this is not that new to us. But hearing our children evolve so quickly is emotionally challenging. And you've got a new addition as well, right? We do. And three-week-old Charlie,
Starting point is 00:37:35 his accent is still pretty rock-solid Australian at the moment. He can do... like an Australian. We'll worry about him in a year's time when he starts. Because we were tweeting back and forth about a post I did on the changelog and I found out later that everybody's congratulating you on the new edition. Yeah, I must be. I was actually in a hospital for a few listeners. So, yeah, there was the post.
Starting point is 00:38:01 What was it? It was just inappropriately titled. It was a post of really it's a list of things people should do in their project. But then you put some wacky title on it. Like, I'm not going to use your project unless you do the following. It works. It sucks to be you. But then your tweet said something completely different.
Starting point is 00:38:20 And so I was confused as to what message you were trying to convey. And yes, I did happen to be in the hospital, standing next to my wife who had just been put into the post delivery room. It wasn't entirely the best timing, but you know, you started a fight on the internet and I needed to. It's like I, speaking of people that are tirelessly helpful, Wayne from RVM one time, I heard a podcast where he was giving an interview and they heard some typing and they said,
Starting point is 00:38:48 Wayne, are you on IRC helping someone right now? And he was like, yeah, maybe. And I guess like while he was being interviewed, he was like helping somebody out fixing their RVM problem over on Freenode. He'll be at Red Dirt. Yeah, he'll be at Red Dirt. So Wayne and I work together, obviously in part on Rails Installer, but Wayne's here at Engine Yard doing some internal stuff as well for customers and all the projects that are going on here. And he's a wonderfully energetic man.
Starting point is 00:39:18 It's awesome to work with. I'm very glad he came back to Engine Yard. I'm glad he's not somewhere else helping someone else. So what out there has got you excited? What open source do you just want to play with? The last month or so, I've been doing a couple of internal projects that we're going to release to the customers. So I must admit that that's kind of,
Starting point is 00:39:37 whilst it still has the excitement of building a new product and a project that I would have otherwise done anyway as a non-company person, I guess those have been my attraction. and a project that I would have otherwise done anyway as a non-company person. I guess those have been my attraction. Look, I'm pretty desperate to get my hands on some of this stuff around JRuby and Jetty. And Carl Lurch has been building a thing called Kirk, which is like a new web server for JRuby,
Starting point is 00:40:00 which a whole bunch of, you know, ZeroDeploy invented. And I think that's going to be very enabling and hopefully we can get it out of product if it's you know, help it get rock solid. I want to learn more about all the fun stuff that's in the Java community that I get to, if I just knew what it was
Starting point is 00:40:18 because I've, okay so here's the problem. You've got to look hard. There's a RubyGems Twitter account and all it is is all the things get released, which is hundreds a day. I get it, right? So my Twitter feed is half filled with these product announcers.
Starting point is 00:40:32 But at least I have a vague awareness of what's coming out. Plus Ruby News and JavaScript retweets, et cetera. But I have no idea what the Java world is building. Therefore, what I'm not being able to use because I don't know about it. So that's the challenge with the JRuby project is it allows you to do all this stuff,
Starting point is 00:40:50 but then you've kind of got to live in two communities to be able to take advantage of it. And, you know, this building massive web scale applications, I think there's a bunch of cool stuff that I reckon we'll find over in the Java community if we were just to go and have a dig around. So what am I excited about at the moment? That's Kirk.
Starting point is 00:41:08 What am I excited about in the future is finding more gold. I'm also very still excited about the Jenkins project. I want to see someone lay the foundation. We have a CLI for that. It's a bit more sort of client Ruby orientated. So you can point it at a project and it goes sort of Jenkins create dot and it automatically creates a job and starts running your tests
Starting point is 00:41:29 without doing any setup. That's very cool. So pushing that further out and sort of making continuous deployment easy. I just want testing to be doing CI to be easier to do than not to. Is that too much to ask? Seriously? Indeed. Everyone writes tests. How many people have actually
Starting point is 00:41:46 got functioning CI servers running? I mean, hearts, you know, promises, they look after, they care about it, and I don't think there's enough people. I think there's a lot of lip talk to this whole conversation, and part of it is it's still just not easy enough.
Starting point is 00:42:01 And this is me looking at this Travis article that you guys did the other day, and, you know, there's still steps and it's still, you got to set it up, um, and, uh, and maintain it. So I think there's, you know, there's a, there's a big space there to people make the world a better place, which is keeping, keeping CI simple. Well, we know you're a busy man. Surely appreciate you taking the time to talk with us look on the changelog show this is the biggest show in the world at the moment thank you very much for inviting me it's been awesome
Starting point is 00:42:47 I see it in my eyes See you then.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.