WEBVTT

1
00:00:00.080 --> 00:00:03.520
Hey, folks, welcome back to
the Ruby Dev Summit. I am here

2
00:00:03.560 --> 00:00:10.960
with Federico Yakati. It's we've worked
together on different projects and chatted off and

3
00:00:11.000 --> 00:00:14.839
on over the last several years.
And uh yeah, I thought he'd have

4
00:00:14.919 --> 00:00:19.879
some interesting ideas around what the future
of Ruby looks like. He lives down

5
00:00:19.920 --> 00:00:24.320
in Argentina and so he interacts with
kind of a different circle sometimes than I

6
00:00:24.399 --> 00:00:30.079
do. So yeah, Federico,
what looking at where things are with Ruby?

7
00:00:30.120 --> 00:00:36.399
What is the future of Ruby?
Well, to answer your question,

8
00:00:36.840 --> 00:00:41.320
there are there are like two big
things I could think of, the things

9
00:00:41.359 --> 00:00:48.000
I see where it's going and the
things I wish you're gonna go. Uh

10
00:00:48.079 --> 00:00:56.240
huh uh. In terms of what
I see Maine on the form the rook

11
00:00:56.320 --> 00:01:00.200
Coors, I think they are focusing
a lot on performance, and I really

12
00:01:00.280 --> 00:01:04.640
like that. I like the idea
of thinking of Ruby as a language I

13
00:01:04.640 --> 00:01:11.200
can just drop in and do whatever
I want without thinking of Okay, it's

14
00:01:11.280 --> 00:01:19.519
not gonna work it's too slow,
and I really like that they are focusing

15
00:01:19.560 --> 00:01:26.079
on that right now. Mm hmm. I also see changes on the comparser

16
00:01:26.159 --> 00:01:38.280
and parsers, which I also like
the idea of being able to for example,

17
00:01:38.120 --> 00:01:44.920
ah have I don't remember the exact
name, but like a partial partser

18
00:01:45.000 --> 00:01:49.840
where if you find an error in
the in the cold, the partser can

19
00:01:49.920 --> 00:01:55.879
continue. So you have a you
can see Okay, you have an error

20
00:01:55.920 --> 00:01:59.879
here, please change it. But
you also see that the rest of the

21
00:02:00.040 --> 00:02:07.400
file is uh still working. Uh. There has been a lot of changes

22
00:02:07.400 --> 00:02:13.240
in terms of syntax, which okay, Ruby always had those kind of changes.

23
00:02:14.879 --> 00:02:19.439
There are a lot of syntax changes
that I don't really like, but

24
00:02:19.520 --> 00:02:24.360
I like that Ruby allows me to
choose uh huh, which always has been

25
00:02:24.400 --> 00:02:35.879
the Ruby, the Ruby mind right. Uh. They are moving towards removing

26
00:02:35.879 --> 00:02:43.759
the use of native libraries, which
is also great because you sometimes you get

27
00:02:43.759 --> 00:02:52.159
stuck in Okay, I'm studying I
don't know nogiy in rails and you're running

28
00:02:52.159 --> 00:02:57.919
it on a doctor on a doctor
container, and then you have to stop

29
00:02:57.919 --> 00:03:02.759
on your feet and start packaging or
debout what happened, this didn't work.

30
00:03:02.800 --> 00:03:10.280
I like the idea of basically simplifying
installation of gems, right or yeah,

31
00:03:10.719 --> 00:03:19.639
or even the main the rubic core
library. Yep. So let's let's stop

32
00:03:19.680 --> 00:03:21.960
for a minute, because I mean, you gave me a list of like

33
00:03:21.960 --> 00:03:23.680
four or five things, but let's
talk about them, right. So so

34
00:03:23.840 --> 00:03:29.080
performance, right, what are you
seeing in the way of performance? Because

35
00:03:29.840 --> 00:03:32.639
I don't know if I like directly
measure anything that I'm doing. I can

36
00:03:32.719 --> 00:03:38.000
tell you it's getting faster because I'll
run a rails app or run a script

37
00:03:38.080 --> 00:03:39.960
or something, and the numbers I'm
getting back as far as hey, this

38
00:03:40.039 --> 00:03:44.759
took you so many milliseconds or whatever, that number is definitely getting lower.

39
00:03:45.120 --> 00:03:50.159
I couldn't tell you what they did, but it's getting faster. Yeah,

40
00:03:50.199 --> 00:03:57.840
well, I couldn't tell you either. I know why it's a big thing.

41
00:03:58.120 --> 00:04:02.280
I don't really understand it yet because
I haven't gotten deeper into it.

42
00:04:03.199 --> 00:04:13.639
But I know since uh before three
was out, they they have been moving

43
00:04:13.719 --> 00:04:19.079
towards making movie three times faster.
And I think that they achieved a lot

44
00:04:19.120 --> 00:04:28.199
of that with some with some regressions
and some advances. But yeah, what

45
00:04:28.240 --> 00:04:30.879
I see in terms of performance is
what I what I said before, and

