The Ruby Gems Podcast

Chad Fowler: The beginning of Ruby Central, RubyConf, and RubyGems

Marty Haught and David Hill Season 1 Episode 1

In this inaugural episode of the Ruby Gems Podcast, hosted by Marty Haught and David Hill, guest Chad Fowler shares the founding story of Ruby Central and the development of Ruby Gems. Fowler, a key figure in the Ruby community, discusses the early days of Ruby conferences, the creation of Ruby Central as a nonprofit, and the collaborative effort to build Ruby Gems. The conversation also covers the rise of Ruby on Rails, community dynamics, and the importance of the 'MINASWAN' philosophy. 


00:00 Podcast Intro

00:46 Meet Chad Fowler: A Ruby Central Founder

01:42 The Humble Beginnings of Ruby Central

03:03 The First RubyConf: A Small but Impactful Start

04:17 Establishing Ruby Central as a Nonprofit

05:17 The Evolution of RubyConf

09:09 The Birth of RubyGems

15:12 The Rise of Ruby on Rails

19:14 Rails vs Ruby: The Early Days

20:11 The Rise of Ruby in the Job Market

21:05 The Rails Revolution: 2005-2006

26:57 O'Reilly's Influence on RailsConf

30:16 The Merb vs Rails Conflict

32:06 The Impact of Matz on the Ruby Community

37:29 Ruby Roundup: Rapid Fire Questions

41:02 Closing Thoughts and Farewell

Marty Haught:

Welcome to the Ruby Gems podcast, brought to you by Ruby Central, where we uncover the stories behind the code. We're your hosts. I'm Marty Hott.

David Hill:

And I'm David Hill. The Ruby ecosystem is more than just gems and frameworks. It's built on creativity, collaboration, and the unique journeys of developers around the world. And that's what we're here to share.

Marty Haught:

Each episode, we take you beyond the pull requests and blog posts to explore the human side of Ruby. You'll hear the challenges, triumphs, and unexpected turns that shape our community's most interesting projects and people.

David Hill:

For our inaugural episode, we're going all the way back to the beginning to how Ruby Central got started. For this, we're joined by Chad Fowler, one of the founders of Ruby Central. Here's a bit more about Chad. He's a true polymath at the intersection of technology and art. He's a general partner and CTO at a venture capital firm, though he still thinks of himself first and foremost as a programmer. He's also a professional musician, performing avant-garde saxophone and flute alongside some of the most respected names on the scene. A major figure in the Ruby community, he co-founded Ruby Central, RailsConf, and RubyConf, co-created RubyGems, authored Rails recipes, and contributed to the legendary Pickaxe book. He also wrote The Passionate Programmer, a career guide for developers who want to do remarkable things. He's lived around the world, travels constantly, and brings a rare mix of depth, curiosity, and creative energy to everything he does.

Marty Haught:

Welcome, Chad. Thank you for joining us on the show. Oh, happy to talk to you. Let's start with the beginning. I'm curious how it all began, Ruby Central.

Chad Fowler:

Ruby Central. So basically, I was in this IRC channel. It was FNET at the time called Ruby Lang, Ruby-Lang. I think there were usually about 12 people in it. One of them was Mats. One of them was probably always Nobu. I bet Takahashi was always in there too. We all spoke English in there. It was the English outlet for Ruby at the time, I think. And one that became a great friend of mine was Dave Thomas of the Pragmatic Bookshelf. This is before the Pragmatic Bookshelf. It might even be before the pragmatic programmer came out. Somewhere way back then. Certainly close to, if not before, when Dave wrote Programming Ruby. Anyway, I got involved in this channel and started wanting to contribute things. And it was back when we didn't have gems. We had something called RAA. I don't know if that exists. I don't think so anymore. The Ruby Application Archive. And there was a nascent community forming around Ruby. There was a lot of overlap in the Venn diagram with the budding agile community as well. There's also new people and a bunch of programming language nerds that were just really interested in dynamic typing because that was a thing back then. And it was like weird to do that. So someone had started working on the first international RubyConf. It was a guy named Guy Hurst. It was planned for October 11th, 2001 in Tampa, Florida. And something came up with Guy and he got really far down the path and just sort of had to drop out and couldn't continue some personal thing. So Dave Thomas sent a message to me and David Allen Black, who was also in the channel. And he said, we have to make this thing happen. Do you guys want to help? So this is how David and I ended up co-organizing the first RubyConf and then Dave Did the Huckleberry Finn thing and didn't organize any of the other ones. So we did the first one. It was amazing. It was like 34 people, which doesn't sound very amazing. It was like a meetup. But it was amazing because it was like all of these really great people that were already heroes of mine in the software industry. Loved it. I came back from that experience just dreading going back to my corporate cubicle job. Yeah. And I think we all did. Those of us who have the cubicle jobs. And we were just thinking, how do we keep this going? And it was really that we realized there was just money flowing through this thing. And out of sheer paranoia, we thought we should have some organization as opposed to being like the thing that goes through my bank account. It was very much a not profitable at the time. So we decided, let's make it a nonprofit. I didn't know how to do this. So I did it. I incorporated a nonprofit in Kentucky, I think. Right. I didn't get it. do it somewhere else. Is it still there? It might even still be there. It is. It is still there. That's funny. So that's how it started. It was just a place for us to deposit our own personal money to pay bills and then have some record of what we were spending and have it not look like a money laundering organization. And from there, we did many conferences after that point, of course. But I won't get too far ahead of myself. It became more than just the thing that ran the conferences over time, of course, as you are very well aware. Yeah. But those were the humble origins of Ruby Central.

David Hill:

So what about the first actual RubyConf? How did that kind of coalesce?

Chad Fowler:

Well, as I said, it was Guy Hurst who decided to do it. He was a PHP developer and I think he had like a contracting company and maybe had seen that Ruby could be a cool thing to get behind and be early in the community because Getting in early on a technology community is a lot like getting in early on an investment in a company, but it's an investment in yourself and your standing and your career. So those of us that were younger at the time maybe sort of thought of it that way. But he did this and we followed the pattern that he set forth. We only did it a couple of years, but the idea was no one's going to travel for a Ruby conference because no one uses Ruby, not in the United States. And so... he decided to plan it next to OOPSLA, the annual programming language. Oh. So this is why we were in Tampa, and it's why we had so many cool people that could come, because they were already going to OOPSLA. It was a cool mix of signatories and authors of the original Agile Alliance. I think there were like five of them there, maybe, or six. Really, out of 34 people, that's crazy. And authors of many of the books that I was reading at the time. And then several... programming language designers and researchers that also were there to attend OOPSLA and said, hey, I'm going to this Ruby thing.

Marty Haught:

So Mats was already there for OOPSLA, right?

Chad Fowler:

I guess. Maybe for him it was like, okay, now it's worth going because there's at least two conferences I can go to. There's my own thing and then I can also go to OOPSLA. Right. I think we charged $200 to attend, which we kept pretty much stable for years. And we pretty much always lost money, which meant... Me and David Allen Black lost money, but it was a thing that we just spent money on because we wanted to do it. Right. We had a t-shirt design contest and some rando from the internet designed the first t-shirt. He wasn't a programmer or anything. It's just like a designer that found this thing. So we had a nice professionally designed t-shirt even on the first one. It was a terrible holiday in Tampa, like not even a nice hotel, single small conference room. And the story you didn't ask for that was funny about the first one was I think someone saw that there was an international Ruby conference going on in the hotel. So they went and rented another conference room and opened up a gem shop, like a jewelry shop, thinking that we were some sort of like gem industry from the real word gem. Right. And no one went in that thing. I felt so bad for them. And they're alone with a bunch of merchandise that no one even looked at because

Marty Haught:

it was just a bunch of nerds. So that pattern, you said... It was for the next few RubyConf. So that you basically said, where's OOPSLA? And we're just going to find a hotel nearby and have it there?

Chad Fowler:

Yeah. That was the idea. I think it was 2004 that we finally split off of that. So it was three years. Maybe we did it again after that. I can't remember. Okay. Wow. It's wild. And we always did it on the weekend too. Because we thought no one could take off work to go to RubyConf. It's a hobby.

Marty Haught:

Yeah. Because at that point... Everything with Ruby was essentially a hobby. People were doing it for fun. There was no jobs, necessarily.

