00:00:18.080
Okay. Hello. Good morning, everybody. Yeah. Good morning. Uh, today we're
00:00:25.119
doing what? What? Good morning, Aaron. Good morning, Evan. Good morning, Okay, first off, let's
00:00:31.119
give every let's give all of our panelists a round of applause, please. Yes. Thank you.
00:00:38.079
All right. Um, we we're going to do this panel now, but I
00:00:44.719
think the first the first thing we should do is probably a round of introductions. I will start and then we
00:00:51.120
will go down the row here and you can introduce yourself. Um, because we
00:00:57.039
should do that. My name is Aaron Patterson. Hello. Good morning. Um,
00:01:02.399
Sarah, that's it. That's your intro. That's my intro. Yes. You could have at least said I don't
00:01:08.320
need an introduction. I am the man who needs no introduction.
00:01:13.760
Hi everybody. My name is Sarah May. Uh, and I have been a software developer since 1998.
00:01:20.960
Uh, Evan Phoenix. Uh, I used to help run this jam. Nadia Oda. I run story graph uh the main
00:01:28.400
goodreads alternative. Woo. Yeah. I'm Chad Fowler. I started this
00:01:33.600
conference and uh co-founded Ruby Central.
00:01:41.360
I'm Eileen. You know me online as Eileen codes. Uh I don't know when I started coding, but it was after some of them.
00:01:48.960
Um uh I work at Shopify. I'm on the Rails
00:01:54.720
core team and the Ruby core team. Marty Hot, director of open source at
00:02:00.159
Ruby Central. I used to uh help run this thing, but now I just sort of help the open source aspects at Ruby Central.
00:02:06.960
Been programming in quite a while and been a community member since what, 2005.
00:02:18.160
Great. Okay, I guess let's Oh, why are you looking at me? I have to say stuff. Yeah. All right.
00:02:25.200
Should I ask myself the question you told me I Yeah. Yeah. Let's start with the Let's start with the question I told you I
00:02:31.040
would ask you, Chad. What was the question? It was It was about the name. Yeah. Yeah. Why? Okay. Why Ruby on
00:02:40.160
Rails? Because it's a really It's a stupid name. Ruby on Rails. It doesn't make any
00:02:47.680
sense. Like the Rails thing doesn't make any sense. the Ruby on it doesn't make any sense. Then we call it Rails, but
00:02:54.160
it's really on Ruby has never made any sense. I remember like the day that that David announced the name, I was like,
00:03:00.959
"You're really going to call it that?" You know,
00:03:06.800
anyone else? I don't think people like my answer, do you? Did anyone here hear that name and think that doesn't make any sense?
00:03:13.760
Yeah. Okay. One person. All right. We have any other opinions up here? I mean, that's why we have you up here as
00:03:20.000
opinions. So, please jump in if you have opinions about the name. Anyone? No,
00:03:25.680
it's too late to change it now. You have had like 20 years to say you
00:03:31.440
didn't like the name. It's open source. You can just fork it and have a new name.
00:03:39.040
I say we call it Merb. That doesn't make any sense either.
00:03:46.319
That does not make sense either. That's true.
00:03:51.360
Is that it? No more. Okay. All right. All right. Let's move on here then. Um
00:03:59.599
Evan, I got a question for you. Hit me. Uh favorite Rails app.
00:04:04.640
Favorite favorite Rails app. Yeah. Favorite? Yeah, sure.
00:04:09.760
Like how do I judge my favorite like the code or the app itself?
00:04:14.799
All up to you. Uh, favorite.
00:04:19.919
That's the right answer. What was the I'm sorry. Story graph is your favorite. It's definitely the right answer. Yeah. Uh,
00:04:27.360
favorite Rails app. Um, yeah, probably Ruby Gems, honestly.
00:04:33.919
Like, yeah, it it it has legs for a, you
00:04:39.680
know, if you watch the Ruby gems uh.org talk yesterday, like it's been around for a long time. uh is
00:04:47.759
like stubbornly uh vital, you know, in a way that's like it's still round and kicking. So, yeah,
00:04:53.600
I would that's a great one. I would say ruby gems.org. Okay. All right. Sarah, your favorite Rails app.
00:05:01.280
All right. I'm going to give a serious answer for the first time here on this panel,
00:05:07.759
which is that I worked on an open source Rails app called Diaspora for a number of years. It is still a going concern
00:05:13.120
although I'm not involved anymore but it was my first opportunity to work on an app that like I wasn't wasn't like for
00:05:19.360
the company I was working for and it was great for me personally because it was a I was able to see like another Rails app
00:05:25.520
and contrast between the one I was working on and that one and I learned a bunch of stuff about how you know
00:05:31.840
software design is different for an open source app where you're expecting people to just drop in and be able to use it
00:05:37.120
versus an app that you're building for a company where you expect there to be a little bit of ramp up time. So it can be
00:05:42.400
a little bit more complex. So there. I like that.
00:05:49.440
All right. Nadia, can I say an app I built? Yes, absolutely.
00:06:01.120
All right, Chad. If you don't say an app, you build I mean, I didn't build anything worth
00:06:06.960
saying. So, I'll say I was going to say Twitter because it's not called that anymore and I used to love it, but I
00:06:12.319
think actually GitHub is is my favorite. All right, Eileen.
00:06:18.240
Um, well, I mean, Shopify pays me money, so
00:06:27.680
it is currently my favorite Rails app. All right, second favorite. Number two,
00:06:33.680
but if I want to say favorite Rails app I worked on because it's not um messy, I
00:06:39.360
would say uh Base Camp. Oh, interesting. Because it's a really big code base. Not
00:06:45.600
not classic, but the like three or four or whatever.
00:06:51.919
All right, Marty. Ruby gyms.org. Oh, okay. Sure. Serious answer.
00:06:57.039
Yeah. Yeah. Oh, okay. Okay. Okay. Okay. Uh let's see. What is What should I ask next? Um,
00:07:04.479
got a list of question. I got I know I got a I got a list of questions. I have to admit here. So, I'm a I didn't say this at the beginning,
00:07:10.639
but I'm a replacement MC. I was going to say I was like, people should know that you stepped in last night drinks
00:07:16.800
because Kinsey couldn't make it. So, you're doing great. Kinsey couldn't make it, so I'm filling in.
00:07:22.800
This is very last minute. I And I'm I'm going off script here
00:07:28.080
because I want to ask funny funny questions. Like there we have a lot of serious
00:07:34.319
questions, but I'm not a serious person. Let's see. Um
00:07:41.039
uh what does Rails start? What letter does Rails start with? Go
00:07:47.280
me. Yeah, sure. R. Come on. R. Thank you. All right. Uh worst worst
00:07:55.199
downgrade story. Downgrade. Yeah.
00:08:00.720
Eileen, what? I thought you I thought you were going to ask plenty questions. What? I thought you were going to ask
00:08:06.479
one. How many downgrades have you done? Zero. Yes. I only upgrade.
00:08:12.800
No downgrades. No, I don't think I ever had to downgrade. I like would refuse to. If someone was like, "Oh, this caused a bug." I'm like,
00:08:18.479
"Fix it. We're not going back."
00:08:32.320
Too many. Good answer. That's a good answer. All right. Um, let's see. I should ask I
00:08:39.200
should ask some serious questions, actually. Yeah. Um, I think this is okay. This is a this is a very good one.
00:08:45.360
We have a lot of these folks up here on stage have been in the Ruby and Rails community for a long time. So, I think this is a good one to ask. Um, how did
00:08:52.959
you get involved in the Rails community originally? I think let's start with Sarah and go down the line here.
00:09:00.959
Yeah, so I was a Java developer booiss back in the day uh in the early 2000s. And um I was uh looking for a job after
00:09:09.200
I had been out of the workforce for a year or so because of my oldest daughter being born. And I met a person who uh
00:09:16.480
had a ticket for the first Rails comp in 2006. And uh I did not know anybody. I
00:09:22.880
did not know Ruby. I literally bought a book about Ruby, the author of whom I believe is in this room. And I took it
00:09:28.959
with me on the airplane and I read it. Uh and I showed up at the first Rails comp in 2006.
00:09:36.000
And there I was. And uh it was the most surreal experience ever. But it was even
00:09:41.440
then even the very first Rails comp it was a great experience. It was uh the talks were great even though I got maybe
00:09:48.800
2% of each talk you know the rest of it going over my head. But uh but I've basically been a Rails developer since
00:10:03.440
It's a long answer so I'll like maybe I'll give the zip short version of it.
00:10:10.000
You're going to compress the complex. Compress compress the complexity down. Exactly. Right. Perfect. Uh I had
00:10:16.240
already been doing a lot of Ruby and uh Rails Comp was in Portland and uh I was
00:10:23.440
living in Seattle at the time and my the startup where I was working in a guy's
00:10:28.640
basement was collapsing rapidly and I was like, you know what, like maybe
00:10:34.079
maybe I should go to this conference. Maybe that would be that would be fun. And so we took the train I don't
00:10:40.240
remember if you were did you go on that trip? Okay. We took the train from Seattle down to Portland to go to that
00:10:46.720
first Rails comp. And I had I'm trying to remember I think that that
00:10:51.920
was a that was I had already started a project called Rabinius. And on before I
00:10:57.760
was going down there, uh, Engineard, who used to be a big wig in the in the community, asked me if I wanted to use
00:11:05.040
their talk, their their community talk spot to talk about Rabbitius. And I was like, "Sure. I don't think you know what
00:11:11.279
you're getting yourself into, but okay." Um, and so I went down there and and and
00:11:16.959
that was that was my first I that was the first Rails comp and I was sort of accidentally talking at it and yeah, I
00:11:24.160
guess that's the start. film for me. So, I studied philosophy,
00:11:30.720
politics, and economics at university and I was going into banking. Decided I didn't want to do that after my internship. And I saw a tweet for a
00:11:39.920
competition to win a place on a coding boot camp. And I thought, ooh, being technical is probably smart. Cuz I tried
00:11:47.040
to do projects at university and I was always hampered by my lack of technical ability. And so I I entered this
00:11:54.640
competition and I won a free place on a coding boot camp, Makers Academy in London. And even then I was was even
00:12:01.760
though it was a free place, I still wasn't sure I wanted to go or if it would make sense. But I decided it was a
00:12:08.000
smart decision knowing that I was entrepreneurial and um they were at the
00:12:13.760
time they were teaching Rails. So I didn't choose it. I just ended up learning it. And I feel so lucky and uh
00:12:20.639
like grateful that that's what they were teaching. Uh and then in terms of getting involved in the conferences,
00:12:25.680
there's a fun story. I was at I got a job at Pivotal Labs at the time and I
00:12:32.000
was thinking about getting into speaking tech conferences so that I could go to
00:12:37.600
the conferences for free. And um uh Pivotal had a great policy that was like
00:12:43.040
you it was like you get money to go to conferences if after you'd been at the company for you know a couple years but
00:12:50.160
if you were accepted to speak at this specific list of conferences which was very extensive that you could go as soon
00:12:56.959
at. So I tried to pivot into that and one day uh my boss um I was at work just
00:13:03.760
on the computer after work and he said to me um oh you have this cool game
00:13:09.200
theory talk cuz it was a game theory talk on distributed systems and he said I'm about to go for a meal with my
00:13:16.079
friend you should speak to her she'll tell you about speaking at conferences so I went and spoke to this woman and I
00:13:22.240
was explaining that oh I told her about my game theory talk and she said, "Sounds fantastic. You should submit it
00:13:29.040
to Rails Comp." And I just thought, "Ah, this this lady doesn't know what she's talking about. She she didn't listen to
00:13:35.760
me." And um but she's just trying to be encouraging. So then after later that
00:13:42.079
evening, I said I wanted to email the woman and say thank you. And I asked uh
00:13:47.200
JB for um his email and it was like Sarah May. in and I was like this this
00:13:53.839
name sounds familiar from like blog posts and things I'd read and I was like okay she does know what she's talking about and that was in 2015 and I
00:14:02.000
submitted to give my game theory talk at uh Railscon in Atlanta and that was my first tech conference so 2015 in Atlanta
00:14:09.519
was my first Ruby central anything and so it's really I don't know really cool to be here 10 years later doing this
00:14:15.600
panel having built like a Rails app that's like um used by millions of people around the world so awesome
00:14:26.160
More developers need to know about game theory. I didn't know you did that talk cuz I wasn't there. I'm going to go watch it. Assuming it's online, right?
00:14:32.399
It is online still. Yeah. Okay, good. You should all go watch this talk on game theory. Seriously. Um I What was the qu Oh. Uh so I was
00:14:41.760
doing Ruby um on the weekends like in I had this thing where I would learn a new
00:14:46.959
language every weekend and I learned Ruby in the year 2000. and I just got
00:14:52.000
stuck on it. Uh, in fact, I had decided I was going to be a small talk person. I was going to give up the weekly thing, but I got stuck on Ruby. Um, and that
00:15:00.000
led to um co-founding Ruby Central, starting Ruby Conf with David Allen
00:15:06.720
Black um at the time and Dave Thomas, Rich Kilmer joined us. We three plus Jim
00:15:13.760
Mrick and Paul Brandon created Ruby gems together at Ruby Conf 2003 in a late
00:15:18.800
night hackathon. And this will get to the Rails thing. Uh my role in the Ruby
00:15:24.240
gems um like maintenance at the time was a little bit of code and a lot of like the annoying person that just kept
00:15:30.639
pushing people to use it. Uh I kept annoying the Ruby core team like let's put this in Ruby itself and make it
00:15:36.720
official. And uh around that time this uh very enthusiastic young man created
00:15:44.240
something called Insticky which was a very well-marketed wiki. Uh, and the
00:15:49.759
whole thing was like steps one, two, three, you know, first do this, second do this. There is no step three. This
00:15:55.680
was David Heinmire Hansen. Uh, I just saw like the way he he marketed was so
00:16:01.839
uh inspiring to me as a cubicle dwelling nerd in Kentucky that I started talking
00:16:06.959
to him about how we could get people to use Ruby Gems. Um, and he is actually the person he's like, "Rubygeems needs a
00:16:13.360
domain and a website." So, I registered rubygeems.org because he told me I should. uh and he helped push it. So
00:16:20.720
when Rails came out uh I think the only way to install it was Ruby gems and it
00:16:25.759
might be the first like serious project that was released where it was the only way to install it was through Ruby gems.
00:16:31.920
So in a sense I got through got into the Rails community that way. Uh I actually thought that Rails was a silly thing
00:16:38.560
like not just the goofy name like I said earlier but I also thought we don't need another MBC framework. There's so many MVC frameworks in the world. Nobody even
00:16:46.240
uses Ruby. we've already got like five really nice MVC frameworks. Let's do something like Iowa or one of these
00:16:52.320
continuations based things, you know, all this cool fancy stuff that was happening at the time. But no, of course
00:16:57.440
it took off. Uh and then the last like final nail in the coffin for me, which
00:17:03.600
means I died and went to Rails. I don't know. Uh was weird metaphor. Sorry, I'm feeling kind of morbid. um was Dave
00:17:12.480
Thomas asked me uh if I would take over for the authors of Rails recipes because
00:17:18.400
people had started writing the book and the story is everyone everyone wants to have written a book and no one wants to
00:17:24.079
write a book because it really sucks. So I don't know why I said yes. I wasn't even a Rails developer. That turned me
00:17:30.000
into a Rails developer and here I am. All right. Sorry I talked so long.
00:17:36.400
Well, I mean, this is one of those questions
00:17:41.919
where like if we've all been doing this for 15 years, the story is long.
00:17:49.360
Uh, so I I was working at a web development agency doing like WordPress stuff and whatever. I'm not um I'm not
00:17:58.480
educated in computer science. Uh I was a photography major and just sort of like stumbled into coding because it pays
00:18:05.520
better than being a photographer. Um
00:18:10.880
and uh my first I decided I want to start speaking at conferences and I don't really know what possessed me to
00:18:16.880
do that because I had an intense fear of public speaking um that I clearly got over. Uh and I I gave a talk on active
00:18:24.480
record and it was kind of like oh if active record isn't doing what you want like that's on you. you need to know
00:18:30.960
what's happening under the hood. And after the talk, Aaron raises his hand
00:18:37.120
and he was like, "That's a bug. Why don't they fix it?"
00:18:43.120
They the the other those people. And I said, "I don't know, Aaron. Why don't they?" And that's how I ended up
00:18:50.240
contributing to Rails because he said, "Let's pair on it and we'll we'll fix it together." And so the next week we get
00:18:55.840
on whatever I don't maybe we used Google Meet. I don't remember what we used for
00:19:01.679
whatever. We would just do audio and like teammate and we would uh we started pairing and
00:19:08.799
uh then Aaron passed all of the problems that he would find in Rails off on to me so that he didn't have to fix them.
00:19:18.320
And now I need to find someone to pass my problems off onto.
00:19:28.240
Yeah. So my story I would say Ruby and Ruby on Rails were were kind of connected directly. So I was earlier in
00:19:37.280
my career but I had been around I I had gone to like one tech conference maybe in 2001 and it was pretty terrible and
00:19:45.440
wasn't really very keen on that but I had joined a startup by invitation. It
00:19:51.200
was a four-person team and the conditions were I had to read a bunch of books. One of them was test-driven
00:19:58.320
development, one was refactoring, one was Java best practices because it was a Java uh stack and the other one was
00:20:05.200
enterprise patterns by by Martin Fowler. And so uh the other there's a fifth book
00:20:11.360
that wasn't required but that was pragmatic programmer. And so sort of reading these books, these were all new
00:20:17.679
to me. Extreme programming was new to me. And so that sort of opened my eyes to a different way of working. And that
00:20:23.840
led into going to a conference called No Fluff, Just Stuff after I moved to Denver in 2005 where I met uh Dave
00:20:32.000
Thomas uh the author of Pragmatic Programmer and also he was speaking
00:20:37.039
about Ruby and this new thing called Ruby on Rails. So once I saw that it was it was uh life-changing because I saw
00:20:44.480
programming and building software differently than I had previously and the productivity and the ability to
00:20:52.640
actually create very quickly what I wanted in Ruby compared to Java was uh
00:20:59.200
was remarkable. And so I never looked back. I started the Boulder Ruby uh
00:21:04.480
meetup in 2006, January 2006. you know, Chad was uh lived in Longmont, Colorado,
00:21:10.559
where I lived at the time, and and it was and it just took off. So, I I was all in and uh never looked back since.
00:21:28.640
Thank you for that. Thanks for that. Uh let's see. Let's move. Next question here. This this
00:21:36.080
question is for you, Marty, but I mean I I feel everybody here should have an
00:21:41.919
opinion probably. Um Marty, how do you think the community has evolved over the
00:21:47.600
years? All right, great question, Erin. Um okay so
00:21:53.760
in the beginning from what I saw there was uh a lot of excitement and uh sort
00:22:00.480
of I I would say the once I got plugged in so I can't speak to the years that
00:22:05.840
that that uh Chad was a present because I only got involved in 2006 but there
00:22:10.960
was very much a wild west sort of pioneering vibe early on I would say and
00:22:18.240
you know like we had a bunch of problems to solve that hadn't been solved olved yet because it was a sort of new space
00:22:23.840
and that was a very very interesting time to be in. Also, the rise of
00:22:29.120
popularity was bonkers. Uh so like I I didn't know like in 2006 it was already
00:22:35.200
kind of taking off but like it kept going up and up to where like I look back and like what a wild time like that
00:22:43.039
2006 to 2009 2010 time frame was. So that was sort of
00:22:48.880
one phase. there's maybe a little um excess perhaps uh in the community at
00:22:55.520
times. The party culture was very very strong there for a number of years and
00:23:01.200
then there was this phase where you know people started to go elsewhere
00:23:07.679
2010 I think node became a thing you know you had closure and scala and there's just so many uh interesting
00:23:14.480
languages that people started say hey ooh this thing now and so there was also sort of this talk of like oh Ruby is
00:23:21.520
dead rails is dead or whatever but it didn't actually die and So I think like when like when Evan and I joined the
00:23:28.480
board that we know it was like okay is this done? No it's not done. It actually kept going and going and that was very
00:23:35.039
surprising. I think we asked ourselves like is this it? Is this like the last year and it's going to kind of like just
00:23:40.400
crash or but it really didn't. So I think that was that was a interesting phase to be around for and then it just
00:23:48.080
kept going like surprisingly kept going. So longevity was just surprising to me.
00:23:53.440
So one thing I really want to highlight is uh it was a huge boost to our community
00:24:00.000
and the number of people using Rails when boot camps started to be a thing because a lot of the early boot camps
00:24:05.679
like dev boot camp uh which I was involved in and a few others they taught Rails to new programmers people who
00:24:12.000
didn't have a computer science background necessarily and that brought in a whole new generation of folks into
00:24:17.200
the Rails community that I think was really really crucial and this would be like maybe 2009 9 2010 maybe in the
00:24:25.279
following few years after that. So I think that was really crucial for us as a community.
00:24:33.039
Anyone else? I'm actually curious how many people in this room went to a coding boot camp.
00:24:40.080
Wow, that's great. Thank you for being here.
00:24:48.480
Um and okay, next question. All right,
00:24:53.600
we're done with that. Let's see. Nadia, this is for you.
00:25:01.919
Yes. I'm scared. No, don't be. It's a good qu It's a good
00:25:08.320
question. Is it your question or No, it's my It's not my question. No. Okay,
00:25:14.880
I'm fine then. Uh, what excites you most about Rails today? Oh, this is okay. I could do this
00:25:20.799
question. Okay, honestly, it's all the turbo hotwire stuff because I So, I'm a
00:25:28.720
one person dev team. So, story graph, we have like 4.2 million registered users
00:25:35.200
around the world. Um, hundreds over 300,000 people log in every day. Um, the
00:25:42.400
whole team is three of us. So, I'm the only web and app developer. There's Rob
00:25:48.559
who does um machine learning AI stuff and runs our servers and infrastructure.
00:25:54.000
And then there's Abby who's she's non-technical although she's starting to get a bit technical now but she does
00:25:59.039
mainly support. Um she's kind of like she she does all sorts as you know in a
00:26:04.159
startup the you know the first hire sort of thing. um but she's not technical and
00:26:09.520
so I also have to do a lot of technical support and because of in the first few
00:26:15.279
years of story graph we had a PWA and we were like it's it's just as good
00:26:20.640
as an app but psychologically if it's wasn't if it didn't come from the app store or the play store people just see
00:26:26.000
it as a website bookmark and then I remember when Turbo first uh came out
00:26:31.679
and actually Rob who doesn't do any web development at all he saw like the first one of the first turbo native beaters
00:26:39.039
and he overnight while I was sleeping he he I'm I live in London in the UK he's in California um he had set up the demo
00:26:47.520
app and so this was big for him cuz he was like if I don't do this stuff and I can set up the demo mobile app then you
00:26:55.360
can definitely sort this out and so you can you can hopefully do this and more
00:27:00.559
and so I we we we were feeling the pain of not having a mobile app especially because there were other competitors who
00:27:06.559
were coming out with native apps. And yeah, I spent 6 weeks and I set up uh
00:27:12.080
iOS and an Android app with inapp payments, which was like the hardest part because it was almost like people
00:27:17.520
hadn't done this before. And I didn't know Joe at the time, Joe Masotti, but I was I just started, it got to the point
00:27:23.279
where I was really stuck and I just started DMing him. Um, and he was awesome. but eventually managed to get
00:27:29.039
it all done, get the apps released on the App Store and Play Store. And we've been like number one in the App Store a
00:27:35.200
couple of times, like ahead of Goodreads. And it's I'm managing a web
00:27:40.240
app and two mobile apps, so three repos. And it it just wouldn't have been
00:27:45.679
possible without all the Turbo Hotwire stuff. And I'm incrementing I'm incrementally making the app feel more
00:27:52.240
and more native. So, one of the most recent things I did was add in a native tab bar. Um, and there's there's other
00:27:58.399
things. So, that's the thing that excites me and I I'm looking forward to see like how the development um
00:28:04.559
progresses with that because it's enabling me to just be this one person dev team like you that's used with an
00:28:10.640
app that's used worldwide. So, it's awesome. Thanks.
00:28:19.360
Thank you. I think that's I think it's incredible and inspiring you're able to put together like this a website or an
00:28:25.600
app of this scale with such a small dev team using Rails. So I think that's great. Please give another round of
00:28:31.600
applause for Nadia please. So it's really really inspiring.
00:28:38.000
Um anyone else have any excitement about Rails today? Eileen, you excited? Let's
00:28:44.159
get pumped. Yeah. Yeah. Let's get pumped.
00:28:49.279
I uh I mean I it's exciting like how much
00:28:56.880
we've built over the years and that's uh and still going. You know Shopify
00:29:02.640
I lose track of how old it is. But think about like Shopify is one of the oldest
00:29:07.919
Rails apps on the planet. Like Toby got the zip drive of Rails from DHH. Like it
00:29:13.760
wasn't even available to the public yet. And the first version of Shopify was built off Rails 0.1 or something. Uh
00:29:23.120
which is part of the reason that it's it has uh demons
00:29:30.799
in the codebase, but but it's also really exciting because you get to look at Toby's first commit and how it's
00:29:37.039
changed over all those years. And I don't know,
00:29:42.320
you know, when you get to work like I I I've worked on GitHub and I've worked on Base Camp and I worked on Base Camp
00:29:47.679
Classic and so I literally worked on all of the first big Rails apps that are still around and to see how they've
00:29:54.559
grown over the years and how they're changing and how Rails has changed along with it and the way they changed together now that uh a bunch of us run
00:30:01.679
off Rails main is really beautiful. Like I don't I don't know any other community
00:30:06.720
where there's huge companies that are like, "Hey, we're running off Maine so that we can make Laravel better or I'm
00:30:14.159
not and that's not I'm not saying that it's bad about those communities. It's just I don't know anyone else who's doing that." And I I think that that's
00:30:20.159
really exciting and we I hope I want more of you who have apps running off
00:30:25.840
Rails main at least in a CI build so that you can contribute and you can change Rails the way you want to along
00:30:31.440
the way. Okay. And I want I want more of that more new contributors. You know, I told you I didn't want to
00:30:37.600
answer this question, but I do now. Is that okay? Yeah, of course. Of course. Yes, please. Uh, I have a probably a weird answer
00:30:44.399
because I came here thinking I I actually came to this conference feeling sad uh as I was traveling because
00:30:52.000
partially because it's the end of an era and you know, like this is the last time I'll I'll be on the stage at RailsCom,
00:30:57.360
you know, because won't exist anymore. But also I think it's the end of an era
00:31:03.760
of people like us who are like obsessing over the details of the inner quality of
00:31:10.000
code. Like at some of the early Ruby comps in Rails comp Europe I remember like Marcel Molina did a talk called um
00:31:18.240
uh beauty and code or something like that. Really great talk. It was really inspiring about just what makes code beautiful and comparing it to art. I
00:31:25.279
think that's something that we can do as hobbyists in the future, but there
00:31:31.039
aren't going to be big conferences full of people doing like thinking about this anymore. So, this is the sad part. Now,
00:31:36.640
why am I excited about Rails? Now, uh I was partially inspired by Arena's talk
00:31:42.320
yesterday like this optimistic possibility that we've just we're going
00:31:47.600
through the trough of disillusionment and it's going to pick back up. That's one. Um, oh, and by the way, just to c
00:31:53.760
like to explain, the reason I think there won't be conferences is full of people talking about the internals like this is because LLMs and various other
00:32:00.960
models are going to be writing all their code and you know, they already do. Uh
00:32:06.000
but part of what I was inspired by is I am realizing that if we don't care about
00:32:13.360
being shiny and new anymore then something really solid proven very well
00:32:18.399
documented in so many ways including through these conferences blog posts you know because like all this stuff is
00:32:24.720
transcribed and in models somewhere actually makes for a great basis for AI
00:32:32.320
generated code because there are patterns like rails itself is a set of patterns that make good code right and I
00:32:38.799
think that's the future is it's all about architectures and less about the details of code so I think rails is
00:32:45.760
actually a great target for this and stuff like what Eileen was talking about Shopify matters a lot in the future
00:32:52.960
because you need something solid and fast and proven to perform and almost nothing is proven to perform as well as
00:32:58.240
Shopify uh so I you know I feel like some sense of optimism now so much so
00:33:04.159
that I wrote my first Rails app in 10 years um last night during DHH's session. And when I say I wrote it, I
00:33:10.799
mean Claude and I wrote it. Uh and it worked by the end. Um it's cool. It's like a thing where two two LLMs debate
00:33:17.360
each other in Rails and then give you the the output of the debate. Uh I might deploy it even.
00:33:22.880
Who won the debate? Well, um, so the thing that I the first question I asked it is, does Ruby on Rails have a bright
00:33:30.320
future in the software development like ecosystem or whatever. Uh, and it said no, not really.
00:33:37.279
No, it was actually a very reasoned thing that also contributed to this this feeling that uh, basically they they
00:33:44.480
echoed what what Marty was saying. They being the LLMs, you know, we have this like resilient community and it's very
00:33:51.760
true. all of these massive apps and small apps and humans like us that have built these things and are maintaining
00:33:57.120
it, it's not going to go away. It's not going to die. So, um, you know, that sort of reset my understanding of Ruby
00:34:21.200
excited? I mean, I I I was thinking about what Eileen said and I, you know,
00:34:27.040
open- source projects have they have they go in waves, right? It's
00:34:32.399
sort of like Arita was talking about this yesterday as well, but like there's a lot of smaller waves usually in an open source project, right? You have the
00:34:38.560
the first few people, all the excitement like someone is like pouring their their
00:34:43.679
their tears and their their joy into a thing and that has a natural end time.
00:34:50.320
either they run out of energy, they the the meal is over, whatever they're doing that, you know, causes them to be like I
00:34:56.159
got to go do other things, right? And I will say that like what you try to get in an open source project is you try to
00:35:03.280
have enough people so that those those like you know uh waves overlap, right?
00:35:10.240
So that if you zoom way out, you see them at the at the you know like they never really get down very low. they
00:35:17.119
kind of just go like this at the top because you've got all these waves overlapping. And I think that that's really what's been amazing about Rails
00:35:22.480
is because so many other project so many I mean I've seen a zillion open source projects and they will last a while and
00:35:29.280
then you know people get busy they get disillusioned they find another thing
00:35:34.480
two or three people find another thing that they go to and then all of a sudden those that that sort of graph starts to
00:35:40.880
it starts to fall fall and it hits some minimum point and everyone's like oh this project's dead I guess I just move
00:35:46.800
on like I'm not going to get involved with it right so you have to keep keep up and it's been sort of amazing to see
00:35:52.720
Rails keep that graph keep that image going for as long as it has so that
00:35:58.320
people can be like oh yeah like I mean obvious for the old heads in here the Rails 2 to three upgrade cycle was awful
00:36:05.520
but the but every upgrade cycle from then on Thanks buddy yeah
00:36:11.040
you you triggered me yesterday so that's for me today um so every cycle from there on has gotten better right and
00:36:17.920
it's gotten better because people are like there's all these people still here. There's all these old Rails apps that we want people to upgrade, right?
00:36:24.560
And as long and that upgrading also keeps that going because now there's people like, oh, I need to upgrade this
00:36:29.680
app and oh, I upgraded this app and oh, now I can use this other gem now cuz it had a requirement and oh, this is fun
00:36:35.040
and oh, maybe I'll contribute to it, right? And so like that momentum also keeps going. I think that is great. I
00:36:41.440
mean because again you can probably we could get out we could make a list of like 10 open source projects that have
00:36:46.960
that sort of continuum and they would look they would be like a very prestigious list like you'd have you'd
00:36:52.480
have Linux you'd have WordPress you'd have ra like rails on there in my opinion like it'd be it's a fairly small
00:36:57.839
list to have that kind of like longevity and momentum and so
00:37:03.680
I just want to say they're not old Rails apps they're mature okay sorry yes seasoned seasoned vets
00:37:10.160
seasoned Yeah. Yeah. Yeah. Not old. Yeah. I have one thing to add there. I think that uh which sort of is similar
00:37:16.640
to what you're saying, Evan, which is that like if one of the things that excites me about Rails right now is that it's good for a single person dev team.
00:37:23.760
It's good for Cisco Moroi with a hundreds and hundreds of people working on their Rails app. Like there is a way
00:37:29.200
that Rails can work for a project no matter how many people are working on it, no matter how much traffic it's
00:37:35.040
getting. uh and that to me is the mark of a mature but also like very
00:37:41.680
practically oriented framework. And so I think the stewardship of Rails and I have never really directly been involved
00:37:47.839
in the stewardship of the project itself, but I think the stewardship of Rails has been very skillful in a way
00:37:53.280
that it maybe is hard to see as it was happening, but maybe looking back it's easier to see where now we've got a
00:37:58.480
framework that really works for a lot of different types of projects.
00:38:03.680
And I also have one thing to say about AI and LLMs,
00:38:09.040
uh, which is that I am I'm very optimistic, maybe in a different way than Chad is, which is that I think that it's a tool that's going to help us be
00:38:15.680
more ambitious. You know, Rails was a tool that allowed us to stop thinking
00:38:20.800
about a certain class of problems like how do we organize our database? How do we organize our code? What code goes in
00:38:26.240
a model file? What code goes in a controller file? And that allowed us to be more ambitious because it allowed us
00:38:31.680
to put our our thought process into stuff that was higher level. And I think that is what AI coding assistants in
00:38:39.359
particular are going to do for us. Again, they're going to take away a certain class of problems, but they're going to open us up for more creativity
00:38:46.400
at a higher level of problem. And so I don't think I do not feel threatened and I don't think anyone in this room should
00:38:51.760
feel threatened by AI as a potential way of like losing your job or or something
00:38:57.520
like that. I think that that what it means to be a developer is going to shift and I think we can all shift with
00:39:03.359
it. For what it's worth, I I would have said exactly that later. Um, and I know I was
00:39:10.160
I was So, you don't disagree. I was thinking about like when David was talking last night about all these questions you shouldn't have to answer.
00:39:16.960
It occurs to me that that's where we are. It's just this new thing. It's like, okay, don't do that anymore. You
00:39:22.000
don't have to think about that anymore. So, I'm with you. I I remember Glenn Vanderberg uh when he switched from Java
00:39:27.119
to to Ruby. He was an author and speaker some of you may know. He sent me a message and he's like, "I'm really
00:39:33.280
exhausted after a day of doing Ruby." And I was like, "Why?" Or Rails actually specifically. And he said, "Well,
00:39:38.320
normally with Java, I would like come up with an idea and then I'd spend all day typing." And now it's hard because all
00:39:44.640
I'm doing is the creative work. And now we're we're at such a point where that's just insane, you know? And so like one
00:39:51.119
thing that I think the reason I mentioned like the conferences of people and the communities that are really of
00:39:56.480
course open source is different you like you have to work on this stuff but when you're building apps like there's this craftsmanship that I think can kind of
00:40:02.480
go away at the level where it has been it needs to raise though and we also
00:40:08.240
because we are in these weeds all of us uh we we must be because we're here in this conference we are at risk of being
00:40:16.079
the Java programmers that didn't understand that they didn't have to answer all these questions back in 2004
00:40:22.720
and resisting it. So, I I'm with you. Like, let's not feel threatened, but if
00:40:27.760
you don't think you you're threatened and you're also not changing your behavior and your understanding, you should feel threatened. Actually, you're
00:40:34.240
really at risk. All right. Yeah. All right.
00:40:41.440
Got we got any more AI hot takes up here? Nothing. No. Wow. Okay.
00:40:55.280
um okay. What what should the Rails community focus on to ensure long-term
00:41:02.720
sustainability? I think this is a good question. More forward looking. Um
00:41:08.000
what who's answering? I don't know who who Evan is asking who's answering this. And on the document it says everybody. So you're
00:41:15.520
you buddy starting with Evan. alphabetical order. I can I can start if you Oh, okay. Eileen, please start.
00:41:21.440
Bailed out. Uh, you should contribute to the framework
00:41:26.960
or to your communities like be an active member, not a passive member of the
00:41:32.000
community. Like if you miss a conference, make a conference. If you want a meetup, make a meetup. Uh, don't
00:41:39.119
sit back and be like, "Oh, who's going to do that for me? You want a feature in Rails? Write it." I mean, we might not merge it, but
00:41:46.000
but it's certainly not going to get done if you ask us to do it because we have plenty of our own stuff that we're working on. So, uh the the best thing I
00:41:53.839
ever did in my career was contribute to Rails. Um I was able to
00:41:59.599
little music over there. Um I think we're supposed to stop talking soon. Uh
00:42:05.359
where was I? Um that was uh the best thing you did. Well, yeah. best thing I did was contribute to Rails and because I wanted
00:42:11.599
I wanted to see multiple databases in Rails. David wasn't going to build it. If I wanted it, I had to build it. And
00:42:16.720
so I did that and now you all have multiple databases. And
00:42:24.720
so find a bug, bad documentation, fix it, make a meetup, make a conference,
00:42:29.920
write a blog post. Everybody stop blogging. I don't I did too. I don't know why, but I would like to see more
00:42:35.839
blogs come back. Um and that's what I think if you want if you want community you have to be an active member of the
00:42:42.480
community. Yeah. I had another another quick one on that which is the there has been times when as
00:42:50.800
Railscom was very it is a professional conference and as it became a very professional conference there was always
00:42:57.760
the danger that people attending Railscom would see the professionalism
00:43:02.880
as a mark that there is a large organization that gets to make all these decisions and there is therefore like
00:43:09.839
okay okay Eileen I need you to go make multiple databases It was like a top- down, you know, like command control
00:43:16.480
structure, right? Because it looked very slick and professional. And it looked very slick and professional only because
00:43:21.520
people gave a Like that was that was all facade, right? The only reason that people were there is because they were like, I kind of want to be here and
00:43:28.480
can I help out? And then enough people said, "Hey, let's have a conference if we're all going to be here anyway." Right? And I I guess I I there's a times
00:43:37.200
when the conference is like I got involved with Ruby Central way back in the day because uh specifically Ruby
00:43:44.160
comp was so scrappy that it was like no one was manning the table for check-in and I was like god damn it I got to sit
00:43:50.720
at the we're checking people in here today you know like and but that breeds
00:43:56.640
a certain kind of people helping out myself and but you could because you can see the holes right I I always worry
00:44:02.720
that like the professional ISM makes it so people can't see where they can help out. But the answer is literally
00:44:08.319
everywhere. Like, you know, like help out with the conference, make a conference, help out, you know, like no
00:44:13.920
one's telling anyone really what to what to do, what to add to Rails for the most part. People are just like, I'm excited
00:44:19.680
about this. I'm going to go work on that. So, I I keep that in mind, I guess, is what I'm saying.
00:44:25.440
So, I've got um some thoughts here, too. So since I've stepped into this role as
00:44:30.560
director of open source, I think about what is the next 10, 20 years look like. We have a bunch of gyms that aren't
00:44:37.040
maintained. There are still some of them are still used and who takes over that. There's a burnout is real. You know, we
00:44:44.079
talked about the waves earlier with open source and I think that's a thing. So, like I'm like, how do I find folks who
00:44:50.000
want to step into some of these projects and bring some some new blood, some some new energy to keep them going because
00:44:56.480
they are critical and at some point the folks that are doing it now are going to get tired and they're going to move on
00:45:02.480
and then who takes over that? That's going to happen. It has happened and so
00:45:07.520
there's like what do we do about that? Are we intentional? But I think if anything to take away from this is like
00:45:13.520
if there's a one of these libraries that interests you, you know, get involved. Matter of fact, in uh just a few
00:45:20.000
minutes, there's going to be some uh tables over there filled with folks that are that are showing up for their open
00:45:25.040
source projects that would probably love to see you drop by and say hi and maybe
00:45:30.079
show your interest. So, all right. I have one last thing. Okay. Yeah, go for it.
00:45:36.000
Okay. It's it's really fast. Okay. Who who in here eats lunch? Show up hands if
00:45:42.480
you eat lunch. I know that Justin Stles isn't here. Otherwise, he'd have his hand down famously. He doesn't eat
00:45:48.480
lunch, but most of us eat lunch, right? So, yesterday you all went out to lunch, right? You all went and found a place.
00:45:54.000
Maybe you spent between 10 and 15, maybe $20 for a nice lunch. Chad and I had
00:45:59.119
some nice Japanese food. It was great. Uh today, the conference is graciously providing you with lunch, which is
00:46:05.040
great. It's that, you know, you don't have to go anywhere. You're here. You could, you don't have to go outside and sweat, right? So, let's let's everybody
00:46:11.520
Hey, can we get the silent auction uh thing up on the screen up here, right? So, I want everybody, you don't have to
00:46:17.119
pay for lunch today, right? That was great. That was really nice. You had to pay for lunch yesterday. So, everybody, let's get out your phones and I want you
00:46:23.040
to donate your lunch budget today. You because a lot of you are on a company budget.
00:46:28.480
You're a lot of you are here on a a company budget and your company's providing you with a perdem, right? So,
00:46:34.640
what I'm allowing you, you can put it down. Evan Phoenix said it was cool. I'm going to I want you to
00:46:43.599
that that specifically was not cool though. I I want you to go donate your lunch
00:46:49.200
budget right now to this and you can say, "Hey, Evan Phoenix said this is the conference lunch budget." Like you you
00:46:54.240
give my email address. You can they can write me and I will give you an exception note that this was your lunch. You spent your perdm today. But if you
00:47:00.880
don't have a company per DM, you still don't have to buy lunch anyway. So, please go click on this link, donate
00:47:06.560
your lunch budget like like they were saying earlier, you know, $13 from
00:47:11.839
everybody. We'd have be over this over this thing. We could do it right now. We could literally just see there we go.
00:47:17.839
We could do it. We could just We could have it be over right now. I can wait.
00:47:24.000
I literally got time. All right. Pledge drive. Yes.
00:47:29.040
Thank you. Thank you, Evan. I guess maybe hopefully maybe Ruby Ruby Central can provide receipts so you can
00:47:36.079
actually no I'm doing receipts. You just got to ask for a receipt.
00:47:45.760
Yeah. Have Claude have Claude generate a receipt. I'm making I'm making receipts. You don't worry about that. You need a
00:47:50.960
receipt. I got receipts. All right. Okay. I think I think we're over time here, so I'm going to do one
00:47:56.079
quick one last final question and then we'll end this all up. Um, favorite ice
00:48:01.200
cream flavor, Sarah. Go chocolate. Going for a classic. Nice.
00:48:06.640
I had this lemon mering pie gelato recently. Oh man, it was great. Had
00:48:11.839
crust in it and lemon curd. It was super pistachio.
00:48:16.960
Oh, wasabi. What?
00:48:22.640
I don't know. I like a lot of different flavors. It depends on the mood.
00:48:28.800
Like If you if you if someone gave you ice cream right now. Uh oh. So there's like there's a place
00:48:34.559
that's that's it's here. We saw it last night. They have a honeycomb ice cream that's really good and I've been like
00:48:40.240
eating that a lot. Vans I don't know. Search ice cream. It starts with a it's like van something.
00:48:47.359
That one. Yeah. Yeah. I got that in New York and I was like this is great ice cream. And then I saw them here and I was like I guess maybe it's from Philly.
00:48:54.800
Um, I'm gonna say peach gelato that I make myself with Colorado peaches.
00:49:01.920
All right, one last round of applause for everybody here. Thank you.
00:49:06.960
A round of applause for our uh impromptu uh moderator, Aaron. Yes. Woo. Go Aaron. Thank you.
00:49:14.000
All right. I have a good day everybody. I'll see you around.