46
00:04:30.959 --> 00:04:35.680
what you said. I don't like
measuring things as well. I like it.

47
00:04:35.759 --> 00:04:43.360
I like to think of going into
a language and not having to think

48
00:04:43.399 --> 00:04:49.560
about performance. Of course, performance
in an application comes from a bunch of

49
00:04:49.560 --> 00:04:55.360
different things. I like to exclude
the language from those things, right,

50
00:04:55.920 --> 00:05:00.600
Yeah, absolutely mostly, And I
agree with you mostly because the the language

51
00:05:00.600 --> 00:05:05.079
stuff is not something that's in my
control. Whereas database optimizations or writing the

52
00:05:05.120 --> 00:05:11.000
code in a performant way, or
you know, taking advantage of some concurrency

53
00:05:11.040 --> 00:05:13.839
feature in Ruby or something like that, those are all things I can do,

54
00:05:14.279 --> 00:05:17.160
right, Yes, And so yeah, the language itself maybe not so

55
00:05:17.279 --> 00:05:20.800
much as far as wijit goes.
Yeah, I need to reach out to

56
00:05:20.800 --> 00:05:24.759
to Kashi Kokaboom and see if he
can come on and talk to us about

57
00:05:24.800 --> 00:05:29.759
that, because it's really really cool
stuff. Now. I think in Ruby

58
00:05:30.079 --> 00:05:33.319
three to two you had to set
a flag to use wyjit. But I

59
00:05:33.319 --> 00:05:38.920
think if I remember right in three
dot three, they were planning to turn

60
00:05:38.920 --> 00:05:42.319
it on. I never actually looked
to see if they did it. Yeah,

61
00:05:42.319 --> 00:05:46.680
they were planning to turn on.
By the fault. I think you

62
00:05:46.759 --> 00:05:50.399
would be able to disable it,
but I'm not sure about that. Yeah.

63
00:05:50.439 --> 00:05:54.720
But the thing is is that we've
seen in other languages too, like

64
00:05:54.800 --> 00:05:59.680
there, you know, we've seen
some JIT compilers come into JavaScript and a

65
00:05:59.680 --> 00:06:02.079
lot of that stuff. Yeah,
it's interesting because you'll you'll watch it and

66
00:06:02.079 --> 00:06:05.560
it'll turn through some stuff and then
it'll decide, Okay, I've run this

67
00:06:05.720 --> 00:06:09.839
enough times. That's usually how JITs
work, and so I'm going to compile

68
00:06:09.920 --> 00:06:13.519
it to something that you know,
I can run on the mischine faster.

69
00:06:14.319 --> 00:06:17.240
Yeah, much faster. I can
run it on the VM in native code

70
00:06:17.519 --> 00:06:21.240
and boom, you just see it
immediately take off. And so I think

71
00:06:21.279 --> 00:06:25.920
that's really cool, And yeah,
it's not. I have some friends that

72
00:06:25.959 --> 00:06:29.040
are big like go fanatics or you
know, what have you, and they,

73
00:06:29.120 --> 00:06:30.879
you know, they compile, compile
it and they're like, well,

74
00:06:30.920 --> 00:06:34.959
ours is fast from the get go. Well sure, but you know,

75
00:06:35.000 --> 00:06:38.759
there are a lot of features that
come out of Ruby that are very very

76
00:06:38.879 --> 00:06:45.079
nice that yeah, I'm willing straight
off for the the fast eventually. Yeah,

77
00:06:45.120 --> 00:06:47.800
and then you have to actually compile
it every time you run to run

78
00:06:47.879 --> 00:06:55.480
or change something. So yeah,
there's that then, well yep, absolutely

79
00:06:55.800 --> 00:06:58.720
so. Yeah, the jit's definitely
a thing. I think they've cleaned up

80
00:06:58.759 --> 00:07:02.759
some of the memory managements have to
made that a little bit faster. Are

81
00:07:02.759 --> 00:07:06.199
there any other features that you've looked
at that that make it faster that you're

82
00:07:06.199 --> 00:07:13.360
excited about or is it primarily no? To be honest, I've watched a

83
00:07:13.439 --> 00:07:20.600
couple of tender log talks. But
I don't recall any other features. Okay,

84
00:07:21.839 --> 00:07:26.800
yeah, so let's let's move on
to the partiers. Then you mentioned

85
00:07:26.800 --> 00:07:30.680
the parser. Are you talking about
the prison parser? Are you talking about

86
00:07:30.680 --> 00:07:36.360
something else? Uh? Yeah,
prison in general? Okay, again something

87
00:07:36.360 --> 00:07:43.600
I haven't looked to live into.
Uh. I watched a couple of talks

88
00:07:43.639 --> 00:07:53.600
and I got really excited about ah
about basically into how you said, Yeah,

89
00:07:53.639 --> 00:08:01.399
integrating a parsa with with my editor
and things of that sort. Yeah,

90
00:08:01.439 --> 00:08:07.240
we had Kevin Newton's scheduled to do
the summit and then he realized the