Chad Fowler:

Yeah, it might as well have been a comic book convention or something. Right. Totally irrelevant to your work. In fact, when I was doing it, because I'd been doing Ruby for, you know, a year and a half or so before the conference, my coworkers used to snicker. I kept talking about it, and I got to the point where I realized they were just making fun of me because I was using it.

Unknown:

Aww.

Chad Fowler:

And they didn't know that I started using it to generate Java code at work. So I was doing my work in Ruby, but I just wasn't committing it to this. That's awesome. It's

David Hill:

awesome. So fast forwarding a little bit, you mentioned like RIA format a little while ago that that was kind of the way prepackaged code was kind of distributed between developers back in the day. And that's... not anywhere near what we do now. Now we've got RubyGems to handle a lot of that for us. Can you tell us a bit more about the origin of RubyGems and how that came to be?

Chad Fowler:

There are actually two origins of RubyGems. So the first one is it happens at RubyConf 2001, that very conference. One of the 34 people there and one of the speakers named Ryan Levengood presented his work for a thing called RubyGems. I think it was a zip-based format. where he had like a special require overload, I think. And if it had this zip file, then it would like unpack the zip file and load it directly from the file. It was really a proof of concept work in progress, right? Everyone saw it and thought, well, this is great. This is much better than what we used to have to do or what we have to do now. The way RAA worked is it was really just a directory of links. Then you go to the link that would say, okay, unzip this file. I copied this file. .rb file into this folder on your computer and this .rb file into this folder. It literally was that. There was no consistency. There was no automation. I think setup.rb existed. So that kind of did some of it. And install.rb existed. But most of the time it was just directions. So Ryan's work was really promising. Everyone got excited. And then we all left RubyConf and I don't think he ever did anything with RubyGems again. So we kept talking about this. We kept talking about package management Ruby. I guess everyone was excited that it should exist. And by the way, I don't recall any other system existing at the time. Maybe CPAN with mod CPAN and Perl, which was pretty clunky anyway. But I think Ryan's work just woke us up to like, we need this. So RubyConf 2003 was in Austin. I don't know if this still happens in every RubyConf, but there's a regular Matt's Q&A session. And I was always the one that would moderate that. And it might have even been me that just injected this question, like, what about having something like RubyGems? He said, if you build it, I will use it. Yes. And so he finished the session and Rich Kilmer walked up to me and said, all right, we're going to go write RubyGems. Let's go do it. So we just grabbed Jem Wyrick, David Allen Black, and Paul Brannan. I guess this is like 10% of the attendees at the conference. We went to the conference, the hotel bar, Again, crappy hotel in Austin, Texas. No Wi-Fi because it was 2003 and you probably didn't have Wi-Fi. Yeah. We had a USB drive and CVS, which was the version control system. And it was the repo, the USB drive. We just passed it back and forth and committed our work. Oh, that's awesome. Then we split up into pairs. And that was a Friday night. On Sunday morning, Rich had his talk at conference. And he was demoing something called ALF, I think. And Rich was a real... showboat when it came to programming at the time. So he said, what we're going to do is the first part of my talk is we're going to install the software that I'm going to be showing via RubyGems over the network. So the very first version had a gem server. You typed gem server, I guess. Maybe that still exists. I haven't tried it in a long time. And then you could point at it. The idea was you have different gem sources and so you could have a gem server on the local network. How do we have a network? I don't know. But somehow we had a network, and Rich installed the gem off of my laptop onto his computer as part of his talk, and then did a little lightning talk about RubyGems, and then went on with the rest of his talk. And then by the end of that day, which was the last day of the conference, we released RubyGems publicly on RubyTalk, the mailing list, and started working on a public repo and all that sort of stuff.

Marty Haught:

Wow. Wild. So I guess from there... I remember hearing that RubyForge was connected in some way. So how did RubyForge and RubyGems kind of connect and become a thing?

Chad Fowler:

So when I said started working on a public repo, what this really means is Rich had a company called InfoEther, which was mostly a consulting company, and Tom Copeland worked for InfoEther. So Rich could just tell him to do things because it was a job. Right. Tom had set up RubyForge, I guess, right before that as a SourceForge alternative. I was using some open source package, maybe a source, I think it was some SourceForge copy. It was a PHP thing. So we had that already and people had sort of started using it. And from the Austin airport, sent Tom an email about what we had done and said, we want to have a RubyGems source index on RubyForge. I think within like a day that already existed.

Marty Haught:

Yeah.

Chad Fowler:

Yeah. In fact, I deployed the first Ruby gem into that at the airport. So Tom had already set it up by that point. Nice. It was really stupid too. The way we did it was just terrible because we always assumed there were only going to be like 50 gems or something. You know, it was still a hobby. Everything we did was like, no way this would ever scale. Absolutely ridiculous.

Unknown:

Yeah.

David Hill:

So you didn't magically see the future to what RubyGems was going to become? No.

Chad Fowler:

I think every time you would invoke a remote gem command like search or install, it would download maybe either a serialized dump or a YAML file of the entire index of every gem and every version every time. No caching, nothing. Yeah. No, it wouldn't work. I wonder how long it would take to download on a good internet connection. Yeah, it's been a long time.

Marty Haught:

I guess next to my mind is, at this point in time, it's still a hobby, but there's a thing called Ruby on Rails that comes around. What was that like when that became popular? How did it shift things for Ruby Central and the conferences?

Chad Fowler:

Well, the first thing that happened actually wasn't Ruby on Rails. It was in Sticky. Oh? So this kid from Denmark It was really loud on the RubyTalk mailing list. Brash and flamboyant had created this new wiki called InSticky. I think it was just like a single file, insticky.rb. And the instructions would say, like, one, install it. Two, run insticky.rb. Three, there is no three. And people got excited about it. Like, he was really good at marketing. And that was DHH. I'll stay behind your hands if it did that. And so he already had kind of created this persona and the ability to generate excitement in the community. Then he started talking about this new MVC framework called Ruby on Rails, to which I thought, we don't need one of those. There's a bunch of MVC frameworks and nobody uses them. It's not like we're lacking this. So, okay, great. Then it's going to change the world. You go, young man. Good work. And I remember the turning point for me was RubyConf 2004, which was in Chantilly, Virginia. At a Holiday Inn Express, I think. Yuck. No, it was Holiday Inn Select, but still. Chantilly, Virginia. What? I got there, and I did the usual thing. You get there, and you're excited to see people. And I ran into Jim Wyrick, I think, first. Jim, who had created Rape, for those that don't know, and a bunch of other great stuff. And Jim was like, hey, have you seen this DHH guy? I'm really looking forward to talking to him about Rails. And I was like, oh, wow, that's weird. I didn't think anyone was excited about this. Everyone who saw me was like, have you seen the DHH guy yet? So David was speaking and he didn't do a technical nerdy talk about rails. He gave what was effectively a keynote on world domination in technology shifts or how to go from being the underdog to winning. And the funny thing is he wasn't winning yet. Obviously I barely even knew what it was and I was a Ruby developer, but he laid out the groundwork for what he was about to do. And not only that, he also announced TextMate, the editor, which he was demoing everything in TextMate. Oh my goodness. He didn't create TextMate, but he's a business guy. And I think he had already had some sort of partnership. He was going to be the guy that made everyone use TextMate. And they did. Everyone bought it that day who was using a Mac. And so that was clear. Something was different. Then the next year... I saw all sorts of signs over the year. Like Dave Thomas had said he wanted to put out a book on Rails, for example. I was like, wow, that's amazing. You should do one for the Arrow framework too. He did not. Then we showed up at RubyConf 2005 in San Diego, and that's where it was very different. So the difference was, remember the first group of people I told you at the first conference were just like all these super nerds. Right. Just deep in some sort of technology. and always something that most developers don't touch, like runtimes and language design and stuff. Then we get to San Diego, and it's clear we have a bifurcated audience. You have the super nerds, and that group is growing. And then you have all these people who are web developers trying to build businesses with this technology. You would hear things like, do I need to learn Ruby to do Rails? Wow. Now, the funny thing is, today you don't, because you can just use it. You don't. Yeah, it was just obvious, like, okay, we have two communities here. And it was the first time I think we ever did anything multi-track. We had a workshop session. One workshop was DHH and Rails, and the Rails core team was there. And then the other workshop was me and Jim Wyrick talking about continuations, how to program continuations, very different things. And we had maybe 20 people, most of them from Japan, over in our corner. And then everyone else at the conference was there. Watching the Rails talk. So that's when we knew you've got this Rails thing, which is kind of bigger than Ruby right now, honestly. And it's even new. And then you've got the Ruby crowd, which is this core group of nerds and language enthusiasts. So that's what made us decide to start RailsConf the next year and to allow there to be two different venues for these groups. Of course, it didn't work out that way because everyone went to both. Right. smoothed out over time and it became a cohesive community, I think. Yeah, it was interesting to see the identity crisis for a brief moment

