00:00:07.279
all three voices are good we have audio
00:00:10.240
i sound fine can you hear that
00:00:14.400
yeah we did it yay
00:00:17.680
all right excellent this is exciting now
00:00:21.520
we have a stream and we can talk to
00:00:22.960
people and everyone and
00:00:23.920
they all did the emojis for us thank you
00:00:27.760
we're like fish in a stream they're made
00:00:30.080
like fish in a stream
00:00:31.840
and let the puns begin
00:00:36.559
well done erin aaron do you want to
00:00:38.960
introduce yourself
00:00:40.719
we should do introductions erin you go
00:00:42.879
first
00:00:44.480
okay hi uh my name is aaron
00:00:49.600
that was a really good you nailed it
00:00:52.719
i could tell that you've done this
00:00:54.160
before that was some expert
00:00:56.160
intro i'm gonna follow up hi all right
00:00:59.520
hi my name is aaron my name is aaron
00:01:01.359
patterson um i'm known on the internet
00:01:03.680
my my internet name is tenderlove
00:01:08.000
although on apparently on switch it's
00:01:09.680
tender love without an e
00:01:11.119
because somebody else took my name i
00:01:12.720
don't like
00:01:14.640
anyway um
00:01:18.000
what else i am on the ruby core team and
00:01:21.520
the rails core team and i work
00:01:23.360
at shopify doing ruby and rails score
00:01:26.960
stuff
00:01:27.680
that is what i do oh thank you i like so
00:01:32.640
someone says they like my chef's hat i
00:01:34.479
can't cult oh
00:01:35.759
kps kps
00:01:39.040
likes your chef hat thank you and your
00:01:41.920
video is out of sync but that is
00:01:43.520
technically impossible to fix
00:01:45.439
i will just pretend that's the case yes
00:01:47.439
this is some this is how streaming works
00:01:49.920
it's it's actually impossible to sync
00:01:51.520
video up to sound
00:01:53.680
we're having some technical difficulties
00:01:54.960
today we're just going to call it good
00:01:56.079
for now
00:01:57.680
aaron you commit to both ruby and rails
00:02:01.200
and some other things on this page here
00:02:03.040
and we're going to come back around and
00:02:04.000
talk about that for a second
00:02:05.280
but you also make a lot of cheese and i
00:02:07.840
think we should spend most of our time
00:02:09.039
talking about the cheese
00:02:10.640
yeah i do make cheese so i'm currently
00:02:13.599
making
00:02:14.319
i'm currently making camembert camembert
00:02:16.959
cheese
00:02:18.080
um and i just
00:02:21.599
like so so
00:02:24.800
it's kind of impacting my life right now
00:02:26.800
well it's impacting the family
00:02:28.239
family life right now because like it's
00:02:31.120
down
00:02:31.519
so it's downstairs i've got a our house
00:02:33.760
has central heating so we have one
00:02:35.680
like one heater that blows air through
00:02:38.160
the house
00:02:39.280
and i've got these curing fridges down
00:02:42.239
in the basement
00:02:43.360
and they're fairly close to like the air
00:02:46.000
intake
00:02:46.640
essentially and i have to flip these
00:02:49.120
cheeses twice
00:02:50.239
twice a day and like right now
00:02:53.680
they are particularly smelly so
00:02:58.400
whenever i open the fridge downstairs
00:03:02.159
the whole house becomes
00:03:05.200
cheese smell that's a nice question
00:03:09.280
i mean i enjoy it
00:03:12.400
but i understand how other people in the
00:03:14.640
house may not
00:03:15.760
enjoy i could see that
00:03:19.120
i could see that well um let's see what
00:03:22.319
cm gordon has to say here like we make
00:03:24.799
goat cheese it smells good though
00:03:27.760
because like i'm just i'm picturing just
00:03:30.480
like the smell
00:03:31.680
traveling throughout the house i'm
00:03:34.720
wondering does it ever get caught in the
00:03:36.159
filter and there's like a little bit of
00:03:37.440
a delayed release
00:03:38.799
it's just like lingering cheese smell
00:03:40.560
everywhere well
00:03:42.000
well when i went down i can tell you i
00:03:43.760
chafe i i flipped the cheese over
00:03:46.239
um time's at 11. i flipped it over maybe
00:03:49.760
90 minutes ago and i went downstairs
00:03:52.560
just now to get this hat and let me tell
00:03:54.480
you the basement it like
00:03:56.080
it still is
00:03:59.120
pungent cheesy yes
00:04:02.400
there is a pungent aroma rachel
00:04:05.920
would you like to introduce yourself
00:04:09.200
hi i'm gel codes i stream in the science
00:04:11.840
and technology category i focus my work
00:04:14.319
around
00:04:15.040
maintaining my open source repo hunter's
00:04:17.120
keepers which is used for managing games
00:04:18.799
of monster of the week
00:04:19.919
and i also play programming games it's a
00:04:21.600
lot of fun a couple of you here i
00:04:23.759
recognize and i'm so grateful to see
00:04:25.520
y'all here
00:04:26.400
thank you jonathan who are you
00:04:29.520
i'm jonah i took introduction classes
00:04:33.759
from aaron
00:04:38.000
i am the jonen show on the internet
00:04:41.199
and on twitch here and i have been
00:04:44.960
a member of the ruby community for i
00:04:47.520
don't know maybe 10 years
00:04:49.280
when i first came in i met a silly man
00:04:52.720
who
00:04:53.759
liked magic the gathering and puns and
00:04:56.080
eventually transitioned to making cheese
00:04:58.320
from making salami
00:04:59.919
i distinctly remember a talk about a
00:05:02.639
salami fridge that was well instrumented
00:05:04.960
with some raspberry pies
00:05:06.479
um i've known aaron for a while i've
00:05:08.320
been around in the ruby community
00:05:10.080
i don't maintain any major open source
00:05:12.320
projects
00:05:13.120
mostly i build silly robots and i talk
00:05:15.600
on the internet
00:05:16.560
but i know people who build things and i
00:05:19.520
am fascinated by the work that they do
00:05:21.120
and i know that they don't very often
00:05:22.560
get to share
00:05:23.680
the real life experience of of being an
00:05:26.240
open source maintainer
00:05:28.240
which i understand i'm just going to
00:05:30.320
just summarize real fast
00:05:32.479
people yell at you on the internet for
00:05:34.400
not doing free work
00:05:36.000
fast enough or particularly the free
00:05:38.000
work they would like you to have done
00:05:39.919
yesterday and then they rage quit your
00:05:43.199
project
00:05:44.000
well fine i'm gonna uninstall it i think
00:05:46.479
that's like a
00:05:47.600
effective summary is that pretty close
00:05:50.840
aaron
00:05:52.400
i mean yeah i guess i guess so like
00:05:54.800
there's there's some of that
00:05:56.160
but i don't know i'd say that's like a
00:06:00.319
vocal minority how's that that's good
00:06:03.199
vocal minority i think is a good way to
00:06:04.960
describe that i actually
00:06:06.880
i get the impression that by and large
00:06:08.479
this open source thing is working out
00:06:10.319
i think your career might be well on
00:06:12.880
track here
00:06:13.520
you are you worry that someday you might
00:06:14.960
have a hard time finding a job in
00:06:16.240
software
00:06:19.600
no i think i'll be able to find a job in
00:06:21.440
software hopefully yeah
00:06:22.960
i hope so i hope so
00:06:27.440
i think it'll be okay so
00:06:30.960
sometimes they gently guilt you about
00:06:32.800
not merging their pr
00:06:34.000
yes that so that resonates
00:06:37.440
that resonates a lot more than the rage
00:06:40.080
the rage quit thing
00:06:41.600
because like i what was it somebody
00:06:44.960
oh i don't remember his name one person
00:06:46.800
from the one person from the go team i
00:06:48.800
saw him tweet recently like
00:06:51.039
oh i just merged this like i just ran
00:06:53.840
into this bug i fixed this bug it was
00:06:56.080
two years old that's open source
00:07:01.759
which i think is more like that's more
00:07:05.120
i don't know i think that's like more
00:07:07.520
what it's like it's like oh i should do
00:07:09.280
this thing and then
00:07:10.319
it doesn't happen for years you're like
00:07:12.639
oh okay i did it
00:07:14.840
finally am i allowed to ask like serious
00:07:18.000
questions
00:07:18.800
yeah that's the goal the goal is well i
00:07:20.720
mean with aaron you're allowed to try i
00:07:22.960
should say
00:07:25.120
that's aaron's series on this one it is
00:07:28.160
kind of like a serious question because
00:07:29.759
there
00:07:30.000
are a lot of like repos that have these
00:07:32.960
very
00:07:33.919
long issue lists and like it's not like
00:07:37.039
it's not only specific repos it's it's a
00:07:39.039
lot of them like pretty much any
00:07:40.560
large open source project and they have
00:07:42.160
long lists of pr's like how do you
00:07:44.400
manage that workload and how do you like
00:07:46.720
prioritize which issues like you want
00:07:49.520
people
00:07:50.160
i have like a ton of questions around
00:07:51.440
this let's start with like how do you
00:07:53.039
prioritize like which issues to work on
00:07:55.440
and which prs to merge
00:07:59.599
oh my god
00:08:05.759
i think this is part of this is part of
00:08:07.680
the the problem of why
00:08:09.520
why we have ones that stay open for so
00:08:11.680
long it's like there's no
00:08:13.280
i don't know there's no like at least on
00:08:17.120
the teams i'm part of there's no like
00:08:20.240
we don't all coordinate we're like oh
00:08:21.840
yeah we gotta prioritize like this this
00:08:24.160
this
00:08:24.560
it's it's really up to individual i
00:08:27.520
guess
00:08:27.840
individual contributors to the
00:08:29.199
particular projects to decide which ones
00:08:31.120
that they
00:08:31.919
they prioritize so i think what happens
00:08:34.880
is a lot of it ends up being
00:08:37.120
um i don't know essentially
00:08:41.039
just like pet projects mostly stuff that
00:08:43.599
the particular maintainer is interested
00:08:45.360
in
00:08:46.320
uh but that's also why like matthew
00:08:48.959
brings up i don't know the nag
00:08:51.279
nag driven development which i think
00:08:54.800
it's like part of it too so like
00:08:59.279
i don't know i yeah that's
00:09:02.320
basically the way that i prioritize
00:09:04.000
stuff is whether or not it like if i'm
00:09:05.680
interested in it
00:09:07.279
so if it's something that i really like
00:09:08.640
working on um
00:09:11.120
or a very very good way
00:09:14.480
for me to work on a pull request is um
00:09:17.760
i'll go to a conference and then
00:09:19.680
there'll be somebody there and they're
00:09:21.120
like hey
00:09:22.480
i sent you this pull request why haven't
00:09:25.040
you merged it yet and like when it's
00:09:26.800
like face to face you're like
00:09:28.080
oh yeah i should have merged
00:09:35.600
and then it emerges so that's basically
00:09:38.880
the priority
00:09:41.920
or or actually also co-workers too
00:09:45.040
so if it's my free like if it's
00:09:46.959
something i'm doing in my free time it
00:09:48.399
has to be something i want to do or i'm
00:09:50.080
interested in
00:09:56.160
yes that is my priorities i hope that
00:09:58.560
answers the question
00:09:59.760
is it it does you have many projects
00:10:03.120
that you work on yeah you
00:10:06.240
across all of these you are just using
00:10:08.160
issues to manage all of that complexity
00:10:10.079
you don't have like a
00:10:12.000
your own internal asana jira
00:10:15.200
trello hybrid board that you have been
00:10:17.440
using to track this work
00:10:20.640
no but i do have one up here
00:10:26.320
i keep it all upstairs yes keep it up
00:10:28.959
keep it up here like
00:10:30.079
we use github issues and stuff for sure
00:10:32.240
but like um
00:10:33.680
i mean sometimes with the rails team
00:10:35.360
with the rails team will use
00:10:36.959
we'll use basecamp to plan some stuff um
00:10:41.120
with the ruby team we'll use redmine but
00:10:44.079
we also use issues and
00:10:45.760
issues and pull requests issues and pull
00:10:47.680
requests too
00:10:52.480
shame truth development is me to myself
00:11:00.880
yes i actually kind of have a funny
00:11:04.720
story about storing things in jira
00:11:06.720
so like ao3 as a project stores all of
00:11:09.040
their issues and everything that they'd
00:11:10.320
like people to work on inside jira
00:11:12.240
but they don't give anybody access to
00:11:13.760
the jira board
00:11:16.000
so you just kind of have to like guess
00:11:18.880
what it is that they want or email a
00:11:20.880
contributor and hope they add you to the
00:11:22.560
jira board
00:11:27.360
i kind of had a question though related
00:11:29.200
to organization
00:11:30.560
um i assume that you have like major
00:11:32.720
pushes and things that need to happen
00:11:34.320
like
00:11:35.120
ruby there's a ruby3 upgrade coming for
00:11:37.279
like reels and everything like how did
00:11:38.800
those get
00:11:39.360
coordinated and organized and chopped up
00:11:41.360
into little bits for people to handle
00:11:43.920
epic orchestra says did i hear a03 no
00:11:46.720
those words never left my mouth
00:11:54.839
uh rails project by the way
00:12:00.480
push towards the end uh let's see
00:12:04.160
so
00:12:08.320
it's kind of different um
00:12:12.320
i don't know i have an answer for that
00:12:13.519
but it's like not good
00:12:16.240
uh basically like so for
00:12:19.440
let's i'll talk about the rail or the
00:12:21.200
ruby team so
00:12:22.720
we have like essentially what happens is
00:12:26.240
mats will be like hey i'm gonna make
00:12:28.560
ruby three
00:12:29.360
three times fast or whatever and
00:12:32.720
uh he then he doesn't do any of the work
00:12:36.639
uh so basically like
00:12:41.920
it's it is what it is right like
00:12:45.200
it's like yeah basically it's up to the
00:12:48.800
rest of the team to figure out how to
00:12:49.920
make that
00:12:50.399
how to make that happen in particular um
00:12:53.120
but since like
00:12:54.000
since the team is like
00:12:57.360
i mean we have the team is just
00:12:59.760
different people from
00:13:01.120
all over the world it's i think it's a
00:13:03.760
lot harder to organize
00:13:05.839
into particular projects so like when
00:13:08.720
you're working together at a company
00:13:09.920
it's like okay we've got this
00:13:11.120
we got this project we want to focus on
00:13:12.880
we put together this team to do that
00:13:14.639
we don't have any like overall
00:13:16.720
management team in order to handle
00:13:18.880
a project like that so what ends up
00:13:21.040
happening is
00:13:22.160
a lot of the i think a lot of the
00:13:24.399
projects are
00:13:25.440
um it's maybe up to one or two people
00:13:29.440
like for example the raptor feature that
00:13:32.000
was put into ruby i think that's
00:13:33.600
basically all developed by koichi um
00:13:38.240
oh uh uh gc compaction was all
00:13:41.519
just me uh but
00:13:44.639
i don't know i think like i guess that's
00:13:47.760
basically the way it goes
00:13:49.680
um and we just have a push
00:13:52.720
towards like each person just pushes
00:13:54.800
their project forward until they can get
00:13:56.320
it done
00:13:57.519
um we're doing i think it's gonna change
00:14:01.279
a little bit
00:14:02.160
because like well
00:14:05.839
it'll kind of change a little bit
00:14:07.279
because at shopify we're doing a lot of
00:14:10.240
like we're investing a lot into
00:14:12.639
doing development on ruby so we actually
00:14:14.959
have a team of people that is working on
00:14:17.279
that are working on a particular feature
00:14:18.880
like we want right now one of the
00:14:20.880
projects we're working on is uh
00:14:22.560
a jit we're also working on a
00:14:27.360
doing some improvements to the memory
00:14:29.760
allocation and garbage collection
00:14:31.760
but we have particular teams working on
00:14:34.000
that though those teams are not part of
00:14:35.839
the ruby core team
00:14:37.279
what is the we have what's the new is it
00:14:39.760
a new jet
00:14:41.440
yeah yeah yeah yes interesting we're
00:14:45.199
yeah we're working on a j legit we call
00:14:47.519
it micro jit
00:14:48.720
that's what we're working on but this is
00:14:50.800
not part of the ruby core team itself
00:14:54.079
nope we're developing it independently
00:14:56.800
so we have
00:14:58.079
i i mean i'm on the team i'm helping
00:15:00.320
with it
00:15:01.279
so we're all working on it together and
00:15:03.199
we're focusing on that and then we're
00:15:04.720
going to like with the goal the goal is
00:15:06.720
to essentially push it upstream one of
00:15:08.480
these days
00:15:10.839
um that is i think that's the goal
00:15:13.920
but we're developing it as kind of a
00:15:16.320
research project
00:15:18.160
hitokidi wants to know how close we are
00:15:20.079
to strata
00:15:26.880
what is that what is strata he's a kitty
00:15:36.000
tito kitty's not going to tell us it's a
00:15:37.519
secret okay
00:15:39.440
yeah stratos is that kerry likes to make
00:15:41.600
anime jokes and stuff like that
00:15:43.440
i think this is that okay at first i
00:15:45.839
mistook it for stadia and
00:15:47.680
then i realized that it was a different
00:15:49.519
word when you said it out loud which
00:15:50.959
means that what i thought was the joke
00:15:52.480
in my head wasn't the joke in my head
00:15:53.839
but i promise you this is a different
00:15:55.279
joke
00:15:55.839
i'm sure it's a good one html over the
00:15:58.639
wire
00:15:59.680
hot wire oh hot wire yeah
00:16:03.759
yeah i have no idea yeah
00:16:08.079
it's good though we did it we nailed it
00:16:10.240
it's the third oh it's a real question
00:16:12.399
i'm sorry kerry yeah so strata is the
00:16:15.199
third portion
00:16:17.040
of hot wire
00:16:20.320
the the website wasn't hotwire it was a
00:16:23.440
news site
00:16:26.639
oh search engine what was hotwire this
00:16:28.720
used to be a thing
00:16:29.839
hotwire is the new thing um that's gonna
00:16:33.040
replace
00:16:33.759
like okay so you know how reels was like
00:16:37.279
okay we're going to integrate webpacker
00:16:38.720
and that's going to give us like cool
00:16:39.920
front end stuff that we can use
00:16:42.160
hotwire is the new version of that and
00:16:43.759
what it is is it passes around like
00:16:45.199
little bits of html versus like passing
00:16:47.199
around json and stuff
00:16:48.720
and it uses web sockets instead of http
00:16:52.160
and aaron is not interested i feel very
00:16:54.240
proud right now oh it's a travel website
00:16:56.720
it's also a travel website so it's these
00:16:59.120
two things
00:16:59.759
yes that's what it is hot wire i was
00:17:01.680
thinking hotwire.com
00:17:05.439
hotwire is a way for us to
00:17:09.199
kind of circumvent the need for
00:17:10.959
front-end frameworks to some degree
00:17:13.280
allowing us to just use html and css as
00:17:15.520
we would expect
00:17:16.480
but still have very fast responsive
00:17:19.199
websites without
00:17:20.480
a single page application structure
00:17:24.000
and book flights at low low prices and
00:17:26.799
you can
00:17:27.360
book flights at low low prices
00:17:30.720
i want to go to hotwire.dev and show
00:17:33.120
people that thing
00:17:35.280
can we go back to the coordination piece
00:17:37.039
first of all matthew d has a great
00:17:38.640
comment on this which is there's less
00:17:40.000
coordination than a lot of people expect
00:17:41.760
and the truth is that the content of a
00:17:43.200
release is 90
00:17:44.320
just whatever gets merged before someone
00:17:46.000
decides to release is overdue
00:17:48.160
i i have feelings about this as like
00:17:51.280
somebody who uses
00:17:52.559
and somebody who contributes but i'm
00:17:54.400
curious about what the experience is for
00:17:55.919
somebody who
00:17:56.880
maintains right like you don't have a pm
00:17:59.919
you don't have somebody telling you this
00:18:01.440
is the next task you will work on you
00:18:03.200
must do this you must do that it must
00:18:05.200
meet these guidelines
00:18:06.640
as a developer how does that feel
00:18:11.919
liberating yeah
00:18:18.320
it feels it feels good i mean okay so so
00:18:21.360
like
00:18:23.520
a lot of the stuff so a lot of the
00:18:24.960
changes we make to rails
00:18:26.720
or a lot of the changes i like to make
00:18:28.400
to rails are basically derived from our
00:18:30.880
application i do a lot of like
00:18:32.480
performance-based stuff
00:18:33.919
so most of the things i focus on are
00:18:35.600
like how can i make it faster
00:18:38.240
uh so we'll find like bottlenecks or
00:18:40.400
whatever in our application i'll push
00:18:42.000
those in to push those into rails what's
00:18:44.799
nice about rails is we don't have a
00:18:46.320
particular
00:18:47.120
release schedule like i think we try to
00:18:49.919
release around
00:18:51.039
rails cough but it doesn't always happen
00:18:53.760
so
00:18:54.720
like whatever we can get in whatever i
00:18:56.400
can get merged in before we cut that
00:18:57.919
release is good
00:18:59.440
um same thing with ruby
00:19:02.480
although it kind of like the downside
00:19:04.640
with ruby is we have a pretty strict
00:19:06.400
release schedule which is christmas
00:19:08.160
every year
00:19:09.120
so if you don't get it in before
00:19:11.120
christmas it doesn't go in until the
00:19:13.200
next year
00:19:14.400
where rails we could and have had
00:19:17.120
multiple
00:19:18.320
fairly major releases per year
00:19:22.320
so when you're deciding what to work on
00:19:23.919
it's just up to you to pick it out of
00:19:25.520
the
00:19:26.240
the crowd you get to kind of follow your
00:19:27.840
curiosity but at the same time then you
00:19:29.280
don't have anyone
00:19:30.559
in a role that's organizing the work
00:19:32.160
across team have you worked on a
00:19:33.760
an open source project where someone
00:19:35.200
existed in kind of a pm role because you
00:19:37.200
there are
00:19:37.679
plenty of people who work with
00:19:39.039
documentation and kind of like a
00:19:41.280
a release coordinator you have someone
00:19:44.080
in charge of the release every time you
00:19:45.679
do a release with rails right
00:19:48.080
yeah but they don't say so we have a
00:19:50.400
release like we have release managers
00:19:52.320
but they don't particularly say what
00:19:54.160
is um what's going to be in that like
00:19:57.600
if we're doing a major release they
00:19:59.200
don't they don't define what is in that
00:20:01.039
major release
00:20:02.000
like we define that as a team okay the
00:20:04.640
the um
00:20:06.480
release managers we have they're more in
00:20:08.559
charge of like what go
00:20:10.159
what goes into um like bug fix releases
00:20:15.039
so it'll be like oh hey we got a bug
00:20:17.039
fixed we got to backboard this so
00:20:18.480
they'll make sure that the back ports go
00:20:20.240
through and that we actually ship
00:20:21.760
ship that version that and that like
00:20:25.120
i think that's basically just raphael on
00:20:27.120
the rails
00:20:29.120
as if somebody does all that yeah as
00:20:31.840
with all of it yeah
00:20:34.240
because like doing the release doing the
00:20:36.240
release is not fun because as soon as
00:20:37.760
you release it somebody complains like
00:20:39.440
yeah
00:20:39.840
just it just that's life you broke my
00:20:43.919
windows 3.1 vm that i'm running on
00:20:46.640
solaris
00:20:47.360
yeah that's tough so what do you um
00:20:50.720
we have a question from oh i'm sorry go
00:20:53.120
ahead rachel
00:20:54.720
thank you i need to issue a correction
00:20:56.400
so hotwire is a base camp project it is
00:20:58.799
not a rails project
00:21:00.400
yes
00:21:05.760
has something to add on to that which is
00:21:07.120
i wrote a twitch overlay app in
00:21:08.960
24 lines of js i saw the original
00:21:11.840
version of this app and it had
00:21:14.000
significantly more lines of js in it
00:21:16.080
it's actually pretty cool it's like a
00:21:17.280
question app that like shows questions
00:21:18.880
on the screen
00:21:20.000
maybe you could help me level up my game
00:21:22.240
here with the uh
00:21:23.520
the screen sharing from zoom plan of
00:21:26.080
streaming is not working out great today
00:21:28.080
we had a bit of a last-minute shift into
00:21:31.039
who was responsible for producing this
00:21:32.640
stream and when these things fall to me
00:21:34.000
they go more poorly
00:21:35.200
um than some might expect but so uh
00:21:38.960
my question oh i wanted to point out too
00:21:40.960
that like though hotwire is a basecamp
00:21:43.200
project that should not stop you from
00:21:45.039
emailing or tweeting at aaron
00:21:46.880
about hotwire to get your bugs fixed
00:21:49.120
please
00:21:50.480
i could i could provide you with aaron's
00:21:52.400
home phone number if you'd like to call
00:21:53.840
him
00:21:54.480
um he'll let him go now i'm just going
00:21:56.000
to give you deals on on flights
00:22:03.360
flights that you can't fly right now
00:22:06.400
apocalypse says wow everyone seems to
00:22:08.640
know each other here i feel like the
00:22:09.600
whole ruby community is here
00:22:10.799
all 30 people that's a good joke that we
00:22:13.919
have a huge community
00:22:15.200
um of people who actually know each
00:22:16.880
other really well i
00:22:18.240
um i think that i i misread the all 30
00:22:20.960
people
00:22:21.440
they were saying all 30 people here all
00:22:23.200
know each other which is actually true
00:22:25.600
um
00:22:26.159
i think the ruby community as compared
00:22:28.000
to a lot of communities
00:22:29.360
is inordinately tight like there are a
00:22:31.120
lot of people who
00:22:32.640
um have described the ruby community as
00:22:34.559
the most welcoming community
00:22:36.000
that they've joined uh it certainly has
00:22:38.159
been my experience i think it's not a
00:22:39.520
fair comparison in my case because i
00:22:40.960
joined
00:22:41.919
early on in my career it was my one of
00:22:43.919
my first languages
00:22:45.200
but i want to actually hear from you
00:22:48.880
i think that you're a huge part of why
00:22:51.520
that's true like
00:22:53.120
i have a hard time even describing the
00:22:54.720
ethos that is tender love right
00:22:56.480
but like there is something about you
00:22:59.360
and the way you operate in the community
00:23:00.799
and the way other people who
00:23:02.400
feel a similar role for us operate that
00:23:04.799
makes it by far one of the most
00:23:06.159
welcoming communities i've ever been in
00:23:07.520
i wonder if you can just speak to that
00:23:08.640
for a moment
00:23:11.760
hmm
00:23:15.360
now i feel like i have to be mean to
00:23:16.799
somebody yeah like we have to dog on
00:23:19.120
another community not even that
00:23:20.799
i think that it's just is it the hat is
00:23:23.679
that why people like it
00:23:25.919
i don't know i don't know i think
00:23:29.600
i think probably the ruby community is
00:23:31.919
like um
00:23:36.000
what it's small enough that we still
00:23:37.600
have it's not
00:23:42.320
it's not as corporate as say like maybe
00:23:44.960
a java community or something we have a
00:23:47.039
good community of hackers
00:23:49.039
and fortunately our community of hackers
00:23:52.159
likes to teach each other new stuff so
00:23:56.000
at least i do anyway it's a lot of fun
00:23:58.480
like
00:23:59.520
for me in particular i like to show
00:24:00.960
people i don't know i like to work on
00:24:02.640
stuff and tell people about the things
00:24:04.000
that i'm working on
00:24:05.200
so so that they can do it too uh
00:24:09.120
also because like one day i'm one day
00:24:12.400
i'm not going to be part of the ruby
00:24:13.840
community
00:24:15.840
that's not possible i mean i mean one
00:24:18.400
day
00:24:18.960
like one day i'm gonna die right like
00:24:20.640
it's gonna happen and somebody else will
00:24:22.480
have to do it
00:24:23.200
so we're all doomed
00:24:26.400
i wonder yeah exactly
00:24:29.760
i wonder if there's like okay i was
00:24:32.480
gonna start with one thing but now i've
00:24:34.000
got like three different things that i
00:24:35.600
think
00:24:36.080
can like kind of push ruby right like
00:24:37.840
there's the keeper be weird aspect of it
00:24:40.320
then there's the fact that ruby as a
00:24:42.080
language was designed
00:24:43.520
to like help promote developer happiness
00:24:47.600
and then there's also like maths is nice
00:24:49.279
so we are nice so that's like
00:24:50.960
three like pillars of the language or
00:24:53.520
pillars of the language community
00:24:55.520
that are kind of driving it towards that
00:24:57.520
like cozy happy beautiful feeling that
00:24:59.919
ruby always gives me
00:25:02.159
and i think the sunglasses help i think
00:25:06.080
between the sunglasses and the hats
00:25:09.360
it's it is a much less corporate
00:25:10.960
community it's much warmer i think like
00:25:13.039
from a
00:25:14.640
open source perspective
00:25:18.159
that might work to our detriment
00:25:20.240
sometimes
00:25:21.279
that as a community like i know that
00:25:23.919
other languages have major corporate
00:25:26.880
involvement in a lot of their things
00:25:28.960
we've got shopify and github
00:25:32.240
really like actively contributing to our
00:25:34.720
projects
00:25:35.279
and and dumping money on us but
00:25:39.039
when you think about like the teams that
00:25:40.480
exist that work on
00:25:42.480
python development inside of google
00:25:44.480
right like
00:25:45.919
maybe if maybe there's an advantage
00:25:50.000
to being more corporate
00:25:54.799
ah yeah i guess i mean there's more
00:25:57.840
money
00:25:58.559
right yeah is that the goal i don't
00:26:00.559
think so i don't think it is for me or
00:26:02.320
for rubyists kind of i feel like it is
00:26:04.400
just kind of this hacker collective
00:26:08.840
well
00:26:10.320
i think about here like i don't know i
00:26:12.559
don't know that it's bad
00:26:14.159
i can't i can't say in particular that
00:26:16.400
it's bad necessarily to get more
00:26:18.799
get more corporate sponsors or more
00:26:20.400
money behind it
00:26:21.840
i mean i think
00:26:24.960
because like if you look for example if
00:26:26.640
you look at the linux kernel
00:26:28.159
like linux kernel development there's
00:26:29.840
tons of i
00:26:32.159
i think that might be considered
00:26:33.520
corporate maybe because there's tons of
00:26:35.760
companies behind that thing
00:26:37.520
yeah and if you try to contribute to the
00:26:40.320
linux kernel
00:26:41.520
like we we've all heard
00:26:44.720
stories about that so
00:26:47.760
uh i don't know i don't think that i
00:26:50.240
don't think that happened i mean that
00:26:52.159
that type of stuff definitely happens in
00:26:54.080
the ruby community just not as
00:26:55.919
i don't think it's as frequently yeah so
00:26:59.039
i think we we try to i mean
00:27:03.120
i know i try to like
00:27:07.120
target folks who are new to programming
00:27:10.320
or
00:27:10.640
new to the community and try to
00:27:12.799
essentially try to make a
00:27:14.159
welcoming environment so
00:27:17.440
i don't know i mean i don't know if it's
00:27:21.679
i don't know what makes a community what
00:27:23.840
it is
00:27:25.200
yeah i think if
00:27:28.720
i think there's there's we're having
00:27:31.200
worked in community for a long time
00:27:33.120
right this is effectively my job in deaf
00:27:35.120
rel is to figure out how communities
00:27:37.600
work and grow i kind of agree with you
00:27:40.880
there is something mysterious there's
00:27:43.120
like this this
00:27:44.880
x factor that is real hard to pin down
00:27:47.120
but i think it has something to do with
00:27:49.440
exactly people like you aaron that that
00:27:51.919
you go to a conference
00:27:53.440
i've watched you try to walk across a
00:27:55.200
conference hall with
00:27:56.640
with a podcast so comfortable right now
00:27:58.640
erin yeah
00:27:59.760
this is a very serious like when you go
00:28:02.399
to a conference and you go walking
00:28:03.520
across the conference hall you will get
00:28:04.880
stopped
00:28:06.159
over a 50-foot distance 50 times for
00:28:08.960
someone to like have a conversation and
00:28:10.559
you will stop every time
00:28:12.960
every time i think it's i think it's
00:28:14.720
just important to set a good example for
00:28:16.559
other people in the community
00:28:17.919
like that's basically like that's
00:28:21.039
basically it
00:28:22.559
i don't know i mean i will i like being
00:28:24.480
around so personally i like being around
00:28:26.640
nice people
00:28:27.520
yeah it's more it's more fun
00:28:31.600
right yeah yep yeah
00:28:35.360
so that's i don't know basically that's
00:28:37.600
something i want to encourage
00:28:39.120
yeah i'm sold
00:28:42.480
so all right yeah in in that vein then
00:28:45.760
if we want to help new people get into
00:28:48.080
working on open source should you think
00:28:51.600
they should jump into the kernel or they
00:28:53.279
should start maybe on a different
00:28:54.799
project
00:28:56.320
uh i think it depends on what you do i
00:28:58.720
think like the best place to start is
00:29:00.720
where
00:29:01.200
stuff that you're already working with
00:29:02.960
so if you're doing web development then
00:29:05.200
start with
00:29:06.080
you know start contributing to rails or
00:29:08.799
i don't know maybe
00:29:10.559
any of the like gems that you're using
00:29:13.760
uh just something that you work with day
00:29:15.279
to day because you'll have more
00:29:16.640
familiarity with it