91
00:08:07.240 --> 00:08:11.839
added check with his employers, so
we are trying to get through some red

92
00:08:11.839 --> 00:08:15.800
tape, so to speak, or
line up somebody else who's worked with him

93
00:08:15.839 --> 00:08:20.279
on that. But I mean,
it's it's so interesting just what a different

94
00:08:20.319 --> 00:08:22.240
some of the stuff can make and
what the capabilities are when you have a

95
00:08:24.000 --> 00:08:28.279
parser that does more than just kind
of the fundamental stuff. Yeah, yeah,

96
00:08:28.319 --> 00:08:33.039
totally. Yeah. So what else
did you mention? I can't remember

97
00:08:33.080 --> 00:08:43.559
all of it? Syntax changes?
Oh yeah, I normally don't automatically take

98
00:08:43.679 --> 00:08:50.480
new changes to the syntax. The
latest one I've taken and really liked is

99
00:08:50.840 --> 00:08:58.720
I don't remember the exact name,
but one line method definitions okay, thost

100
00:08:58.799 --> 00:09:07.399
into clean up a bit the h
the code uh huh, and yeah,

101
00:09:07.480 --> 00:09:13.159
I really like in this uh for
this point, I really like that really

102
00:09:13.200 --> 00:09:18.399
allows you to write the code you
want. Mm hm. So yeah,

103
00:09:18.679 --> 00:09:26.240
syntaxis are always welcome. Yeah,
I don't usually like new changes. I

104
00:09:26.279 --> 00:09:35.120
think the the one I mentioned and
a harsh syntax uh are the the two

105
00:09:35.240 --> 00:09:41.480
changes I actually really enjoyed. Enjoy
it, right, I usually I don't

106
00:09:41.519 --> 00:09:48.720
used to. Sorry, I don't
usually take up new changes. But again,

107
00:09:48.879 --> 00:09:54.840
I really like the possibility to yeah, to write yeah, the key

108
00:09:54.840 --> 00:09:58.120
word you want. I use those
everywhere. Yeah. When I resisted for

109
00:09:58.200 --> 00:10:01.840
a long time, I was like, yuck, I don't like this.

110
00:10:01.000 --> 00:10:03.919
I don't like this. I don't
like this. Hey, it's telling me

111
00:10:03.960 --> 00:10:05.679
what it is. I like this. I like this. Yes, yeah,

112
00:10:05.840 --> 00:10:13.159
kind of practically exclusively now yeah,
yeah, but yeah. The thing

113
00:10:13.200 --> 00:10:18.000
that I like about in particular,
and I'm just going to chime in on

114
00:10:18.000 --> 00:10:22.279
the things you're bringing up about Ruby
in particular, and I think the thing

115
00:10:22.320 --> 00:10:26.840
that draws a lot of people in
is sort of the intuitive nature of how

116
00:10:26.879 --> 00:10:30.000
you look at things and go oh, I get what that does, or

117
00:10:30.039 --> 00:10:33.320
oh, I understand why what that
feature is, or oh I get why

118
00:10:33.360 --> 00:10:35.600
this library is set up that way. There are so many things in Ruby

119
00:10:35.600 --> 00:10:43.200
that just really lend themselves cleanly that
way, and Rails has very nicely extended

120
00:10:43.200 --> 00:10:45.639
that. And then you see it
in some of the other frameworks too,

121
00:10:45.639 --> 00:10:48.000
if you're using Hanami or things like
that. You know, yeah, it's

122
00:10:48.279 --> 00:10:54.000
it's a little bit of a mindset
shift from Rails to Hanami. But again,

123
00:10:54.080 --> 00:11:00.000
it has that that intuitive nature to
Okay, I understand why there's structure

124
00:11:00.039 --> 00:11:03.799
during things this way, and this
is very expressive way of doing it.

125
00:11:03.120 --> 00:11:09.279
And so yeah, I think Ruby
drives us to to do things like that,

126
00:11:09.399 --> 00:11:16.279
to do things in a with a
DSL or with very terse code or

127
00:11:16.399 --> 00:11:20.919
very expressive code. So, uh
yeah, Raise is the primary example of

128
00:11:20.919 --> 00:11:28.759
that because they do it almost to
a fault, but they put an active

129
00:11:28.799 --> 00:11:31.240
support, they created active support,
and that adds a whole nother layer of

130
00:11:31.279 --> 00:11:37.960
that kind of thing. Yes,
yeah, exactly, So yeah, that

131
00:11:37.360 --> 00:11:43.759
that's I think, uh Race is
a primary example. But Ruby itself,

132
00:11:45.360 --> 00:11:50.000
it's a it's a language that leads
you to to work in that kind of

133
00:11:50.039 --> 00:11:58.960
way. Yeah, absolutely, Yeah, what what what? What was?

134
00:11:58.279 --> 00:12:01.960
Weren't there like for five things or
did I? Yeah? No, The