David Hill:

there. Both of you have kind of mentioned this in passing as we've talked about how in the beginning, no one was really getting paid to use Ruby. It was very much a hobby. I've heard over the years that different points at these conferences have a question that would be asked would be like, you know, raise your hand if you're getting paid to use Ruby. I didn't really join the Ruby community until I think it was 2012. I think I saw that question come up once at one of the first conferences I went to, maybe. I don't know that I've ever seen it just because by the time I got into it, Ruby was pretty well established, thanks in large part to Rails. So I was wondering, could you talk a little bit about how that gradual change of as people started to find jobs and what led to that. Any thoughts you had on that kind of growth of the language and the platform?

Chad Fowler:

It was not that gradual, honestly. It was basically every time only Rich Kilmer would raise his hand for the first few years. And that's because he had a consulting company and decided he was doing Ruby and he just

Marty Haught:

did it.

Chad Fowler:

Yeah, no one gave him the job to do it. But it did mean that at least other people he worked with had a job doing Ruby. It was usually only him. And then I think 2005, that San Diego conference, it ended up being a smattering. So it was like, okay, people are actually doing stuff in Rails now. I was even one of them at that point. So yeah, I had left my corporate thing and was working for a small startup doing a Rails app as well. And the next year, 2006, it was just basically everyone there pretty much was being paid to use Ruby and It went from zero to nothing. At the same time, O'Reilly used to have a conference called, I think it was the Web2 conference, when that was the thing, like all of these social-ish apps. It wasn't social media, but it was the user is the creator and all that stuff. I remember, I think it was Rich, who I was working with eventually, Rich Kilmer, went to one of these conferences and said, It not only was common to see people using Ruby in the Web2 world, it got to the point where if you weren't using Ruby on Rails, people would ask you, why? What are you doing instead? So it was the de facto default choice, which is, I don't know, Node now or something, certainly TypeScript, whatever. And so that was also 2005 that I remember that being the case, 5 and 6. It was such a shift. Everything new was being built in Ruby on Rails. And I'm talking about like a one to one and a half year shift from one person at the conference to everyone you meet in the startup world.

Marty Haught:

I certainly remember 2006 because when I started going to the conferences and I could tell it was different. I don't know what it was like before, of course, but it was electric because it was very different because I'd come in from the Java world and it was thrilling and just so much new. things to explore, really.

Chad Fowler:

Yeah, it was thrilling for you, but it was like thrilling for everyone at the same time. Right. In a way that I have rarely seen happen as technology has advanced. And I guess it is, there was this trend before that to either just be static and not really have a craft, which is probably no fault for most developers, but the ones that were serious were like getting... more and more about rigid interfaces and building things that dum-dums can't mess up. And the Ruby way was so freeing. This dynamic language thing that wasn't just dynamic typing, which was a source of huge debate back then, weirdly. But it was also the dynamism of the runtime and the fact that you could do things like overwrite the types and the classes and memory and change the system where you take that sort of crazy, unhinged idea, and then you see it instantiated with Rails and then Rake and all the tools around it. It was just like all these things being built up around them were so much better to use as developers. It made us so much more productive. It is almost the same as how I feel now with all this CodeGen stuff. I feel the same sort of excitement now about generative AI in the community that I did then. I can't remember feeling that way about any programming-oriented technology since. I don't know if you guys can think of something. It's not that Ruby was the best. It's that it changed things, and it made it normal and required that programming languages and the technologies around them are really developer-centric, and they think about the experience of using them. Whereas before, developers get paid, so we're just going to make whatever crap we can to get it to work, and then the developers will have to deal with it.

