011 RR Corporate Sponsors of Open Source Software
- Published on:
- July 15, 2011
- Ruby distributions
- Why haven’t companies sponsored core Ruby
- AT&T Interactive sponsoring Aaron Patterson’s work on Ruby & Rails
- Engine Yard sponsors or sponsored Rubinius & JRuby & Rails
- Company Benefits
- Expertise of OSS developers
- Attracting awesome employees
- Developer Benefits
- Work on their passions
- Higher level of engagement
- Possible Problems
- Community can become dependent on corporate support
- Can damage reputation
- Can cause problems moving forward
- Heroku hiring Matz
- SQLite has several Sponsors
- SQLite forces all code into the public domain
- Corporate fork (Twitter forking Ruby Enterprise Edition)
- Ruby Enterprise Edition forked from Ruby by Phusion
- Matz Interview on Heroku
- Better process
- Corporate vs Community Kerfuffles
- What should Ruby do with its new resources?
- Web based VM performance features?
CHUCK: Hey everybody and welcome to another Ruby Rogues Podcast. I’m your host, Charles Max Wood. And this week on our panel, we have in no particular order, James Edward Gray. He is one of the organizers of the Red Dirt Ruby Conference, he wrote the Textmate book and the FasterCSV library, and does a whole bunch of other cool stuff for the community. Welcome, James.
CHUCK: [Chuckles] Allegedly. We have Peter who is totally awesome!
PETER: Rock and roll!
CHUCK: We also have Josh Susser. And I don’t have my notes in front of me, so I don’t remember anything. Why don’t you introduce yourself for us, Josh?
NIC: Oh, that hurts Josh. Oh Josh, that’s terrible!
JOSH: Oh, man. [Chuckles] I got to go.
JOSH: Let’s see. I´ll just introduce myself as that guy who blogs at hasmanythrough.com, and then an organizer of the Golden Gate Ruby Conference.
CHUCK: Yes. All right.
NIC: If anyone doesn’t remember the history of Rails, Josh wrote the famous, “How the hell do has_many and belongs_to will work?” That was his famous post as I recollect. That was what, 2005?
JOSH: Yeah, I think that’s exactly what it was titled. NIC: And he’s been living off that success ever since.
CHUCK: Yeah. And then, I don’t know a whole lot about Dr. Nic other than he works at Engine Yard. He founded Mocra in Australia. And he’s written a whole bunch of blog posts that I’ve read over the years.
NIC: I’m a dabbler. I dabble.
JAMES: He has about 1,000 gems.
NIC: No, I have a hundred something open source projects, corresponding number of blog posts, and yeah, I just play and have a track record of doing things that turn out to be not that useful.
PETER: He’s [inaudible].
JOSH: I believe the correct word for that is ‘dilettante’.
NIC: Josh, I like your terminology. I’m coming to you now for my personal marketing.
JOSH: Feel free. I have a very reasonable rate.
CHUCK: [Chuckles] All right. And I’m Charles Max Wood and I am the host of the Teach Me To Code podcast and screencast, as well as the Rails Coach Podcast, and of course, we have this podcast. I think that’s it. We are going to be talking about Corporate Sponsorship. And I think that…
NIC: I should introduce my bias at this point in time for the audience, since I don’t get to introduce it before so that… do you have some longer introduction than this? Or can I just…
JAMES: Go for it.
CHUCK: Go ahead.
NIC: My job is VP of Technology at Engine Yard. And we are the sponsors of and have been the sponsor of many open source projects; currently it is Rubinius, JRuby, fog. In the past. It’s been Rails 3, Bundler and other things. So yeah, whatever hell this conversation goes, understand I’m here to spruik. [Chuckles]
JAMES: I totally thought he was going to declare, “Undying love to Heroku.”
CHUCK: [Chuckles] And that’s kind of what we were talking about off chat and on the mailing list that we were emailing back and forth. Basically we were talking about Matz joining Heroku. You know Nic, why didn’t you guys think of that?
JAMES: That’s a good point.
NIC: You can imagine that the conversation… the idea of Engine Yard sponsoring Matz, I’m sure has come up around the water cooler — and we actually have a water cooler, so it’s not that erroneous to suggest that even though it is in the corner of very high def water cooler conversation around. It is not the best water cooler, I´ll be honest for its purpose of being social gathering point, no less. Obviously, Engine Yard has thrown a lot of money at two alternate implementations — for various reasons. And also we think that JRuby is just wonderful place to for [inaudible] people to come to Ruby. And now, the status of JRuby is really a pretty awesome place to run production, your long running apps. Rubinius has just been a labor of love for Rubinius people, but it’s part of Engine Yard’s DNA. They’ve sponsored that for 4.5 years now. And I can imagine possibly at this stage, Matz may not be a big fan of alternative implementations. I don’t know if he is ever truly, he said so much talking about Rubinius. I’m not sure where his thoughts are, but you know, perhaps coming to Engine Yard might have been a conflict of… somehow.
JAMES: Just to clarify, my understanding is that Matz is very fond of the alternative implementations and that he feels like it helps find problems in Ruby. And the teams do have a very good reputation for working with each other and stuff. I think mostly the environment has been pretty friendly.
NIC: Yeah, and I do understand James. And I do agree. But for the sake of having somewhat of an interesting conversation here, I feel the need to take some pointed [chuckles] position, so that this is not boring.
JAMES: So Nic, can you tell us…
NIC: Has Matz ever used Rubinius?
JAMES: I don’t know. That’s a good question.
NIC: I’m going to say no. He’s not a committer.
JAMES: [Chuckles] He doesn’t have a commit bit? That’s awesome.
NIC: So it’s inexcusable.
JAMES: It is? Maybe I should send him a Rubinius t-shirt or something, you know?
CHUCK: I think he has his own distribution of Ruby to work on though. Not sure about that.
NIC: Everyone wants to do it themselves. That’s the problem with this world.
NIC: Too many people forking. Too many forks.
CHUCK: Yeah, big NHI there, you know? “Not Invented Here.”
CHUCK: All right, so let’s go ahead and jump in on the corporate sponsorship bit a little bit, because I’m a little curious, I think a lot of people see the benefits that a company might get from sponsoring a particular project, as well as the developer obviously being sponsored by a company to develop an open source project. But I’m not so clear always on what the pros and cons are for the community having a sponsored developer on a project. Thoughts on that?
JOSH: This is Josh. I wanna say that I think Ruby is somewhat unique in the fact that it’s one of the most popular languages around today, and yet up until this point, it hasn’t really had a corporate sponsor.
NIC: And Ruby itself, I don’t believe has ever had… I mean, yeah AT&T I sponsor it to some degree through Aaron Patterson, but I think that’s for the standard library itself.
JOSH: There’s absolutely companies out there like AT&T and like Engine Yard. I loved the work that Engine Yard has supported… or that Engine Yard has supported so much work on the Ruby ecosystem. But the core language itself, has not had a corporate sponsor up until now. And if you compare that to PHP had Yahoo, Google sponsors Python, Java of course came from Sun; all the big major language out there that have significant adoption have gotten there partly, because they had corporate support. And I think it says a lot about Ruby and that it was able to become so popular without that kind of support.
NIC: Does anyone has an opinion on why MRI has not attracted corporate sponsorship?
PETER: He’s employed though or is he not?
NIC: Yeah, I mean Matz is retaining his two other jobs and it’s grants. I assume therefore he is going to continue working on MRI and other things.
PETER: Yeah, some open source company in Japan…
NIC: There’s some interesting culture issues there… rumors or suggestions that Japanese companies themselves aren’t big into sponsoring open source. They like to use the stuff, but somehow as a group haven’t gelled with the premise of sponsoring open source, which given Ruby being based there perhaps fakes it in some way. I was fascinated by why companies haven’t been picking it up.
JAMES: I think that’s an interesting question to discus in general. I mean, it’s hard to see sometimes what companies get. I mean, even AT&T Interactive, which pays Aaron to work on Rails full time and Engine Yard is probably more obvious what you guys gain out of sponsoring JRuby and Rubinius. And that you are cultivating very robust production environments which obviously helps you with some of your core goals. And so those are my assumptions of why you would do that.
NIC: The same when we sponsored Rails. I mean, which is personally before my job, but I’m going to say this like I was here the whole time. The reason you sponsor Rails is because that was kind of Engine Yard’s thing; Rails is what our customers were on and we have to make sure that Rails was going to be the web platform of choice, so that people built Rails apps so they can become our customer. So sometimes, you just got to invest in even though the technologies themselves are free and open source, there are still core technologies that’s part of your platform that just happen to be out in the open.
JAMES: But it is sometimes hard to see like the direct benefit. I mean, AT&T Interactive, I mean they don’t have any kind of direct guarantee, I assume, that the things Aaron does in Rails directly help their Rails apps.
NIC: Yeah, I mean, the other guys at AT&T who Aaron works with or has worked for in the past, you would assume that at least it is in their plan to upgrade all their apps to the latest 3.1 in etcetera. So I mean that’s obviously for their engineering teams to make that choice.
CHUCK: Yeah, that’s true. But at the same time, if you are employing somebody like Aaron and he’s committing regularly to Rails, and understands the internals and things like that, then you also not only gain features in Rails that you are going to want to use in the future, but you also gain an expert that’s on your payroll, that is somewhat beholden to you to help you out if you run into a problem. And there is that as well.
NIC: That is great. And another one is that you become a place… it’s an employee attraction tool to some degree. “Oh, Aaron’s there. I’d love to go work at AT&T. if Aaron is going to be around, imagine how cool it would be to work with Aaron.” Although the pictures he shows look a lot like his kitchen on twitter, so I’m not sure with Aaron; whether working with Aaron means you get to put on funny hats and work for his kitchen. But I assume there’s that aspect of it that goes along with it. And his markup place where the tech markup seems to be somewhat independent of the recession rules supposed to be having and finding great stuff is challenging. You look at companies like GitHub where they cultivate a façade… I’m not saying it’s a false façade, but like they cultivate their image as a place where you wanna be a developer. People wanna go and work at GitHub. And another kind of what we do — we want people to wanna come and work at Engine Yard at all levels.
CHUCK: Yeah, and that makes a lot of sense as well. I think it’s interesting too that as the companies give to these developers, they basically give them a salary to work on these open source projects and they get these various benefits. I think there’s also the payoff for the developer themselves, because most of these developers aren’t just working on some project because other people are using it; they are working on a project because they are passionate about it; because they care about what it is, what it does, what it stands for. And it’s interesting that they then get the opportunity to be able to do what their passionate about all day long.
NIC: Absolutely. I mean, take Yehuda Katz as an example; very passionate about some of his visions for what a Ruby-based web stack should be like in terms of modularity. Back in the day, he and many other people weren’t able to get those ideas into Rails, hence Merb became sort of the target code base of choice to try and implement some of those ideas. Eventually, there were labs that worked directly against the Rails code base and then went on to two year… what became the two year project the rewrite of Rails from the inside out. And you know, I don’t think that that could have been… yeah, as long as that project was and some of the spin off projects like Bundler, a very complex wonderful outputs, I don’t they could have been done by people who are not as engaged as they were. There were hard refactoring problems.
JAMES: That’s a really good point. And Matz actually says that in his interview, that basically, the current development system of MRI was not sustainable; you had a bunch of people working on very complicated problems. I mean they are trying to nail down things like the complex mixin system upgrades that they are trying to do, and there’s been look at multiple virtual machines inside of one process and stuff like that…
NIC: Yeah, perhaps upgrade the garbage collector to something new, fix the C extension interfaces and things like that, constantly improving the virtual machine — these are really hard problems. And obviously, you look at examples like the JVM has had comparatively multipliers more for funding in terms of making those things perform. So to some degree, it’s a disappointment after 8 years where MRI as a code base has never had a major refactor. It sort of just constantly being moved along, but not necessarily in a software engineering sense.
JAMES: So I think from the good side, what we hope to gain out of this is that, resources increase for the core team and there’s been mention that multiple members are now in negotiations with Heroku to join Matz’s team. And that by having the more resources that Ruby continues to evolve just faster and with more resources at their disposal. I think that’s the upside we are all hoping for, right?
CHUCK: Yeah, I think we all are concerned though a little bit with do these companies have an agenda with these different projects? Are they going to try and get their own kinds of things into Ruby. And the other thing that comes to mind when you…
NIC: What’s an example? I mean, I understand where you are coming from, and I’m wondering if you have like an example or something you think now Heroku is going to get put into MRI that the rest of us don’t want anyway.
CHUCK: No, I can’t…
PETER: Immediate deploy.
JOSH: So Charles, I think that’s an interesting point to look at. And there’s two sides to it; that the sponsor is definitely in the position to influence the technology, and you can worry about that and say, “Okay, maybe they are going to pursue their own agenda and in a way that doesn’t actually serve the community at large. And having watched the Rails project develop over the years, every now and then you can see stuff that goes in there that 37 Signals cares about, that maybe other people don’t care about as much. I think the quintessential example of that is the 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th, 10th methods on array…
NIC: Josh, you recognize that’s core business value for 37 Signals you reckon?
JOSH: Yeah, yeah [laughs] absolutely. So there’s definitely an opportunity for a corporate sponsor to influence things in a way that doesn’t necessarily make things awesome for everyone else, but as long as it doesn’t attract, maybe that’s not a bad thing. On the other hand, I think that having people who are hooked into real world needs, in a position where they can advance the technology and be supported in doing that is great. I mean, I think that having Yehuda and Karl working on Rails core stuff, being supported by Engine Yard, seeing all of the stuff that all of Engine Yard’s customers had to deal with and the way that they wrote code and the way that that affected their performance, I think that’s great that they were so tightly coupled there and they have that contacts to help…
NIC: And this is one of the things I’m really looking forward to whether Heroku sponsoring starting, I hope it’s just a start. I think now that we know that these Japanese core guys are interested in being sponsored… I said that because I was kind of inferring that we were under the impression that that was not something that they wanted — with me, personally. There’s two parts; one that they now start looking and caring about Ruby from the perspective of being a cloud language — which is obviously something Engine Yard and Heroku both are I think is the state of the world. And the other aspect is perhaps the English-Japanese bridge market blended more healthily. And perhaps the multi-language, the multi-Ruby universe just continue and have this dedicated resources MRI, perhaps they can manage the project and perhaps continue to look after Ruby spec as part of the core idea of who they are. The Ruby spec isn’t just something that the rest of the Ruby use; it’s perhaps something that MRI will also embrace.
JAMES: I think that’s a good point. Heroku has stated that their hope is to see Ruby improving cloud in areas obviously that’s valuable to them. And I’m sure that is what they are hoping to get out of it. But you know, let’s be honest, that’s where most Rubyists make their money — off of cloud and web applications and things like that. So it seems like if Ruby did improve in those areas, it would help the majority of Rubyists. So even though a company can exert an influence over something, it’s not necessarily that that influence has to be bad. That that probably helps us all.
JOSH: So how do we think that some corporate sponsorship for Ruby is actually going to improve things? What are the concrete ways that…
NIC: There’s the big [unintelligible] of projects which is the Rubyists themselves, Ruby gems, RVM and Bundler which I think, those are projects that Bundler is sort of lacking, I think a maintenance schedule at the moment or people will work on it. Obviously, RVM gets… Wayne works on that. Engine Yard, we don’t pay them to do that full time, but it is obviously, we use it internally. So we look after that since. Ruby gems, we can spend as much as we like, just discussing the excitement around Ruby gems from a management of the project since.
JAMES: We had an episode on that…
NIC: I hate to say that… you know, here I am. I hate to miss out my opportunity. So you know, seeing all those projects having an integrated… have them have resources so they can all move forward, I think they’ve all become sort of core to our workflow and production flow.
CHUCK: I kind of like that you implied not only that these projects get dedicated resources, but you kind of inferred that they would also gain a little bit of structure in how they move forward. And I really kind of like that idea that… and I was kind of trolling a little bit with talking about the agendas on these different projects, but that they have the dedicated resources and that these dedicated resources have resources of a company behind them to move them forward, give them structure, give them the tools that they need to push it along.
NIC: We have a lot of moving parts now when you look at those four and perhaps if you want a fifth, you can say Gem Cutter is a service which Nick Quaranto is doing a wonderful job of. And perhaps Tom Copeland with Ruby Forge. There’s a whole bunch of moving parts the organism that is the Ruby community. So seeing any sponsorship around so that those things can be healthy is a wonderful stuff.
JOSH: Some of those things — Gem Cutter in particular — I think are supported by Ruby Central. And just because one company is now stepping up to sponsor things in a more efficient way, doesn’t mean that that all has to be centralized in one company. There’s plenty of places where… there are plenty of opportunities for multiple companies to support Ruby in different ways.
NIC: Yeah, and I wouldn’t say that one company doing all the work is going to radically improve anything. I mean, the people that work on those stuff, I know people… may or may have known Evan Phoenix, Rubinius lead, spends a lot of time working on Ruby gems problems and working as part of that community around that project. I mean, they have working relationships, and just allowing them the freedom to actually solve these complex problems is I think a value that any company wants to have. I’d love more companies to be spending their capital or their revenue on helping make our community better. It would be awesome.
CHUCK: Okay, I wanna change tactics a little bit too, and talk not so much about supporting particular projects by sponsoring the developers that are behind them — or in the case of Bundler, finding somebody else to kind of take it over since Yehuda and Karl are working on something else. But there are also projects that are kind of built by companies, I guess, so you have different gem stuff that are provided by…
NIC: I think this is really interesting. You look at AppsCloud from [unintelligible] not to mention a competitor’s product… kind of classless from a self-serving perspective. But yeah, it is one of those things that came out purely from a company. And I think that it’s just one of open sources… it will be interesting to see how that goes as an open source project. Does it ever go beyond the company that heavily funds it? Or is it going to be primarily locked inside the company. Android perhaps fits into that model. Sorry, I don’t know if that’s where you are going to go with that conversation, but it would be interesting if anyone else have any thoughts of how company who share projects can succeed or fail.
CHUCK: Well, there are couple of examples that I can think of that. That wasn’t exactly where I was going to go, but I think that’s an interesting thread to follow. There are other projects like Hadoop that was started at Google, but now is run by the Apache group, as well as Cassandra and… JOSH: Yahoo. It was started at Yahoo, I believe.
CHUCK: Was it Yahoo? Okay. But you know there are these different projects…
NIC: Did you say Google?
CHUCK: I did.
NIC: There’s an interesting story about why you my say that. Do you wanna hear it?
NIC: Yeah, as Josh said, it was started at Yahoo, but Google was the first to put it on a CD and ship it off to universities to teach people about that sort of model of thinking of problem solving, because they wanted people to be prepped about that so that they can work with Google. So they took brand leadership on something they weren’t even really working on. That is very clever.
CHUCK: [Chuckles] That is clever. Anyway, these projects are now open source; they are not managed by companies that started them. And you know, they are meeting with some success. And so I think in some instances — depending on the use case for them — they can move beyond the companies that start them.
NIC: So we are now talking about the Tengen running Mongo; the Hortonworks, which is the company that is now being spun off From yahoo to own and manage… or ‘own’ is the wrong word, but to do Hadoop work; Strobe running SproutCore, is that the sort of thing where they have a company directly tied to the product? And that type of thing?
CHUCK: Yeah, either way. I mean you know, let’s talk about that for a minute because it is interesting, it’s not just they hired the guys that made SproutCore and so now, they are paying them to work fulltime on SproutCore, but they actually have a business model behind it.
NIC: Right. And yeah, to parallel, 37 Signals, Rails was not core wasn’t really [inaudible] product; it was something that spun out from what they were doing. Those examples I gave, perhaps too soon to know whether those models work or not, but some of them were successful first and then businesses formed around them — like Hadoop and Hortonworks. SproutCore came out of Apple, obviously had a very high impact example in terms of Mobile Me. Has anyone ever thought of whether that is a good model or bad model? Like at Engine Yard, we tried to decouple our notion of ownership of Rubinius and JRuby. We sponsor them, but really what we want them is to be massively successful. That’s why we do it.
CHUCK: There’s another interesting example or counter example here, and that is that Oracle owned Hudson; and they owned the trademark on the name Hudson, and so there was the whole naming…
NIC: They owned that trademark about 30 minutes before they started exerting pressure on it. They found out they didn’t own the trademark, went and got it, and then started being annoying.
CHUCK: Right, but you know, they have this sense of ownership, where they felt like they have the right to it.
NIC: Exactly. Let’s go with that. I mean, they use trademark as a way of trying to exert that, but they went down a different path. And see how that went for them.
JOSH: So I wonder if that cautionary tale… maybe we should look at a couple others. I’ve been wondering what’s the downside of corporate sponsorship and what are maybe things that the community has to watch out for or try and avoid. Like now, Oracle owns MySQL.
CHUCK: Yeah, and they own Oracle. That’s doesn’t it?
JAMES: I agree. I think we need more examples, so we’ve already had Oracle and Hudson. I think Oracle has made some damaging moves with MySQL, changing the pricing structure. I mean, it is probably not dead yet, I think they’ve definitely made some damaging moves and caused people to re-evaluate that project a bit. And then the one that keep striking me, Google was so good about pushing Python until recently, and I think in recent years, they’ve done a lot of damage to the Python community with kind of… I mean, I realize the more … was the community decision, but I think it was largely influenced by stability issues at Google. And then in the meantime, Google basically replaces Python with Go. And I think that they’ve done a lot of damage to that language recently.
NIC: I’m not familiar with that. Is there anymore to that story? You sort of summarized it. It’s great it’s still there. It’s still first class language of the app engine.
JAMES: It is still there. It is still used at Google, although my understanding – and I’m pretty sure that they made public — that internally, they are phasing out the use of Python in favor of mainly, Go.
PETER: Lawyer up, dude.
JAMES: Lawyer up. [Chuckles] Right. I´ll get lots of angry emails. But the issue is that it just didn’t meet their needs when scaled it at their scale. But I feel like the…
PETER: Python doesn’t scale.
NIC: Doesn’t Google scale. And what is the point if you are not going to try and reach Google scale?
JAMES: Right. So I think that sponsors can be damaging. And that’s why we have an initial reaction of a little bit of concern when something happens like… I mean we all wanna believe Matz works for Heroku, but the truth is Matz work for sales force, pretty much.
PETER: It worked also for Redis, though. I mean, I know VMware sponsorship of Redis has been really good.
NIC: Yeah, and I like that model. Their model is the model we go with, which is we are throw out there, just get your work done, make Redis awesome.
JOSH: There’s a different kind of concern that I have about some of these and that’s that a community can be become dependent on the support of the corporate sponsor, that I think Ruby has been in a great place — up until now — in some regards because there aren’t corporate masters calling the shots, and the support from the Ruby comes from the community. So that’s been great. And it’s been hampering in some regards, but it’s also been really engaging and empowering in other regards. But you can see that sometimes, things happen that aren’t awesome all around. I’m not trying to knock Engine Yard here, but I remember a while back when Engine Yard downsized the Rubinius development team.
NIC: Rubinius started with Evan and I think grew to I think 6 people, and then they decided to go back to two people.
JOSH: Right. And I think that that…
NIC: There’s a reason for that but…
JOSH: Yeah, I’m not knocking how it was handled or that it was done, but I think that it is something to be aware of, that that kind of thing can happen. And in the case of Rubinius, Rubinius has continued to enjoy strong support from the community, and the project has gone kick ass and has just really continued to progress — so it worked out well in the end. But there are potential cases where a company can basically make the community become dependent on it. So okay, great, say Heroku/sales force hires the entire Ruby Core Team and now all these people change their jobs and they go work for…
NIC: All right, then [inaudible] changes his mind and decides Ruby isn’t the future of the cloud…
JOSH: And then what happens?
CHUCK: Yeah. but I do wanna point out here that… oh, I just lost my train of thought. [chuckles] Sorry.
JAMES: Well, I do think that it works more often than not. And I really like Peter’s example of Redis and other projects like that, where companies come in and add the support. You know what, I think that what you have is a bunch of guys working hard in Japan to make Ruby better, and that it comes down to they also have to have jobs and feed their families and stuff like that. And so you know, if Heroku can sponsor some of them and make that less in some of those other needs, so they can move needs more toward Ruby, then pretty much everybody wins.
NIC: Yeah I mean, the corporate sponsor isn’t the only ones to be concerned around. I mean the people being sponsored suffer from the same burnout issues or weighing… would focus that anyone can suffer from and certainly some projects. When you get Karl and Yehuda had had about enough of working on Rails full time, at the time that they finally got… they committed to getting out of the line, they did that and they decided to go off and divide themselves to something else. And there’s also the human aspect of working on full time on something. It can become similar to simple to have.
CHUCK: Yeah, what I was going to say before was just that it seem like in all of the counter examples that we gave, it seemed like the corporate sponsor kind of overstepped things and decided that whatever it was that they were sponsoring, was no longer owned in a certain sense by the community and that they have the right to enforce certain restrictions on it. And it seems like in a lot of those cases, that’s when the problems began to occur, is because the community is moving one way. And the company that was sponsoring it is trying to move in a different direction with it — whether that be monetization or meddling in it in some way. And so,
NIC: Yeah, that’s the community meddling…
PETER: SQLite voids that though very well — by having several corporate sponsors. So they were all kind of like equal.
JAMES: Another interesting protection from SQLite is that they force all contributed code into the public domain — that’s part of contributing to SQLite. So basically it guarantees going forward, that no matter what happens at the corporate sponsor level SQLite and its current form at that point, you can always take it and run with it. So that’s interesting protection built in to their model.
NIC: I’ve got another topic at corporate sponsorship for you, and that’s the fork.
JAMES: The fork.
NIC: Companies like Fusion did their Ruby enterprise edition; Twitter then took that and did their own fork of that and those contributions either are not being offered mainline or being rebranded or perhaps going against the core maintainer’s eyes and hoping it get accepted.
JAMES: I got to say, I like those less. For example, in Ruby Enterprise edition, they forked because they wanted to improve performance under the hosting of web applications. So they basically went all the way through MRI and made some massive patches that made massive changes, and they did make a single attempt I think or maybe a few, to throw those back to the Ruby core team. And they said, “Well, you did on improve performance on applications, but you also hurt performance under these cases, these cases and these cases.” And those guys weren’t interested in working around that and resolving those, which I think is unfortunate because then all that work could have gone into MRI, and we all could have benefited from it forever. You know? So.
NIC: So we put it under corporate sponsorship misguidance or is it just human beings not communicating?
JAMES: That’s a good question. I don’t know. So you gave Ruby enterprise edition; what was the other example of fork you gave?
NIC: Just to take that story further was Twitter recently announced they have been working on REE…
JAMES: Right. See that seems again, where okay, so all that’s happening in a black box and none of that is getting back to Ruby. And that seems bad — both for the Ruby community and for Twitter itself — because if Twitter continues to just fiddle with their own version, then eventually, they will be running Twitter Ruby instead of Ruby, and they won’t be able to take in things from the main line that may potentially help them.
NIC: And you know, I mean if you watch Twitter’s architectural evolution as a company as they move towards… [inaudible] I did an interview with InfoQ recently and sort of said out loud what we’d all sort of been watching as they gradually move away from Ruby, which is still the first language to Java based languages, taught languages. You can imagine that they are going to cease support for some of the open source that they have done. But if they don’t get up to the main line back into a community-sponsored project, then it’s kind of that death of that branch.
JAMES: Right. But now. I can think of forks that were probably good cases like what about Jenkins — since we talked about Hudson earlier, right?
NIC: Yeah. You know, to me that was always just a rebranding and liberation of the suffering. That is a fascinating story. No doubt someone will write a book and Hudson and Jenkins would be an interesting… I’m not sure where they are up to now with the reunification. I know they started that but hopefully Oracle give up and we can all go back to being happy together.
CHUCK: My understanding is that there was some concession made to where they were going to rename it back to Hudson, but I don’t know more than that.
NIC: I haven’t seen anything definitive.
JAMES: That’s another good point where keeping it open keeps your option open, which is good news. In Ruby community, we have that too. I mean if Heroku goes crazy tomorrow and makes Heroku Ruby and starts trying to close all the open doors, then we can fork Ruby at that point and go forward.
CHUCK: And the other thing is I think we can all count on Matz or whoever else is there working on it that if that kind of stuff starts happening, that they all move things out where we can get to them. Because if the agenda with Ruby and the agenda with Heroku don’t line up, then I can see Matz feeling some obligation to the community to do what is best for Ruby.
JOSH: And he was pretty clear about that in the interview that he did. We should put a link to that in then show notes by the way. The interview that got translated a couple of days ago, talking about this. I assume everyone on this call has read it. I wanna throw in sort of a blue sky or wish list moment here. I think there’s been some things about Ruby that people have criticized in many cases rightly about things like documentation and system library support. When people start comparing Ruby to languages, they’ll say, “Oh, Python is so much better at Math or scientific processing or system library support.” “It has better documentation.” I’m wondering if this is an opportunity for Ruby to try and level up in some of those areas where the language has not measured up to other languages.
CHUCK: So you are asking us what we think they should do with their new resources to be awesome Ruby or better Ruby?
JOSH: Yeah, I mean if someone is in a position to throw money at the problem, what’s the problem we want them to be solving?
NIC: Is that how it works though? You start with money, problems come out and solutions come out or you should find someone who is passionate about a problem space and money follows him?
JAMES: That’s a good question. But I will say that… so when I was in Japan attending RubyKaigi, Matz had just done one of his famous large, undocumented and tested commits. And the way those usually works is he throws a bunch of code at Ruby and then he kind of reverse engineer it to figure out what it does, so we can get some basic documentation and testing going. And I remember Yuki giving him crap on stage, threatening to take away his commit rights if he can’t follow the rules like anybody else.
NIC: I’ve heard similar things said about perhaps the owner of Rails as well. Just wondering and throwing in some less than production quality contributions.
JAMES: So perhaps Heroku putting a bit of pressure on their documentation or proper process like…
NIC: Do you think Heroku is going to do that? Do you think that code quality is on the top of their… “God damn it, we don’t have time for code quality!” Or is it just, “We just want him to pay more to Ruby and less attention to whatever else he is paying attention to.”?
PETER: And anime.
JAMES: Anime [Chuckles]. Even Matz maybe an interesting question though, Matz and the core team have admitted several times that they don’t really use Ruby for web applications, even though the rest of the world does, you know? That even if Heroku just says, “Can we focus on some VM features that would help web apps,” maybe that…
NIC: That doesn’t surprise me at all. I think if you got all the language implemented as though client not necessarily be massive users of their thing, because obviously… the JRuby guys are Java developers. The C Ruby guys are C developers. Ruby [inaudible] is a big conference and that sort of thing. So I think that’s a natural tension that’s going to exist. Their fascination is making a wonderful Ruby implementation, not necessarily owning the whole experience all the way up to does HTML get rendered quickly.
JAMES: That’s probably true, but I bet also in the past, like I know we’ve had sweeping Ruby releases that just destroyed Rails horribly.
NIC: Oh yeah, the 1.9 branch seven years in the making before it was production ready. I mean, that’s not a high point of suffering [inaudible] execution.
JAMES: Right. But I do think that nowadays, they do try to be better about making sure they haven’t broken Rails horribly before they release.
NIC: And I believe that whoever is in charge of actually the product release of Ruby committed for the 1.9 release, they committed that it would have to pass the Ruby spec. And I think that was for 1.9 was the first time they ever made that commitment.
JAMES: Right. And that’s Yuki, to be clear, she’s In charge of the 1.9.
NIC: Yeah. Thank you Yuki.
JOSH: I wonder if several of some of the biases that the Ruby core team has are going to come in to tension with biases of the of the sort largely American European Rails developer community. The Ruby core developers, I think they mostly develop on Windows systems, they like shift JSI instead of UTF-8. There’s a couple interesting little biases in there, that have caused little kerfuffles here and there. To use my favorite npr word.
CHUCK: [Laughs] NIC: The word ‘kerfuffle’, it’s not used about far enough, Josh.
NIC: I appreciate you bringing the context here.
NIC: Put that word in the show notes, for anyone who want to look it up and get the correct spelling.
JOSH: Kerfuffle with a ‘k’. [Chuckles] No, back to my point, I just wonder how much of those tensions are going to become an issue. I know that there was some performance or stability patch that tenderlove, Aaron’s submitted and was rejected by Ruby Core because it wasn’t compatible with what a lot of the American community feels as an obscure Windows development case.
NIC: I mean Rubinius has yet to really solve any of the Windows issues late last year and it’s one of their parallel projects. JRuby is kind of gets the benefit of the Java’s commitment to Windows platform. Making sure all your stuff works across all of them and caring can be a torturous aspect. NodeJS is making a commitment to that now, but we haven’t even talked to them about and doing it, which is an interesting corporate sponsorship. That to me is not corporate sponsorship thing — just to tie us all in the theme of the talk — that’s just people with biases. [Laughter]
NIC: I don’t know if Matz is being paid by American company or sponsor or [unintelligible] this relationship they have is going to change his biases.
NIC: I don’t know if that comes with the contract.
CHUCK: Who knows? Well I’m going to go head and drive us into the picks here. And then we can pick this up and post it as an extra on the website. For those who are new, and Dr. Nic, this is your first time, so we’ll explain this to you as well. The picks are just things that are interesting or that have helped us out or have different tools; they can be programming tools, they can be television shows, they can be toys, whatever. Just things that you think are cool that you wanna share with the audience, and with the other panelists. And we’ll just take a few minutes and explain what are the picks are and why we like them. I’m going to go ahead and start this one off, because I always make somebody else start. And my picks this time, I have one tech pick and one non-tech pick. And the tech pick is Cassandra. I’ve been playing with it and it’s really cool. It scales up really nicely, the paradigm is a little bit different as far as the database structure, but it’s really, really awesome. And I’m actually going to be talking about it at Rocky Mountain Ruby in about a month a half. And so, anyway, I’m kind of excited about it just because in playing with it, I’ve seen it do some pretty cool stuff. And that’s another open source project that was started at Facebook; Twitter uses it, a bunch of other companies use it and it is now supported by the Apache group. It’s an Apache project. The other one that I’m going to pick, I’ve been watching a Stargate SG1 and I’ve really been enjoying it. [Chuckles] and so I’m about most the way through the second season. And it’s really been cool. I’ve been watching it on Netflix and just really been enjoying it, so both geek picks: one tech pick and there you go. Let’s go ahead and let Peter go next.
PETER: I’m going to do an antipick to start with and that’s TK. The TK library it seems that we talked about this about Ruby and the different uses in Japan, seems often the Ruby releases get delayed because of TK for some reason. I saw that this week, about 1.9.3 was delayed because of this. I’m sorry, the 1.9.2, the new patch level was delayed because of TK problems, so anti-pick, TK. More positively, we’ve been talking about Matz. This book is so worn and I just have to recommend it. Because I’ve come across so many Rubyists who don’t know what I’m talking about when I mention this book. And it’s the Ruby Programming Language from O’Reilly from David Flannigan and Matz. And it’s just an awesome book. It’s basically as close as you can get; almost complete reference for the language straight from the mouth of Matz or at least with his stamp of approval.
NIC: Have you ever thought about the irony of needing a reference guide to language which proposes that it should be self-discoverable or do whatever you think it should do?
JAMES: [Chuckles] That’s awesome.
PETER: No, not at all. But yeah, I always learn something. Every time I pick it up, I flick through it, there’s always something cool that I pick out or remember. I’m going to quickly go through two others.
CHUCK: Pick through it with a pick axe?
PETER: [Laughs] If you wanna skip just all the [unintelligible] stuff and just go straight to the reference, this is the good stuff. Yeah, Code Brawl, codebrawl.com is run by Jeff Kreeftmeijer. I’m not very good at pronouncing his name. I know that James used to run the Ruby Quiz. This is a little bit simpler. It’s basically try to make a call testing library and bam, you get a week to do it and then you vote and that’s kind of cool. So so codebrawl.com. And last but not least, Michael Edgar’s Ruby patches repository on GitHub. He explains very simply how to install different patches, which he’s accumulated inside this repository, to do things like adding little extra features that people have patched into MRI and JRuby, I believe. And it’s very, very simple with RVM, just the one liner to install any one of the patches and off you go. You can be playing with various new features and things that people have coupled together. So I will send over the links and share them all with you.
CHUCK: So if you apply those Ruby Patches, is that Ruby Reloaded?
JAMES: [Chuckles] Ouch.
CHUCK: You wanna tell us what Ruby Reloaded is real quick?
PETER: I can, although it’s all sold out. But say Ruby reloaded is a cause that I’m running, actually next week at RubyReloaded.com. It’s an online thing, it’s like a two-day eight hours spent on a month’s forum, kind of mentorship for intermediate Ruby developers.
NIC: Enjoy the [inaudible] times of Peter Cooper, you can have more of that in the block…
PETER: Yeah, you are not going to enjoy at times, but at least in the next few weeks though because I’m very busy with all these different things. I’m semi-retiring from the show for a while. NIC: Aww, what?
CHUCK: Yeah, he’s leaving us to go make some money.
JAMES: We are sad. We are going to miss Peter. But on the upside, Josh has agreed to join us. So he’s been a semi-regular and he’s sticking around.
NIC: How do you figure out which… who ranks highly? Is that how you get Josh? Or was he just like available?
JOSH: I rank highly because I’m available.
JAMES: That’s right. But actually, we have had a lot of feedback that Josh is a good addition to the Rogues.
NIC: From the targeted advertising demographic.
JAMES: Right, exactly.
JOSH: [Chuckles] Although I may have to miss next week because I’m on call for jury duty.
CHUCK: [Chuckles] Oh, man.
JAMES: Nice. Just say he’s guilty and get out of there.
CHUCK: Yeah, just look at the police officer. “You did your job, right?” Yup, guilty!
JOSH: [Chuckles] Okay, great. So is this my pick turn?
CHUCK: Yes, I think so.
JOSH: Okay, so I got a follow up from last week where I was talking about the Restful Web Services book which… and Steve Klabnik tweeted at me after the podcast saying, “Oh, you got to check out HATEOAS!” or however you pronounce it, it’s spelled H-A-T-E-O-A-S and it stands for hypermedia as the engine of the application state. And this is part of Fielding’s dissertation. And it gets a mention in the Ruby or the Restful Web Services book that I picked last week. But there’s not too much about it in the book. And that’s why I missed it when I was reading through it. But, Steve Klabnik has a nice write up on that, and so I´ll put a link to that in the show notes for you. And it has a couple other mentions in his blog posts. And it doesn’t take much googling to find some other references. So, that is a nice start to learn about hypermedia as the engine of application state and how to deal with the connectedness and versioning of APIs and all of that. I still think that there’s not enough information available here, and that there’s not good examples on it. And there’s actually I think a good opportunity to try and level up the support for this in Rails as well.
NIC: Is there a plugin… reading through this, is there like a most nice things about this style is plugin and then DHH decides that he likes them, which is how the rest came in, but where is this… is this just an article or what?
JOSH: This is just an article and it’s just information. And I think that there are next steps to take, but I think that because this is so coupled to hypermedia formats, hypertext formats, that the plugins aren’t going to be able to appear until you actually have some idea of what are the media formats that you need…
NIC: Ah, Josh that’s a [unintelligible] entry. Having to know something before you use it, that’s going… you could use Rest whenever… you mean we are doing Rest already? Wee!!
NIC: All of a sudden, you made tens of thousands Rails people cool. You know, you just have to let them know they were cool. You know, you can just drop it in and go. All these generators, generators just generated the right thing and we can leave and learn the patterns. I mean, what is the pattern here that can be generated or automatically taught along the way? When you are going to write these entry things.
JOSH: I haven’t quite figured out how much of these stuff is… idiosyncratic and how much of it is generic.
NIC: All right.
JOSH: So, I’m still reading up on all these stuff.
NIC: See the show notes.
JOSH: Yeah, see the show notes. And then I have another pick, which is super geeky but non-technical, and that’s the Blendtec Blender that I got recently.
JAMES: That’s awesome.
JOSH: So if you Google for “will it blend”, you can find videos of them blending pretty much…
JAMES: I love those videos.
CHUCK: They are so funny.
NIC: They always find things to blend like you know, first generation iPhones.
JOSH: [Laughs] Yeah. iPods, iPhones, shoes. [Chuckles]
CHUCK: Diamonds, I think they did. Glass… a whole bunch of them.
JOSH: But aside from all the novelty value of being able to your iPhone, although I tried it and my iPad wouldn’t fit in the blender.
CHUCK: I don’t know whether to laugh or to cry.
JOSH: [Laughs] But I got to say, this is the most amazing blender ever. And I do a lot of smoothies for breakfast now.
NIC: Such a late night television concept though. If it wasn’t for YouTube, you know you’d be watching ad for that in three in the morning. [Laughter]
JOSH: So I like to eat healthy, I think smoothies are great way for me to do breakfast because they don’t require a lot of preparations. But with this blender, it’s great; I just throw everything in there. I can throw in whole raw nuts, I can throw in flaxseeds, chunks of ginger, whole carrots, and it just blends it all up into a delicious smoothie. NIC: 5 1/4 floppy disc that you don’t need anymore.
JOSH: Absolutely. I can get more gigabytes..
NIC: There was actually a blog post someone declaring that you could if you had them, toss 5 ¼” discs. [Laughter]
CHUCK: I’m glad we have permission for that.
NIC: He still have the 3 ½” disc on deprecated warning, but he said 5 ¼” you can toss them.
JOSH: What about the 8” floppies?
NIC: I’ve never seen one.
CHUCK: You don’t have permissions on those, yet.
JOSH: So anyway, and then the super dangerous thing about the blendtec is that it has a milkshake button.
CHUCK: Oh no.
JAMES: That’s awesome.
JOSH: [Chuckles] Yeah. And it has all these pre-program buttons that control the speed and power and duration of the engine. And there’s literally a ‘milkshake’ button.
JAMES: Is there an ‘iPhone’ button?
JOSH: No there’s not. They got to work on that.
JOSH: Okay, so that’s it for my picks.
CHUCK: Okay, I wanna clarify one thing and that is that if you don’t know who Steve Klabnik is, he is the guy behind Hackety Hack!, I believe.
JAMES: That’s right.
NIC: He’s on the Change Log.
PETER: Totally awesome!
NIC: Oh, sorry! Competitor product. My mistake. La, la, la, I’ve never seen it.
CHUCK: [Chuckles] Anyway, so if you wanna learn to program, Hackety Hack! is a good way to go. James, go ahead and share your picks.
JAMES: Okay. I can’t remember if I’ve recommended iterm2 or not, so if I haven’t, I’m recommending it. and if I have, I’m recommending it again. It’s reached 1.0 now. So it’s gotten pretty stable. And I was one of those people that just use Apple’s terminal forever and then once you switch over to iterm2, you realize that was really stupid, because iterm2 is just amazing. Just having like a keyboard shortcut to full screen, to terminal, it does all of your…
NIC: …the directory links it it will actually open up stuff.
JAMES: Yeah, you can divide it horizontally, vertically, you can build it where it pops down as in whatever app you are in when you hit…
JOSH: This can remap callers.
JAMES: Remap callers, [Chuckles] Yes. Seriously, there’s Apple’s terminal, which is like a [unintelligible] price terminal, and then there’s iterm2 which is like… NIC: This is the … of the Lego family, you are saying.
JAMES: That’s right. It’s amazing. So if you are not yet using iterm2, now is the time. It’s ready and it’s amazing.
CHUCK: So I can install it on my Mac Pro and then pull it out on the handicaps bot?
JAMES: That’s right, exactly.
JOSH: James, how it is doing in terms of stability and performance now?
JAMES: I’ve had no problems, none. So I use it all day, every day. So I’m very happy. It was quite buggy at the beginning of the move to the two face, but then they’ve been squashing the heck out of the bugs since then. So in my opinion, it’s very stable now. But definitely, check it out and see what you think. But it’s a serious terminal, so you definitely wanna try it. My other pick is totally technical. I got that new router as I mentioned last time I think, and so I’ve basically just been looking for ways to abuse all the content coming into my house. And Netflix will stream HD, so you can stream down, oh… and they just stuck all these Star Treks on Netflix. They have DS9 which is coming in October, but all the others are on there. The Original Series and Enterprise have been re-mastered with HD, so you can go in there and you can stream down episodes in HD.
NIC: What’s the demographic on the audience because Star Trek too advanced and perhaps the other demographic, they want to know that all of the Power Ranges episodes are available to, so you know who you are.
JOSH: However, what made me extremely sad is that the Star Trek animated series is not available on Netflix.
JAMES: Oooh, that is a hurt. But my wife and I just went back and re-watched every single episode of The Next Generation and…
PETER: Really? Jesus Christ!
JAMES: That was campy fun, you know?
JAMES: Anyways, you should do it, it’s fun.
NIC: …or is it just the TV series?
JAMES: It is the TV series and now we are watching the movies.
NIC: I know the most recent movie is on there. I haven’t seen the other movies.
CHUCK: Which one is the most recent one? I don’t recall.
JOSH: The one with all the lens flares.
JAMES: [Chuckles] I believe Nemesis is the last one.
JOSH: No, Enterprise with Chris Pine and Zach Quinto.
CHUCK: Oh, right.
NIC: Yeah, the JJ Abrahams one. The first ever… which actually did a time travel back into the start of the last one.
JAMES: Oh, right. I was only talking about Next Generation movies. You are right, the other one is Star Trek The Reboot, which in my opinion is one of the best reboots of the series ever.
CHUCK: Yeah. I was trying to figure out how they were going to keep everything consistent and in the end it’s like, yeah, this is a new timeline. I was like, “Oh, cool!”
JAMES: Yeah, that was really cool because they got to throw out all the parts that suck and keep everything they wanted.
NIC: It might be hard for people to remember, but I certainly remember when I watched it the first time, it was on it at the same time as Hero is, and I was expecting Spock at any moment just to wave his hands around and sheets would start flying around like Sylar from Heroes.
CHUCK: [Chuckles] Yeah, someone will slam against the wall and their head will start to cut open.
JAMES: Cut somebody’s head right off.
NIC: Yeah, so the best thing about this movie is that it lasted… it’s re-watchability is longer than Heroes, so I can now watch that movie without really remembering Heroes and Sylar.
JAMES: That’s right.
JOSH: The cool thing about that movie is that it reset things, so that the enterprise series is now the only one that’s canon.
JAMES: That’s right. That’s a good point.
CHUCK: Yeah, that one didn’t run very long who did it?
JAMES: Four seasons. Enterprise ran four seasons.
JOSH: Longer than the original series.
JAMES: [Chuckles] Nice.
CHUCK: Somebody had to point that out. All right, Dr. Nic, what are your picks?
NIC: All right, I’m going to pick something that I think is new and shiny to me, though it’s going to show the date me in some [inaudible] direction, but I’m actually a big fan of PostgreSQL. And anyone who is not a big lover of PostgreSQL is going to think I’m an absolute tool. But I think what it means is that I’ve actually chosen a SQL implementation rather than taking some arbitrary default that you might have. And I have to be honest, [inaudible] why I went with PostgreSQL, because as much as I know all of the wonderful performance and production characteristics, it was actually because I watched the Peepcode on PostgreSQL and it showed transactional migrations in Rails, and that was an absolute pain point for me, my half a decade of Rails development was migrations that break halfway through and just had to redo them. So I moved to PostgreSQL. Now I use it for production for everything and see that’s a big win. And I mean…
JOSH: So Nic, is this just entirely coincidental with the fact that Engine Yard is rolling out support for PostgreSQL on Appcloud?
NIC: I was actually being a lot more gratuitous. I was going to say that that was the case, but no, I love PostgreSQL. What is worth mentioning is for anyone that didn’t watch Aaron Patterson’s Rails Conf talk which is on YouTube, he talks about the big performance boost for everything except MySQL coming up in Rails 3.1. So get off MySQL and get on to SQLite, [chuckles] or PostgreSQL or SQL server. There’s some big performance boost coming. I’m all about it for the better transaction and migrations.
CHUCK: I’m going to have to change my arbitrary default then.
NIC: Perhaps nerdy, or I don’t know if it’s nerdy but something my wife and I watch on the old Netflix is In Plain Sight. So it’s actually In Plain Sight. It’s a wonderful showcase of the delightful city of Albuquerque, but it’s all about…
NIC: Albuquerque, I know. Which is now on my must see list of cities in America since we moved here. It’s a show about…
CHUCK: Isn’t that where they exile all the witness protection folks?
NIC: The witness protection, yeah. But the two main characters are kind of fun to watch. The premise of … I think allows for a lot of interesting stories.
CHUCK: “You saw something horrible, we are going to send you to nowhere.”
NIC: [Chuckles] Yeah, that’s right. And you and [inaudible] are best friends. I have a nerdy thing, just a low level nerdy thing, I love the .rvmrc flag. The ability to sort of generate a .rvmrc file, within a project and sort of fix on a version of Ruby that it needs. So that whenever you go in to that folder, it automatically changes which Ruby you are using. Certainly useful here at Engine Yards where we have lots of some aging projects or projects that have had different levels of support for different Ruby, and it means you can sort of go in and not have to remember what Ruby it is. And I have one final pick, more of a word for anyone, this is not just… novelty thing I think anyone should at least try once is living in America. We’re trying it, it’s novel and it’s working out all right for us. So if you’ve never tried it before, give it a try/
JAMES: But he is new here, so pretty soon it could be, “leaving America”.
NIC: [Chuckles] That’s right. I´ll let you know about that one too.
CHUCK: I need to practice my living in America.
JOSH: Nic, could you also look at that as “leaving Australia?”
NIC: No, I can’t recommend that. [Laughter]
PETER: I recommend winning the Ashes.
NIC: So many people in this call not listening and not caring. But nonetheless, they are fine. CHUCK: All right, well I think that’s everything. So I’m going to cue the music and wrap this up. I just wanna thank our panelists again for coming. And again in no particular order, we have Josh Susser.
JOSH: Great to be back.
CHUCK: Dr. Nic, thank you for coming.
NIC: Thank you for having me on this prestigious medical drama.
CHUCK: [Chuckles] James Edward Gray.
JAMES: Thanks, Dr. Nic.
CHUCK: And Peter Cooper.
PETER: I´ll see you all in the future sometime.
CHUCK: And I’m Charles Max Wood. I love these discussions and it sounded like some people had some more to say, so if there’s enough extra, then we’ll record that too. We’ll put it up as an extra. I’m going to probably…
NIC: If anyone listens to this, there’s a lot of occasions where someone would say something and then someone else would say, “You know, that’s a good question.” Without ever really getting into the answer though. If anyone has answers to any of our interesting questions, feel free to put them in some way.
JAMES: Oh yeah, were a lot more about the questions than the answers.
NIC: We love to open loops.
CHUCK: Yeah, but if you do have input on those, by all means, go to RubyRogues.com and leave a comment, and hopefully, we can get a little discussion going there to see what people think about that stuff. You can also get the show notes there, and there is a ‘subscribe’ button on the website as well so you can get all of that. We have all of the panelists listed on the right and so you can click on their name and see who’s been on which show. And we’re also on iTunes, so if you can go into iTunes while you are there, leave us a review, let us know what you think. Really, really appreciate that. It not only helps the show, but it helps us know what is going on. And finally, if you have a topic that you’d like to hear about on the show, if you go to the website and click on “request a topic” you can suggest a topic, you can vote up other topics that you think would be good to hear about, and we’re going to try and cover some of those as we move along. So we throw in stuff like this that nobody really suggested, but we’re trying to do both. So if you have a suggestion and we really like it, then we’ll run with it. So that’s about all I have. We will catch you next week. And next week, we are going to be talking about one of the topics off of the website and we are going to be talking about the when, where and how, and why of metaprogramming. So if that is a topic that you are interested in, then…
JAMES: Don’t do it!
NIC: It was fun in 2006. No one does it anymore.
JAMES: That’s why Dr. Nic was not invited for that episode.
NIC: …and this is coming from the author of Dr. Nic’s magic model which suggest a cluster of metaprogramming.
CHUCK: so yeah, if you wanna hear about that, come back next week. Thanks.