135
00:12:01.000 --> 00:12:09.559
last one I mentioned was removing the
use of native libraries. Oh yeah,

136
00:12:09.600 --> 00:12:13.519
and I took that from the change
block because I I was just reading the

137
00:12:13.600 --> 00:12:24.159
change changelog for the last Ruby version
and they are removing the dependency on on

138
00:12:24.320 --> 00:12:28.879
read line for example. Oh really? Oh yeah, yeah, they are

139
00:12:28.919 --> 00:12:35.039
doing it natively on the in the
language now with the library. So yeah,

140
00:12:35.080 --> 00:12:41.440
it's something. As I said before, many times I started working either

141
00:12:41.480 --> 00:12:46.440
on a new machine or doc doctor
container or viitual machine or whatever, and

142
00:12:48.200 --> 00:12:52.039
suddenly you have to stop because you
have to compile a native library to install

143
00:12:52.080 --> 00:13:00.519
a package, to write whatever.
And I think this last point, with

144
00:13:00.600 --> 00:13:03.279
the first one, I think they
are actually being able to do that now

145
00:13:03.360 --> 00:13:11.879
because of being able to work on
a language, a more performal language right

146
00:13:11.960 --> 00:13:16.759
now. So they are relying less
and less on external libraries. That's that's

147
00:13:16.759 --> 00:13:18.879
awesome for me. Yeah, that
makes a lot of sense, And it's

148
00:13:18.879 --> 00:13:24.480
interesting because I don't know, I
don't know that I would expect them to

149
00:13:24.519 --> 00:13:26.840
not take advantage of those, especially
if you're starting a new language. But

150
00:13:26.960 --> 00:13:31.120
yeah, once you get to a
certain point, then it's all right.

151
00:13:31.960 --> 00:13:35.480
We have to be able to do
a build target that works on Linux and

152
00:13:35.559 --> 00:13:39.639
Mac and Windows and anything else.
And yeah, I mean if you have

153
00:13:39.879 --> 00:13:46.559
fewer dependencies on some of the native
things, then you don't have to worry

154
00:13:46.600 --> 00:13:50.039
about what version it is, or
whether the machine has it, or whether

155
00:13:50.080 --> 00:13:54.399
the machine has a you know,
sometimes they have different compile targets and if

156
00:13:54.399 --> 00:13:56.840
you have the one then it works
and the other it doesn't. Then so

157
00:13:58.039 --> 00:14:01.960
just just getting rid of that,
let's see on some external factor makes a

158
00:14:03.000 --> 00:14:09.200
lot of sense. Yeah, yeah, absolutely so I stopped you. Did

159
00:14:09.240 --> 00:14:16.879
you have other things on your list? Uh? Actually for the first channel

160
00:14:16.960 --> 00:14:20.799
of information I have, it's just
that you still be in the right place

161
00:14:22.759 --> 00:14:28.679
in just a second. Yeah.
Other things I'm seeing in the in the

162
00:14:28.720 --> 00:14:37.200
really community outside the de actual language
regarding the future of Ruby, I'm seeing

163
00:14:37.639 --> 00:14:43.159
less and less applications, applications written
in Rovie. I'm not sure if that's

164
00:14:43.200 --> 00:14:50.679
correct, if my if I'm not
seeing that correctly, but I'm seeing a

165
00:14:50.759 --> 00:14:58.039
decay on greenfield projects. I'm not
worried about it. I think there's plenty

166
00:14:58.080 --> 00:15:05.240
of bowing work for everyone who wants. But that's something I actually noticed in

167
00:15:05.240 --> 00:15:09.279
the last few years. Yeah,
if you notice that, I've seen kind

168
00:15:09.320 --> 00:15:15.519
of conflicting reports to that effect.
So I've seen people say, hey,

169
00:15:15.600 --> 00:15:18.879
there's there are fewer Ruby projects out
there, and so you know, Ruby

170
00:15:18.960 --> 00:15:22.799
is dying, and like you said, I don't know that I'm really that

171
00:15:22.840 --> 00:15:26.919
worried about it, and I don't
The other thing is is that a lot

172
00:15:26.960 --> 00:15:31.600
of the reports that I see that
they're citing, they're not citing like actual

173
00:15:31.679 --> 00:15:35.039
numbers, right, They're not saying
last year we tracked two thousand, and

174
00:15:35.120 --> 00:15:39.559
this year we tracked nineteen hundred.
Usually what I'm seeing is is, you

175
00:15:39.600 --> 00:15:43.840
know, the overall landscape of new
businesses that are starting, you know,

176
00:15:45.200 --> 00:15:50.559
a larger percentage of them are using
things like Python or JavaScript as opposed to

177
00:15:50.639 --> 00:15:54.799
Ruby, and so you know,
if the pie is getting bigger, right,

178
00:15:54.879 --> 00:15:58.080
So if we have you know,
three million new businesses start, I'm

179
00:15:58.080 --> 00:16:02.440
sure that's an unrealistically high number.
Let's say three million new businesses are starting