Marty Haught:

It's a good point in that we just had to suffer. This is your interface. This is the tooling. It's terrible, but you'll figure it out. Whereas it did seem with Ruby, it was like, oh, this is a better way of doing things. Or what if we built it this way? And there was so much innovation in how we sort of structured Ruby. Because I remember in the beginning, in 2005, when I started doing it, it was different than 2009 and beyond. It just seemed like there was more craft going into... sort of our interfaces and our tooling and how we work. It was very holistic.

Chad Fowler:

It's an exciting time to be part of a budding technology, which is also a movement. That's the combination of things that I guess you don't normally get. So you could jump on the racket-laying train a few years ago and have a great time and contribute a bunch of white space, right? And that's what it was with Ruby, like we talked about. Ruby gems didn't exist, rake didn't exist, et cetera. But what was most likely at the time is you would just pump your efforts into this open source, esoteric thing that only you and a handful of people enjoyed. You get personal fulfillment and that's it. With Ruby, it was this weird thing where there's still a whole bunch of wide open space and people are using this for like serious commercial stuff. People are getting jobs, people are writing tons of books, and there's like conferences springing up all over the world, and it's a thing. And you get to be the one that made the first X, you know, whatever it is, like CSS generation framework for realms or something that everyone starts using. Or you might be one of the 3,000 people that wrote a test framework and hope someone used it.

David Hill:

You mentioned a little while back O'Reilly coming in and kind of contributing in the space. Can you... Talk a little bit more about that, about how O'Reilly got involved and what they contributed while they were involved.

Chad Fowler:

O'Reilly at the time, they were the publisher for technical books. I don't mean the only one, but definitely the one that we all respected the most. No offense, Addison Wesley. Pragmatic Bookshelf was brand new, so they were still making a name for themselves. I think the first book was launched in like 2004. The VP of conferences, Gina Blaber, came to RailsConf. The first one, which was 2006. I left out a thing when I said we decided to start doing RailsConf. It was actually me. I went to the Ruby Central guys, which at that point was now David Allen Black and Rich Comer, and said, hey, I think we need to have this separate conference. They're like, yeah, you're right. If you'll do it, then I agree. And then I talked to DHA and said basically the same thing. If you'll do it. I agree and I will encourage people to go to it and call it the conference. And so I got some help from a guy named Jay Zimmerman who had been running this really great Java oriented enterprise oriented developer roving complex called no fluff, just stuff. And for him, that was a commercial endeavor. So basically I said, you do this thing and then we'll like split the ticket proceeds. So he just sort of did the rinse and repeat of what he'd been doing. already for years on a slightly smaller scale, but much more frequently. He made it possible. It wouldn't have been possible without him. We went from, I think, the 2005 Ruby conference was really stretching our brains because we were at like 200 people and 2004 was 64 people. It's like, okay, we're getting into a scale that we don't know what to do with. Oh, and the 2005 one, because of Rails, sold out in... hours or something when we put tickets on sale, which we'd never sold out before, obviously. People were mad at us because they didn't get tickets. Anyway, Gina came and said, you know, I'd love to talk to you about this Railscom thing. We love Ruby. Tim O'Reilly is excited about this and thinks this is the future. And so they were doing like the O'Reilly open source convention, this massive multi-thousand person thing. Conferences that we all loved at the time, and they really needed No offense, Jay. He did great for us, but O'Reilly did it at a different scale. So working with them was fantastic. There was nothing wrong with it. They handled everything except for the content and like the community culture. And they absolutely leaned on us for all of the stuff that we felt mattered. And so the first one we did with them was RailsConf 2007. The next year at the Portland Convention Center, I think there were like 3,000 people there. from five or 600 the first time to 3000 people. Amazing. And just having the O'Reilly name associated with it was also just a really big deal. And O'Reilly got involved. And so a little known story from that time, maybe even one I shouldn't tell, but it's been so long. I don't think anyone's gonna be offended. Rails got popular enough that a band of rebels formed And they had all these gripes about how Rails worked and probably didn't like the dictatorial cult of personality around it as well. And they created a competing web framework called Merb. And I think Merb was literally the ERB was ERB. So it started as the simple ERB wrapper, I think. But it was this nicely modular, well-factored thing. And it became a real nasty community fight for a while. Merb versus Rails. Mm-hmm. Which is stupid if you think about it, because who cares? You just use your thing. But it got nasty enough, I guess with name calling and stuff, that Tim O'Reilly contacted me and said, I would like to have a session to help these teams learn to get along and work together. Will you join it with me as someone who knows them? Impartial voice. And maybe Rich and David Black joined it too. And it was a weird mediator session with Tim O'Reilly and maybe i think it was yahoo cats and carl lurch yeah wow and we had like a planning call for it tim took this very seriously he was worried the community was going to tear itself up and the value of this thing that he thought was going to be really great was going to be lost and not from a commercial perspective but just as like a old school open source unix guy he wanted to help prevent something bad from happening and i won't say that necessarily tim's call made it happen but The story ultimately is that Rails 3 was the combination of the two teams and a bunch of the great work the Merb people had done became the underpinnings of what Rails 3 was and improved Rails tremendously. So O'Reilly had some hand in that. They weren't just organizing a conference.