180
00:16:02.440 --> 00:16:07.519
this year and there were two point
five million last year, and so Ruby's

181
00:16:07.840 --> 00:16:11.360
percentage is shrunk a little bit.
The overall number of applications may actually be

182
00:16:11.480 --> 00:16:17.799
growing. So I don't know,
I haven't seen good numbers that make me

183
00:16:18.120 --> 00:16:22.320
worry, and I haven't seen good
numbers that make me hyper optimistic either,

184
00:16:23.120 --> 00:16:26.320
you know, like it was back
when the heyday of rails or Ruby,

185
00:16:26.360 --> 00:16:33.440
when every startup in San Francisco was
using rails to start, And so I

186
00:16:33.440 --> 00:16:37.240
don't know, it seems like some
of the other measures of community, like

187
00:16:37.840 --> 00:16:42.399
you know, how well do video
series like Drifting Ruby or Go Rails sell

188
00:16:44.039 --> 00:16:48.440
or how much you know business or
traffic do some of the other Ruby or

189
00:16:48.519 --> 00:16:56.840
rails related things get how well do
the conferences sell out? And that those

190
00:16:56.919 --> 00:16:59.879
issues don't seem to really be an
issue. There are plenty of people that

191
00:17:00.120 --> 00:17:04.319
interested. So I don't know.
I don't know what the benchmark is or

192
00:17:04.319 --> 00:17:07.799
what the right thing is. But
yeah, I'm not seeing it declined in

193
00:17:07.799 --> 00:17:11.400
such a way that makes me think, Okay, maybe it's time to pull

194
00:17:11.440 --> 00:17:15.920
the plug on this. Yeah,
in my opinion, and this is absolutely

195
00:17:17.039 --> 00:17:22.720
my opinion. I don't think there
will be a time to pull the plug

196
00:17:22.759 --> 00:17:33.759
on Ruby, I think, or
for any language. I think languages will

197
00:17:33.799 --> 00:17:42.240
be so we still have applications written
in coobol, so right that should say

198
00:17:42.279 --> 00:17:48.279
though I think, yeah, yeah, it's harder to find professionals that will

199
00:17:48.279 --> 00:17:52.160
write cobal or that even can write
coboal. Yeah, but you know that's

200
00:17:52.200 --> 00:17:55.680
a different thing and it has more
to do, I guess with the life

201
00:17:55.680 --> 00:18:00.839
cycle of software. But I guess
the other thing speaking to where it may

202
00:18:00.880 --> 00:18:03.480
go in the future. And I'm
supposed to be interviewing you and I'm going

203
00:18:03.519 --> 00:18:07.359
to be putting out my own videos
about what I think. But for example,

204
00:18:08.200 --> 00:18:14.799
David dhh, I was calling David. I don't know why, but

205
00:18:14.839 --> 00:18:18.039
anyway, he he came out and
said that Rails eight is going to be

206
00:18:18.039 --> 00:18:22.200
a platform where they take advantage of
all the progressive web app web app and

207
00:18:22.799 --> 00:18:30.160
kind of native web features and so
and then the other thing is is he's

208
00:18:30.319 --> 00:18:34.960
hyper focused on making Rails one developer
friendly platform. Right. Sure, it'll

209
00:18:36.000 --> 00:18:41.960
continue to support enterprises like get hub
it Spotify, but you know, at

210
00:18:42.000 --> 00:18:47.720
its core it will also be something
that you or I could spin up a

211
00:18:47.720 --> 00:18:52.319
startup in you know, however long
and you know, be all over and

212
00:18:52.359 --> 00:18:57.319
so you know that that also speaks
to me in a certain way as far

213
00:18:57.359 --> 00:19:03.440
as, hey, you know,
the capabilities of the not necessarily Ruby itself

214
00:19:03.920 --> 00:19:08.559
informing this, but of Rails of
Hanami, of you know, maybe Dragon

215
00:19:08.640 --> 00:19:14.759
Ruby or ruby wa WASM. I
talked to Utah Psyto this morning about ruby

216
00:19:14.759 --> 00:19:18.559
wa wasmuh, you know, and
so that that expands into a lot more

217
00:19:18.559 --> 00:19:22.920
platforms and just all of these different
places where you may see Ruby become,

218
00:19:23.880 --> 00:19:27.119
you know, a preferred way of
doing some of this stuff. Yeah.

219
00:19:27.799 --> 00:19:32.759
Yeah, I could see this going, you know, getting picked up because

220
00:19:33.119 --> 00:19:34.799
Python kind of had a little bit
of a dip and then it kind of

221
00:19:34.839 --> 00:19:40.359
hit its sweet spot with AI and
data science, and it's got kind of

222
00:19:40.359 --> 00:19:44.599
a renaissance. And I'm wondering if
Ruby or rails or something else out there

223
00:19:44.599 --> 00:19:47.920
in the ecosystem could do the same
thing. Yeah, I think so.

224
00:19:48.440 --> 00:19:55.000
My Actually, my next point was
about rails. I really like the where