Marty Haught:

That's super cool. I guess I'm curious about how Minus One, which is phrase we use a lot in the Ruby community, how you saw that sort of flow through those years, if at all. Did that have impact? Did that show up?

Chad Fowler:

I think so. At first, no, because you get into a room with 30 people or you're in an IRC channel with 12, you're not really thinking about whether people are mean. It's not big enough. People get mean when it's anonymous and it wasn't anonymous yet. So The major way it showed up is we all did very much respect maths, if not idolize maths in some cases. And when you see someone carry themselves that way and they're a hero of yours, then you're likely to try to emulate that if you're empathetic and emotionally intelligent. Then the other way is just as new germs came into the community's body, you would see negativity flare up, nastiness flare up. And at least there was this both example in maths and then something that had embodied as a word or an acronym that you would reflect on. And I would guess it did change how we thought about things and how we reacted. Although probably if you look through RubyTalk, you'll find me being a real jerk in some cases because people made me mad. And you won't find Jim Wyrick ever having been a jerk. I think maybe Matt's just attracted the sort of people like Jim who were just kind and set an example in the community and we followed it. And the menace one thing was just one more way to drive that home. We, we didn't need the acronym necessarily. I'm trying to think of all the people that I know at Ruby and from those early days, especially the ones that were really into it and really part of the community. It was a whole bunch of people that were nice. And so we are nice. It wasn't just

Marty Haught:

nice. Right. Yeah. So maybe it's more of a labeling thing where like, hey, this is something that we see exists here and we're going to give it a name and talk a little bit about it, but ultimately we're already doing it or already living it.

Chad Fowler:

It's like design patterns. Singleton pattern didn't exist before singletons existed. It's a name for a thing that made some sense. So that's probably how it impacted the community.

David Hill:

Having finally gotten to meet Matt at RubyConf just this past November, It was nice to finally actually meet the man behind Minaswan. But yeah, you saying that, that it wasn't just Matt's, it was the whole community of people that were kind of building this platform, this community that kind of grew up around it, makes it feel almost even more special that that many people were concerned about. We want this to be a good, kind place for other people to come in and contribute and be a part of it.

Chad Fowler:

For me, the first RubyConf, I was there... I was a nobody who lived in Kentucky and worked at a boring corporation and had not done very many interesting open source things. Open source was barely even a term that people used at that point. And I didn't have any credentials to show up with. And I've got Dave Thomas, who has written or co-written now two books that are hugely influential for me, unofficially taking me under his wing in this community and ushering me in to help with this stuff. And giving me a place and Matt's being so thankful for it and all these brilliant agile people, XP people. It was just overwhelmingly positive for me that core of the community turned me into the person who can write something called the passionate programmer with the subtitle creating a remarkable career in software development. I didn't have a remarkable career if not for the influence of all of those people with, I guess, Matz and Dave Thomas for me, especially being important. But you meet Matz and it's not like he's some deity. He's not like the Amma in India who hugs everyone. People line up for a hug and you feel like some sort of spiritual thing. He's a nice guy. I wonder how he feels about Minnesota as a thing. What if you want to be nice sometimes?

Unknown:

I don't know.

Marty Haught:

It's really interesting because I had a similar experience that I think I was just kind of cruising with my software career. But then when I encountered Ruby, I started thinking differently. I think seeing other people stretching themselves encouraged me to stretch myself and think, oh, wait, I can start my own company or I can do things differently or I'm going to set the bar higher and push myself more. I think I wouldn't have done that as much. if it wouldn't have been part of that, I think.

Chad Fowler:

Yeah, it's well known that the people that you're around influence what your goals are and what your habits are. Pat Matheny, the jazz guitarist, his advice for young musicians is always be the worst guy in every band you're in. And for me, Ruby Conf 2001 was the first manifestation I'd ever had of that because I was always the young, arrogant kid that could show up and come up with better ideas than the older people who just were bored and didn't care. Suddenly I'm surrounded by like really smart people who care. And it was super inspiring.

David Hill:

All right. So as we start to close out the episode, we have what we're calling our Ruby Roundup. Some rapid fire, not really programming related questions. Usually it's kind of a more get to know you kind of rapid fire thing. So question number one, what's your go-to comfort food?

Chad Fowler:

South Indian meals. And meals is a word that is used singular. It really means a plate full of well-balanced Ayurvedic

Marty Haught:

meals. Okay, next one. Are you reading anything for fun right now? No,

Chad Fowler:

I'm really not. I'm too busy and tired to read.

David Hill:

All right. Well, what about recent TVs or movies that really hit home for you?

Chad Fowler:

So this you can do while you're on the treadmill. So I do this. I watch TV and I'll tell you, like two days ago, I watched an episode of the latest Black Mirror season, which I was in love with. It is called Hotel Reverie. And if you're a person who has tried to watch Black Mirror and it's too dark for you, this is not one of those episodes. You can watch it. It's like a beautiful, poignant, even tech-inspiring, really great stuff.

Marty Haught:

What's got you excited in tech right now?

Chad Fowler:

Of course, there's the Gen AI stuff, but... I'm going to say the Local First Software movement. If you don't know what that is, just search for Local First Software and you'll find an essay by Ink and Switch. Okay. Tying it back to Ruby is the research lab that was started by Adam Wiggins, who is the co-founder of Heroku, which was initially a Ruby-based deployment system. It was built in Rails. And he's doing this stuff now. Local First Software. Go look it up.

David Hill:

All right. Last one. What's a favorite gem that isn't necessarily a well-known gem?

Chad Fowler:

Can't be super rapid because it's not going to make sense if I just say the name. It is Ruby JDWP. I don't even know if it's in the gem index anymore. Maybe. It's a Ruby implementation of the Java debug wire protocol that Rich Kilmer and I made in 2003 or something like that initially. And here's why it's my favorite. One, I'm pretty sure it was actually the first real gem that we published to RubyGems slash RubyForge. It was either that or Ruby Ook, which was my Ruby implementation of the interpreter for the Ook programming language, but I think I would have deleted that afterward. But Ruby JWP, the reason it's my favorite, one, it actually worked. It would be able to control JVMs and masks and do all kinds of neat debugging stuff with them from Ruby, which was really novel back then. This is even before JRuby existed. But two, the way we created it is we downloaded the spec from Sun, Sun Microsystems, who made Java at the time. And it was like this fairly structured thing. Like I was guessing it was probably machine generated. So we wrote a parser for the HTML and we used the spec to generate the code, the implementation and route for the protocol. So it's thousands of lines of code. But what we did was we created a parser and generator from the HTML. I love that kind of hack. That's

Marty Haught:

awesome. Chad, thank you so much. One last question. Where can people find you on the internet? Blue

Chad Fowler:

Sky and my handle is chadfowler.com. But also search for me on Spotify and see if you like avant-garde gems. Ooh, right. Yes. You probably

Marty Haught:

don't, but maybe you do. Who knows? Maybe. Yeah, give it a try. Chad, thank you so much. Thank you for joining us today.

David Hill:

Oh, thank you. Very fun. Thank you so much

Marty Haught:

Thanks for being such a gem.