225
00:19:55.240 --> 00:20:04.640
races is kidding, h I've had
my ups and downs with liking rails.

226
00:20:04.839 --> 00:20:12.920
I liked it very much at the
beginning, then it declined at some point.

227
00:20:14.119 --> 00:20:19.160
I think rails may made things more
difficult in the era. I can

228
00:20:19.279 --> 00:20:26.079
argue with that. Yeah, yeah, web packer, you had turbo turbo

229
00:20:26.160 --> 00:20:34.599
links and things that weren't always nice. But I learned to trust in the

230
00:20:34.720 --> 00:20:42.359
vision of the change. Because yeah, now I think writing a rail's application

231
00:20:42.720 --> 00:20:49.240
from scratch, it's such easy as
when I first came into Rails. Yeah,

232
00:20:49.279 --> 00:20:52.440
I agree. And the things that
you brought up with turbo or turbo

233
00:20:52.559 --> 00:20:59.599
links in particular, and then those
were both things. Yeah, they definitely

234
00:20:59.680 --> 00:21:04.039
made it harder. What's interesting is
is that turbolinks is now turbo yes,

235
00:21:04.480 --> 00:21:08.680
in a Rails app. It's kind
of I mean, you don't really have

236
00:21:08.759 --> 00:21:11.519
to think about it, and it
doesn't cause the weird issues that you had

237
00:21:11.559 --> 00:21:17.000
to handle in Rails three and four. And then with web Packer. I

238
00:21:17.039 --> 00:21:22.319
mean, I've heard David explain that
it was kind of a necessary step forward

239
00:21:22.400 --> 00:21:26.319
in the way that assets are managed
because that's where the Internet was going,

240
00:21:26.359 --> 00:21:30.079
and it gave better capabilities than sprockets. But at this point now you have

241
00:21:30.119 --> 00:21:34.319
import maps, and import maps are
awesome. Yeah. So then you look

242
00:21:34.319 --> 00:21:40.000
at some of this other stuff like
cashing. You know, I had a

243
00:21:40.039 --> 00:21:44.960
devil of a time with cashing and
managing my reddits instances and making sure that

244
00:21:45.000 --> 00:21:48.240
everything played nice. And solid cash
makes that pretty darn easy, you know.

245
00:21:48.279 --> 00:21:52.319
And you're seeing them pulling solid q
and some of the other options and

246
00:21:52.400 --> 00:21:55.599
just making it. I mean,
there's so many good things coming out with

247
00:21:55.799 --> 00:22:00.000
Rails these days that I am pretty
pullish on it. Yeah. Yeah,

248
00:22:00.039 --> 00:22:08.880
so ah, As I said,
there's a curve in rails development where you

249
00:22:10.000 --> 00:22:14.480
have those stepping stones and then everything
gets simple again. I really like where

250
00:22:14.519 --> 00:22:18.319
I'm going with hot Wire. I
really like where they're going with Estrada,

251
00:22:18.400 --> 00:22:26.440
which I haven't played with yet,
but I really like it. No much

252
00:22:26.440 --> 00:22:33.319
else to say there, but yes, great work. Yeah. On the

253
00:22:33.319 --> 00:22:41.559
other hand, there's a growing community
around Hanami and dry Erb and that part

254
00:22:41.599 --> 00:22:49.160
of the ecosystem, which also it's
also great. I think I don't like

255
00:22:49.359 --> 00:22:57.359
the idea of Bob being rails.
I I like Rails, but I like

256
00:22:57.400 --> 00:23:06.319
the idea of being it's something and
having many many options. I played just

257
00:23:06.400 --> 00:23:11.279
a little bit with Hanami and it's
great. I've done a lot of work

258
00:23:11.400 --> 00:23:15.359
with Roller for example, for for
a web framework. Yeah, and it's

259
00:23:15.359 --> 00:23:19.640
great. Yeah, It's completely different
to anything else, and it's awesome.

260
00:23:21.880 --> 00:23:29.359
I'm talking to Jeremy haven't in a
few weeks, so yeah, yeah,

261
00:23:29.400 --> 00:23:37.279
So I like that these communities are
are emerging, right. I think for

262
00:23:37.319 --> 00:23:44.519
a long time rails was the the
entry point and the and the all for

263
00:23:44.680 --> 00:23:51.640
Ruby and and I like the idea
of this changing. Yeah, yeah,

264
00:23:51.680 --> 00:23:56.440
absolutely, And diversity is great in
that sense. I Well, I think

265
00:23:56.480 --> 00:24:00.880
the other piece of this that we
look at is, you know, Hanami,

266
00:24:02.359 --> 00:24:03.480
Like I said, they do things
a little bit differently, but in

267
00:24:03.519 --> 00:24:07.039
some ways, I mean it makes
it. You know, the way they've

268
00:24:07.079 --> 00:24:11.839
kind of split up responsibilities on say
data access, for example, it makes

269
00:24:11.880 --> 00:24:15.319
it pretty easy to reason about what's
going on, and it's not that active

270
00:24:15.319 --> 00:24:18.640
record most of the time. Is
that much harder. Sometimes it really is.

271
00:24:21.119 --> 00:24:23.359
But you look at those pieces and
you go, huh, okay,

272
00:24:23.759 --> 00:24:29.920
and maybe some of that will inform
rails or maybe something that rails innovates.

273
00:24:30.000 --> 00:24:33.480
It's just kind of makes something brain
dead simple. You know, Hanami will

274
00:24:33.519 --> 00:24:37.279
pick up and there's always room for
more people to come in here and say,

275
00:24:37.319 --> 00:24:40.240
hey, what if we did it
this way and then see some benefit

276
00:24:40.240 --> 00:24:44.960
out of it. Another example of
this is like Bridgetown coming out of Jekyl,

277
00:24:45.160 --> 00:24:49.480
Right, and so what's his name, Kevin White? Is that his

278
00:24:49.599 --> 00:24:56.359
name Jared White? I had a
coworker named Kevin White way back in the

279
00:24:56.440 --> 00:25:00.599
day. Anyway, So he's done
a whole bunch of up there, right.

280
00:25:00.720 --> 00:25:04.519
He modernized the static assets stuff and
you know, kept a lot of

281
00:25:04.559 --> 00:25:08.359
the things that were great in jackal
and I see a lot of things that

282
00:25:08.400 --> 00:25:11.759
will be kind of built off of
each other that way. Yeah, yeah,

283
00:25:11.799 --> 00:25:21.880
totally, particularly myself right now and
working on on on creating a small

284
00:25:21.880 --> 00:25:30.200
reframework for just blame grugy applications.
And it's tiny, right, it's just

285
00:25:30.240 --> 00:25:37.559
for spinning up a small application for
a kata or things like that, right,

286
00:25:37.200 --> 00:25:42.160
And there are a lot of libraries
that really really help on that regard.

287
00:25:42.799 --> 00:25:52.759
I'm using a side work for a
example, and it simplifies reloading and

288
00:25:53.240 --> 00:25:59.759
that kind of thing that which is
something that it wasn't pain a few years

289
00:25:59.759 --> 00:26:07.359
ago. Yeah. So yeah,
it's very interesting and I think that the

290
00:26:07.480 --> 00:26:15.960
language and the and the community is
what makes it simple because there's a lot

291
00:26:15.960 --> 00:26:23.000
of work on on a lot of
a lot of different aspects which allows the

292
00:26:23.000 --> 00:26:30.279
things to be almost yeah, pray
that you don't need to think about a

293
00:26:30.279 --> 00:26:32.960
lot of things, right, Yeah, there are a lot of things you

294
00:26:33.039 --> 00:26:36.720
mentioned the language, but then the
community, right, and that's that's the

295
00:26:36.759 --> 00:26:40.039
other thing that I'm I'm super excited
and kind of see going forward. So

296
00:26:41.559 --> 00:26:47.920
in October I went to rails World
a buzz sproute paid for my hotel and

297
00:26:47.960 --> 00:26:51.359
stuff, and uh, you know, that was awesome. But yeah,

298
00:26:51.440 --> 00:26:53.839
you know, just being there and
feeling the energy right and seeing people get

299
00:26:53.839 --> 00:26:57.400
excited about what's coming next in Rails, And I think some of that same

300
00:26:57.480 --> 00:27:02.359
energy is there for Ruby. I
just don't know where that gets placed because

301
00:27:02.359 --> 00:27:06.720
I don't know that I necessarily I
do. I dare say this, sorry

302
00:27:06.720 --> 00:27:11.240
people at Ruby Central, but I
don't feel like really conscious necessarily the place

303
00:27:11.240 --> 00:27:17.519
where that energy shows up anymore.
And you know, it's it's so it's

304
00:27:17.599 --> 00:27:19.319
it's interesting just to see, you
know, as as we kind of build

305
00:27:19.319 --> 00:27:23.480
forward, you know what, you
know, what what can be created in

306
00:27:23.759 --> 00:27:29.799
these spaces and yeah, what people
are excited about being able to do with

307
00:27:29.839 --> 00:27:34.319
it. Yeah. What I think
in that regard is that the energy there

308
00:27:34.440 --> 00:27:41.839
is disseminated into different things. I
think the biggest community there is dry RB

309
00:27:42.200 --> 00:27:48.039
Slash and EMI, which is yeah, the same community. But then there

310
00:27:48.039 --> 00:27:56.799
are a lot of projects that bring
excitement to Ruby. And there are individual

311
00:27:56.799 --> 00:28:00.359
projects right now that the once I
can mention side work, as I said,

312
00:28:00.880 --> 00:28:10.599
Flex Dragon Ruby, those kinds of
projects which yeah, bring excitement and

313
00:28:10.720 --> 00:28:18.000
simplicity and motivation to do stuff right
wrong the other one mm hmm. I'm

314
00:28:18.160 --> 00:28:23.599
excited about. Yeah, yep,
absolutely, yeah, But I just I

315
00:28:23.599 --> 00:28:30.119
love getting together with other rubyists and
there's just there's so much energy there.

316
00:28:32.359 --> 00:28:34.400
Yeah, it's been around for a
while. You're locky to you In the

317
00:28:34.519 --> 00:28:41.799
US, we are well, we
are less here, but there are still

318
00:28:41.839 --> 00:28:45.720
conferences here, like there's Blue Ridge
Ruby and you know Ruby Comff and rails

319
00:28:45.759 --> 00:28:51.920
Coff are usually here in the US. Rails World next year is going to

320
00:28:51.960 --> 00:28:56.400
be in Toronto, which isn't in
the US, but it's close. The

321
00:28:56.400 --> 00:28:59.839
The thing that's interesting is is that
And I think a lot of this could

322
00:28:59.839 --> 00:29:02.680
be shocked up to COVID. But
I don't see as many of the users

323
00:29:02.720 --> 00:29:06.880
groups anymore, right, I don't
see people getting together in their local communities,

324
00:29:06.880 --> 00:29:08.480
and I wish that there was something
that we could do to bring that

325
00:29:08.559 --> 00:29:11.559
back. I have some ideas of
some things I want to do, but

326
00:29:12.039 --> 00:29:15.759
it's like fifth on my ten million
things long list, and so I never

327
00:29:15.839 --> 00:29:19.599
quite get to it. That makes
sense, But yeah, i'd love to

328
00:29:19.640 --> 00:29:23.480
start seeing that come back too,
in terms of what I see in the

329
00:29:23.559 --> 00:29:30.359
Rubig community and in the Ruby language
in general. Those were my points what

330
00:29:30.440 --> 00:29:34.920
I'd like to see, which was
my other big point is a focus on

331
00:29:37.880 --> 00:29:44.160
machine learning and AI. Right,
I really like to for to compete hand

332
00:29:44.240 --> 00:29:52.079
to hand with Python and more more
sorry EGUI stuff. I really like ruing

333
00:29:52.200 --> 00:29:56.640
to be not to be thought as
a web language, but a more general

334
00:29:56.720 --> 00:30:04.559
language. Right. I've been trying
to get into breed development just for myself,

335
00:30:06.880 --> 00:30:12.359
and it's more complex at the moment
than right, Right, So yeah,

336
00:30:14.599 --> 00:30:21.599
to get into Yeah, I'm talking
to Andy Mala next week and we're

337
00:30:21.599 --> 00:30:25.240
gonna be talking about glimmers. I'm
sure it is one of the UI things,

338
00:30:25.480 --> 00:30:27.680
but yeah, it'd definitely be cool
to see it expand to more areas.

339
00:30:30.559 --> 00:30:33.119
You know, we we have Ruby
Motion, but that's mostly focused on

340
00:30:33.200 --> 00:30:37.440
games, and it'd be nice to
see it, you know, whether it's

341
00:30:37.480 --> 00:30:40.880
Ruby Motion or some other option you
know, come up. Yeah, in

342
00:30:40.880 --> 00:30:45.640
the mobile space, so that you
can build mobile business apps. You know,

343
00:30:45.680 --> 00:30:48.039
the same thing with you know,
something something kind of like what you

344
00:30:48.079 --> 00:30:51.720
get with like React native, right
where you could then go to like TV

345
00:30:51.960 --> 00:30:55.519
apps and you know, all those
areas and then yeah, you know the

346
00:30:55.599 --> 00:31:00.279
UIs on desktop and you know,
yeah, I think Ruby has a wrong

347
00:31:00.359 --> 00:31:04.880
case for CLIs, but it doesn't
always get picked and so yeah, it'd

348
00:31:04.880 --> 00:31:08.039
be great to see it pick up
some other areas and become kind of the

349
00:31:08.079 --> 00:31:12.799
way to go for some of those. Yeah, totally. I really like

350
00:31:12.880 --> 00:31:21.160
that because I love Ruby and I
I'd like to be able to just pick

351
00:31:21.200 --> 00:31:27.960
it for whatever project I need.
So yep, yeah, absolutely cool.

352
00:31:29.200 --> 00:31:36.599
So yeah, it sounds like we
got through your list. Yep. If

353
00:31:36.599 --> 00:31:38.440
people want to check out what you're
working on, now, how do they

354
00:31:38.440 --> 00:31:48.319
find you? And becausets dot com. I am working on just starting a

355
00:31:48.319 --> 00:31:56.559
spring cast series right now. There
are just six episodes and they are all

356
00:31:56.599 --> 00:32:01.880
about Ruby. The idea used to
expand bey on movie. But right uh

357
00:32:02.119 --> 00:32:08.160
that's what what's there right now?
Very cool? All right, well thanks

358
00:32:08.160 --> 00:32:14.240
for coming. We'll go ahead and
wrap it up here until next time,

359
00:32:14.279 --> 00:32:15.799
Folks max out to

