WEBVTT
1
00:00:04.599 --> 00:00:07.559
Hey folks, welcome back to another episode of the Ruby
2
00:00:07.639 --> 00:00:13.080
Rogues podcast, the Sweet Conod Panel. We have a Yushnawatia Hello, Hello,
3
00:00:13.839 --> 00:00:15.919
also a Valentino stole in.
4
00:00:16.079 --> 00:00:16.199
Now.
5
00:00:17.120 --> 00:00:20.199
I'm Charles Maxwood from top End Devs and this week
6
00:00:20.239 --> 00:00:22.320
we have a special guest. We have Robbie Russell from
7
00:00:22.359 --> 00:00:26.879
Planet Are Gone. Robbie, do you want to I don't know.
8
00:00:26.920 --> 00:00:28.640
I'm like, where do we even start? You know, O
9
00:00:28.719 --> 00:00:31.440
my zshell or what's.
10
00:00:31.239 --> 00:00:31.879
A amazy show?
11
00:00:33.200 --> 00:00:37.119
Now? Yeah? Hi nice, thanks for having me on today.
12
00:00:37.679 --> 00:00:40.640
Good morning, Good afternoon everybody. So, yeah, I run a
13
00:00:40.640 --> 00:00:43.479
company called Planet Argon. We're a soccer consultancy. We've been
14
00:00:43.880 --> 00:00:48.000
around for twenty almost twenty three years now, part of
15
00:00:48.000 --> 00:00:51.320
the Rail's ecosystem for just over twenty years now, and
16
00:00:52.280 --> 00:00:55.079
we help companies with existing rails applications make them better
17
00:00:55.119 --> 00:00:56.200
and more maintainable.
18
00:00:56.759 --> 00:00:58.479
We do a lot of consulting work in that space.
19
00:00:59.039 --> 00:01:02.119
And I also so I'm known for having created O
20
00:01:02.200 --> 00:01:05.159
my zshell Once upon a Time, which is an open
21
00:01:05.200 --> 00:01:09.079
source configuration framework for z shell if that's something you
22
00:01:09.159 --> 00:01:11.640
like to use on the command line, and an open
23
00:01:11.640 --> 00:01:14.480
source contributor for about twenty five years. I'm also the
24
00:01:14.480 --> 00:01:17.640
host of the Maintainable Software podcasts, where I interview people
25
00:01:17.680 --> 00:01:20.599
about best practices when it comes to taking care of
26
00:01:20.760 --> 00:01:24.760
older legacy applications across a lot of different frameworks and
27
00:01:24.799 --> 00:01:26.680
tech stacks. That's not a rail specific but there's a
28
00:01:26.680 --> 00:01:28.640
lot of Ruby and rails related contact because that's my
29
00:01:29.319 --> 00:01:32.239
orbit that I exist in, and I also play guitar
30
00:01:32.359 --> 00:01:36.079
in an instrumental rock band called the Mighty Misula.
31
00:01:37.599 --> 00:01:41.439
Cool. I didn't know about the rock band. I admired
32
00:01:41.439 --> 00:01:43.120
you from Afar for a long time for all the
33
00:01:43.120 --> 00:01:46.439
other stuff. So yeah, it's exciting to have you on.
34
00:01:47.920 --> 00:01:49.879
We brought you on to talk about I got an
35
00:01:49.879 --> 00:01:53.280
email from you. I think I'm on an e mailing
36
00:01:53.280 --> 00:01:58.239
list somewhere, and it basically said the Stimulus JS replaced
37
00:01:58.879 --> 00:02:01.879
Here we go. Stimulus has dethroned reacts as the most
38
00:02:01.879 --> 00:02:05.799
popular JS library for rails apps. And so then I
39
00:02:05.840 --> 00:02:07.920
went and looked at the survey and that that was
40
00:02:08.000 --> 00:02:10.560
kind of interesting. I want to ask you about all
41
00:02:10.560 --> 00:02:15.560
of the other things though, so sure, uh yeah, let's
42
00:02:15.560 --> 00:02:17.439
go ahead. And I just want to get a little
43
00:02:17.439 --> 00:02:18.960
bit of background. I mean, I use on my z
44
00:02:19.080 --> 00:02:24.319
shell and it's oh my helpful and so I'm curious
45
00:02:24.360 --> 00:02:27.240
what the story is behind that. And then I'd also
46
00:02:27.280 --> 00:02:29.120
like to talk a little bit about Planet Argone before
47
00:02:29.120 --> 00:02:29.919
we get into survey.
48
00:02:30.080 --> 00:02:31.120
Yeah, yeah, that sounds great.
49
00:02:31.159 --> 00:02:35.120
So oh my DHL. I first, really, we celebrated fifteen
50
00:02:35.199 --> 00:02:37.560
years that I since I released it back and I
51
00:02:37.560 --> 00:02:39.599
think it was August now, it was fifteen years ago,
52
00:02:39.719 --> 00:02:41.840
so fifteen and a couple extra months now.
53
00:02:43.080 --> 00:02:44.919
I have been using ZHL for a couple of years.
54
00:02:45.680 --> 00:02:48.919
A lot of peers in the Ruby ecosystem at the time,
55
00:02:49.560 --> 00:02:53.280
we would all share a little configuration ideas for how
56
00:02:53.280 --> 00:02:55.280
to use VHL and optimize it and get was kind
57
00:02:55.280 --> 00:02:57.439
of a new thing at the time, so doing things
58
00:02:57.439 --> 00:02:59.800
like having your giit branch in your prompt was kind
59
00:02:59.840 --> 00:03:02.639
of a really new cool idea and I think it
60
00:03:02.719 --> 00:03:05.319
helped us. I think it was this a good timing
61
00:03:05.360 --> 00:03:07.759
overlap with trying to wrap her head around like local
62
00:03:07.759 --> 00:03:12.319
branches at the time. So but basically I had compiled
63
00:03:12.360 --> 00:03:15.360
this crazy z shehell configuration file that half of it
64
00:03:15.400 --> 00:03:17.319
I kind of understood half of it. I probably didn't
65
00:03:17.319 --> 00:03:19.120
because I was just copy and pasting and trading things
66
00:03:19.120 --> 00:03:22.759
with my friends over IRC channels or old websites like pasty,
67
00:03:22.800 --> 00:03:25.280
which was kind of like a gist before get up existed.
68
00:03:26.120 --> 00:03:29.039
And I would be parent pargnering with one of my
69
00:03:29.080 --> 00:03:32.120
coworkers at my company on a thing, and we'd be
70
00:03:32.159 --> 00:03:35.120
on their computer and I would get frustrated because all
71
00:03:35.120 --> 00:03:38.639
of my muscle memory wouldn't I remember how to do
72
00:03:39.000 --> 00:03:40.599
how to fully write out of the commands because a
73
00:03:40.639 --> 00:03:44.240
lot of shortcuts and aliases and little optimizations that I
74
00:03:44.280 --> 00:03:46.360
had added to my own configuration file. So I was
75
00:03:46.800 --> 00:03:48.840
I found myself just feeling frustrated with myself, and so
76
00:03:48.879 --> 00:03:50.919
I'd be like, hey, why don't you use zshell and
77
00:03:51.000 --> 00:03:54.000
just copy my configuration file and then and then I'll
78
00:03:54.039 --> 00:03:56.280
show you how you can be quicker at the command line,
79
00:03:56.360 --> 00:03:59.120
as I feel like a lot more efficient now. And
80
00:03:59.159 --> 00:04:01.719
so I would kind of encourage my team to do that,
81
00:04:01.800 --> 00:04:04.439
and a few people would take take me up on that,
82
00:04:04.479 --> 00:04:07.919
but several people didn't like one person, particularly named Carlos,
83
00:04:07.919 --> 00:04:10.680
on my team. He was very resistant to because he
84
00:04:10.680 --> 00:04:13.039
didn't he wanted to understand what the config file did.
85
00:04:13.039 --> 00:04:14.560
And I was He's like, well, walk me through it,
86
00:04:14.560 --> 00:04:17.000
and I'm like, I honestly can't because I don't really
87
00:04:17.079 --> 00:04:19.759
understand a lot of this gibberish z Sholl sent text
88
00:04:19.839 --> 00:04:23.199
does and so we kind of, you know, we butted
89
00:04:23.240 --> 00:04:24.839
heads a little bit, and he wouldn't take me up
90
00:04:24.839 --> 00:04:28.519
on the idea. So I decided one weekend, I'm like,
91
00:04:28.519 --> 00:04:30.000
you know what I'm gonna I'm going to try to
92
00:04:30.079 --> 00:04:32.399
document my config file. I'm gonna go through and just
93
00:04:32.399 --> 00:04:34.199
add some comments. I'm going to like look up the
94
00:04:34.199 --> 00:04:37.360
documentation in the z shell syntax and I'm going to
95
00:04:37.399 --> 00:04:39.399
try to understand this. And then as I started doing that,
96
00:04:39.480 --> 00:04:42.879
I started like refactoring it basically and moving in and
97
00:04:42.879 --> 00:04:44.360
I'm like, well, this is like a really big file.
98
00:04:44.399 --> 00:04:46.600
What if I made I should probably use some version controls,
99
00:04:46.600 --> 00:04:48.839
So I'll put this in and get repository. And I
100
00:04:48.879 --> 00:04:51.680
started making like separating out this big config file into
101
00:04:51.720 --> 00:04:55.279
several smaller, messy config files. And then I slapped a
102
00:04:55.360 --> 00:04:56.959
name on it, and I called it on my seashell
103
00:04:57.040 --> 00:04:58.839
because it was a playoff of another project that I
104
00:04:58.839 --> 00:04:59.279
had worked on a.
105
00:04:59.279 --> 00:05:01.040
Couple of months before, or with a different coworker.
106
00:05:01.680 --> 00:05:03.399
We didn't really put a lot of thought into that either,
107
00:05:04.079 --> 00:05:06.199
but I created like a read me with an install guide,
108
00:05:06.199 --> 00:05:09.480
which was basically like a get clone of this repository
109
00:05:09.480 --> 00:05:12.279
that I created, and then and then you could use
110
00:05:12.279 --> 00:05:15.240
my knfig file, and so I felt like I just elevated.
111
00:05:15.279 --> 00:05:17.519
But that was like maybe a handful a few hours
112
00:05:17.519 --> 00:05:19.920
worth the work of cleaning up that file and turning
113
00:05:19.959 --> 00:05:22.639
it into this new repository. Threw it up on GitHub,
114
00:05:22.800 --> 00:05:24.600
and then I dropped that link I don't remember if
115
00:05:24.600 --> 00:05:29.600
for using campfire or some other chat tool back in
116
00:05:29.680 --> 00:05:32.000
the back in two thousand and nine, dropped it in
117
00:05:32.040 --> 00:05:37.680
our team's chat. Everybody installed it on Monday victory I won.
118
00:05:37.879 --> 00:05:40.360
Everybody now had my canfiic file, so I would go
119
00:05:40.439 --> 00:05:42.040
to the computer and I would all the same things.
120
00:05:42.079 --> 00:05:44.480
So that was my goal, was just to have everybody
121
00:05:44.519 --> 00:05:46.920
in my office kind of have the same ISSU configure,
122
00:05:47.000 --> 00:05:50.360
so that I could show them how to feel like
123
00:05:50.399 --> 00:05:53.600
a superhero and the command line, and I wouldn't have
124
00:05:53.639 --> 00:05:56.000
to remember how to like do everything like write out
125
00:05:56.000 --> 00:05:57.839
all tho syntax for a lot of the obscure commands
126
00:05:57.839 --> 00:06:01.600
that we were running. But then, so the thing that
127
00:06:01.639 --> 00:06:03.199
a lot of people know about owens the shells that
128
00:06:03.240 --> 00:06:05.079
it comes with a lot of themes and tons of
129
00:06:05.079 --> 00:06:07.240
plug ins, and like none of that was remotely on
130
00:06:07.319 --> 00:06:10.240
my dea my was it even something I had considered?
131
00:06:10.959 --> 00:06:13.319
That next day, one of my co workers, Gary said,
132
00:06:13.319 --> 00:06:16.480
how do I change the colors? I was like, why
133
00:06:16.519 --> 00:06:18.879
would you want to do that? My color choices are perfect?
134
00:06:19.360 --> 00:06:21.000
And I was like, well, here you can go in
135
00:06:21.000 --> 00:06:23.439
this file. I moved like I think I had like
136
00:06:24.319 --> 00:06:27.319
colors or prompt file configuration files. I'm like, you can
137
00:06:27.399 --> 00:06:29.279
change the colors in here, and here's like the syntax
138
00:06:29.319 --> 00:06:32.079
for that. So we started doing that. He started making changes,
139
00:06:32.600 --> 00:06:34.800
and then other team members wanted to add contribute their
140
00:06:34.800 --> 00:06:38.759
own little shortcuts and little functions and aliases as well,
141
00:06:39.439 --> 00:06:41.279
and so we were kind of working together on this,
142
00:06:41.439 --> 00:06:45.600
and Gary couldn't do a get pull and get pushed
143
00:06:45.600 --> 00:06:48.240
cleanly because he had changed the file, you know, and
144
00:06:48.279 --> 00:06:50.319
get conflict, and so we're like, so we're like kind
145
00:06:50.319 --> 00:06:52.839
of like, well, so we had like stash it and
146
00:06:52.879 --> 00:06:56.439
then pull the changes and then reapply them. And I'm like, well,
147
00:06:56.439 --> 00:06:59.120
this doesn't feel very sustainable because then another co worker
148
00:06:59.160 --> 00:07:01.959
is like, I want to change the COLO and so
149
00:07:02.000 --> 00:07:03.120
I was like, well, what can.
150
00:07:03.000 --> 00:07:03.480
We do here?
151
00:07:03.519 --> 00:07:05.720
And I was like, oh, I know, I'll just move
152
00:07:06.000 --> 00:07:08.560
my prompt file into its own thing and call it
153
00:07:08.639 --> 00:07:09.279
Robbie Russell.
154
00:07:09.480 --> 00:07:11.639
We'll call it a theme. These are themes.
155
00:07:12.000 --> 00:07:14.319
Gary has his, I have mine, Carlos can have his,
156
00:07:14.439 --> 00:07:18.000
Allison can have hers. And so it created the concept
157
00:07:18.000 --> 00:07:21.319
of themes, which became like a configuration option. And so
158
00:07:21.399 --> 00:07:23.959
then I met I mentioned it on my blog and
159
00:07:25.519 --> 00:07:27.160
Robbie on rails back in the day, and so it's
160
00:07:27.160 --> 00:07:30.199
mostly within the Ruby ecosystem. And then about a month
161
00:07:30.279 --> 00:07:32.959
later we started getting contributions. But about and a lot
162
00:07:32.959 --> 00:07:34.959
of themes started popping in by other people as well,
163
00:07:35.040 --> 00:07:35.279
so that.
164
00:07:35.319 --> 00:07:36.480
Was kind of like a fun thing.
165
00:07:36.519 --> 00:07:38.560
I suppose, like, hey, we have this real repository.
166
00:07:38.600 --> 00:07:39.560
We can inspire each other.
167
00:07:39.879 --> 00:07:41.920
And about a month later someone reached out and said, hey,
168
00:07:42.000 --> 00:07:45.079
this is really cool, but I'm a Python developer. I
169
00:07:45.079 --> 00:07:47.720
don't need all this Ruby stuff loaded up when I
170
00:07:47.759 --> 00:07:49.279
when I run this, Like I want to use the
171
00:07:49.279 --> 00:07:50.920
prompt stuff with all the get stuff, but I don't
172
00:07:50.920 --> 00:07:52.920
need all the Rails and Ruby stuff that you have loaded.
173
00:07:52.959 --> 00:07:54.720
So I was like, oh, that's interesting.
174
00:07:55.360 --> 00:07:57.639
I don't want all that pie stuff Python stuffloaded when
175
00:07:57.639 --> 00:08:01.040
I use it, so maybe we'll all these plugins. And
176
00:08:01.120 --> 00:08:03.160
so I moved all the Rails stuff and Ruby's stuff
177
00:08:03.160 --> 00:08:05.600
into its own thing, and we had Python stuff come in,
178
00:08:06.240 --> 00:08:08.480
and then that just opened the floodgates for other people
179
00:08:08.560 --> 00:08:10.160
be like, oh, I got this thing from my framework,
180
00:08:10.240 --> 00:08:11.959
or I had this other tool that I'm only using.
181
00:08:12.000 --> 00:08:12.319
And so.
182
00:08:13.800 --> 00:08:17.600
This stuff kind of organically evolved as the community started
183
00:08:17.680 --> 00:08:19.879
using it and pitching ideas, and I was like, well,
184
00:08:19.879 --> 00:08:22.120
here's a way to kind of organize that. We'll just
185
00:08:22.560 --> 00:08:25.720
throw these in different directories with different kind of enable
186
00:08:25.800 --> 00:08:28.639
these things, and that just kind of snowballed into this
187
00:08:28.839 --> 00:08:31.079
thing that's kind of evolved over the last fifteen plus
188
00:08:31.160 --> 00:08:34.840
years where we've had several remember the number of I
189
00:08:34.879 --> 00:08:39.320
think we've had, Remember how many couple we've had more
190
00:08:39.320 --> 00:08:42.080
than a couple of thousand contributors directly to the core
191
00:08:42.159 --> 00:08:45.120
project contribute code, and it's one of the most like
192
00:08:45.159 --> 00:08:48.519
starred projects on GitHub and it's kind of wild. But
193
00:08:48.919 --> 00:08:50.840
I don't make any money with it. I sell stickers
194
00:08:50.840 --> 00:08:55.240
and T shirts. That's fun. But it's always been this
195
00:08:55.320 --> 00:08:57.200
kind of like fun, little open source thing that I
196
00:08:57.240 --> 00:09:00.639
can occasionally spend some time thinking about, but it doesn't
197
00:09:00.639 --> 00:09:03.480
occupy a lot of my brain space. Despite how wildly
198
00:09:04.480 --> 00:09:07.519
wide ranged in popular it has seemingly been.
199
00:09:09.399 --> 00:09:14.200
That's awesome. I love it. Yeah. I also want to
200
00:09:14.240 --> 00:09:16.480
just talk a little bit about Planet Argon. You guys
201
00:09:16.480 --> 00:09:18.519
have been around for a while. Was this before or
202
00:09:18.519 --> 00:09:20.679
aftermyzshell and before?
203
00:09:20.799 --> 00:09:21.000
Yeah?
204
00:09:21.639 --> 00:09:24.200
Yeah? Story with yeah how that got started?
205
00:09:24.399 --> 00:09:27.000
So I actually started planning Argon I see back in
206
00:09:27.000 --> 00:09:30.200
two thousand and two as a what I would because
207
00:09:30.200 --> 00:09:31.639
I was had a day job and I was like,
208
00:09:31.679 --> 00:09:33.799
I want to do we work with I worked at
209
00:09:33.840 --> 00:09:36.000
a company in some software development and we were uh
210
00:09:36.200 --> 00:09:40.120
that company was a dot net shop, and I was
211
00:09:40.200 --> 00:09:44.519
really interested in open source, and nobody at larger companies
212
00:09:44.559 --> 00:09:48.440
was really hiring open source technology people that often, and
213
00:09:48.519 --> 00:09:52.279
so I love PHBA. It was really it. Had co
214
00:09:52.360 --> 00:09:55.120
founded a Linux user group here in Portland, Oregon, and
215
00:09:55.639 --> 00:09:56.919
so I was already kind of doing a lot of
216
00:09:57.039 --> 00:09:58.879
fun open source stuff, and so I was like trying
217
00:09:58.879 --> 00:10:00.879
to trains like, Okay, I do this net how do
218
00:10:00.879 --> 00:10:03.960
I do this in PHP? And then I started like,
219
00:10:04.000 --> 00:10:05.600
you know, maybe I can get some freelance work on
220
00:10:05.639 --> 00:10:08.240
the side, And so I decided to incorporate that as
221
00:10:08.240 --> 00:10:11.039
a plan Argon. Thought I would make it sound like
222
00:10:11.039 --> 00:10:12.559
I'm bigger than just me, and it was like me
223
00:10:12.639 --> 00:10:16.240
and then my partner at the time, she was a designer,
224
00:10:16.320 --> 00:10:19.480
so we would. She would work on web design stuff
225
00:10:19.480 --> 00:10:21.039
and I did a lot of back end development, so
226
00:10:21.080 --> 00:10:23.399
we collaborate on stuff. So she had her company, I
227
00:10:23.440 --> 00:10:25.600
had mine, and so we so I was like, I'm
228
00:10:25.600 --> 00:10:28.320
gonna call my planet Argon, which was a reference to
229
00:10:28.360 --> 00:10:31.960
a fictional book or a fictional place in a Tom
230
00:10:32.000 --> 00:10:34.919
Robbins book called Still Left with Woodpecker, which is where
231
00:10:34.960 --> 00:10:37.559
redheads came from. So I had nothing to do with anything.
232
00:10:37.600 --> 00:10:42.080
It wasn't some clever idea of gases or you know,
233
00:10:42.360 --> 00:10:45.600
the scientific chart there. It was literally just like a
234
00:10:46.120 --> 00:10:50.159
it's me, I have red hair, plane ragon, goofy little thing.
235
00:10:50.320 --> 00:10:51.559
So I did that for a couple of years, doing
236
00:10:51.639 --> 00:10:54.200
like side projects. In two thousand and four, I quit
237
00:10:54.240 --> 00:10:57.519
my last job to work full time on Planet Argon,
238
00:10:57.639 --> 00:11:01.440
just as a you know, freelance insultant. And then and
239
00:11:01.720 --> 00:11:04.480
beginning of two thousand, late two thousand and four, begin
240
00:11:04.559 --> 00:11:06.399
two thousand and five, I got introduced to ruby and
241
00:11:06.440 --> 00:11:07.600
Ruby on rails and started doing that.
242
00:11:07.639 --> 00:11:11.000
In two thousand and four, beginning of two thousand and four.
243
00:11:10.840 --> 00:11:13.840
I started blogging as robbyond Rails and so this was
244
00:11:13.960 --> 00:11:16.639
five and a half years before Always You Sholl existed.
245
00:11:16.879 --> 00:11:19.399
I was part of the Rails ecosystem and doing stuff,
246
00:11:19.440 --> 00:11:22.279
so I think always sholl Will just kind of culminated
247
00:11:22.279 --> 00:11:25.799
it out of that community. So yeah, it has been
248
00:11:25.840 --> 00:11:28.159
around for a while. What we work on a lot now.
249
00:11:28.240 --> 00:11:29.440
So back then, it was a lot of like new
250
00:11:29.440 --> 00:11:31.480
startups wanting to use Rails because it was kind of
251
00:11:31.480 --> 00:11:34.200
like this new hot thing for projects. So we learned
252
00:11:34.240 --> 00:11:37.279
how to basically went from that freelancer space of me
253
00:11:37.440 --> 00:11:40.440
working on by myself with my designer partner at the time,
254
00:11:40.559 --> 00:11:44.039
and to all of a sudden, like some really large
255
00:11:44.039 --> 00:11:46.399
projects started coming our way that would take more than
256
00:11:46.399 --> 00:11:48.159
me to be able to do it. And so one
257
00:11:48.200 --> 00:11:51.679
of the first services that we had was offering hosting
258
00:11:51.759 --> 00:11:54.600
services to rubyond Rails developers because there wasn't a lot
259
00:11:54.600 --> 00:11:57.799
of affordable hosting options unless you spun up your own
260
00:11:57.840 --> 00:12:02.519
BPS or something. So I had been offering post rescuels
261
00:12:03.440 --> 00:12:07.639
hosting for developers and like PHP five development or environments
262
00:12:07.639 --> 00:12:09.320
for hosting because I had a lot of experience with
263
00:12:09.320 --> 00:12:11.600
like writing servers and stuff like that. So that was
264
00:12:11.639 --> 00:12:14.840
part of our services early on, was posting, even going
265
00:12:14.879 --> 00:12:16.600
back to two thousand. I think we started doing that
266
00:12:16.600 --> 00:12:19.279
in two thousand and three a site for a lot
267
00:12:19.279 --> 00:12:21.440
of the projects because i've it then host those projects.
268
00:12:21.679 --> 00:12:23.600
So we were one of the first companies in the
269
00:12:23.639 --> 00:12:25.960
Ruby on Rails ecosystem to start offering hosting at kind
270
00:12:25.960 --> 00:12:30.480
of like an affordable price point, and we give people
271
00:12:30.519 --> 00:12:32.679
like shared hosting environments and made that kind of work.
272
00:12:32.720 --> 00:12:37.080
And then so that allowed us to broaden our exposure
273
00:12:37.080 --> 00:12:40.480
in the community early on. And then but a big
274
00:12:40.559 --> 00:12:41.840
part of what we were trying to do is just
275
00:12:41.879 --> 00:12:44.360
focus on developing sort of projects and stuff like that.
276
00:12:44.399 --> 00:12:46.919
And then a couple of years into that, we started
277
00:12:46.919 --> 00:12:49.919
getting approached by companies that said, hey, we had a
278
00:12:49.960 --> 00:12:52.440
couple of freelancers build this app for us this last year.
279
00:12:52.559 --> 00:12:55.080
They're no longer available, they got full time jobs. Some morals,
280
00:12:55.159 --> 00:12:57.600
can you take over these projects? And one of the
281
00:12:57.639 --> 00:12:59.639
great things about Ruby and rails was that it was
282
00:12:59.679 --> 00:13:02.879
there's a consistency between projects. So we found ourselves being
283
00:13:02.879 --> 00:13:06.399
able to like jump in quickly to existing projects and
284
00:13:06.440 --> 00:13:08.639
that became our niche over the years that now we
285
00:13:09.200 --> 00:13:12.679
quite essentially take over projects that are for companies that
286
00:13:13.080 --> 00:13:15.879
don't necessarily need to have two or more full time
287
00:13:15.960 --> 00:13:19.080
software engineers on their team in house, and so their
288
00:13:19.120 --> 00:13:21.559
other option is maybe having like a freelancer or two,
289
00:13:21.759 --> 00:13:23.759
but then maybe they do that, but the freelancers kind
290
00:13:23.759 --> 00:13:25.159
of come and go, and they're like, we have to
291
00:13:25.320 --> 00:13:27.799
kind of restart this process a lot. So we end
292
00:13:27.879 --> 00:13:29.879
up owning a lot of projects where we're the primary
293
00:13:29.919 --> 00:13:32.399
development team for like five ten years with some of
294
00:13:32.440 --> 00:13:35.360
our clients, some of them over ten years. Now we're
295
00:13:35.399 --> 00:13:37.840
their dev shop, but we're maybe doing like eighty.
296
00:13:37.639 --> 00:13:39.279
Hours a month on those projects.
297
00:13:39.559 --> 00:13:41.720
You know, it's kind of like a but we're maintaining
298
00:13:41.720 --> 00:13:44.679
those things for the long term because they don't necessarily
299
00:13:44.759 --> 00:13:46.159
they're not trying to become a company.
300
00:13:46.240 --> 00:13:49.360
It's like an application that helps fulfill part.
301
00:13:49.159 --> 00:13:50.960
Of their business, but it isn't the business.
302
00:13:51.080 --> 00:13:51.879
So like there's a lot of.
303
00:13:51.840 --> 00:13:54.120
Those types of applications that exist, so we're kind of
304
00:13:54.159 --> 00:13:56.399
well tuned to come in and own those types of projects.
305
00:13:56.480 --> 00:13:57.840
But then we also do a lot of consulting and
306
00:13:57.879 --> 00:14:00.120
coming in with companies that have their own engineering teams
307
00:14:00.240 --> 00:14:03.519
on helping them unblock themselves when it comes to like
308
00:14:03.879 --> 00:14:06.960
there's been a lot of turnover in those environments and
309
00:14:07.000 --> 00:14:09.159
maybe some of the original developers have you know, left,
310
00:14:09.240 --> 00:14:11.679
and some of the new developers aren't sure how to
311
00:14:11.720 --> 00:14:15.159
like make choices about, Hey, we're still running on rails four.
312
00:14:17.279 --> 00:14:19.519
We would love to get to seven, eight, but how
313
00:14:19.519 --> 00:14:23.000
do we get to five? And how do we kind
314
00:14:23.000 --> 00:14:25.559
of navigate this and what frameworks and front end things
315
00:14:25.559 --> 00:14:27.559
should we be exploring now, And so we try to
316
00:14:27.559 --> 00:14:29.240
help come in and help coach teams on how to
317
00:14:29.320 --> 00:14:31.360
navigate some of that stuff and cleaning up techno debt
318
00:14:31.360 --> 00:14:34.559
and deal with overdue upgrades, performance improvements, stuff like that.
319
00:14:34.679 --> 00:14:36.960
So that's another part of our business as well.
320
00:14:39.600 --> 00:14:43.840
Nice okay, well more, Yeah, maintainable podcasts.
321
00:14:45.519 --> 00:14:49.240
Yeah, so maintainable podcast just recently recorded my tuneth episode
322
00:14:49.240 --> 00:14:52.879
of that. It's an interview style format visions And one
323
00:14:52.919 --> 00:14:55.960
of the things I set out to do was I
324
00:14:56.000 --> 00:14:59.039
felt like there's always been a lot of good quality
325
00:14:59.080 --> 00:15:03.399
conversations around what's going on new in the software industry.
326
00:15:03.519 --> 00:15:06.480
New people always like talk about new stuff, and I
327
00:15:06.519 --> 00:15:09.120
was like, but a lot of software developers experience is
328
00:15:09.159 --> 00:15:11.879
showing up to a job where things are already there,
329
00:15:12.000 --> 00:15:13.080
things are already in motion.
330
00:15:13.799 --> 00:15:15.159
And I think as.
331
00:15:15.000 --> 00:15:21.120
A industry we've done ourselves to disservice by branding ourselves
332
00:15:21.200 --> 00:15:25.960
as being these like creators, makers and like, but reality,
333
00:15:26.039 --> 00:15:28.600
most of us are actually mending and taking care of
334
00:15:28.879 --> 00:15:31.120
existing stuff and trying to just make it a little
335
00:15:31.159 --> 00:15:34.399
bit better today than it was yesterday, leave things better off,
336
00:15:34.440 --> 00:15:38.399
and like, that's good work to be done. And I've
337
00:15:38.399 --> 00:15:41.840
just seen a lot of developers over the years struggle
338
00:15:41.919 --> 00:15:45.320
to kind of like change like reframe that because I
339
00:15:45.320 --> 00:15:47.919
think we've but anyways, so I thought, I thought it
340
00:15:47.919 --> 00:15:50.799
would be interesting to have conversations about what it's really
341
00:15:50.879 --> 00:15:53.399
like to work at project on projects day in and
342
00:15:53.440 --> 00:15:55.440
day out that have been around for a really long time,
343
00:15:55.600 --> 00:15:58.639
and how to make incremental improvements because that stuff is
344
00:15:59.639 --> 00:16:03.519
hard and there's a lot of people dynamics, there's technical
345
00:16:03.600 --> 00:16:06.080
dynamics at play, and so I wanted to just a
346
00:16:06.200 --> 00:16:08.120
catalog a lot of conversations that I thought would be
347
00:16:08.120 --> 00:16:09.840
relevant today but also in ten.
348
00:16:09.720 --> 00:16:10.960
Years, twenty years from now.
349
00:16:11.039 --> 00:16:14.240
I don't feel like these are conversations that will date themselves.
350
00:16:14.279 --> 00:16:16.600
So I'm trying to be very intentional about having conversations
351
00:16:16.639 --> 00:16:20.360
with people about how they navigate, how they've overcome, or
352
00:16:20.360 --> 00:16:22.279
sharing some of the painful stories about like yeah, we
353
00:16:22.320 --> 00:16:25.440
tried to do rewrite and that blew up in our phase.
354
00:16:25.679 --> 00:16:26.879
Because I'm a big.
355
00:16:26.799 --> 00:16:29.960
Advocate for not rewriting unless it's the very very last
356
00:16:30.000 --> 00:16:32.720
possible step you can possibly do. So I'm always like this,
357
00:16:32.919 --> 00:16:35.519
there's got to be a better way to think about
358
00:16:35.559 --> 00:16:37.759
how your approach to software projects rather than just dreaming
359
00:16:37.759 --> 00:16:40.000
that one day we'll finally get to rewrite this thing
360
00:16:40.159 --> 00:16:41.799
and then it's all going to be better. We will
361
00:16:41.840 --> 00:16:43.919
never have all these problems that we have today.
362
00:16:43.600 --> 00:16:44.879
Which is complete bullshit.
363
00:16:45.039 --> 00:16:49.200
So right, cool. Well, I have to say I've listened
364
00:16:49.240 --> 00:16:51.840
to the Maintainable podcast for a while and you always
365
00:16:51.840 --> 00:16:54.360
have terrific people on that make me think about how
366
00:16:54.440 --> 00:16:54.840
I do it.
367
00:16:54.919 --> 00:16:59.320
So that's great, I have It's it's also just a
368
00:16:59.320 --> 00:17:02.080
good excuses get to have conversations with people that I
369
00:17:02.080 --> 00:17:03.240
admire on a regular basis.
370
00:17:03.240 --> 00:17:05.160
I'm like, this is that's my favorite part of it.
371
00:17:06.799 --> 00:17:10.160
Awesome. All right, well I'll quit fan boying and uh,
372
00:17:10.440 --> 00:17:14.000
well we'll we'll talk about the survey. So yeah, yeah,
373
00:17:14.039 --> 00:17:16.559
so do you want to just explain I'm always curious.
374
00:17:17.000 --> 00:17:18.480
I used to just be like, all right, well, let's
375
00:17:18.519 --> 00:17:20.640
just get into the meat. What's in the survey, right,
376
00:17:20.680 --> 00:17:23.119
And I think that's important, but I like to get
377
00:17:23.119 --> 00:17:26.079
into the methodology a little bit. Right, like who who
378
00:17:26.119 --> 00:17:28.000
did you reach out to, how did you market it,
379
00:17:28.519 --> 00:17:30.400
what kind of people did you expect to take it,
380
00:17:31.559 --> 00:17:33.119
and and that kind of thing, so that we can
381
00:17:33.119 --> 00:17:35.640
get an idea of, Okay, this is the community it
382
00:17:35.680 --> 00:17:36.400
really reflects.
383
00:17:36.640 --> 00:17:39.920
Yeah, yeah, that's a good question. So just for some
384
00:17:40.039 --> 00:17:45.359
historical context, the survey, we've been running the survey as
385
00:17:45.400 --> 00:17:47.039
long as always You Show has been around. So the
386
00:17:47.079 --> 00:17:48.400
first time we did it was back in two thousand
387
00:17:48.400 --> 00:17:50.240
and nine, so I think we've done it eight times now.
388
00:17:51.079 --> 00:17:52.880
Pretty much has been every other year, except for I
389
00:17:52.920 --> 00:17:54.240
think for the first couple of years we did it
390
00:17:54.279 --> 00:17:57.160
like every year. But the original version of it was
391
00:17:57.319 --> 00:17:59.400
we wanted to get a lay of the land of
392
00:17:59.480 --> 00:18:01.759
because we were part of our business was doing hosting.
393
00:18:01.880 --> 00:18:04.920
Was like, how how is the ecosystem changing in terms
394
00:18:04.920 --> 00:18:07.240
of how people were thinking about deploying and hosting their
395
00:18:07.240 --> 00:18:10.519
applications because we were providing those services and the cloud
396
00:18:10.720 --> 00:18:12.640
services kind of this new thing, and we're like, is
397
00:18:12.640 --> 00:18:15.720
that where everybody's moving? Should we get out of this
398
00:18:16.000 --> 00:18:18.079
part of the business. We ended up using that survey
399
00:18:18.119 --> 00:18:20.599
result that first year to decide to sell that part
400
00:18:20.640 --> 00:18:22.559
of the business off, and so we're like Okay, we're
401
00:18:22.599 --> 00:18:23.799
at we're not gonna be.
402
00:18:23.759 --> 00:18:24.200
Able to keep up.
403
00:18:24.240 --> 00:18:26.160
Let's just let them I'm done going to the co
404
00:18:26.279 --> 00:18:28.319
location and stuff like that. So we use the survey
405
00:18:28.359 --> 00:18:30.480
to make a business decision, but we decided we publish
406
00:18:30.480 --> 00:18:33.039
all the results for everybody make it because we were like,
407
00:18:33.079 --> 00:18:34.880
there's a lot of other interesting details in there around
408
00:18:34.920 --> 00:18:37.359
like what their party services people are using, and like
409
00:18:37.559 --> 00:18:38.240
we're using.
410
00:18:38.079 --> 00:18:40.400
For error monitoring or performance tracking.
411
00:18:41.039 --> 00:18:42.720
Things are just again and get a sense of like, well,
412
00:18:42.720 --> 00:18:45.759
how other people are doing because people can go online
413
00:18:45.759 --> 00:18:49.079
and ask those questions you know, in IRC chat conversations
414
00:18:49.079 --> 00:18:51.880
back in the day or some forums or stack over
415
00:18:51.960 --> 00:18:54.359
floor or whatever, and I was like, we kind of
416
00:18:54.359 --> 00:18:58.200
wanted to just like let's get a broader range of people.
417
00:18:58.359 --> 00:19:00.759
So we've been doing this, you know, every other year
418
00:19:00.799 --> 00:19:02.640
since then. So this last year when we did it,
419
00:19:03.640 --> 00:19:05.720
our typical approach has been one reach out to people
420
00:19:05.799 --> 00:19:07.680
taken in the past, and so a lot of those
421
00:19:07.680 --> 00:19:10.440
people came to us from social media, following us on
422
00:19:10.480 --> 00:19:14.079
different blogs and stuff like that. Reaching out to the
423
00:19:14.160 --> 00:19:16.720
mailing like the Rails, Rails Talk mailing lists and other
424
00:19:16.839 --> 00:19:19.519
groups that were you know, we're around at the time,
425
00:19:19.559 --> 00:19:21.599
but So for this last year, we did put a
426
00:19:21.640 --> 00:19:25.079
lot of energy into working with the Rails Foundation, in
427
00:19:25.079 --> 00:19:28.400
particular Amanda there and so uh, she had approached me
428
00:19:28.440 --> 00:19:30.200
the year before when she first got hired at the
429
00:19:30.240 --> 00:19:33.400
Rails Foundation to talk about the survey. She actually that
430
00:19:33.440 --> 00:19:35.440
was the first time I actually spoke with her about it.
431
00:19:35.519 --> 00:19:37.039
Was she reached out and said, Hey, I want to
432
00:19:37.039 --> 00:19:39.920
talk about the survey and the Rails Foundation. I was like, Oh, no,
433
00:19:39.960 --> 00:19:42.640
they're gonna They're gonna start doing this themselves, and I
434
00:19:42.640 --> 00:19:44.240
guess we're no longer going to get to do that.
435
00:19:44.240 --> 00:19:46.640
That's that's what I was preparing for, Like, I guess
436
00:19:46.680 --> 00:19:48.440
we're kind of out of the business of doing this,
437
00:19:48.559 --> 00:19:50.559
and it's a lot of work to run the surveys
438
00:19:50.599 --> 00:19:52.200
and stuff as well, So it wouldn't be the worst
439
00:19:52.200 --> 00:19:55.640
thing in the world. But through that conversation, I was like, Oh,
440
00:19:55.640 --> 00:19:57.720
they have very different things that they're looking for than
441
00:19:57.759 --> 00:20:00.279
we do. But what we did decide to that we
442
00:20:00.279 --> 00:20:02.160
would go to the Rails Foundation. So they took that
443
00:20:02.240 --> 00:20:03.680
to the board and be like, what sort of other
444
00:20:03.759 --> 00:20:08.200
topics and questions might they the other Foundation members like,
445
00:20:08.359 --> 00:20:11.759
you know, shopifys and doctimity and companies like that might
446
00:20:11.799 --> 00:20:15.400
be interested in hearing about the ecosystem right now, and
447
00:20:15.480 --> 00:20:18.480
so we we got some new questions and topics and
448
00:20:18.480 --> 00:20:20.880
a lot of that came up. So we ended up
449
00:20:20.920 --> 00:20:23.759
adding a lot of new questions related to education and
450
00:20:23.799 --> 00:20:26.000
like how people are learning about rails or how they're
451
00:20:26.279 --> 00:20:29.400
what type of content are they consuming to level up
452
00:20:29.400 --> 00:20:32.720
as developers, and is the assumption that video stuff is
453
00:20:33.720 --> 00:20:37.359
the future actually resonating with the majority of developers, So
454
00:20:37.400 --> 00:20:40.279
that we can get into some of the stats there.
455
00:20:40.279 --> 00:20:42.519
But in terms of the reaching out to people, it
456
00:20:42.559 --> 00:20:45.319
was a lot of hitting the social media as I
457
00:20:45.519 --> 00:20:48.920
emailed everybody that I could, you know, I had reached
458
00:20:48.960 --> 00:20:53.200
out to in the past, and to have anyone that
459
00:20:53.359 --> 00:20:55.359
I knew that's written books in the last few years
460
00:20:55.400 --> 00:20:58.799
about Ruby or rails related themes, or people I've interviewed
461
00:20:58.799 --> 00:21:00.400
that happened to be part of the ecosism them like
462
00:21:00.440 --> 00:21:02.319
reached out to them, emailed them like, hey, can you
463
00:21:02.359 --> 00:21:05.240
blast this to your group or your mailing list, anyone
464
00:21:05.279 --> 00:21:07.240
that runs a mailing list. So we have like a
465
00:21:07.240 --> 00:21:09.720
big checklist of places that we reach out to, but
466
00:21:09.880 --> 00:21:11.960
we do want to make that as broad as possible,
467
00:21:12.000 --> 00:21:12.519
so it's not.
468
00:21:14.000 --> 00:21:15.759
It's not just like maybe.
469
00:21:15.599 --> 00:21:18.640
One company that's like Shopify drops it in their internal
470
00:21:18.759 --> 00:21:20.839
chat tool and then it's just like half the you know,
471
00:21:20.880 --> 00:21:23.680
the people are just Shopify employees filling it out and
472
00:21:23.680 --> 00:21:24.720
all the data looks the same.
473
00:21:24.839 --> 00:21:27.559
So so and.
474
00:21:27.000 --> 00:21:28.279
So I'm always worried that that's going to be a
475
00:21:28.279 --> 00:21:30.279
thing because it wouldn't take a lot for like something
476
00:21:30.319 --> 00:21:32.559
to drastically skew the data when we've got I think
477
00:21:32.559 --> 00:21:35.720
we had a little over twenty seven hundred participants, which
478
00:21:35.759 --> 00:21:38.319
is the most we've ever had. A lot of people
479
00:21:38.319 --> 00:21:41.720
want to fill out a sixty question survey, you know
480
00:21:42.200 --> 00:21:44.039
that often, so it takes a little bit to go
481
00:21:44.079 --> 00:21:46.480
through that process. But but that's where we're able to
482
00:21:46.559 --> 00:21:50.880
end up. So that answer your question enough, I suppose.
483
00:21:51.599 --> 00:21:54.759
Yeah, yeah, I think so. I kind of want to
484
00:21:54.759 --> 00:21:57.359
pull Valentino and I use it in Did you guys
485
00:21:57.359 --> 00:21:59.119
get a chance to look at the survey? And I'm
486
00:21:59.160 --> 00:22:02.279
curious was there anything that stood out to you because
487
00:22:02.359 --> 00:22:05.599
I don't know which section to really start with why.
488
00:22:05.759 --> 00:22:07.440
I have some ideas, but I want to hear from
489
00:22:07.480 --> 00:22:08.279
you guys.
490
00:22:09.920 --> 00:22:12.200
Yeah, I think I looked at at when the results
491
00:22:12.200 --> 00:22:14.960
first came out because I'm fairly sure I actually did
492
00:22:15.000 --> 00:22:17.960
fill it out, and I can't remember whether I did,
493
00:22:17.960 --> 00:22:19.880
but I'm like ninety nine percent sure that that I
494
00:22:19.920 --> 00:22:23.319
did fill it out. A couple of things that cut
495
00:22:23.359 --> 00:22:27.079
my One was obviously the fact that stimulus d throw
496
00:22:27.160 --> 00:22:29.480
and react, which made me quite happy because I know
497
00:22:29.680 --> 00:22:30.200
to react.
498
00:22:33.480 --> 00:22:34.319
That's how you realize that.
499
00:22:36.960 --> 00:22:40.359
And yeah, the other thing I found quite interesting, purely
500
00:22:40.400 --> 00:22:43.960
from a selfish point of view, was how people learn
501
00:22:44.039 --> 00:22:46.559
Drew Andrells, because obfullly I've written a book as well,
502
00:22:46.960 --> 00:22:49.559
so I found it quite interesting to just see how
503
00:22:50.480 --> 00:22:56.359
people learning. And it's interesting to see that more people
504
00:22:56.400 --> 00:23:00.240
kind of watch videos and tutorials rather than read book
505
00:23:00.359 --> 00:23:04.200
or something like that, because yeah, I guess horses for
506
00:23:04.279 --> 00:23:08.160
courses and stuff, but on I prefer text based rather
507
00:23:08.160 --> 00:23:12.000
than video. But it's it's always interesting to know like
508
00:23:12.039 --> 00:23:17.039
what other people are preferring, especially if you're trying to
509
00:23:17.079 --> 00:23:20.680
sell an educational product. So those are a couple of
510
00:23:20.720 --> 00:23:23.720
things that kind of I found particularly interesting out of
511
00:23:23.759 --> 00:23:24.480
the results.
512
00:23:25.319 --> 00:23:28.319
Quick quick thought on that one when it comes to
513
00:23:28.400 --> 00:23:31.519
like the I think that's an interesting thought there around
514
00:23:31.519 --> 00:23:35.680
Like you read books, I skim books.
515
00:23:35.799 --> 00:23:36.079
I'm not.
516
00:23:36.720 --> 00:23:39.160
I think I'm actually slightly dyslexic, and so I'm not.
517
00:23:39.640 --> 00:23:41.480
It's always been really difficult for me to get through
518
00:23:41.559 --> 00:23:45.200
a lot of text based things necessarily. But one of
519
00:23:45.200 --> 00:23:46.920
the other questions we did ask so it was like
520
00:23:46.920 --> 00:23:49.960
what types of education and content helps you learn most effectively?
521
00:23:50.759 --> 00:23:53.960
And video stuff was not It's like the fourth I
522
00:23:54.000 --> 00:23:55.319
think it was like tied with books.
523
00:23:55.359 --> 00:23:59.359
So most people said that they find blog posts.
524
00:23:58.920 --> 00:24:00.960
And like the Rails guy, it's to be the most
525
00:24:01.000 --> 00:24:03.440
effective way to learn.
526
00:24:03.640 --> 00:24:05.400
But they're consuming a lot of videos.
527
00:24:05.400 --> 00:24:08.359
So it's like it's is there are they learning from
528
00:24:08.400 --> 00:24:10.319
the videos or are they just spending more time watching
529
00:24:10.440 --> 00:24:14.440
videos and because it's an easier way to consume that information.
530
00:24:14.519 --> 00:24:17.359
Maybe I don't know, but video is an interesting one,
531
00:24:17.440 --> 00:24:21.079
but I don't know. Again, this is what the people
532
00:24:21.079 --> 00:24:24.200
are kind of reported, so it's all they're all really
533
00:24:24.240 --> 00:24:27.240
closely kind of aligned in the stats as well, So
534
00:24:27.400 --> 00:24:30.839
like there was no I think huge prizes to me there,
535
00:24:30.880 --> 00:24:34.319
but otherwise people saying that like working on you know,
536
00:24:35.279 --> 00:24:37.359
the documentation and things like that. So which is I
537
00:24:37.400 --> 00:24:40.960
think A good good thing that came out of this
538
00:24:41.160 --> 00:24:43.359
was like the the Rails Foundation, like Amanda them, they
539
00:24:43.359 --> 00:24:44.480
had I know that they.
540
00:24:44.400 --> 00:24:46.559
Were working on a number of projects related to.
541
00:24:48.880 --> 00:24:53.079
Video content and the new guides, like redesigning the way
542
00:24:53.079 --> 00:24:56.039
that all looks and revisiting a lot of the content there,
543
00:24:56.519 --> 00:24:58.240
and so there's a lot of energy trying to be
544
00:24:58.319 --> 00:25:00.319
on like let's do video, let's also do this. We
545
00:25:00.440 --> 00:25:02.000
kind of like have to come out of from different
546
00:25:02.039 --> 00:25:05.519
persons because there are just people do learn different people
547
00:25:05.599 --> 00:25:07.279
learn differently, and so it's like, how do we make
548
00:25:07.279 --> 00:25:11.079
this this as inclusive as possible.
549
00:25:12.720 --> 00:25:16.240
Yeah, I'm looking at that question now about learning most effectively,
550
00:25:16.279 --> 00:25:19.680
and that's interesting. I wouldn't have expected that that mismatch there,
551
00:25:20.640 --> 00:25:23.119
But I guess like for me, we're personally with videos,
552
00:25:23.319 --> 00:25:26.599
I tend to zone out sometimes and then I'll come
553
00:25:26.680 --> 00:25:29.440
back a minute later and like, Okay, crap, I've forgotten
554
00:25:29.920 --> 00:25:32.599
to rewind and watch this again. And then you can't
555
00:25:32.839 --> 00:25:36.039
command f a video. So that those are my two
556
00:25:36.119 --> 00:25:37.000
biggest gripes.
557
00:25:37.240 --> 00:25:41.359
That's true, you can't. I mean in the same way
558
00:25:41.440 --> 00:25:43.599
like I was reading a book last night and before
559
00:25:43.640 --> 00:25:45.559
I went to sleep, and I was like, got two
560
00:25:45.599 --> 00:25:48.680
pages and I'm like, what did I just read? I
561
00:25:48.720 --> 00:25:51.160
have no I've seen the words. I don't know what
562
00:25:51.279 --> 00:25:53.599
I just read. So let me start that again. But
563
00:25:54.279 --> 00:25:57.319
you know, it's interesting. Live streamers came two percent of
564
00:25:57.359 --> 00:25:59.920
people find that the most effective way to learn, or
565
00:26:00.720 --> 00:26:06.400
or podcasts, and so our podcast educational or they media
566
00:26:06.480 --> 00:26:09.880
consumption or you know, it's this kind of like auxiliary information.
567
00:26:10.000 --> 00:26:13.559
But maybe is this an educational platform. I don't know.
568
00:26:14.960 --> 00:26:17.960
I think it depends. One other thing that I wanted
569
00:26:18.000 --> 00:26:20.240
to point out was that I think a lot of
570
00:26:20.400 --> 00:26:23.440
newer folks are going to lean more toward video casts
571
00:26:23.480 --> 00:26:27.160
and books and maybe the rails Guide some I think
572
00:26:27.200 --> 00:26:29.880
as you get more advanced, you start looking more at
573
00:26:29.880 --> 00:26:33.599
the blog posts and documentation and maybe podcasts to just
574
00:26:33.599 --> 00:26:35.920
give you kind of here's what's the latest thing that's
575
00:26:35.960 --> 00:26:41.039
out there. That that was kind of what I got
576
00:26:41.039 --> 00:26:42.279
out of it, And so I think you had a
577
00:26:42.319 --> 00:26:46.119
lot of experienced folks that they don't need as much
578
00:26:46.160 --> 00:26:48.920
of the walkthrough on some of the stuff that's out there,
579
00:26:49.240 --> 00:26:52.640
and maybe they're reaching for the documentation and stuff instead.
580
00:26:54.319 --> 00:26:57.240
I feel like this is one of the hardest categories
581
00:26:57.599 --> 00:27:02.400
to extract something meaningful from the survey, right, because like
582
00:27:02.440 --> 00:27:05.119
I feel like learning, like you do kind of like
583
00:27:06.319 --> 00:27:10.079
pick a variety of different things to like build up
584
00:27:10.440 --> 00:27:13.839
your learning material and maybe different ways that you do
585
00:27:13.920 --> 00:27:18.039
you don't think about and how much they impact you too, Right,
586
00:27:18.200 --> 00:27:21.680
Like I remember like really diving hard into reels guides
587
00:27:21.759 --> 00:27:23.960
when I was first like looking at stuff and like
588
00:27:24.279 --> 00:27:27.680
doing the reels casts, but there was a bunch of
589
00:27:27.680 --> 00:27:29.680
other stuff that was I was also listening to Ruby
590
00:27:29.759 --> 00:27:31.960
Rogues at the time and like a bunch of other
591
00:27:32.000 --> 00:27:34.519
podcasts that just like try and stay up to date, right,
592
00:27:34.799 --> 00:27:35.680
And how much does that.
593
00:27:35.640 --> 00:27:37.200
Influence your learning ability?
594
00:27:37.400 --> 00:27:40.480
Right, and like just being able to adapt to the
595
00:27:40.519 --> 00:27:44.200
material that you're learning. It's like almost like that, you know,
596
00:27:44.720 --> 00:27:49.400
reflective learning that like helps like harden and make things
597
00:27:49.400 --> 00:27:50.279
stick a little better.
598
00:27:51.119 --> 00:27:53.480
And so it's like I always look at the survey.
599
00:27:53.160 --> 00:27:56.359
And like wonder, like, you know, how do you are
600
00:27:56.359 --> 00:27:57.519
we capturing everything?
601
00:27:58.400 --> 00:28:00.960
You're right? And I think it's always like how do
602
00:28:01.000 --> 00:28:05.480
you try to contextualize this in a way that's these
603
00:28:05.480 --> 00:28:09.799
are not like conclusive, you know, like we didn't ask
604
00:28:09.799 --> 00:28:12.279
people like prove it, you know, prove that this is
605
00:28:12.319 --> 00:28:15.000
how you learn most effectively. It's like it's like in
606
00:28:15.039 --> 00:28:18.680
the moment type of like responses that we're getting, So
607
00:28:18.720 --> 00:28:21.480
we how do we read the tea leaves a little bit,
608
00:28:21.480 --> 00:28:22.400
I suppose, but it's not.
609
00:28:23.079 --> 00:28:26.400
It's almost like what they remember most that they think worked.
610
00:28:26.160 --> 00:28:31.759
Best and recent. Yeah, right, it's still important.
611
00:28:32.960 --> 00:28:37.039
I'm always fascinated about the section though, Yeah, because it does.
612
00:28:37.000 --> 00:28:39.160
Change a year after year two quite a bit.
613
00:28:42.000 --> 00:28:43.880
Yeah, a couple of other things in the learning.
614
00:28:44.839 --> 00:28:46.880
I was gonna say that one of the one of
615
00:28:46.920 --> 00:28:50.000
the things I was and I haven't got I didn't
616
00:28:50.000 --> 00:28:52.000
get a chance to go like pivot the data to
617
00:28:52.000 --> 00:28:55.359
too much on this particular one, but the because you know,
618
00:28:55.440 --> 00:28:57.119
we're able to look at like how long people have
619
00:28:57.200 --> 00:28:57.920
been working.
620
00:28:57.680 --> 00:28:59.519
With rails and then try to look at the data for.
621
00:28:59.480 --> 00:29:02.200
That, and like if I had thought ahead more, I
622
00:29:02.240 --> 00:29:04.880
could maybe got some more interesting details for that. But
623
00:29:05.000 --> 00:29:07.720
the I was thinking one of the one of the
624
00:29:07.759 --> 00:29:11.119
things is that we know in the community is just
625
00:29:11.160 --> 00:29:15.960
that you know, this was also conducted you know, late spring,
626
00:29:16.039 --> 00:29:19.599
early summer ish last year, summer last year, so twenty
627
00:29:19.640 --> 00:29:22.960
twenty four, and you know, there was a lot of
628
00:29:23.039 --> 00:29:25.599
layoffs in the year prior. There's not a lot of
629
00:29:25.680 --> 00:29:29.880
junior developers getting hired in the community. Coding schools kind
630
00:29:29.880 --> 00:29:32.960
of a lot of them closed. We used to I
631
00:29:33.039 --> 00:29:35.279
used to know that one of our strategies in the
632
00:29:35.279 --> 00:29:38.079
past to ask questions to people was to hit the
633
00:29:38.240 --> 00:29:40.839
some of the coding schools. They that would get shared
634
00:29:40.880 --> 00:29:42.720
around some of them, you know, some of those developed
635
00:29:42.720 --> 00:29:44.559
some of the developer they would share with their their
636
00:29:44.599 --> 00:29:47.200
you know, their their recent graduates or previous graduates. They
637
00:29:47.200 --> 00:29:49.279
would share it, you know, like here filut the surveys.
638
00:29:49.319 --> 00:29:53.759
So so I think there's like data. I think we
639
00:29:53.839 --> 00:29:55.880
got a good capture of people that are actually working
640
00:29:55.880 --> 00:29:58.319
with rails right now and not too so that I
641
00:29:58.359 --> 00:30:00.440
feel like that's interesting, but we didn't really they also
642
00:30:00.480 --> 00:30:04.000
have maybe as many junior people participating or maybe because
643
00:30:04.000 --> 00:30:07.079
there's actually just last junior developers, uh coming into the
644
00:30:07.599 --> 00:30:09.640
into the market in the last year or two prior
645
00:30:09.680 --> 00:30:12.880
to the when we conducted this particular survey this time.
646
00:30:12.880 --> 00:30:14.839
But so, I don't know, it's kind of it's it's
647
00:30:14.839 --> 00:30:16.440
always a little bit interesting to see how that data
648
00:30:16.480 --> 00:30:18.400
fluctuates a little bit, but also by how little it
649
00:30:18.480 --> 00:30:20.519
changes sometimes too, there's a lot of the data that's
650
00:30:20.519 --> 00:30:24.759
like we're looking, I'm like, how did Linux usage didn't
651
00:30:24.799 --> 00:30:26.799
move like like more than like a percent or two
652
00:30:26.839 --> 00:30:30.519
And I'm like what how despite you know, like DH
653
00:30:30.759 --> 00:30:32.160
is talking about it all the time or something. So
654
00:30:32.200 --> 00:30:35.039
it's just like, I'm like, how does this not move
655
00:30:35.079 --> 00:30:35.599
a lot more?
656
00:30:36.839 --> 00:30:42.160
Omacoub Yeah, so Valentino, was there a section that step
657
00:30:42.200 --> 00:30:42.359
to you?
658
00:30:46.559 --> 00:30:49.480
Yeah, I'm always fascinated to see, uh, kind of like
659
00:30:49.559 --> 00:30:52.559
I usued, you know, where the front end stuff shifts,
660
00:30:52.559 --> 00:30:55.640
because that's definitely the thing that changes the most, I
661
00:30:55.680 --> 00:30:56.839
would say over time.
662
00:30:57.720 --> 00:30:58.119
Mm hmm.
663
00:30:58.720 --> 00:31:01.759
So it's it is interest seeing to see stimulus rank
664
00:31:01.839 --> 00:31:05.680
so high personally, and maybe that's just because I've been
665
00:31:05.720 --> 00:31:10.000
stuck in a very fixed front end for for so long.
666
00:31:11.319 --> 00:31:15.880
Maybe I just don't see the underpinnings there, But it
667
00:31:16.000 --> 00:31:19.640
is interesting to see the stimulus adoption over time just
668
00:31:19.960 --> 00:31:21.000
get such great support.
669
00:31:23.240 --> 00:31:26.920
Yeah, it's it's awesome if anyone's looking to figure out
670
00:31:26.960 --> 00:31:29.559
how to do stimulus with rails, I can't recommend I
671
00:31:29.640 --> 00:31:36.079
used this book highly enough. So yeah, I mean, on
672
00:31:36.160 --> 00:31:40.640
that note, though, I did notice it like you still
673
00:31:40.640 --> 00:31:45.119
got React, jQuery, View and next JS and Angular JS
674
00:31:45.640 --> 00:31:48.400
is kind of the next five and then you get
675
00:31:48.440 --> 00:31:51.759
to an Alpine JS, which is a minimalist framework kind
676
00:31:51.799 --> 00:31:56.079
of like stimulus. So of course then I kind of
677
00:31:56.160 --> 00:31:58.839
laughed because I saw backbone and handlebars on here too.
678
00:32:01.200 --> 00:32:04.720
These things don't go away, No, they don't. Well, a
679
00:32:04.720 --> 00:32:07.920
lot of I mean and something I gave a talk
680
00:32:07.960 --> 00:32:12.480
at Rails World about dealing with like techno debt and
681
00:32:12.519 --> 00:32:14.480
rails applications a lot of things, and like a lot
682
00:32:14.519 --> 00:32:19.279
of projects have multiple job as script libraries in them
683
00:32:19.480 --> 00:32:22.519
because there's a tendency to, hey, we want to work
684
00:32:22.519 --> 00:32:24.519
on this new set of features. This might feel like
685
00:32:24.559 --> 00:32:27.880
a perfect opportunity to experiment with that new framework we've
686
00:32:27.920 --> 00:32:30.960
been itching to play with, So let's use it over here.
687
00:32:31.240 --> 00:32:33.440
And so they'll add it and they'll start working on
688
00:32:33.480 --> 00:32:36.039
the new functionality, new features because it's easy to sneak
689
00:32:36.039 --> 00:32:38.440
it into that with the product and like, okay, we're
690
00:32:38.440 --> 00:32:39.960
going to do this over here, because it's a lot
691
00:32:40.000 --> 00:32:44.079
harder to sell them on retrofitting some existing stuff. And
692
00:32:44.119 --> 00:32:45.799
so they do that and they kind of like the
693
00:32:45.839 --> 00:32:47.680
first project or two that they do is kind of
694
00:32:47.680 --> 00:32:49.559
like they're trying to learn on the job type of thing,
695
00:32:49.559 --> 00:32:51.519
and they're like, well, we learned some stuff, and like
696
00:32:51.559 --> 00:32:53.759
the next time, well we'll come back and refactor it.
697
00:32:53.799 --> 00:32:54.839
And maybe they do or you don't.
698
00:32:54.880 --> 00:32:57.119
And then a year or two later they're still working
699
00:32:57.119 --> 00:32:58.920
on this stuff, and then they introduce another one, and
700
00:32:58.960 --> 00:33:00.880
then there's another one, you know, then they like, well,
701
00:33:00.880 --> 00:33:03.400
we'll keep the admin area like this in this area,
702
00:33:03.440 --> 00:33:04.720
and then we have this other new section.
703
00:33:04.839 --> 00:33:05.640
We'll use this thing.
704
00:33:06.200 --> 00:33:07.559
And so then you've got like three or four different
705
00:33:07.559 --> 00:33:12.599
frameworks in your your your your rails application ecosystem, and
706
00:33:12.640 --> 00:33:14.839
you're like, well, which one is the better one. It's like,
707
00:33:14.920 --> 00:33:16.880
is it the newer one or is the one that
708
00:33:16.920 --> 00:33:19.799
people complain about the least. And so one of the
709
00:33:19.839 --> 00:33:23.119
things that I've been advocating for teams to consider is,
710
00:33:23.960 --> 00:33:25.920
I dare you too, If you really want to use
711
00:33:25.960 --> 00:33:28.599
that new thing, do it on your existing stable features first,
712
00:33:28.640 --> 00:33:31.599
because you should already have really good healthy test coverage there.
713
00:33:32.079 --> 00:33:34.240
And if it doesn't work and you're not figuring it out,
714
00:33:34.319 --> 00:33:37.960
you can just get reverted and things are still working.
715
00:33:38.000 --> 00:33:42.279
But try to force yourself to implement it on existing stuff.
716
00:33:42.480 --> 00:33:44.680
If that's too hard, I guarantee it's not going to
717
00:33:44.720 --> 00:33:47.119
get easier two years from now to do that make
718
00:33:47.160 --> 00:33:47.599
that change.
719
00:33:47.640 --> 00:33:49.440
You're just going to stick with it, and you're going
720
00:33:49.519 --> 00:33:49.880
to have this.
721
00:33:49.839 --> 00:33:53.119
Problem where you're not able to upgrade different things or
722
00:33:53.160 --> 00:33:56.559
you got all the job ascript chaos going on on
723
00:33:56.559 --> 00:34:00.039
your front end framework. So easier said than done. But
724
00:34:00.240 --> 00:34:03.079
I that's that's that's the thing that I'm trying to
725
00:34:03.079 --> 00:34:06.039
pitch teams to try to consider doing is like, take
726
00:34:06.039 --> 00:34:07.839
a hard look at the do the hard thing.
727
00:34:07.880 --> 00:34:08.639
If you're not only to do.
728
00:34:08.639 --> 00:34:11.239
It, stick with the framework that you're already using, because
729
00:34:11.239 --> 00:34:12.920
that's you're going to be stuck with it anyway.
730
00:34:13.000 --> 00:34:17.719
So I'm always quite reluctant to try and rewrite features
731
00:34:17.760 --> 00:34:22.800
that already exist using something newer. So, uh, well, I
732
00:34:22.840 --> 00:34:25.760
completely agree with your approach. You're trying to introduce something
733
00:34:25.800 --> 00:34:29.000
new to some the feature that already exists. But where
734
00:34:29.320 --> 00:34:32.920
what's the judgment called the how do you decide that
735
00:34:33.400 --> 00:34:35.039
this is a new thing that we want to try
736
00:34:35.039 --> 00:34:39.159
and we're going to rewrite something that already works against Well,
737
00:34:39.199 --> 00:34:41.599
that feature already works. I don't see why we should
738
00:34:42.000 --> 00:34:44.159
spend time rewriting it using something new.
739
00:34:45.480 --> 00:34:49.599
I think the typical developer answer It depends. I think
740
00:34:49.639 --> 00:34:56.119
the the challenge there is, especially with soft some projects
741
00:34:56.159 --> 00:35:00.559
where you know that they're your team's already starting to
742
00:35:00.599 --> 00:35:05.000
divest themselves, and so it's interesting. I'm a big, a
743
00:35:05.079 --> 00:35:07.280
big advocate for not rewriting, and so like, well, I
744
00:35:07.280 --> 00:35:10.599
guess I'm advocating for like micro rewrites you know, in
745
00:35:10.920 --> 00:35:13.599
certain areas. And so it's just why do we treat
746
00:35:13.639 --> 00:35:16.960
like a front end framework differently than we would with
747
00:35:17.079 --> 00:35:19.079
like say a Ruby gem that's no longer going to
748
00:35:19.119 --> 00:35:22.039
be supported, we need to migrate that. And so if
749
00:35:22.079 --> 00:35:27.000
the lift is so high, then I feel like we're
750
00:35:27.039 --> 00:35:30.039
already admitting that the front end is just going to
751
00:35:30.119 --> 00:35:32.679
be too much of a mess. That like we're when
752
00:35:32.719 --> 00:35:35.280
we make a decision, we're making a really long term
753
00:35:35.280 --> 00:35:40.280
decision with this, and how how can we approach that
754
00:35:40.320 --> 00:35:42.840
a little bit more? Like are there ways for us
755
00:35:42.840 --> 00:35:46.480
to refactor parts of it, you know, like or rebuild
756
00:35:46.519 --> 00:35:48.000
parts of it and figure out how to glue things
757
00:35:48.000 --> 00:35:50.239
together like I've I've you know, work with a number
758
00:35:50.280 --> 00:35:53.239
of teams that in the consulting capacity where they've done
759
00:35:53.320 --> 00:35:55.920
like these migrations where they're moving from Angular to react
760
00:35:56.000 --> 00:35:58.719
or something, you know, because Angular one to Angular two
761
00:35:59.880 --> 00:36:02.119
was necessarily like a good upgrade path for a lot
762
00:36:02.159 --> 00:36:04.320
of people, and so that could happen with any of
763
00:36:04.360 --> 00:36:06.840
the frameworks that you know, we talk about. There's always
764
00:36:06.840 --> 00:36:10.360
a chance of that happening. But for these existing stable features.
765
00:36:10.360 --> 00:36:12.280
It's just more of like, if your team's trying to
766
00:36:12.360 --> 00:36:15.159
experiment and learn, just learn on something you already know
767
00:36:15.199 --> 00:36:17.800
how it's supposed to work from like a user perspective,
768
00:36:17.880 --> 00:36:20.800
and like can you experiment with that and test out
769
00:36:20.800 --> 00:36:22.679
if this idea is going to work well before you
770
00:36:22.719 --> 00:36:24.679
start building on some new ideas and learning on the
771
00:36:24.760 --> 00:36:26.519
job with that new framework, because a lot of these
772
00:36:26.559 --> 00:36:29.480
new frameworks don't necessarily have a lot of good documutation initially,
773
00:36:29.599 --> 00:36:31.119
or they have some documentation, but there's not a lot
774
00:36:31.159 --> 00:36:34.360
of real world experience yet. So you're learning, you're sharing
775
00:36:34.400 --> 00:36:37.079
as you go. But that's but the story of the
776
00:36:37.119 --> 00:36:39.400
front end has been we're all learning on the job
777
00:36:40.159 --> 00:36:42.760
and it doesn't get it's been difficult to go back
778
00:36:42.760 --> 00:36:45.920
and clean things up. So I'm just trying to like
779
00:36:45.920 --> 00:36:48.480
a maybe advocate for like maybe there's a different can
780
00:36:48.480 --> 00:36:52.280
we experiment with some different approaches, because that has been
781
00:36:52.320 --> 00:36:56.880
the go to approach. You don't break the existing stuff
782
00:36:57.480 --> 00:36:59.960
because it works great, but if it's but that's a thing,
783
00:37:00.119 --> 00:37:03.599
if it's going to break, how do you make it
784
00:37:03.639 --> 00:37:04.400
less breakable?
785
00:37:04.559 --> 00:37:04.920
And so.
786
00:37:06.599 --> 00:37:08.519
I don't this this is the heart, This is the
787
00:37:08.519 --> 00:37:10.000
hard part. Of our job, I supposed to try to
788
00:37:10.000 --> 00:37:10.760
figure this stuff out.
789
00:37:10.880 --> 00:37:14.960
So, yeah, it reminds me a little bit of a
790
00:37:15.039 --> 00:37:17.800
scientific experiment, right, So you have these studies that are
791
00:37:17.840 --> 00:37:19.960
done right, and so they have the control and then
792
00:37:19.960 --> 00:37:24.920
they've got kind of their experimental set. And typically the
793
00:37:24.920 --> 00:37:27.199
best practice is is you only change the thing that
794
00:37:27.239 --> 00:37:31.119
you want to see what difference it makes. Right, And
795
00:37:31.199 --> 00:37:35.880
so if you're doing a new problem and inventing a
796
00:37:35.880 --> 00:37:38.599
new solution and using a new tool for it as
797
00:37:38.599 --> 00:37:42.480
opposed to doing a well understood problem that's already been
798
00:37:42.519 --> 00:37:44.679
solved with the tool you already have, yeah, then you
799
00:37:44.760 --> 00:37:47.639
have a real good comparison to see where where the
800
00:37:47.639 --> 00:37:48.320
trade off is.
801
00:37:50.400 --> 00:37:52.320
You might find that, you know, if you're just rebuild
802
00:37:52.360 --> 00:37:55.679
like a small part of your application or front end
803
00:37:55.800 --> 00:37:58.760
with a different jobs, you might be like all those
804
00:37:58.760 --> 00:38:01.239
assumptions we made of this was going to be way better, Actually,
805
00:38:01.239 --> 00:38:04.039
like it's got some weird things that we didn't quite realize,
806
00:38:04.039 --> 00:38:07.079
And is that trade off going to be okay for
807
00:38:07.159 --> 00:38:10.760
us in the future or because then because I think
808
00:38:10.599 --> 00:38:12.639
the question is going to be you start, you're using
809
00:38:12.639 --> 00:38:14.360
that new thing on the new functionality, are you ever
810
00:38:14.400 --> 00:38:17.679
going to go back and rewrite that stuff or are
811
00:38:17.760 --> 00:38:20.360
you saying that those existing stable things are just never
812
00:38:20.440 --> 00:38:23.840
going to change. So that's why you laugh about like backbone, Like,
813
00:38:23.880 --> 00:38:25.880
there's plenty of projects out there that are running just
814
00:38:25.920 --> 00:38:29.159
fine with backbone. We work on projects like that, and
815
00:38:29.360 --> 00:38:31.000
I can tell you we tried to do a project
816
00:38:31.000 --> 00:38:34.039
for one of our large clients that was the client
817
00:38:34.119 --> 00:38:35.920
was like, yeah, we want to move to react from
818
00:38:36.159 --> 00:38:38.800
the backbone, and we were working through this big rewrite
819
00:38:38.840 --> 00:38:42.360
on the front end and eventually we agree, like, you know,
820
00:38:42.480 --> 00:38:46.320
this doesn't feel like it's we're this doesn't feel like that.
821
00:38:46.440 --> 00:38:48.239
I don't want to value to your business necessarily, but
822
00:38:50.079 --> 00:38:52.599
this is fine. But yeah, we're probably you know, they're
823
00:38:52.639 --> 00:38:54.000
like they decided they're going to end up life that
824
00:38:54.000 --> 00:38:56.360
particular project anyways, and then a year choose so we
825
00:38:57.440 --> 00:38:58.039
you know, we hit the.
826
00:38:58.280 --> 00:39:01.199
Brakes on that particular project. But those are.
827
00:39:03.760 --> 00:39:06.239
If where is the future of these projects going to be?
828
00:39:06.280 --> 00:39:07.800
And like how where do you want to kind of
829
00:39:07.840 --> 00:39:12.199
sit with that? And again it's a difficult part of
830
00:39:12.199 --> 00:39:13.280
our job, I suppose, But.
831
00:39:14.840 --> 00:39:18.119
Yep, all right, I'm going to hit one of these
832
00:39:18.199 --> 00:39:24.079
areas that I was interested in. I'm going to talk
833
00:39:24.079 --> 00:39:26.960
a little bit about deployment and DevOps. I would have
834
00:39:27.000 --> 00:39:31.199
picked things like Ruby and Rails versions, but it seems
835
00:39:31.199 --> 00:39:35.039
like the majority of people are close to, if not
836
00:39:35.159 --> 00:39:37.559
using the latest thing, and so I was just like, oh, okay,
837
00:39:37.599 --> 00:39:43.519
good yeah. So yeah, So a couple of things. One
838
00:39:43.760 --> 00:39:47.480
is what deployment tool do you use? And the other
839
00:39:47.519 --> 00:39:51.239
one was how often do you deploy? And I've always
840
00:39:51.280 --> 00:39:54.559
wondered because I haven't really looked at surveys like this
841
00:39:54.639 --> 00:39:57.480
that often, you know, are people really doing kind of
842
00:39:57.480 --> 00:40:01.960
the continuous deployment and then they're deploying off or are
843
00:40:01.960 --> 00:40:05.159
are you know, people mostly on a we're going to
844
00:40:05.239 --> 00:40:07.440
release after our sprint or we're going to release after
845
00:40:07.519 --> 00:40:12.320
our you know, after our big set of whatever, right,
846
00:40:12.880 --> 00:40:16.239
which is always painful whenever I've done that places I've worked.
847
00:40:17.079 --> 00:40:20.679
But it looks like the majority I shouldn't say majority,
848
00:40:21.000 --> 00:40:26.559
but a large number of people are deploying every day
849
00:40:26.599 --> 00:40:29.880
or every week. I mean it's thirty seven percent for
850
00:40:30.079 --> 00:40:33.800
every day multiply multiple times a day, and thirty six
851
00:40:33.840 --> 00:40:36.840
percent for multiple times a week, which to me says
852
00:40:36.880 --> 00:40:40.400
that they're doing it, you know, possibly several days during
853
00:40:40.400 --> 00:40:44.000
the week. And so yeah, I mean that's like what
854
00:40:44.119 --> 00:40:47.280
seventy three percent, So that I thought that was very
855
00:40:47.360 --> 00:40:48.119
very fascinating.
856
00:40:50.400 --> 00:40:53.320
Yeah, it kind of surprises me when we'll we'll have
857
00:40:53.360 --> 00:40:57.440
client engagements will come in to do some consulting for
858
00:40:57.440 --> 00:40:59.400
a short period of time, and those those are one
859
00:40:59.440 --> 00:41:01.320
of their usual questions we ask. It's like, tell us
860
00:41:01.320 --> 00:41:04.960
about your workflow for pushing stuff out. And then there's
861
00:41:05.000 --> 00:41:06.239
the companies we talk to. You are like, oh, yeah,
862
00:41:06.239 --> 00:41:08.280
we our team deploys.
863
00:41:08.519 --> 00:41:09.639
Hundreds of times a day.
864
00:41:09.760 --> 00:41:13.199
You're like, what, okay, so there's that too, the extreme
865
00:41:13.280 --> 00:41:15.079
of like oh yeah, like every three weeks we push
866
00:41:15.079 --> 00:41:16.920
out a thing. You know. I'm just like, okay, that
867
00:41:16.960 --> 00:41:20.320
feels like unless there's some like seven one issue type
868
00:41:20.320 --> 00:41:22.400
thing we need to push out, like a quick bug
869
00:41:22.400 --> 00:41:25.599
fix or something there's like a huge issue going on.
870
00:41:25.679 --> 00:41:27.519
But otherwise they're like, we don't. And I think it's
871
00:41:27.519 --> 00:41:30.199
always contextual also, like you know, way to pivot. That
872
00:41:30.199 --> 00:41:33.239
would be like if there's a lot of restrictions in
873
00:41:33.280 --> 00:41:36.400
their particular industries, like maybe it's healthcare for example, or
874
00:41:36.400 --> 00:41:39.760
with companies and healthcare, some companies like they have very
875
00:41:39.840 --> 00:41:42.360
very rigorous process around that because they have to be
876
00:41:42.360 --> 00:41:44.719
able to have an audit trail that they can report
877
00:41:45.159 --> 00:41:47.719
to the governments or something. So it's a lot of
878
00:41:48.079 --> 00:41:51.119
weird things that can kind of change that. So then
879
00:41:51.320 --> 00:41:53.280
I'm always curious about how they then have to deal
880
00:41:53.320 --> 00:41:56.440
with as a development workflow Q things up for a
881
00:41:56.480 --> 00:42:00.239
bigger bulker release versus having a lot of like these
882
00:42:00.280 --> 00:42:04.880
micro small things they can get shipped out. I think
883
00:42:04.880 --> 00:42:06.960
it depends on you know, the context, context of that
884
00:42:07.000 --> 00:42:10.000
particular business and industry or and a lot of people
885
00:42:10.039 --> 00:42:14.920
just being really you know, concerned about breaking things, like
886
00:42:14.960 --> 00:42:16.840
if they have a really brittle environment, they need to
887
00:42:16.880 --> 00:42:20.000
really rigorous QA process before they push things out or not. So,
888
00:42:22.519 --> 00:42:24.519
but yeah, it's it's it's a lot, it's it's it's
889
00:42:24.639 --> 00:42:26.559
encouraging because I remember, I think if you go back
890
00:42:26.559 --> 00:42:28.559
several years that I think that the data for that
891
00:42:28.599 --> 00:42:31.280
would be like much lower. It would be like maybe
892
00:42:31.679 --> 00:42:33.840
you know, weekly would be like a pretty common thing
893
00:42:33.920 --> 00:42:34.320
or something.
894
00:42:34.360 --> 00:42:39.079
But yeah, the other one I thought was interesting was
895
00:42:39.119 --> 00:42:42.920
this was the first one where Camal was listed as
896
00:42:42.960 --> 00:42:48.239
an option for deployment tools, and then there was one
897
00:42:48.360 --> 00:42:51.519
continuous deploy R. I don't know if I've even seen
898
00:42:51.599 --> 00:42:55.079
that or was that just a no, it's continuous deployment.
899
00:42:55.119 --> 00:42:55.840
It must be cut off.
900
00:42:55.920 --> 00:43:02.239
Oh yeah, it's truncated and graphic chart. Yeah, end issue.
901
00:43:02.360 --> 00:43:05.679
Yeah, you've got get and Capistrano. And I don't know
902
00:43:05.679 --> 00:43:07.719
what people mean by get. Is that like a get
903
00:43:07.719 --> 00:43:10.280
pushed kind of like Heroku or yeah.
904
00:43:10.519 --> 00:43:14.039
I think yeah, it means which is these are some
905
00:43:14.079 --> 00:43:15.719
of the I feel like there's always a really awkward
906
00:43:15.760 --> 00:43:17.920
question because we've kept it in because people will if
907
00:43:17.960 --> 00:43:21.360
we just limited the set of things, like people will
908
00:43:21.719 --> 00:43:22.559
type in other.
909
00:43:22.599 --> 00:43:25.480
They'll they'll write things in, so they'll we.
910
00:43:25.599 --> 00:43:27.239
Just I think a lot of people don't know the
911
00:43:27.239 --> 00:43:29.719
difference between pushing too so there, but I think a
912
00:43:29.760 --> 00:43:31.920
lot of that comes down to, like, yeah, like Heroku
913
00:43:32.039 --> 00:43:34.599
is just like get pushed and then pushes to Heroku
914
00:43:35.440 --> 00:43:38.000
without explicitly just saying they're deploying to Heroku.
915
00:43:39.719 --> 00:43:41.960
Yeah, so yeah. It said two point four percent of
916
00:43:41.960 --> 00:43:47.599
people reported using Kamal, which I love Kamal. I'm curious
917
00:43:47.639 --> 00:43:51.039
to see next time you do this when you ask
918
00:43:51.079 --> 00:43:54.400
about what proxy and web servers people are using, to
919
00:43:54.400 --> 00:43:57.920
see if Kamal proxy comes in on the list. Because
920
00:43:57.960 --> 00:44:02.079
traffic was the default Kamal, one and two hundred and
921
00:44:02.119 --> 00:44:06.079
three people said they were using that and so yeah,
922
00:44:06.320 --> 00:44:08.039
I'm curious to see if that switches up.
923
00:44:09.440 --> 00:44:12.239
I would imagine, but you should see.
924
00:44:12.840 --> 00:44:15.400
Yeah, and Thruster was another piece of that puzzle too,
925
00:44:15.719 --> 00:44:16.320
that's on there.
926
00:44:19.199 --> 00:44:19.400
Yeah.
927
00:44:19.400 --> 00:44:23.000
I'm curious too, like how many people like use chat
928
00:44:23.000 --> 00:44:28.480
ops still, Like is that still the go to deployment
929
00:44:28.519 --> 00:44:31.199
for larger organizations.
930
00:44:31.840 --> 00:44:32.800
I'm curious, like do you.
931
00:44:32.880 --> 00:44:36.679
Do like a lot of like you know, cross referencing
932
00:44:36.960 --> 00:44:40.480
post survey, like to see if like some things are
933
00:44:40.480 --> 00:44:45.760
related like interdependency, like you know, the their team size.
934
00:44:45.360 --> 00:44:49.119
Is related to how they deploy or x y Z.
935
00:44:49.920 --> 00:44:50.639
That'd be interesting.
936
00:44:50.960 --> 00:44:52.719
Yeah, we definitely could.
937
00:44:52.920 --> 00:44:57.480
It's just how much we've historically would share all the
938
00:44:57.519 --> 00:45:00.000
results with everybody and we just need to put together
939
00:45:00.119 --> 00:45:02.199
especially for that, and we just kind of shipped up
940
00:45:02.199 --> 00:45:03.320
before we had a chance to do it this year,
941
00:45:03.360 --> 00:45:04.960
so people can kind of play around with the data
942
00:45:05.000 --> 00:45:07.320
there because there's a little bit of data scrubbing we
943
00:45:07.360 --> 00:45:09.639
have to do for our privacy stuff there. But the
944
00:45:10.159 --> 00:45:13.360
definitely something we can definitely expose for for folks. But
945
00:45:13.639 --> 00:45:15.079
what we found is what we've done in the past,
946
00:45:15.199 --> 00:45:18.679
like five people would download this and then so we're
947
00:45:18.679 --> 00:45:20.920
like how much how much time am I putting into
948
00:45:21.199 --> 00:45:23.559
something for those five people, but there is there is
949
00:45:23.639 --> 00:45:25.360
some there's some ways to do that as well.
950
00:45:25.840 --> 00:45:27.639
You got to hook it up to an AI chat
951
00:45:27.719 --> 00:45:30.960
to make it easy. Related.
952
00:45:31.159 --> 00:45:33.159
Yeah, and I hope that I hope that it's accurate.
953
00:45:33.960 --> 00:45:35.239
Yeah.
954
00:45:36.679 --> 00:45:37.519
Deploy GPT.
955
00:45:38.159 --> 00:45:43.199
Yeah, if you've deployed applications using other languages or frameworks,
956
00:45:43.559 --> 00:45:45.760
would you say that it has been easier or harder
957
00:45:45.800 --> 00:45:50.639
to deploy reels applications? And sixteen percent said it was harder,
958
00:45:50.719 --> 00:45:54.159
but forty five percent set was easier and thirty nine
959
00:45:54.159 --> 00:45:57.639
percent said it's about the same, which I found interesting
960
00:45:57.760 --> 00:46:01.440
because I've done a little bit of PHP eight years ago,
961
00:46:01.559 --> 00:46:06.360
and when I could, I found it quite easy to deploy.
962
00:46:06.400 --> 00:46:08.400
I can't remember exactly what I did was years ago,
963
00:46:08.880 --> 00:46:11.400
but it was like I didn't really know the next admin.
964
00:46:11.440 --> 00:46:14.039
I still probably not that good with the next admin anyway.
965
00:46:14.440 --> 00:46:16.679
And when I came to try and deploy a rails
966
00:46:16.719 --> 00:46:19.400
app for the first time, which is something about five
967
00:46:19.559 --> 00:46:25.199
years ago, I started using the word to live, I
968
00:46:25.320 --> 00:46:28.559
cave and had to use cloud sixty six and even now,
969
00:46:28.679 --> 00:46:31.400
like I would say that like a render dot comfort
970
00:46:31.400 --> 00:46:33.880
for hosting, but if I had to do like a
971
00:46:33.880 --> 00:46:38.679
bare bones vps. Any Ruby, not just Raels has to
972
00:46:38.719 --> 00:46:42.559
deploy any Ruby web app, but it wouldn't be as
973
00:46:42.559 --> 00:46:45.239
easy as I as I like. So I just found
974
00:46:45.239 --> 00:46:48.880
that response interesting because I don't know, I mean, do you
975
00:46:48.880 --> 00:46:51.760
think do you think people responded easier because of things
976
00:46:51.800 --> 00:46:53.239
like render dot com and Heroku?
977
00:46:54.119 --> 00:46:56.840
I think yeah, I mean I think that's very much
978
00:46:57.079 --> 00:47:00.840
the probably very much the case for a lot of people.
979
00:47:01.480 --> 00:47:03.840
And we definitely could look at pivoting the data data
980
00:47:03.840 --> 00:47:06.119
there to see if you can get some more detail
981
00:47:06.119 --> 00:47:09.760
on where people are hosting those applications. But it's interesting,
982
00:47:09.840 --> 00:47:12.920
you know, that experience you had coming from Php to Rails,
983
00:47:12.960 --> 00:47:16.880
Like I shared that experience early on because but that
984
00:47:16.960 --> 00:47:19.400
was also why part of what we did from a
985
00:47:19.440 --> 00:47:22.559
company was offer hosting services to make that easier. Because
986
00:47:22.800 --> 00:47:26.000
it was so much easier to host a PHP application
987
00:47:26.159 --> 00:47:30.199
because you literally just uploaded some PHP files and maybe
988
00:47:30.280 --> 00:47:33.719
you needed to restart the server maybe usually.
989
00:47:33.559 --> 00:47:36.039
Not back then wasn't such a big deal.
990
00:47:36.760 --> 00:47:38.239
But rails, you know, you were like, well you got
991
00:47:38.239 --> 00:47:40.840
to run like a little Rail server, and so that
992
00:47:40.840 --> 00:47:44.239
that's running behind like your web server, and YadA, YadA, YadA.
993
00:47:44.320 --> 00:47:48.239
And then but things like Capistrano did smooth that out
994
00:47:48.280 --> 00:47:51.519
at one point, and Heroku made it a lot more
995
00:47:51.559 --> 00:47:53.719
accessible to easily quickly deploy so you didn't have to
996
00:47:53.760 --> 00:47:56.800
learn how to manage your own Linux server out there
997
00:47:56.800 --> 00:47:59.360
on some you know, rack space or wherever you're hosting
998
00:47:59.440 --> 00:48:04.360
your your vps and stuff like that. So I hear
999
00:48:04.440 --> 00:48:09.440
you on that, is it harder or easier? I think
1000
00:48:09.440 --> 00:48:11.400
it's To me, it feels like a lot of I
1001
00:48:11.800 --> 00:48:14.079
think it's because that like a lot of people are
1002
00:48:14.079 --> 00:48:16.599
like it's like thirty nine percent that it's about the same,
1003
00:48:18.000 --> 00:48:20.840
you know, it's a little less than half and so,
1004
00:48:22.119 --> 00:48:25.239
but harder. I think it depends on how complicated a
1005
00:48:25.320 --> 00:48:28.440
hosting environment are, because the other things I think it
1006
00:48:28.639 --> 00:48:31.719
related to deploying is also like being able to debug things,
1007
00:48:31.719 --> 00:48:33.320
and I always feel like I feel like one of
1008
00:48:33.320 --> 00:48:35.559
the things that I really appreciate about Ruby on Rails
1009
00:48:35.559 --> 00:48:39.039
early on was how easy it was to but debug
1010
00:48:39.159 --> 00:48:44.559
things in production versus with working in like say PHP,
1011
00:48:44.920 --> 00:48:47.400
because we had things like you could essensation into the
1012
00:48:47.440 --> 00:48:50.480
server and then run Rails console and do stuff and
1013
00:48:50.480 --> 00:48:53.280
you're like, oh, this is amazing, and like didn't feel
1014
00:48:53.280 --> 00:48:55.639
like we had that kind of functionality at the time.
1015
00:48:56.039 --> 00:48:59.320
There's tools like that now, but that stuff was just
1016
00:48:59.400 --> 00:49:02.599
kind of like a for my professional development growth. That
1017
00:49:02.679 --> 00:49:04.280
was like a huge like aha, I'm like, look what
1018
00:49:04.280 --> 00:49:07.119
we can do and like. But you also had to run,
1019
00:49:07.519 --> 00:49:09.960
you know, all these different separate processes and you're spinning
1020
00:49:10.079 --> 00:49:13.840
up delayed job things or whatever, men cash and all
1021
00:49:13.880 --> 00:49:15.400
this stuff, and you'd have to run all these little
1022
00:49:15.440 --> 00:49:17.639
services in parallel on a server. So there's a lot
1023
00:49:17.679 --> 00:49:20.480
more things related to your rails apps that you have
1024
00:49:20.519 --> 00:49:21.440
to run as well.
1025
00:49:21.559 --> 00:49:23.000
It wasn't just like PHBD, like you.
1026
00:49:23.039 --> 00:49:25.239
Run the thing and then you had a database or
1027
00:49:25.320 --> 00:49:27.679
something you connected to and then that was the bulk of.
1028
00:49:27.639 --> 00:49:28.840
What you needed to worry about.
1029
00:49:29.360 --> 00:49:32.960
So yeah, I think some of the tools have gotten better,
1030
00:49:34.119 --> 00:49:36.519
like you said, but with Kamal, I mean you just
1031
00:49:37.079 --> 00:49:39.239
you set up the vps, make sure you can have
1032
00:49:39.400 --> 00:49:42.800
to state into it, and you know, so do run
1033
00:49:42.840 --> 00:49:46.239
things as route and then you just tell it to
1034
00:49:46.280 --> 00:49:48.400
set it up and then you tell it to deplay it.
1035
00:49:48.920 --> 00:49:54.360
So yeah, I mean, depending it Yeah, a lot of
1036
00:49:54.400 --> 00:49:56.639
it depends on how your system set up. But what
1037
00:49:56.679 --> 00:49:58.320
I found is the tools just keep getting better and
1038
00:49:58.360 --> 00:49:58.840
better and better.
1039
00:50:00.480 --> 00:50:04.199
Yeah, Comal. The only thing is it's it's Docker, and like, yeah,
1040
00:50:05.360 --> 00:50:08.239
it's I just find it too heavy handed for the
1041
00:50:08.360 --> 00:50:10.719
kind of stuff I do, not not for my clients work.
1042
00:50:10.760 --> 00:50:13.920
My client work obviously is high enough scale to warrant that,
1043
00:50:14.559 --> 00:50:16.320
but stuff I do on my own, I just find
1044
00:50:16.400 --> 00:50:18.519
like Docker to be a bit too heavy for that.
1045
00:50:18.679 --> 00:50:24.000
So I'd quite like just a simple solution that isn't docerbase,
1046
00:50:24.039 --> 00:50:26.440
and I'm playing around with some stuff. One thing that
1047
00:50:26.480 --> 00:50:29.000
I'll be quite interested in this year over the probably
1048
00:50:29.039 --> 00:50:31.079
this year and next year is if the adoption of
1049
00:50:31.199 --> 00:50:34.800
Falcon goes up at all, because that's kind of designed
1050
00:50:35.000 --> 00:50:39.480
to be like all in one server, Like you don't
1051
00:50:39.519 --> 00:50:42.760
need to have engine X, a caddy or something in
1052
00:50:42.760 --> 00:50:47.400
front of it. It's it's meant to be like, uh,
1053
00:50:48.039 --> 00:50:50.800
right in front of your application, and it's meant to
1054
00:50:50.840 --> 00:50:53.719
be like it's meant to work as a sul termination
1055
00:50:53.880 --> 00:50:57.880
and just work as a web server. So it should
1056
00:50:57.920 --> 00:51:01.159
hopefully reduce the number of moving parts you need for redeployment.
1057
00:51:02.519 --> 00:51:04.480
It would be good to see that kind of beIN
1058
00:51:04.480 --> 00:51:05.800
a little bit more traction, I think.
1059
00:51:07.280 --> 00:51:11.239
Yeah, Robbie, was there a section that stood out to
1060
00:51:11.280 --> 00:51:12.920
you that we haven't talked about.
1061
00:51:13.280 --> 00:51:18.400
Yeah, some of the things that I've always found interesting.
1062
00:51:18.400 --> 00:51:21.480
The track is because it's just having been a part
1063
00:51:21.519 --> 00:51:24.599
of the rail's ecosystem for such a long time and
1064
00:51:25.599 --> 00:51:28.360
is a lot of the third party services and tools
1065
00:51:28.360 --> 00:51:30.519
that we're using. So, you know, this was the first
1066
00:51:30.519 --> 00:51:32.480
time this last year was the first time New Relic
1067
00:51:32.679 --> 00:51:36.559
wasn't number one for performance monitoring and the rails ecosystem
1068
00:51:36.599 --> 00:51:39.440
since we started asking that question. I think back in
1069
00:51:40.639 --> 00:51:43.199
I think Data Dog took over the number one spot.
1070
00:51:44.440 --> 00:51:48.320
Otherwise New Relic had been, you know, the and I
1071
00:51:48.320 --> 00:51:50.679
think that I don't want to I mean, I know
1072
00:51:50.679 --> 00:51:53.320
a bunch of people that work on New Relic, but
1073
00:51:53.440 --> 00:51:57.440
they've that company is going to have been bought and
1074
00:51:57.480 --> 00:51:59.639
sold a couple of times at this point now. But
1075
00:51:59.800 --> 00:52:01.880
the so it's been interesting to see that kind of
1076
00:52:01.880 --> 00:52:05.400
evolve into seeing how like Century and ap Signal have
1077
00:52:05.519 --> 00:52:07.320
kind of like jumped up a little bit more in
1078
00:52:07.320 --> 00:52:10.480
the community there. And I always it's to me, it's
1079
00:52:10.480 --> 00:52:12.480
always kind of fun to watch like the big companies
1080
00:52:12.480 --> 00:52:14.239
and the small companies trying to like I don't feel
1081
00:52:14.239 --> 00:52:18.039
like that space has ever like been terribly stable for
1082
00:52:18.079 --> 00:52:20.239
a lot of companies, necessarily outside of like the people
1083
00:52:20.239 --> 00:52:21.679
that are at the top there, and so like we
1084
00:52:21.760 --> 00:52:25.119
get aer tracking things and as well, so like I
1085
00:52:25.119 --> 00:52:28.960
think on the aeroor tracking, you know, centuries top been
1086
00:52:29.000 --> 00:52:32.679
the top of the last three times we've run the survey.
1087
00:52:32.719 --> 00:52:36.239
But it's been interesting. For whatever reason, I've always been
1088
00:52:36.239 --> 00:52:39.400
fascinating with those particular those topics to see what people
1089
00:52:39.440 --> 00:52:41.760
are using, and because I feel like it's really easy
1090
00:52:41.800 --> 00:52:46.559
for teams to quite often switch and experiment the different
1091
00:52:46.599 --> 00:52:49.800
thing we come into consulting engagements. Well, like we just
1092
00:52:49.800 --> 00:52:53.280
just actually just recently, we're working with a company doing
1093
00:52:53.320 --> 00:52:55.519
a code at it and giving this doing some consulting
1094
00:52:55.519 --> 00:52:58.360
with them, and we were logging into the new relic
1095
00:52:58.360 --> 00:53:00.519
where they've been tracking their errors for a really long
1096
00:53:00.559 --> 00:53:02.719
time and we're looking all this stuff and they're like, yeah,
1097
00:53:02.760 --> 00:53:03.599
we don't really log.
1098
00:53:03.440 --> 00:53:05.119
In that offen and go look at the error stuff
1099
00:53:05.119 --> 00:53:05.760
that often we.
1100
00:53:05.800 --> 00:53:09.679
Just occasionally I'm like, well, maybe a really easy thing
1101
00:53:09.679 --> 00:53:11.960
to do is just to switch to a different platform
1102
00:53:12.400 --> 00:53:14.840
so you have some new data, new fresh data set rather.
1103
00:53:14.719 --> 00:53:17.000
Than just ignoring the old thing, and like you can
1104
00:53:17.119 --> 00:53:18.000
use my U.
1105
00:53:19.159 --> 00:53:21.360
So they got set up with like app signal like
1106
00:53:21.360 --> 00:53:23.960
in an afternoon and you know, maybe made a confute
1107
00:53:24.119 --> 00:53:26.239
a few co changes to make that work, and then
1108
00:53:26.760 --> 00:53:28.679
it just kind of revitalized the team a little bit
1109
00:53:28.719 --> 00:53:30.679
to start paying attention to that stuff a little bit
1110
00:53:30.679 --> 00:53:33.719
more thoroughly. And so that's always kind of a nice
1111
00:53:33.719 --> 00:53:35.679
thing to be able to know that there's other tools
1112
00:53:35.679 --> 00:53:37.280
that you can kind of play with and maybe get
1113
00:53:37.280 --> 00:53:40.440
a different perspective or look at your data and you're
1114
00:53:40.880 --> 00:53:44.119
the activating your applications from a different perspective, and so
1115
00:53:44.679 --> 00:53:46.880
maybe switch over to honey Badger for six months and
1116
00:53:46.960 --> 00:53:48.599
try that for a bit and see how that maybe
1117
00:53:48.639 --> 00:53:52.440
rethinks your how your team approaches this stuff. Those are
1118
00:53:52.480 --> 00:53:54.400
like usually pretty easy things that teams can do to
1119
00:53:54.480 --> 00:53:57.840
just get some new energy around something rather than being like,
1120
00:53:58.079 --> 00:54:00.400
let's log into the thing. We don't really pay tension
1121
00:54:00.440 --> 00:54:02.000
or I don't really like.
1122
00:54:02.119 --> 00:54:04.280
The UI or all the upsales that they're.
1123
00:54:04.119 --> 00:54:06.440
Doing and not trying to pick on new relic or
1124
00:54:06.519 --> 00:54:08.719
data Dog or whatever, or like people like yeah, data Dog,
1125
00:54:08.760 --> 00:54:10.519
they as soon as we sign up for account with them,
1126
00:54:10.519 --> 00:54:12.760
all over. Developers start getting emails and phone calls all
1127
00:54:12.760 --> 00:54:14.679
the time from their sales people trying to upsell, and
1128
00:54:14.719 --> 00:54:16.719
you're just like, yeah, that's going to happen with this
1129
00:54:16.800 --> 00:54:21.159
bigger company, so other things that I know interesting around
1130
00:54:21.159 --> 00:54:24.000
just seeing things like what debugging tools people are using,
1131
00:54:24.199 --> 00:54:27.559
because there's you know, there's new things popping up, and
1132
00:54:27.599 --> 00:54:31.519
like Ruby Ruby de bug is what sixteen percent now
1133
00:54:32.119 --> 00:54:35.440
and you know the prize at thirty one percent, and
1134
00:54:35.599 --> 00:54:37.800
so I think if you're just people, like a lot
1135
00:54:37.800 --> 00:54:40.239
of people just keep using the same thing that they're
1136
00:54:40.239 --> 00:54:41.800
already used to using for a long time. So I
1137
00:54:41.840 --> 00:54:43.639
think it's sometimes it's just helpful to be aware of
1138
00:54:43.679 --> 00:54:47.840
these things counterpoint. And you know, you mentioned like the
1139
00:54:47.920 --> 00:54:51.400
Ruby versions or we would ask you know, which which
1140
00:54:51.599 --> 00:54:54.639
version or Ruby you're using, not not just like the
1141
00:54:54.920 --> 00:54:57.199
number version, but if I're using like Matt's is Ruby
1142
00:54:57.280 --> 00:55:00.440
versus j Ruby things like that, and let me see
1143
00:55:00.440 --> 00:55:02.599
if I try to remember what the question is, but
1144
00:55:04.679 --> 00:55:08.119
I got I'm not trying to point out unnecessarily, but
1145
00:55:08.440 --> 00:55:13.280
we ended up because the data from from the survey
1146
00:55:14.280 --> 00:55:17.000
the previous years that jay Ruby was so low in
1147
00:55:17.119 --> 00:55:18.679
number of counts that I'm like, I don't feel like
1148
00:55:18.719 --> 00:55:21.039
it's important to keep is that even an option for
1149
00:55:21.079 --> 00:55:23.199
people to check anymore? Because there's another box and let's
1150
00:55:23.199 --> 00:55:26.079
just let people type it in and then that didn't
1151
00:55:26.119 --> 00:55:29.280
make someone all that happy that I removed it. I'm like, well,
1152
00:55:29.280 --> 00:55:32.159
I'm not seeing people can't do that. It's just like
1153
00:55:32.159 --> 00:55:35.840
there's this insignificant number point that I'm like, and they're well,
1154
00:55:35.880 --> 00:55:37.920
this is like a So some people see these these
1155
00:55:37.920 --> 00:55:40.400
are the types of surveys as an opportunity to highlight
1156
00:55:40.440 --> 00:55:42.360
that there are these other tools when they're picking the
1157
00:55:42.400 --> 00:55:45.440
survey that they could be exposed to. So I'm like,
1158
00:55:45.440 --> 00:55:49.639
I can't list every single jam, every single.
1159
00:55:49.880 --> 00:55:50.760
Third party service.
1160
00:55:50.800 --> 00:55:52.599
It's just like we got to kind of do our
1161
00:55:52.599 --> 00:55:55.079
best to try to encounter like what do we know,
1162
00:55:55.119 --> 00:55:57.119
because there's a lot of things about the community and
1163
00:55:57.159 --> 00:55:59.079
the tooling that we don't even we're not even aware of.
1164
00:55:59.119 --> 00:56:01.960
So this is when we I'm usually learning about anythings,
1165
00:56:01.960 --> 00:56:04.440
like oh, what's this falcon thing? You know I've heard
1166
00:56:04.719 --> 00:56:07.039
maybe mentioned, but like a bunch of people are using it.
1167
00:56:07.079 --> 00:56:08.880
I'm like, I didn't even know anything about it. So
1168
00:56:09.679 --> 00:56:11.559
that's always kind of like a fascinating part of the
1169
00:56:12.239 --> 00:56:15.880
surveys too. It's it's it's it's it's it's easy. It's
1170
00:56:15.880 --> 00:56:17.239
not easy to get a lot of people to felt
1171
00:56:17.239 --> 00:56:18.719
the survey, but it's an easy way for me to
1172
00:56:18.920 --> 00:56:21.039
learn a lot about what people are up to in
1173
00:56:21.079 --> 00:56:25.199
the community, so kind of selfishly, yeah, I always wish
1174
00:56:25.199 --> 00:56:31.679
there's like a Ruby toolbox for like services, you know,
1175
00:56:32.239 --> 00:56:35.199
Oh everybody's using this or what is this? You know?
1176
00:56:35.920 --> 00:56:39.119
Uh, yeah, I don't know. I feel like that is
1177
00:56:39.199 --> 00:56:39.840
kind of missing.
1178
00:56:40.880 --> 00:56:44.159
It's a fair point. If anyone listening wants to create
1179
00:56:44.159 --> 00:56:48.480
a some sort of project to do that, I think
1180
00:56:48.480 --> 00:56:53.760
that would be good. But maintaining that keeping an updated
1181
00:56:53.840 --> 00:56:54.639
this is another thing.
1182
00:56:55.119 --> 00:56:58.400
So yeah. One thing that I picked up from the
1183
00:56:58.440 --> 00:57:02.480
survey that I didn't know existed was in the version updates.
1184
00:57:02.920 --> 00:57:05.079
It said, is your team using a dual boot strategy
1185
00:57:05.119 --> 00:57:07.480
for upgrades? And I was like, wait, you could do that?
1186
00:57:07.920 --> 00:57:09.079
So I had to go google it.
1187
00:57:11.519 --> 00:57:14.280
Did you learn much about about that? That said, there's
1188
00:57:14.280 --> 00:57:16.079
a couple of really good tools for that that'll be used.
1189
00:57:16.159 --> 00:57:18.559
I found a gem that does it, and I didn't
1190
00:57:18.559 --> 00:57:19.599
get much further than that.
1191
00:57:19.679 --> 00:57:23.320
But I'm surprised that the boogoot gem.
1192
00:57:23.159 --> 00:57:25.280
That was from shopify someone that I found.
1193
00:57:26.679 --> 00:57:30.039
I'm surprised that after all the conference talks about it,
1194
00:57:30.079 --> 00:57:31.320
that hasn't gotten more adoption.
1195
00:57:33.599 --> 00:57:34.400
It's not that hard.
1196
00:57:35.840 --> 00:57:38.639
Yeah, I'm working a project now. That we have some
1197
00:57:39.639 --> 00:57:42.559
performance issues, that there are tools in rail seven to
1198
00:57:42.559 --> 00:57:45.599
two that are not in Rail seven oh that we
1199
00:57:45.639 --> 00:57:47.920
want to use, like common table expressions and the way
1200
00:57:47.960 --> 00:57:49.360
we want to do some of the things with those.
1201
00:57:50.480 --> 00:57:53.199
So yeah, I was like, huh, well, maybe we can
1202
00:57:53.280 --> 00:57:56.719
use this over there and see how far we get.
1203
00:57:58.039 --> 00:58:02.159
Publish this back in right right before world So I'm
1204
00:58:02.159 --> 00:58:05.480
trying to remember the things that we're kind of like
1205
00:58:05.519 --> 00:58:10.159
capturing my mind at the time. But the the other
1206
00:58:10.159 --> 00:58:14.360
part was just like the just reinforcing the monoliths, I suppose,
1207
00:58:14.400 --> 00:58:17.360
and like that the number of people that are focusing
1208
00:58:17.639 --> 00:58:20.159
building a lot of micro service has been trending down
1209
00:58:20.280 --> 00:58:22.320
for the past I think like last three surveys, so
1210
00:58:22.719 --> 00:58:23.280
say six.
1211
00:58:23.199 --> 00:58:24.239
Years or so.
1212
00:58:24.239 --> 00:58:26.519
So that's been something that's been interesting to see that
1213
00:58:26.840 --> 00:58:29.639
there are and I know that there are a number
1214
00:58:29.639 --> 00:58:32.880
of teams just from doing consulting and talking with different
1215
00:58:32.880 --> 00:58:36.239
companies that are consolidating a lot more stuff and trying
1216
00:58:36.280 --> 00:58:40.320
to do more monolith Their app or at least have
1217
00:58:40.400 --> 00:58:42.519
to be a bit more hybrid than like because they're
1218
00:58:42.559 --> 00:58:46.599
teams shrunk and it's a common pattern that like we
1219
00:58:46.719 --> 00:58:50.320
make a lot of decisions as teams assuming that especially
1220
00:58:50.440 --> 00:58:54.440
for hired during a growth period that we just assume
1221
00:58:54.480 --> 00:58:56.880
that the team's going to continue growing. And then so
1222
00:58:56.920 --> 00:59:00.119
how do we architect our system to support maybe a
1223
00:59:00.159 --> 00:59:03.320
one day larger team. And we don't often make a
1224
00:59:03.320 --> 00:59:05.760
lot of technical decisions with the assumption that we're going
1225
00:59:05.800 --> 00:59:06.920
to be a smaller.
1226
00:59:06.559 --> 00:59:10.039
Team in the future. And maybe that's actually an ideal
1227
00:59:10.159 --> 00:59:12.199
state for that team is to be smaller.
1228
00:59:12.360 --> 00:59:15.199
So how do you weigh kind of weigh those two
1229
00:59:15.199 --> 00:59:17.360
things up, Like, we don't we may not need the
1230
00:59:17.360 --> 00:59:19.639
team we have today in two years to support this thing,
1231
00:59:19.800 --> 00:59:23.519
and that's maybe ideal. Whether the leadership is talking about
1232
00:59:23.519 --> 00:59:26.320
that out a lot or not, that's maybe another issue,
1233
00:59:26.360 --> 00:59:29.360
but that is like a thing. And so like, I
1234
00:59:29.400 --> 00:59:31.079
know a lot of like really really small teams. I'm
1235
00:59:31.079 --> 00:59:32.960
talking like two or three people that are working on
1236
00:59:33.000 --> 00:59:35.599
software projects that I've got like twenty five micro services
1237
00:59:36.239 --> 00:59:38.719
and you're just like, I'm like, this doesn't seem fun.
1238
00:59:39.440 --> 00:59:42.639
How many rails upgrades are you doing? And like, okay,
1239
00:59:43.639 --> 00:59:45.599
well we did this when we were ten people. I'm
1240
00:59:45.599 --> 00:59:47.599
like all right, and then and like and most those
1241
00:59:47.639 --> 00:59:50.159
people aren't even here anymore. So you're just like, okay,
1242
00:59:50.199 --> 00:59:53.599
well this is a fun thing to kind of re
1243
00:59:53.599 --> 00:59:56.880
reconfigure and rethink about how you reframe this stuff, because
1244
00:59:56.920 --> 00:59:59.320
like we had to make a change, and we now
1245
00:59:59.360 --> 01:00:01.480
we got to make a change in three different repositories.
1246
01:00:01.599 --> 01:00:05.639
Figure out the deployment process, scheduling because like these are
1247
01:00:05.719 --> 01:00:09.199
not this this, this doesn't feel super efficient. And it's
1248
01:00:09.199 --> 01:00:11.079
some very similar to the front end framework type of
1249
01:00:11.119 --> 01:00:14.000
issue as well. But micro services and the monolith thing,
1250
01:00:14.079 --> 01:00:17.960
I think it's so monolists are on the rise in
1251
01:00:18.000 --> 01:00:19.840
terms of people trying to keep it keep it in
1252
01:00:20.159 --> 01:00:24.800
like one repo as much as possible unless you really
1253
01:00:24.880 --> 01:00:26.480
really need to start putting some stuff out.
1254
01:00:27.599 --> 01:00:30.960
I'm curious how much of that is thanks to pop packwork,
1255
01:00:32.559 --> 01:00:34.599
because that seems to be a common pattern. Is like
1256
01:00:35.599 --> 01:00:39.840
making micro services in your monolith with packwork, which seems
1257
01:00:39.880 --> 01:00:44.039
to like solve kind of both problems that people face. Uh,
1258
01:00:44.119 --> 01:00:46.039
and the people that want to push for micro services
1259
01:00:46.119 --> 01:00:48.400
feel at ease because it kind of feels like a
1260
01:00:48.400 --> 01:00:52.400
micro service in a way. I don't know what you're
1261
01:00:53.039 --> 01:00:54.119
what your thoughts are on that.
1262
01:00:54.519 --> 01:00:57.639
I know that I Aleen gave a talk at Reil's
1263
01:00:57.639 --> 01:01:01.639
Word about that, and it was kind of a little
1264
01:01:01.679 --> 01:01:04.599
bit critical of doing a lot of that because there's
1265
01:01:04.920 --> 01:01:10.639
very because often the boundaries are not so clearly defined
1266
01:01:10.639 --> 01:01:13.960
and people are like stuff is overreaching all the time. Anyways,
1267
01:01:14.760 --> 01:01:17.039
I don't know that she felt like she had like
1268
01:01:17.079 --> 01:01:20.840
a good way of solving that necessarily, but like I
1269
01:01:20.880 --> 01:01:22.480
think her perspective is like we might.
1270
01:01:22.400 --> 01:01:24.199
Have over we're still over.
1271
01:01:26.000 --> 01:01:29.039
Separating in a way trying to optimize, and it's causing
1272
01:01:29.079 --> 01:01:31.440
other sorts of issues with like ownership within projects and
1273
01:01:31.679 --> 01:01:33.920
feeling like how did how did just teams.
1274
01:01:33.679 --> 01:01:36.079
Work together own projects? Is I think another part of it.
1275
01:01:36.159 --> 01:01:38.599
So there's the human part of that, and then there's
1276
01:01:38.639 --> 01:01:41.559
the technical approaches to solving some of that stuff and
1277
01:01:41.599 --> 01:01:43.239
like trying to weigh that up when the teams are
1278
01:01:43.239 --> 01:01:48.159
maybe not always going to match the technical separation of
1279
01:01:48.199 --> 01:01:51.119
those concerns and so I know, it's it's it's it's
1280
01:01:51.159 --> 01:01:54.320
it's tricky. So but yeah, packwork is definitely an option
1281
01:01:54.440 --> 01:01:56.760
there for kind of approaching them.
1282
01:01:58.840 --> 01:01:59.079
Yep.
1283
01:02:00.559 --> 01:02:03.679
Yeah, I like to try ways from uh just like
1284
01:02:03.760 --> 01:02:07.920
the open ended comments was, uh, you know, move away
1285
01:02:07.920 --> 01:02:09.559
from over engineering.
1286
01:02:09.199 --> 01:02:14.599
Things optimize for a smaller team, And I think even
1287
01:02:14.599 --> 01:02:16.920
if it's the same size team, like if you can
1288
01:02:16.960 --> 01:02:22.360
make this your software project easier for when half of
1289
01:02:22.360 --> 01:02:26.360
your team is on vacation to maintain, Like, wouldn't that
1290
01:02:26.400 --> 01:02:28.960
be a good thing? Wouldn't that feel better? I just
1291
01:02:29.000 --> 01:02:32.320
think there's probably a lot of things that we could
1292
01:02:32.320 --> 01:02:35.320
be asked for, so like like like especially with like deployments,
1293
01:02:35.519 --> 01:02:36.840
is you brought that up as an interesting thing, like
1294
01:02:37.239 --> 01:02:39.519
there was a time when, like we've I think there's
1295
01:02:39.519 --> 01:02:41.239
a lot of benefits. And one of the interesting things
1296
01:02:41.239 --> 01:02:44.800
about why Camal's resonating with some teams or some small
1297
01:02:44.840 --> 01:02:48.079
teams in particular, is that it feels like it's giving
1298
01:02:48.199 --> 01:02:51.679
back some control to the developers a little bit because
1299
01:02:51.719 --> 01:02:54.880
I think within this era where there's a lot of
1300
01:02:54.920 --> 01:03:00.280
emphasis on you know, DevOps type roles and people, there's
1301
01:03:00.320 --> 01:03:03.400
some specialization that came about, you know again, and so
1302
01:03:03.519 --> 01:03:07.159
we've this was a very similar pre you know, go
1303
01:03:07.239 --> 01:03:07.519
back to.
1304
01:03:07.519 --> 01:03:08.440
The early aughts.
1305
01:03:08.480 --> 01:03:11.360
We had a lot of DBAs you know, in our
1306
01:03:11.400 --> 01:03:14.400
in our teams, someone that would manage the database and
1307
01:03:14.440 --> 01:03:18.280
be the guardian and the gatekeeper for adding new columns
1308
01:03:18.400 --> 01:03:21.960
your table, adding new views or soot procedures, and the may'd
1309
01:03:21.920 --> 01:03:23.480
be the ones who managed that. And we were able
1310
01:03:23.519 --> 01:03:25.239
to kind of take some of that and like, no,
1311
01:03:25.360 --> 01:03:27.639
we can do this ourselves. We can we can manage this.
1312
01:03:28.039 --> 01:03:31.639
And then I think over the last decade or more,
1313
01:03:31.800 --> 01:03:36.360
we the infrastructure has got more complicated as we've moved
1314
01:03:36.360 --> 01:03:37.800
to the cloud, and we can do all this stuff.
1315
01:03:37.800 --> 01:03:38.920
And so we have a lot of a lot of
1316
01:03:39.000 --> 01:03:41.000
really large teams really need to do with a lot
1317
01:03:41.000 --> 01:03:42.920
of scaling things. A lot of small teams have some
1318
01:03:42.960 --> 01:03:45.360
scaling issues, but they would then adopt a lot of
1319
01:03:45.400 --> 01:03:48.480
the same approaches that large teams are talking about because
1320
01:03:49.280 --> 01:03:51.880
and so a lot of developers are actually so I
1321
01:03:51.880 --> 01:03:53.559
think back to the question about is it harder or not?
1322
01:03:53.719 --> 01:03:55.960
Is like some people work in environments like and actually
1323
01:03:55.960 --> 01:03:58.719
not responsible for anything but pushing to a branch and
1324
01:03:58.760 --> 01:04:01.519
then some magic happens. But ask me to change that.
1325
01:04:02.280 --> 01:04:04.199
I don't even know where to start. What is this
1326
01:04:04.320 --> 01:04:06.199
terrorform stuff, this cooper net?
1327
01:04:06.239 --> 01:04:07.519
What is this like?
1328
01:04:08.280 --> 01:04:09.800
How does this stuff work? I don't have time for that.
1329
01:04:09.840 --> 01:04:11.840
I'm going to focus on rails and I think that's
1330
01:04:12.039 --> 01:04:14.960
okay in some teams. But it's been a challenge for
1331
01:04:15.400 --> 01:04:18.079
a lot of developers to feel like I can make
1332
01:04:18.159 --> 01:04:20.360
changes or I feel it feels very brittle at times
1333
01:04:20.360 --> 01:04:22.679
because there's some magic stuff that's happening over here, and
1334
01:04:22.719 --> 01:04:23.119
I don't.
1335
01:04:22.960 --> 01:04:24.960
Want to break the infrastructure.
1336
01:04:25.119 --> 01:04:30.199
So infrastructure became a challenge and kind of like just
1337
01:04:30.239 --> 01:04:31.440
to kind of come back to this is just so
1338
01:04:32.199 --> 01:04:34.039
those a lot of teams don't feel like they can
1339
01:04:34.039 --> 01:04:36.119
make those changes. So teams are a lot bigger more
1340
01:04:36.159 --> 01:04:38.639
because there's just people that are specializing in certain things.
1341
01:04:38.679 --> 01:04:39.199
And you got that.
1342
01:04:39.320 --> 01:04:41.239
Now you have that weak point of like what happens
1343
01:04:41.280 --> 01:04:45.079
if that infrastructure person leaves or you need to keep
1344
01:04:45.119 --> 01:04:47.320
them around, and maybe they're not the best person to
1345
01:04:47.320 --> 01:04:49.960
be part of your team. And so I think there's
1346
01:04:50.000 --> 01:04:51.559
like a little bit of things like comal kind of
1347
01:04:51.599 --> 01:04:54.400
like pulling that back a little bit, like we don't
1348
01:04:54.679 --> 01:04:58.199
need all that stuff for a lot of software projects.
1349
01:04:58.519 --> 01:05:00.760
We can do that, but does every project need to
1350
01:05:00.760 --> 01:05:03.599
be deploying every single commit.
1351
01:05:05.760 --> 01:05:10.000
Automatically? Like that's maybe I don't know.
1352
01:05:10.079 --> 01:05:12.719
Maybe maybe you could just wait till someone runs in
1353
01:05:12.719 --> 01:05:15.320
the command once a day and that would be fine.
1354
01:05:16.480 --> 01:05:19.079
But there's gotta be some trade offs there because you're
1355
01:05:19.079 --> 01:05:21.079
spending a lot of money on infrastructure stuff and all
1356
01:05:21.119 --> 01:05:23.920
of those get up actions running or whatever you're using
1357
01:05:23.920 --> 01:05:26.079
for all that stuff. But that is costing your company
1358
01:05:26.159 --> 01:05:29.480
money to do that stuff and it's not free, so
1359
01:05:30.800 --> 01:05:32.599
figure out how to balance that.
1360
01:05:33.840 --> 01:05:36.400
Yeah, all right, Well we're kind of getting to that
1361
01:05:36.519 --> 01:05:38.840
point in time where we go to picks. Before we
1362
01:05:38.920 --> 01:05:41.599
do that, though, Robbie, if people want to connect with
1363
01:05:41.639 --> 01:05:44.440
you online, or they're thinking maybe they have a project
1364
01:05:44.440 --> 01:05:47.199
where they need help from someone like Brent planet ar Gone,
1365
01:05:47.480 --> 01:05:49.360
or they want to listen to the maintainable podcasts, where
1366
01:05:49.400 --> 01:05:50.519
do they find any of that stuff?
1367
01:05:51.000 --> 01:05:51.760
Search for it?
1368
01:05:51.960 --> 01:05:53.559
I mean, you know how to do this stuff.
1369
01:05:54.199 --> 01:05:54.440
Links.
1370
01:05:54.639 --> 01:05:56.119
I'm sure there will be some links in the show
1371
01:05:56.159 --> 01:06:00.000
noteswer I'm Robbie, Robbie Russell or you can find me.
1372
01:06:01.199 --> 01:06:04.159
All right, good deal. Well let's uh let's do some picks.
1373
01:06:04.679 --> 01:06:06.719
Are you sh you want to start us off picks?
1374
01:06:07.079 --> 01:06:11.119
Yeah, that's uh. So she got back from New Zealand,
1375
01:06:11.199 --> 01:06:14.039
so I'm just gonna New Zealand as a country. That's
1376
01:06:14.039 --> 01:06:17.639
gonna be one of my picks. It's just them, It's
1377
01:06:17.880 --> 01:06:20.079
it's probably our favorite place to go on holiday. I
1378
01:06:20.119 --> 01:06:23.880
was there for like six weeks and yeah, the place
1379
01:06:23.920 --> 01:06:24.679
feels fictional.
1380
01:06:24.760 --> 01:06:24.920
Man.
1381
01:06:25.079 --> 01:06:27.639
I went did also, I went to hobbiton so I
1382
01:06:27.679 --> 01:06:33.199
got got this thing from from from hobbiton, which is
1383
01:06:33.239 --> 01:06:35.719
a I don't really do bucket list, but if I
1384
01:06:35.719 --> 01:06:37.639
had a bucket list, I would probably be on there.
1385
01:06:38.440 --> 01:06:41.880
Uh yeah. It was also nice to just get out
1386
01:06:41.880 --> 01:06:45.400
of the British winter for a bit. But near New
1387
01:06:45.480 --> 01:06:48.199
Zealand as a country is one of my picks. And
1388
01:06:48.239 --> 01:06:52.000
then I got back and I binged a new TV
1389
01:06:52.079 --> 01:06:54.480
show because that's what I do. It's called A Man
1390
01:06:54.519 --> 01:06:58.519
on the Inside starring Ted Dunce and it's Michael Shaw's
1391
01:06:58.840 --> 01:07:01.880
new comedy known for other shows like Parks and Rack
1392
01:07:01.920 --> 01:07:04.800
Brooklyn nine nine in the Good Place. So his new
1393
01:07:04.800 --> 01:07:07.480
shows as like, what's only eight episodes to spend an
1394
01:07:07.519 --> 01:07:11.159
evening and binge the whole thing. Very funny, very enjoyable.
1395
01:07:12.320 --> 01:07:16.400
Recommend that. And I'll finish off with that technical pick,
1396
01:07:16.480 --> 01:07:22.679
which is the acinc container gem by Samuel Williams. I
1397
01:07:22.719 --> 01:07:24.320
have the chance to hang out with him while I
1398
01:07:24.360 --> 01:07:27.360
was in New Zealand, and one of the things we
1399
01:07:27.519 --> 01:07:31.199
kind of played around with was the acink container gem,
1400
01:07:31.280 --> 01:07:37.079
which it's kind of just a way to like orchestrate
1401
01:07:37.199 --> 01:07:41.320
roovy processes. So instead of like packaging everything after the
1402
01:07:41.360 --> 01:07:46.480
darker container, you just have any acinc container manage all
1403
01:07:46.519 --> 01:07:50.079
your different processes, and it kind of deals with restarting
1404
01:07:50.159 --> 01:07:53.119
and blue green deployers and all that kind of stuff,
1405
01:07:53.159 --> 01:07:55.199
and kind of playing around with it to see if
1406
01:07:55.239 --> 01:07:58.639
I can get it to work nicely with just generic
1407
01:07:58.719 --> 01:08:02.039
rails up with apps be mine stuff. But yeah, I
1408
01:08:02.079 --> 01:08:06.280
think it's a very underrated gem and they I highly
1409
01:08:06.280 --> 01:08:09.559
recommend checking it out. So yeah, those are my three
1410
01:08:09.599 --> 01:08:10.400
picks for today.
1411
01:08:11.599 --> 01:08:14.199
Awesome, Valentino, what are your picks?
1412
01:08:14.559 --> 01:08:20.039
I just got done taking this incredible Ruby AI engineering
1413
01:08:20.079 --> 01:08:24.039
training and planning workshop with Max Irwin and Landing Gray.
1414
01:08:24.880 --> 01:08:26.039
I highly recommend it.
1415
01:08:26.800 --> 01:08:29.000
We got a bunch of folks at doximity to attend
1416
01:08:29.000 --> 01:08:32.640
it and just like filled so many knowledge gaps and
1417
01:08:33.319 --> 01:08:37.640
just learned a ton and I'm looking forward to applying
1418
01:08:37.760 --> 01:08:42.319
just like, yeah, a massive amount of information there.
1419
01:08:43.560 --> 01:08:44.960
So definitely check that out.
1420
01:08:45.239 --> 01:08:50.199
I hope they continue doing it, because yeah, I was
1421
01:08:50.239 --> 01:08:53.279
just incredibly well put together, and I've never used Jupiter
1422
01:08:53.359 --> 01:08:56.960
notebooks with Ruby before, so that was very interesting and
1423
01:08:57.520 --> 01:08:58.039
kind of fun.
1424
01:08:58.359 --> 01:09:02.239
Uh So uh that that on its own kind of
1425
01:09:02.239 --> 01:09:02.640
worth it.
1426
01:09:04.880 --> 01:09:05.720
My My other.
1427
01:09:05.560 --> 01:09:11.000
Pick is I I just pre ordered this giant three
1428
01:09:11.079 --> 01:09:16.840
D printer from elagu. It's uh it's called orange Storm
1429
01:09:16.880 --> 01:09:20.439
Giga and you can print like furniture size things with it.
1430
01:09:20.720 --> 01:09:23.720
So I'm I'm pretty excited to Uh.
1431
01:09:23.960 --> 01:09:24.760
You meant giant.
1432
01:09:24.840 --> 01:09:30.039
Wow, I went giant is massive. Yeah, it's the size
1433
01:09:30.079 --> 01:09:34.840
of a person. Uh. And it's honestly not that expensive
1434
01:09:35.359 --> 01:09:36.039
for what it is.
1435
01:09:36.439 --> 01:09:41.720
Uh And so uh I recommend at least looking at it.
1436
01:09:41.720 --> 01:09:46.560
It's pretty pretty incredible what you can do these days.
1437
01:09:47.800 --> 01:09:50.640
Nice your friends come over and ask you what you
1438
01:09:50.720 --> 01:09:55.399
do in your phone booth. All right, I've got a
1439
01:09:55.399 --> 01:10:00.159
few picks here, so I always do a boarding and
1440
01:10:00.199 --> 01:10:04.479
pick first. And so the game I'm gonna pick this
1441
01:10:04.520 --> 01:10:10.720
time is Machi Koro two. I have picked Machi Koro
1442
01:10:10.880 --> 01:10:16.239
in the past. Machi Koro two is you basically played
1443
01:10:16.279 --> 01:10:19.399
by the same rules as Machi Koro. The difference is
1444
01:10:19.399 --> 01:10:24.560
is that you have instead of the different kinds of
1445
01:10:24.560 --> 01:10:26.720
buildings just being all in their stacks and you can
1446
01:10:26.760 --> 01:10:30.199
just buy whatever's out there, you actually flip cards to
1447
01:10:31.279 --> 01:10:35.199
expose the different types of the different buildings. And so,
1448
01:10:35.560 --> 01:10:37.640
just to give a quick rundown on how the game works,
1449
01:10:38.239 --> 01:10:41.920
you buy buildings, you roll the dice. If you roll at
1450
01:10:41.960 --> 01:10:43.880
dice on a card that you have in front of
1451
01:10:43.880 --> 01:10:47.319
you that's green or blue, then you get then you
1452
01:10:47.359 --> 01:10:50.439
get money. If anyone else has a red card with
1453
01:10:50.479 --> 01:10:52.359
that number on it, then you have to pay them money.
1454
01:10:53.479 --> 01:10:57.399
And the green cards on other people's turns you also
1455
01:10:57.399 --> 01:11:00.960
get paid for. So that I mean that that's more
1456
01:11:01.039 --> 01:11:03.039
or less it you're trying. The way you win is
1457
01:11:03.079 --> 01:11:07.920
you build three No, you build four landmarks in Machi Koro.
1458
01:11:08.479 --> 01:11:11.680
Everybody has the same landmarks in Mahi Koro two. One
1459
01:11:11.720 --> 01:11:13.920
of the piles that you're flipping cards out of to
1460
01:11:14.000 --> 01:11:18.960
expose which landmark you can build or is the landmarks,
1461
01:11:18.960 --> 01:11:21.880
and then the others are the different building types based
1462
01:11:21.880 --> 01:11:25.279
on costs or based on the number year role. So
1463
01:11:25.359 --> 01:11:29.600
one through six and then seven through twelve. I mean
1464
01:11:29.600 --> 01:11:33.199
that's it. You just go until somebody's built three landmarks
1465
01:11:33.239 --> 01:11:38.000
in this game and you're done. And it takes forty
1466
01:11:38.039 --> 01:11:42.000
five minutes maybe to play a full game. It's relatively simple.
1467
01:11:43.319 --> 01:11:47.680
I think it's rated ten plus, and I think the
1468
01:11:47.800 --> 01:11:50.119
kids younger than that, not a ton younger, but younger
1469
01:11:50.119 --> 01:11:52.239
than that could probably play it. My nine year old
1470
01:11:52.239 --> 01:11:57.960
could probably play it just fine. It let's see has
1471
01:11:58.000 --> 01:12:01.159
a board game weight on board game Geek of one
1472
01:12:01.159 --> 01:12:07.920
point four eight, So you know, Casual Gamer a little
1473
01:12:08.000 --> 01:12:10.479
less complicated than some of the other games out there.
1474
01:12:11.399 --> 01:12:14.319
And yeah, I just we had a good time playing it,
1475
01:12:14.359 --> 01:12:17.039
so got it for Christmas. So I'm gonna pick that.
1476
01:12:17.239 --> 01:12:25.560
And then I've been I started the Stormlight Archive series
1477
01:12:25.600 --> 01:12:28.399
by Brandon Sanderson again and so I'm enjoying those, so
1478
01:12:28.399 --> 01:12:36.279
I'll pick those, and I'm trying to grab a link
1479
01:12:36.359 --> 01:12:42.399
for those. I think that's basically all I've got for
1480
01:12:42.479 --> 01:12:45.960
picks this time around. I started playing with open Router.
1481
01:12:46.039 --> 01:12:49.159
I'll guess I'll pick them too. There's a gem for that.
1482
01:12:49.199 --> 01:12:53.840
It's written by Obi Fernandez, and it lets you use
1483
01:12:53.880 --> 01:12:55.920
the different AI l ll ms and things like that
1484
01:12:55.960 --> 01:12:58.319
for some of the stuff you're doing. It's it's what
1485
01:12:58.359 --> 01:13:01.520
he recommends you use in his book about the AI development.
1486
01:13:01.600 --> 01:13:06.199
So anyway, check out open Router and the open Router.
1487
01:13:06.319 --> 01:13:08.119
Jim and Robbie, do you have some stuff you want
1488
01:13:08.159 --> 01:13:08.960
to shout out about?
1489
01:13:09.319 --> 01:13:11.840
Yeah, let's see a couple of things that come to
1490
01:13:12.079 --> 01:13:15.079
come to mind. Is a quick shout out to Joe
1491
01:13:15.119 --> 01:13:18.800
Mazzati for releasing hot Wire Native this last week. It's
1492
01:13:18.840 --> 01:13:21.520
out on beta now, So if that's something you're interested
1493
01:13:21.520 --> 01:13:24.119
in him and I are going to grab coffee next week.
1494
01:13:24.159 --> 01:13:25.840
So we live in the same town, so we can
1495
01:13:26.039 --> 01:13:28.079
see each other every once in a while. That's always
1496
01:13:28.159 --> 01:13:31.079
fun to catch up with him. And then also i've
1497
01:13:31.079 --> 01:13:33.760
been real quick. We're gonna have Joe on in a
1498
01:13:33.760 --> 01:13:36.319
few weeks to talk about Yeah, in a few weeks
1499
01:13:36.319 --> 01:13:41.159
to talk about his book and the stuff he did wonderful. Also,
1500
01:13:41.319 --> 01:13:44.159
I've been a one of the things you mentioned talking
1501
01:13:44.199 --> 01:13:47.640
about Oma Zeshell. Wild thing about being part of that
1502
01:13:48.319 --> 01:13:51.079
CLI environment is that I get approached by a lot
1503
01:13:51.119 --> 01:13:55.520
of people that are building new terminal emulators all the time, like,
1504
01:13:55.640 --> 01:13:59.239
so usually get to be get early access to tools
1505
01:13:59.279 --> 01:14:01.600
and get to be early testers for things. So I've
1506
01:14:01.600 --> 01:14:03.880
been using a thing called Ghosty for I don't know,
1507
01:14:03.880 --> 01:14:06.039
maybe nine months off and on, and so that got
1508
01:14:06.039 --> 01:14:07.840
released a couple of weeks ago, and that's why I
1509
01:14:08.399 --> 01:14:12.279
was released by Mitchell Hashimoto. And it's pretty slick, and
1510
01:14:12.319 --> 01:14:14.199
I think there's gonna be a lot of fun innovation
1511
01:14:14.479 --> 01:14:17.319
on the our criminal emulators in the next few years,
1512
01:14:17.359 --> 01:14:21.359
so that'll be kind of exciting non tech related stuff
1513
01:14:21.640 --> 01:14:24.239
I'm trying to think of. It's like coming out of
1514
01:14:24.239 --> 01:14:27.880
the holiday season, but I recently watched the Penguin series
1515
01:14:28.039 --> 01:14:31.560
on HBO Max. I am not a comic, but personally
1516
01:14:31.560 --> 01:14:32.840
I don't go on my way. I watched like the
1517
01:14:32.880 --> 01:14:34.520
Batman movies every once and a while and stuff like that,
1518
01:14:34.560 --> 01:14:36.640
but I wasn't sure if I'd liked this type of thing.
1519
01:14:37.439 --> 01:14:39.600
I loved it.
1520
01:14:39.600 --> 01:14:43.279
It was such a good I really really enjoyed that
1521
01:14:43.279 --> 01:14:47.199
that series. And yeah, I would just say that that
1522
01:14:47.239 --> 01:14:50.279
was good. And then also one of my favorite bands,
1523
01:14:50.319 --> 01:14:53.279
Magwife from Scotland has a couple of new singles out
1524
01:14:53.319 --> 01:14:55.119
and a new album coming out and they're a huge
1525
01:14:55.119 --> 01:14:58.199
influence on my band and my my own music. Its influence,
1526
01:14:58.239 --> 01:15:01.039
so check out the I had another new song called
1527
01:15:01.079 --> 01:15:04.560
I think it was called Fanzine Made of Flesh or
1528
01:15:04.600 --> 01:15:06.159
something as the name of the new song that came
1529
01:15:06.159 --> 01:15:09.039
out this last week. That that's pretty good. So I'm
1530
01:15:09.039 --> 01:15:11.239
pretty pretty excited to get to see them and again
1531
01:15:11.279 --> 01:15:12.319
when they come on tour soon.
1532
01:15:12.439 --> 01:15:16.399
So there's those are my picks, all right?
1533
01:15:16.399 --> 01:15:20.000
Good deal? Well, thanks for coming. This was fascinating conversation
1534
01:15:20.960 --> 01:15:22.720
and it's always good to catch up.
1535
01:15:22.920 --> 01:15:25.680
Yeah. Likewise, nice to meet too, Valentino. I uish and
1536
01:15:26.159 --> 01:15:29.119
thanks for having me and talk to you again some
1537
01:15:29.079 --> 01:15:31.920
about the point in the future. I hope
1
00:00:04.599 --> 00:00:07.559
Hey folks, welcome back to another episode of the Ruby
2
00:00:07.639 --> 00:00:13.080
Rogues podcast, the Sweet Conod Panel. We have a Yushnawatia Hello, Hello,
3
00:00:13.839 --> 00:00:15.919
also a Valentino stole in.
4
00:00:16.079 --> 00:00:16.199
Now.
5
00:00:17.120 --> 00:00:20.199
I'm Charles Maxwood from top End Devs and this week
6
00:00:20.239 --> 00:00:22.320
we have a special guest. We have Robbie Russell from
7
00:00:22.359 --> 00:00:26.879
Planet Are Gone. Robbie, do you want to I don't know.
8
00:00:26.920 --> 00:00:28.640
I'm like, where do we even start? You know, O
9
00:00:28.719 --> 00:00:31.440
my zshell or what's.
10
00:00:31.239 --> 00:00:31.879
A amazy show?
11
00:00:33.200 --> 00:00:37.119
Now? Yeah? Hi nice, thanks for having me on today.
12
00:00:37.679 --> 00:00:40.640
Good morning, Good afternoon everybody. So, yeah, I run a
13
00:00:40.640 --> 00:00:43.479
company called Planet Argon. We're a soccer consultancy. We've been
14
00:00:43.880 --> 00:00:48.000
around for twenty almost twenty three years now, part of
15
00:00:48.000 --> 00:00:51.320
the Rail's ecosystem for just over twenty years now, and
16
00:00:52.280 --> 00:00:55.079
we help companies with existing rails applications make them better
17
00:00:55.119 --> 00:00:56.200
and more maintainable.
18
00:00:56.759 --> 00:00:58.479
We do a lot of consulting work in that space.
19
00:00:59.039 --> 00:01:02.119
And I also so I'm known for having created O
20
00:01:02.200 --> 00:01:05.159
my zshell Once upon a Time, which is an open
21
00:01:05.200 --> 00:01:09.079
source configuration framework for z shell if that's something you
22
00:01:09.159 --> 00:01:11.640
like to use on the command line, and an open
23
00:01:11.640 --> 00:01:14.480
source contributor for about twenty five years. I'm also the
24
00:01:14.480 --> 00:01:17.640
host of the Maintainable Software podcasts, where I interview people
25
00:01:17.680 --> 00:01:20.599
about best practices when it comes to taking care of
26
00:01:20.760 --> 00:01:24.760
older legacy applications across a lot of different frameworks and
27
00:01:24.799 --> 00:01:26.680
tech stacks. That's not a rail specific but there's a
28
00:01:26.680 --> 00:01:28.640
lot of Ruby and rails related contact because that's my
29
00:01:29.319 --> 00:01:32.239
orbit that I exist in, and I also play guitar
30
00:01:32.359 --> 00:01:36.079
in an instrumental rock band called the Mighty Misula.
31
00:01:37.599 --> 00:01:41.439
Cool. I didn't know about the rock band. I admired
32
00:01:41.439 --> 00:01:43.120
you from Afar for a long time for all the
33
00:01:43.120 --> 00:01:46.439
other stuff. So yeah, it's exciting to have you on.
34
00:01:47.920 --> 00:01:49.879
We brought you on to talk about I got an
35
00:01:49.879 --> 00:01:53.280
email from you. I think I'm on an e mailing
36
00:01:53.280 --> 00:01:58.239
list somewhere, and it basically said the Stimulus JS replaced
37
00:01:58.879 --> 00:02:01.879
Here we go. Stimulus has dethroned reacts as the most
38
00:02:01.879 --> 00:02:05.799
popular JS library for rails apps. And so then I
39
00:02:05.840 --> 00:02:07.920
went and looked at the survey and that that was
40
00:02:08.000 --> 00:02:10.560
kind of interesting. I want to ask you about all
41
00:02:10.560 --> 00:02:15.560
of the other things though, so sure, uh yeah, let's
42
00:02:15.560 --> 00:02:17.439
go ahead. And I just want to get a little
43
00:02:17.439 --> 00:02:18.960
bit of background. I mean, I use on my z
44
00:02:19.080 --> 00:02:24.319
shell and it's oh my helpful and so I'm curious
45
00:02:24.360 --> 00:02:27.240
what the story is behind that. And then I'd also
46
00:02:27.280 --> 00:02:29.120
like to talk a little bit about Planet Argone before
47
00:02:29.120 --> 00:02:29.919
we get into survey.
48
00:02:30.080 --> 00:02:31.120
Yeah, yeah, that sounds great.
49
00:02:31.159 --> 00:02:35.120
So oh my DHL. I first, really, we celebrated fifteen
50
00:02:35.199 --> 00:02:37.560
years that I since I released it back and I
51
00:02:37.560 --> 00:02:39.599
think it was August now, it was fifteen years ago,
52
00:02:39.719 --> 00:02:41.840
so fifteen and a couple extra months now.
53
00:02:43.080 --> 00:02:44.919
I have been using ZHL for a couple of years.
54
00:02:45.680 --> 00:02:48.919
A lot of peers in the Ruby ecosystem at the time,
55
00:02:49.560 --> 00:02:53.280
we would all share a little configuration ideas for how
56
00:02:53.280 --> 00:02:55.280
to use VHL and optimize it and get was kind
57
00:02:55.280 --> 00:02:57.439
of a new thing at the time, so doing things
58
00:02:57.439 --> 00:02:59.800
like having your giit branch in your prompt was kind
59
00:02:59.840 --> 00:03:02.639
of a really new cool idea and I think it
60
00:03:02.719 --> 00:03:05.319
helped us. I think it was this a good timing
61
00:03:05.360 --> 00:03:07.759
overlap with trying to wrap her head around like local
62
00:03:07.759 --> 00:03:12.319
branches at the time. So but basically I had compiled
63
00:03:12.360 --> 00:03:15.360
this crazy z shehell configuration file that half of it
64
00:03:15.400 --> 00:03:17.319
I kind of understood half of it. I probably didn't
65
00:03:17.319 --> 00:03:19.120
because I was just copy and pasting and trading things
66
00:03:19.120 --> 00:03:22.759
with my friends over IRC channels or old websites like pasty,
67
00:03:22.800 --> 00:03:25.280
which was kind of like a gist before get up existed.
68
00:03:26.120 --> 00:03:29.039
And I would be parent pargnering with one of my
69
00:03:29.080 --> 00:03:32.120
coworkers at my company on a thing, and we'd be
70
00:03:32.159 --> 00:03:35.120
on their computer and I would get frustrated because all
71
00:03:35.120 --> 00:03:38.639
of my muscle memory wouldn't I remember how to do
72
00:03:39.000 --> 00:03:40.599
how to fully write out of the commands because a
73
00:03:40.639 --> 00:03:44.240
lot of shortcuts and aliases and little optimizations that I
74
00:03:44.280 --> 00:03:46.360
had added to my own configuration file. So I was
75
00:03:46.800 --> 00:03:48.840
I found myself just feeling frustrated with myself, and so
76
00:03:48.879 --> 00:03:50.919
I'd be like, hey, why don't you use zshell and
77
00:03:51.000 --> 00:03:54.000
just copy my configuration file and then and then I'll
78
00:03:54.039 --> 00:03:56.280
show you how you can be quicker at the command line,
79
00:03:56.360 --> 00:03:59.120
as I feel like a lot more efficient now. And
80
00:03:59.159 --> 00:04:01.719
so I would kind of encourage my team to do that,
81
00:04:01.800 --> 00:04:04.439
and a few people would take take me up on that,
82
00:04:04.479 --> 00:04:07.919
but several people didn't like one person, particularly named Carlos,
83
00:04:07.919 --> 00:04:10.680
on my team. He was very resistant to because he
84
00:04:10.680 --> 00:04:13.039
didn't he wanted to understand what the config file did.
85
00:04:13.039 --> 00:04:14.560
And I was He's like, well, walk me through it,
86
00:04:14.560 --> 00:04:17.000
and I'm like, I honestly can't because I don't really
87
00:04:17.079 --> 00:04:19.759
understand a lot of this gibberish z Sholl sent text
88
00:04:19.839 --> 00:04:23.199
does and so we kind of, you know, we butted
89
00:04:23.240 --> 00:04:24.839
heads a little bit, and he wouldn't take me up
90
00:04:24.839 --> 00:04:28.519
on the idea. So I decided one weekend, I'm like,
91
00:04:28.519 --> 00:04:30.000
you know what I'm gonna I'm going to try to
92
00:04:30.079 --> 00:04:32.399
document my config file. I'm gonna go through and just
93
00:04:32.399 --> 00:04:34.199
add some comments. I'm going to like look up the
94
00:04:34.199 --> 00:04:37.360
documentation in the z shell syntax and I'm going to
95
00:04:37.399 --> 00:04:39.399
try to understand this. And then as I started doing that,
96
00:04:39.480 --> 00:04:42.879
I started like refactoring it basically and moving in and
97
00:04:42.879 --> 00:04:44.360
I'm like, well, this is like a really big file.
98
00:04:44.399 --> 00:04:46.600
What if I made I should probably use some version controls,
99
00:04:46.600 --> 00:04:48.839
So I'll put this in and get repository. And I
100
00:04:48.879 --> 00:04:51.680
started making like separating out this big config file into
101
00:04:51.720 --> 00:04:55.279
several smaller, messy config files. And then I slapped a
102
00:04:55.360 --> 00:04:56.959
name on it, and I called it on my seashell
103
00:04:57.040 --> 00:04:58.839
because it was a playoff of another project that I
104
00:04:58.839 --> 00:04:59.279
had worked on a.
105
00:04:59.279 --> 00:05:01.040
Couple of months before, or with a different coworker.
106
00:05:01.680 --> 00:05:03.399
We didn't really put a lot of thought into that either,
107
00:05:04.079 --> 00:05:06.199
but I created like a read me with an install guide,
108
00:05:06.199 --> 00:05:09.480
which was basically like a get clone of this repository
109
00:05:09.480 --> 00:05:12.279
that I created, and then and then you could use
110
00:05:12.279 --> 00:05:15.240
my knfig file, and so I felt like I just elevated.
111
00:05:15.279 --> 00:05:17.519
But that was like maybe a handful a few hours
112
00:05:17.519 --> 00:05:19.920
worth the work of cleaning up that file and turning
113
00:05:19.959 --> 00:05:22.639
it into this new repository. Threw it up on GitHub,
114
00:05:22.800 --> 00:05:24.600
and then I dropped that link I don't remember if
115
00:05:24.600 --> 00:05:29.600
for using campfire or some other chat tool back in
116
00:05:29.680 --> 00:05:32.000
the back in two thousand and nine, dropped it in
117
00:05:32.040 --> 00:05:37.680
our team's chat. Everybody installed it on Monday victory I won.
118
00:05:37.879 --> 00:05:40.360
Everybody now had my canfiic file, so I would go
119
00:05:40.439 --> 00:05:42.040
to the computer and I would all the same things.
120
00:05:42.079 --> 00:05:44.480
So that was my goal, was just to have everybody
121
00:05:44.519 --> 00:05:46.920
in my office kind of have the same ISSU configure,
122
00:05:47.000 --> 00:05:50.360
so that I could show them how to feel like
123
00:05:50.399 --> 00:05:53.600
a superhero and the command line, and I wouldn't have
124
00:05:53.639 --> 00:05:56.000
to remember how to like do everything like write out
125
00:05:56.000 --> 00:05:57.839
all tho syntax for a lot of the obscure commands
126
00:05:57.839 --> 00:06:01.600
that we were running. But then, so the thing that
127
00:06:01.639 --> 00:06:03.199
a lot of people know about owens the shells that
128
00:06:03.240 --> 00:06:05.079
it comes with a lot of themes and tons of
129
00:06:05.079 --> 00:06:07.240
plug ins, and like none of that was remotely on
130
00:06:07.319 --> 00:06:10.240
my dea my was it even something I had considered?
131
00:06:10.959 --> 00:06:13.319
That next day, one of my co workers, Gary said,
132
00:06:13.319 --> 00:06:16.480
how do I change the colors? I was like, why
133
00:06:16.519 --> 00:06:18.879
would you want to do that? My color choices are perfect?
134
00:06:19.360 --> 00:06:21.000
And I was like, well, here you can go in
135
00:06:21.000 --> 00:06:23.439
this file. I moved like I think I had like
136
00:06:24.319 --> 00:06:27.319
colors or prompt file configuration files. I'm like, you can
137
00:06:27.399 --> 00:06:29.279
change the colors in here, and here's like the syntax
138
00:06:29.319 --> 00:06:32.079
for that. So we started doing that. He started making changes,
139
00:06:32.600 --> 00:06:34.800
and then other team members wanted to add contribute their
140
00:06:34.800 --> 00:06:38.759
own little shortcuts and little functions and aliases as well,
141
00:06:39.439 --> 00:06:41.279
and so we were kind of working together on this,
142
00:06:41.439 --> 00:06:45.600
and Gary couldn't do a get pull and get pushed
143
00:06:45.600 --> 00:06:48.240
cleanly because he had changed the file, you know, and
144
00:06:48.279 --> 00:06:50.319
get conflict, and so we're like, so we're like kind
145
00:06:50.319 --> 00:06:52.839
of like, well, so we had like stash it and
146
00:06:52.879 --> 00:06:56.439
then pull the changes and then reapply them. And I'm like, well,
147
00:06:56.439 --> 00:06:59.120
this doesn't feel very sustainable because then another co worker
148
00:06:59.160 --> 00:07:01.959
is like, I want to change the COLO and so
149
00:07:02.000 --> 00:07:03.120
I was like, well, what can.
150
00:07:03.000 --> 00:07:03.480
We do here?
151
00:07:03.519 --> 00:07:05.720
And I was like, oh, I know, I'll just move
152
00:07:06.000 --> 00:07:08.560
my prompt file into its own thing and call it
153
00:07:08.639 --> 00:07:09.279
Robbie Russell.
154
00:07:09.480 --> 00:07:11.639
We'll call it a theme. These are themes.
155
00:07:12.000 --> 00:07:14.319
Gary has his, I have mine, Carlos can have his,
156
00:07:14.439 --> 00:07:18.000
Allison can have hers. And so it created the concept
157
00:07:18.000 --> 00:07:21.319
of themes, which became like a configuration option. And so
158
00:07:21.399 --> 00:07:23.959
then I met I mentioned it on my blog and
159
00:07:25.519 --> 00:07:27.160
Robbie on rails back in the day, and so it's
160
00:07:27.160 --> 00:07:30.199
mostly within the Ruby ecosystem. And then about a month
161
00:07:30.279 --> 00:07:32.959
later we started getting contributions. But about and a lot
162
00:07:32.959 --> 00:07:34.959
of themes started popping in by other people as well,
163
00:07:35.040 --> 00:07:35.279
so that.
164
00:07:35.319 --> 00:07:36.480
Was kind of like a fun thing.
165
00:07:36.519 --> 00:07:38.560
I suppose, like, hey, we have this real repository.
166
00:07:38.600 --> 00:07:39.560
We can inspire each other.
167
00:07:39.879 --> 00:07:41.920
And about a month later someone reached out and said, hey,
168
00:07:42.000 --> 00:07:45.079
this is really cool, but I'm a Python developer. I
169
00:07:45.079 --> 00:07:47.720
don't need all this Ruby stuff loaded up when I
170
00:07:47.759 --> 00:07:49.279
when I run this, Like I want to use the
171
00:07:49.279 --> 00:07:50.920
prompt stuff with all the get stuff, but I don't
172
00:07:50.920 --> 00:07:52.920
need all the Rails and Ruby stuff that you have loaded.
173
00:07:52.959 --> 00:07:54.720
So I was like, oh, that's interesting.
174
00:07:55.360 --> 00:07:57.639
I don't want all that pie stuff Python stuffloaded when
175
00:07:57.639 --> 00:08:01.040
I use it, so maybe we'll all these plugins. And
176
00:08:01.120 --> 00:08:03.160
so I moved all the Rails stuff and Ruby's stuff
177
00:08:03.160 --> 00:08:05.600
into its own thing, and we had Python stuff come in,
178
00:08:06.240 --> 00:08:08.480
and then that just opened the floodgates for other people
179
00:08:08.560 --> 00:08:10.160
be like, oh, I got this thing from my framework,
180
00:08:10.240 --> 00:08:11.959
or I had this other tool that I'm only using.
181
00:08:12.000 --> 00:08:12.319
And so.
182
00:08:13.800 --> 00:08:17.600
This stuff kind of organically evolved as the community started
183
00:08:17.680 --> 00:08:19.879
using it and pitching ideas, and I was like, well,
184
00:08:19.879 --> 00:08:22.120
here's a way to kind of organize that. We'll just
185
00:08:22.560 --> 00:08:25.720
throw these in different directories with different kind of enable
186
00:08:25.800 --> 00:08:28.639
these things, and that just kind of snowballed into this
187
00:08:28.839 --> 00:08:31.079
thing that's kind of evolved over the last fifteen plus
188
00:08:31.160 --> 00:08:34.840
years where we've had several remember the number of I
189
00:08:34.879 --> 00:08:39.320
think we've had, Remember how many couple we've had more
190
00:08:39.320 --> 00:08:42.080
than a couple of thousand contributors directly to the core
191
00:08:42.159 --> 00:08:45.120
project contribute code, and it's one of the most like
192
00:08:45.159 --> 00:08:48.519
starred projects on GitHub and it's kind of wild. But
193
00:08:48.919 --> 00:08:50.840
I don't make any money with it. I sell stickers
194
00:08:50.840 --> 00:08:55.240
and T shirts. That's fun. But it's always been this
195
00:08:55.320 --> 00:08:57.200
kind of like fun, little open source thing that I
196
00:08:57.240 --> 00:09:00.639
can occasionally spend some time thinking about, but it doesn't
197
00:09:00.639 --> 00:09:03.480
occupy a lot of my brain space. Despite how wildly
198
00:09:04.480 --> 00:09:07.519
wide ranged in popular it has seemingly been.
199
00:09:09.399 --> 00:09:14.200
That's awesome. I love it. Yeah. I also want to
200
00:09:14.240 --> 00:09:16.480
just talk a little bit about Planet Argon. You guys
201
00:09:16.480 --> 00:09:18.519
have been around for a while. Was this before or
202
00:09:18.519 --> 00:09:20.679
aftermyzshell and before?
203
00:09:20.799 --> 00:09:21.000
Yeah?
204
00:09:21.639 --> 00:09:24.200
Yeah? Story with yeah how that got started?
205
00:09:24.399 --> 00:09:27.000
So I actually started planning Argon I see back in
206
00:09:27.000 --> 00:09:30.200
two thousand and two as a what I would because
207
00:09:30.200 --> 00:09:31.639
I was had a day job and I was like,
208
00:09:31.679 --> 00:09:33.799
I want to do we work with I worked at
209
00:09:33.840 --> 00:09:36.000
a company in some software development and we were uh
210
00:09:36.200 --> 00:09:40.120
that company was a dot net shop, and I was
211
00:09:40.200 --> 00:09:44.519
really interested in open source, and nobody at larger companies
212
00:09:44.559 --> 00:09:48.440
was really hiring open source technology people that often, and
213
00:09:48.519 --> 00:09:52.279
so I love PHBA. It was really it. Had co
214
00:09:52.360 --> 00:09:55.120
founded a Linux user group here in Portland, Oregon, and
215
00:09:55.639 --> 00:09:56.919
so I was already kind of doing a lot of
216
00:09:57.039 --> 00:09:58.879
fun open source stuff, and so I was like trying
217
00:09:58.879 --> 00:10:00.879
to trains like, Okay, I do this net how do
218
00:10:00.879 --> 00:10:03.960
I do this in PHP? And then I started like,
219
00:10:04.000 --> 00:10:05.600
you know, maybe I can get some freelance work on
220
00:10:05.639 --> 00:10:08.240
the side, And so I decided to incorporate that as
221
00:10:08.240 --> 00:10:11.039
a plan Argon. Thought I would make it sound like
222
00:10:11.039 --> 00:10:12.559
I'm bigger than just me, and it was like me
223
00:10:12.639 --> 00:10:16.240
and then my partner at the time, she was a designer,
224
00:10:16.320 --> 00:10:19.480
so we would. She would work on web design stuff
225
00:10:19.480 --> 00:10:21.039
and I did a lot of back end development, so
226
00:10:21.080 --> 00:10:23.399
we collaborate on stuff. So she had her company, I
227
00:10:23.440 --> 00:10:25.600
had mine, and so we so I was like, I'm
228
00:10:25.600 --> 00:10:28.320
gonna call my planet Argon, which was a reference to
229
00:10:28.360 --> 00:10:31.960
a fictional book or a fictional place in a Tom
230
00:10:32.000 --> 00:10:34.919
Robbins book called Still Left with Woodpecker, which is where
231
00:10:34.960 --> 00:10:37.559
redheads came from. So I had nothing to do with anything.
232
00:10:37.600 --> 00:10:42.080
It wasn't some clever idea of gases or you know,
233
00:10:42.360 --> 00:10:45.600
the scientific chart there. It was literally just like a
234
00:10:46.120 --> 00:10:50.159
it's me, I have red hair, plane ragon, goofy little thing.
235
00:10:50.320 --> 00:10:51.559
So I did that for a couple of years, doing
236
00:10:51.639 --> 00:10:54.200
like side projects. In two thousand and four, I quit
237
00:10:54.240 --> 00:10:57.519
my last job to work full time on Planet Argon,
238
00:10:57.639 --> 00:11:01.440
just as a you know, freelance insultant. And then and
239
00:11:01.720 --> 00:11:04.480
beginning of two thousand, late two thousand and four, begin
240
00:11:04.559 --> 00:11:06.399
two thousand and five, I got introduced to ruby and
241
00:11:06.440 --> 00:11:07.600
Ruby on rails and started doing that.
242
00:11:07.639 --> 00:11:11.000
In two thousand and four, beginning of two thousand and four.
243
00:11:10.840 --> 00:11:13.840
I started blogging as robbyond Rails and so this was
244
00:11:13.960 --> 00:11:16.639
five and a half years before Always You Sholl existed.
245
00:11:16.879 --> 00:11:19.399
I was part of the Rails ecosystem and doing stuff,
246
00:11:19.440 --> 00:11:22.279
so I think always sholl Will just kind of culminated
247
00:11:22.279 --> 00:11:25.799
it out of that community. So yeah, it has been
248
00:11:25.840 --> 00:11:28.159
around for a while. What we work on a lot now.
249
00:11:28.240 --> 00:11:29.440
So back then, it was a lot of like new
250
00:11:29.440 --> 00:11:31.480
startups wanting to use Rails because it was kind of
251
00:11:31.480 --> 00:11:34.200
like this new hot thing for projects. So we learned
252
00:11:34.240 --> 00:11:37.279
how to basically went from that freelancer space of me
253
00:11:37.440 --> 00:11:40.440
working on by myself with my designer partner at the time,
254
00:11:40.559 --> 00:11:44.039
and to all of a sudden, like some really large
255
00:11:44.039 --> 00:11:46.399
projects started coming our way that would take more than
256
00:11:46.399 --> 00:11:48.159
me to be able to do it. And so one
257
00:11:48.200 --> 00:11:51.679
of the first services that we had was offering hosting
258
00:11:51.759 --> 00:11:54.600
services to rubyond Rails developers because there wasn't a lot
259
00:11:54.600 --> 00:11:57.799
of affordable hosting options unless you spun up your own
260
00:11:57.840 --> 00:12:02.519
BPS or something. So I had been offering post rescuels
261
00:12:03.440 --> 00:12:07.639
hosting for developers and like PHP five development or environments
262
00:12:07.639 --> 00:12:09.320
for hosting because I had a lot of experience with
263
00:12:09.320 --> 00:12:11.600
like writing servers and stuff like that. So that was
264
00:12:11.639 --> 00:12:14.840
part of our services early on, was posting, even going
265
00:12:14.879 --> 00:12:16.600
back to two thousand. I think we started doing that
266
00:12:16.600 --> 00:12:19.279
in two thousand and three a site for a lot
267
00:12:19.279 --> 00:12:21.440
of the projects because i've it then host those projects.
268
00:12:21.679 --> 00:12:23.600
So we were one of the first companies in the
269
00:12:23.639 --> 00:12:25.960
Ruby on Rails ecosystem to start offering hosting at kind
270
00:12:25.960 --> 00:12:30.480
of like an affordable price point, and we give people
271
00:12:30.519 --> 00:12:32.679
like shared hosting environments and made that kind of work.
272
00:12:32.720 --> 00:12:37.080
And then so that allowed us to broaden our exposure
273
00:12:37.080 --> 00:12:40.480
in the community early on. And then but a big
274
00:12:40.559 --> 00:12:41.840
part of what we were trying to do is just
275
00:12:41.879 --> 00:12:44.360
focus on developing sort of projects and stuff like that.
276
00:12:44.399 --> 00:12:46.919
And then a couple of years into that, we started
277
00:12:46.919 --> 00:12:49.919
getting approached by companies that said, hey, we had a
278
00:12:49.960 --> 00:12:52.440
couple of freelancers build this app for us this last year.
279
00:12:52.559 --> 00:12:55.080
They're no longer available, they got full time jobs. Some morals,
280
00:12:55.159 --> 00:12:57.600
can you take over these projects? And one of the
281
00:12:57.639 --> 00:12:59.639
great things about Ruby and rails was that it was
282
00:12:59.679 --> 00:13:02.879
there's a consistency between projects. So we found ourselves being
283
00:13:02.879 --> 00:13:06.399
able to like jump in quickly to existing projects and
284
00:13:06.440 --> 00:13:08.639
that became our niche over the years that now we
285
00:13:09.200 --> 00:13:12.679
quite essentially take over projects that are for companies that
286
00:13:13.080 --> 00:13:15.879
don't necessarily need to have two or more full time
287
00:13:15.960 --> 00:13:19.080
software engineers on their team in house, and so their
288
00:13:19.120 --> 00:13:21.559
other option is maybe having like a freelancer or two,
289
00:13:21.759 --> 00:13:23.759
but then maybe they do that, but the freelancers kind
290
00:13:23.759 --> 00:13:25.159
of come and go, and they're like, we have to
291
00:13:25.320 --> 00:13:27.799
kind of restart this process a lot. So we end
292
00:13:27.879 --> 00:13:29.879
up owning a lot of projects where we're the primary
293
00:13:29.919 --> 00:13:32.399
development team for like five ten years with some of
294
00:13:32.440 --> 00:13:35.360
our clients, some of them over ten years. Now we're
295
00:13:35.399 --> 00:13:37.840
their dev shop, but we're maybe doing like eighty.
296
00:13:37.639 --> 00:13:39.279
Hours a month on those projects.
297
00:13:39.559 --> 00:13:41.720
You know, it's kind of like a but we're maintaining
298
00:13:41.720 --> 00:13:44.679
those things for the long term because they don't necessarily
299
00:13:44.759 --> 00:13:46.159
they're not trying to become a company.
300
00:13:46.240 --> 00:13:49.360
It's like an application that helps fulfill part.
301
00:13:49.159 --> 00:13:50.960
Of their business, but it isn't the business.
302
00:13:51.080 --> 00:13:51.879
So like there's a lot of.
303
00:13:51.840 --> 00:13:54.120
Those types of applications that exist, so we're kind of
304
00:13:54.159 --> 00:13:56.399
well tuned to come in and own those types of projects.
305
00:13:56.480 --> 00:13:57.840
But then we also do a lot of consulting and
306
00:13:57.879 --> 00:14:00.120
coming in with companies that have their own engineering teams
307
00:14:00.240 --> 00:14:03.519
on helping them unblock themselves when it comes to like
308
00:14:03.879 --> 00:14:06.960
there's been a lot of turnover in those environments and
309
00:14:07.000 --> 00:14:09.159
maybe some of the original developers have you know, left,
310
00:14:09.240 --> 00:14:11.679
and some of the new developers aren't sure how to
311
00:14:11.720 --> 00:14:15.159
like make choices about, Hey, we're still running on rails four.
312
00:14:17.279 --> 00:14:19.519
We would love to get to seven, eight, but how
313
00:14:19.519 --> 00:14:23.000
do we get to five? And how do we kind
314
00:14:23.000 --> 00:14:25.559
of navigate this and what frameworks and front end things
315
00:14:25.559 --> 00:14:27.559
should we be exploring now, And so we try to
316
00:14:27.559 --> 00:14:29.240
help come in and help coach teams on how to
317
00:14:29.320 --> 00:14:31.360
navigate some of that stuff and cleaning up techno debt
318
00:14:31.360 --> 00:14:34.559
and deal with overdue upgrades, performance improvements, stuff like that.
319
00:14:34.679 --> 00:14:36.960
So that's another part of our business as well.
320
00:14:39.600 --> 00:14:43.840
Nice okay, well more, Yeah, maintainable podcasts.
321
00:14:45.519 --> 00:14:49.240
Yeah, so maintainable podcast just recently recorded my tuneth episode
322
00:14:49.240 --> 00:14:52.879
of that. It's an interview style format visions And one
323
00:14:52.919 --> 00:14:55.960
of the things I set out to do was I
324
00:14:56.000 --> 00:14:59.039
felt like there's always been a lot of good quality
325
00:14:59.080 --> 00:15:03.399
conversations around what's going on new in the software industry.
326
00:15:03.519 --> 00:15:06.480
New people always like talk about new stuff, and I
327
00:15:06.519 --> 00:15:09.120
was like, but a lot of software developers experience is
328
00:15:09.159 --> 00:15:11.879
showing up to a job where things are already there,
329
00:15:12.000 --> 00:15:13.080
things are already in motion.
330
00:15:13.799 --> 00:15:15.159
And I think as.
331
00:15:15.000 --> 00:15:21.120
A industry we've done ourselves to disservice by branding ourselves
332
00:15:21.200 --> 00:15:25.960
as being these like creators, makers and like, but reality,
333
00:15:26.039 --> 00:15:28.600
most of us are actually mending and taking care of
334
00:15:28.879 --> 00:15:31.120
existing stuff and trying to just make it a little
335
00:15:31.159 --> 00:15:34.399
bit better today than it was yesterday, leave things better off,
336
00:15:34.440 --> 00:15:38.399
and like, that's good work to be done. And I've
337
00:15:38.399 --> 00:15:41.840
just seen a lot of developers over the years struggle
338
00:15:41.919 --> 00:15:45.320
to kind of like change like reframe that because I
339
00:15:45.320 --> 00:15:47.919
think we've but anyways, so I thought, I thought it
340
00:15:47.919 --> 00:15:50.799
would be interesting to have conversations about what it's really
341
00:15:50.879 --> 00:15:53.399
like to work at project on projects day in and
342
00:15:53.440 --> 00:15:55.440
day out that have been around for a really long time,
343
00:15:55.600 --> 00:15:58.639
and how to make incremental improvements because that stuff is
344
00:15:59.639 --> 00:16:03.519
hard and there's a lot of people dynamics, there's technical
345
00:16:03.600 --> 00:16:06.080
dynamics at play, and so I wanted to just a
346
00:16:06.200 --> 00:16:08.120
catalog a lot of conversations that I thought would be
347
00:16:08.120 --> 00:16:09.840
relevant today but also in ten.
348
00:16:09.720 --> 00:16:10.960
Years, twenty years from now.
349
00:16:11.039 --> 00:16:14.240
I don't feel like these are conversations that will date themselves.
350
00:16:14.279 --> 00:16:16.600
So I'm trying to be very intentional about having conversations
351
00:16:16.639 --> 00:16:20.360
with people about how they navigate, how they've overcome, or
352
00:16:20.360 --> 00:16:22.279
sharing some of the painful stories about like yeah, we
353
00:16:22.320 --> 00:16:25.440
tried to do rewrite and that blew up in our phase.
354
00:16:25.679 --> 00:16:26.879
Because I'm a big.
355
00:16:26.799 --> 00:16:29.960
Advocate for not rewriting unless it's the very very last
356
00:16:30.000 --> 00:16:32.720
possible step you can possibly do. So I'm always like this,
357
00:16:32.919 --> 00:16:35.519
there's got to be a better way to think about
358
00:16:35.559 --> 00:16:37.759
how your approach to software projects rather than just dreaming
359
00:16:37.759 --> 00:16:40.000
that one day we'll finally get to rewrite this thing
360
00:16:40.159 --> 00:16:41.799
and then it's all going to be better. We will
361
00:16:41.840 --> 00:16:43.919
never have all these problems that we have today.
362
00:16:43.600 --> 00:16:44.879
Which is complete bullshit.
363
00:16:45.039 --> 00:16:49.200
So right, cool. Well, I have to say I've listened
364
00:16:49.240 --> 00:16:51.840
to the Maintainable podcast for a while and you always
365
00:16:51.840 --> 00:16:54.360
have terrific people on that make me think about how
366
00:16:54.440 --> 00:16:54.840
I do it.
367
00:16:54.919 --> 00:16:59.320
So that's great, I have It's it's also just a
368
00:16:59.320 --> 00:17:02.080
good excuses get to have conversations with people that I
369
00:17:02.080 --> 00:17:03.240
admire on a regular basis.
370
00:17:03.240 --> 00:17:05.160
I'm like, this is that's my favorite part of it.
371
00:17:06.799 --> 00:17:10.160
Awesome. All right, well I'll quit fan boying and uh,
372
00:17:10.440 --> 00:17:14.000
well we'll we'll talk about the survey. So yeah, yeah,
373
00:17:14.039 --> 00:17:16.559
so do you want to just explain I'm always curious.
374
00:17:17.000 --> 00:17:18.480
I used to just be like, all right, well, let's
375
00:17:18.519 --> 00:17:20.640
just get into the meat. What's in the survey, right,
376
00:17:20.680 --> 00:17:23.119
And I think that's important, but I like to get
377
00:17:23.119 --> 00:17:26.079
into the methodology a little bit. Right, like who who
378
00:17:26.119 --> 00:17:28.000
did you reach out to, how did you market it,
379
00:17:28.519 --> 00:17:30.400
what kind of people did you expect to take it,
380
00:17:31.559 --> 00:17:33.119
and and that kind of thing, so that we can
381
00:17:33.119 --> 00:17:35.640
get an idea of, Okay, this is the community it
382
00:17:35.680 --> 00:17:36.400
really reflects.
383
00:17:36.640 --> 00:17:39.920
Yeah, yeah, that's a good question. So just for some
384
00:17:40.039 --> 00:17:45.359
historical context, the survey, we've been running the survey as
385
00:17:45.400 --> 00:17:47.039
long as always You Show has been around. So the
386
00:17:47.079 --> 00:17:48.400
first time we did it was back in two thousand
387
00:17:48.400 --> 00:17:50.240
and nine, so I think we've done it eight times now.
388
00:17:51.079 --> 00:17:52.880
Pretty much has been every other year, except for I
389
00:17:52.920 --> 00:17:54.240
think for the first couple of years we did it
390
00:17:54.279 --> 00:17:57.160
like every year. But the original version of it was
391
00:17:57.319 --> 00:17:59.400
we wanted to get a lay of the land of
392
00:17:59.480 --> 00:18:01.759
because we were part of our business was doing hosting.
393
00:18:01.880 --> 00:18:04.920
Was like, how how is the ecosystem changing in terms
394
00:18:04.920 --> 00:18:07.240
of how people were thinking about deploying and hosting their
395
00:18:07.240 --> 00:18:10.519
applications because we were providing those services and the cloud
396
00:18:10.720 --> 00:18:12.640
services kind of this new thing, and we're like, is
397
00:18:12.640 --> 00:18:15.720
that where everybody's moving? Should we get out of this
398
00:18:16.000 --> 00:18:18.079
part of the business. We ended up using that survey
399
00:18:18.119 --> 00:18:20.599
result that first year to decide to sell that part
400
00:18:20.640 --> 00:18:22.559
of the business off, and so we're like Okay, we're
401
00:18:22.599 --> 00:18:23.799
at we're not gonna be.
402
00:18:23.759 --> 00:18:24.200
Able to keep up.
403
00:18:24.240 --> 00:18:26.160
Let's just let them I'm done going to the co
404
00:18:26.279 --> 00:18:28.319
location and stuff like that. So we use the survey
405
00:18:28.359 --> 00:18:30.480
to make a business decision, but we decided we publish
406
00:18:30.480 --> 00:18:33.039
all the results for everybody make it because we were like,
407
00:18:33.079 --> 00:18:34.880
there's a lot of other interesting details in there around
408
00:18:34.920 --> 00:18:37.359
like what their party services people are using, and like
409
00:18:37.559 --> 00:18:38.240
we're using.
410
00:18:38.079 --> 00:18:40.400
For error monitoring or performance tracking.
411
00:18:41.039 --> 00:18:42.720
Things are just again and get a sense of like, well,
412
00:18:42.720 --> 00:18:45.759
how other people are doing because people can go online
413
00:18:45.759 --> 00:18:49.079
and ask those questions you know, in IRC chat conversations
414
00:18:49.079 --> 00:18:51.880
back in the day or some forums or stack over
415
00:18:51.960 --> 00:18:54.359
floor or whatever, and I was like, we kind of
416
00:18:54.359 --> 00:18:58.200
wanted to just like let's get a broader range of people.
417
00:18:58.359 --> 00:19:00.759
So we've been doing this, you know, every other year
418
00:19:00.799 --> 00:19:02.640
since then. So this last year when we did it,
419
00:19:03.640 --> 00:19:05.720
our typical approach has been one reach out to people
420
00:19:05.799 --> 00:19:07.680
taken in the past, and so a lot of those
421
00:19:07.680 --> 00:19:10.440
people came to us from social media, following us on
422
00:19:10.480 --> 00:19:14.079
different blogs and stuff like that. Reaching out to the
423
00:19:14.160 --> 00:19:16.720
mailing like the Rails, Rails Talk mailing lists and other
424
00:19:16.839 --> 00:19:19.519
groups that were you know, we're around at the time,
425
00:19:19.559 --> 00:19:21.599
but So for this last year, we did put a
426
00:19:21.640 --> 00:19:25.079
lot of energy into working with the Rails Foundation, in
427
00:19:25.079 --> 00:19:28.400
particular Amanda there and so uh, she had approached me
428
00:19:28.440 --> 00:19:30.200
the year before when she first got hired at the
429
00:19:30.240 --> 00:19:33.400
Rails Foundation to talk about the survey. She actually that
430
00:19:33.440 --> 00:19:35.440
was the first time I actually spoke with her about it.
431
00:19:35.519 --> 00:19:37.039
Was she reached out and said, Hey, I want to
432
00:19:37.039 --> 00:19:39.920
talk about the survey and the Rails Foundation. I was like, Oh, no,
433
00:19:39.960 --> 00:19:42.640
they're gonna They're gonna start doing this themselves, and I
434
00:19:42.640 --> 00:19:44.240
guess we're no longer going to get to do that.
435
00:19:44.240 --> 00:19:46.640
That's that's what I was preparing for, Like, I guess
436
00:19:46.680 --> 00:19:48.440
we're kind of out of the business of doing this,
437
00:19:48.559 --> 00:19:50.559
and it's a lot of work to run the surveys
438
00:19:50.599 --> 00:19:52.200
and stuff as well, So it wouldn't be the worst
439
00:19:52.200 --> 00:19:55.640
thing in the world. But through that conversation, I was like, Oh,
440
00:19:55.640 --> 00:19:57.720
they have very different things that they're looking for than
441
00:19:57.759 --> 00:20:00.279
we do. But what we did decide to that we
442
00:20:00.279 --> 00:20:02.160
would go to the Rails Foundation. So they took that
443
00:20:02.240 --> 00:20:03.680
to the board and be like, what sort of other
444
00:20:03.759 --> 00:20:08.200
topics and questions might they the other Foundation members like,
445
00:20:08.359 --> 00:20:11.759
you know, shopifys and doctimity and companies like that might
446
00:20:11.799 --> 00:20:15.400
be interested in hearing about the ecosystem right now, and
447
00:20:15.480 --> 00:20:18.480
so we we got some new questions and topics and
448
00:20:18.480 --> 00:20:20.880
a lot of that came up. So we ended up
449
00:20:20.920 --> 00:20:23.759
adding a lot of new questions related to education and
450
00:20:23.799 --> 00:20:26.000
like how people are learning about rails or how they're
451
00:20:26.279 --> 00:20:29.400
what type of content are they consuming to level up
452
00:20:29.400 --> 00:20:32.720
as developers, and is the assumption that video stuff is
453
00:20:33.720 --> 00:20:37.359
the future actually resonating with the majority of developers, So
454
00:20:37.400 --> 00:20:40.279
that we can get into some of the stats there.
455
00:20:40.279 --> 00:20:42.519
But in terms of the reaching out to people, it
456
00:20:42.559 --> 00:20:45.319
was a lot of hitting the social media as I
457
00:20:45.519 --> 00:20:48.920
emailed everybody that I could, you know, I had reached
458
00:20:48.960 --> 00:20:53.200
out to in the past, and to have anyone that
459
00:20:53.359 --> 00:20:55.359
I knew that's written books in the last few years
460
00:20:55.400 --> 00:20:58.799
about Ruby or rails related themes, or people I've interviewed
461
00:20:58.799 --> 00:21:00.400
that happened to be part of the ecosism them like
462
00:21:00.440 --> 00:21:02.319
reached out to them, emailed them like, hey, can you
463
00:21:02.359 --> 00:21:05.240
blast this to your group or your mailing list, anyone
464
00:21:05.279 --> 00:21:07.240
that runs a mailing list. So we have like a
465
00:21:07.240 --> 00:21:09.720
big checklist of places that we reach out to, but
466
00:21:09.880 --> 00:21:11.960
we do want to make that as broad as possible,
467
00:21:12.000 --> 00:21:12.519
so it's not.
468
00:21:14.000 --> 00:21:15.759
It's not just like maybe.
469
00:21:15.599 --> 00:21:18.640
One company that's like Shopify drops it in their internal
470
00:21:18.759 --> 00:21:20.839
chat tool and then it's just like half the you know,
471
00:21:20.880 --> 00:21:23.680
the people are just Shopify employees filling it out and
472
00:21:23.680 --> 00:21:24.720
all the data looks the same.
473
00:21:24.839 --> 00:21:27.559
So so and.
474
00:21:27.000 --> 00:21:28.279
So I'm always worried that that's going to be a
475
00:21:28.279 --> 00:21:30.279
thing because it wouldn't take a lot for like something
476
00:21:30.319 --> 00:21:32.559
to drastically skew the data when we've got I think
477
00:21:32.559 --> 00:21:35.720
we had a little over twenty seven hundred participants, which
478
00:21:35.759 --> 00:21:38.319
is the most we've ever had. A lot of people
479
00:21:38.319 --> 00:21:41.720
want to fill out a sixty question survey, you know
480
00:21:42.200 --> 00:21:44.039
that often, so it takes a little bit to go
481
00:21:44.079 --> 00:21:46.480
through that process. But but that's where we're able to
482
00:21:46.559 --> 00:21:50.880
end up. So that answer your question enough, I suppose.
483
00:21:51.599 --> 00:21:54.759
Yeah, yeah, I think so. I kind of want to
484
00:21:54.759 --> 00:21:57.359
pull Valentino and I use it in Did you guys
485
00:21:57.359 --> 00:21:59.119
get a chance to look at the survey? And I'm
486
00:21:59.160 --> 00:22:02.279
curious was there anything that stood out to you because
487
00:22:02.359 --> 00:22:05.599
I don't know which section to really start with why.
488
00:22:05.759 --> 00:22:07.440
I have some ideas, but I want to hear from
489
00:22:07.480 --> 00:22:08.279
you guys.
490
00:22:09.920 --> 00:22:12.200
Yeah, I think I looked at at when the results
491
00:22:12.200 --> 00:22:14.960
first came out because I'm fairly sure I actually did
492
00:22:15.000 --> 00:22:17.960
fill it out, and I can't remember whether I did,
493
00:22:17.960 --> 00:22:19.880
but I'm like ninety nine percent sure that that I
494
00:22:19.920 --> 00:22:23.319
did fill it out. A couple of things that cut
495
00:22:23.359 --> 00:22:27.079
my One was obviously the fact that stimulus d throw
496
00:22:27.160 --> 00:22:29.480
and react, which made me quite happy because I know
497
00:22:29.680 --> 00:22:30.200
to react.
498
00:22:33.480 --> 00:22:34.319
That's how you realize that.
499
00:22:36.960 --> 00:22:40.359
And yeah, the other thing I found quite interesting, purely
500
00:22:40.400 --> 00:22:43.960
from a selfish point of view, was how people learn
501
00:22:44.039 --> 00:22:46.559
Drew Andrells, because obfullly I've written a book as well,
502
00:22:46.960 --> 00:22:49.559
so I found it quite interesting to just see how
503
00:22:50.480 --> 00:22:56.359
people learning. And it's interesting to see that more people
504
00:22:56.400 --> 00:23:00.240
kind of watch videos and tutorials rather than read book
505
00:23:00.359 --> 00:23:04.200
or something like that, because yeah, I guess horses for
506
00:23:04.279 --> 00:23:08.160
courses and stuff, but on I prefer text based rather
507
00:23:08.160 --> 00:23:12.000
than video. But it's it's always interesting to know like
508
00:23:12.039 --> 00:23:17.039
what other people are preferring, especially if you're trying to
509
00:23:17.079 --> 00:23:20.680
sell an educational product. So those are a couple of
510
00:23:20.720 --> 00:23:23.720
things that kind of I found particularly interesting out of
511
00:23:23.759 --> 00:23:24.480
the results.
512
00:23:25.319 --> 00:23:28.319
Quick quick thought on that one when it comes to
513
00:23:28.400 --> 00:23:31.519
like the I think that's an interesting thought there around
514
00:23:31.519 --> 00:23:35.680
Like you read books, I skim books.
515
00:23:35.799 --> 00:23:36.079
I'm not.
516
00:23:36.720 --> 00:23:39.160
I think I'm actually slightly dyslexic, and so I'm not.
517
00:23:39.640 --> 00:23:41.480
It's always been really difficult for me to get through
518
00:23:41.559 --> 00:23:45.200
a lot of text based things necessarily. But one of
519
00:23:45.200 --> 00:23:46.920
the other questions we did ask so it was like
520
00:23:46.920 --> 00:23:49.960
what types of education and content helps you learn most effectively?
521
00:23:50.759 --> 00:23:53.960
And video stuff was not It's like the fourth I
522
00:23:54.000 --> 00:23:55.319
think it was like tied with books.
523
00:23:55.359 --> 00:23:59.359
So most people said that they find blog posts.
524
00:23:58.920 --> 00:24:00.960
And like the Rails guy, it's to be the most
525
00:24:01.000 --> 00:24:03.440
effective way to learn.
526
00:24:03.640 --> 00:24:05.400
But they're consuming a lot of videos.
527
00:24:05.400 --> 00:24:08.359
So it's like it's is there are they learning from
528
00:24:08.400 --> 00:24:10.319
the videos or are they just spending more time watching
529
00:24:10.440 --> 00:24:14.440
videos and because it's an easier way to consume that information.
530
00:24:14.519 --> 00:24:17.359
Maybe I don't know, but video is an interesting one,
531
00:24:17.440 --> 00:24:21.079
but I don't know. Again, this is what the people
532
00:24:21.079 --> 00:24:24.200
are kind of reported, so it's all they're all really
533
00:24:24.240 --> 00:24:27.240
closely kind of aligned in the stats as well, So
534
00:24:27.400 --> 00:24:30.839
like there was no I think huge prizes to me there,
535
00:24:30.880 --> 00:24:34.319
but otherwise people saying that like working on you know,
536
00:24:35.279 --> 00:24:37.359
the documentation and things like that. So which is I
537
00:24:37.400 --> 00:24:40.960
think A good good thing that came out of this
538
00:24:41.160 --> 00:24:43.359
was like the the Rails Foundation, like Amanda them, they
539
00:24:43.359 --> 00:24:44.480
had I know that they.
540
00:24:44.400 --> 00:24:46.559
Were working on a number of projects related to.
541
00:24:48.880 --> 00:24:53.079
Video content and the new guides, like redesigning the way
542
00:24:53.079 --> 00:24:56.039
that all looks and revisiting a lot of the content there,
543
00:24:56.519 --> 00:24:58.240
and so there's a lot of energy trying to be
544
00:24:58.319 --> 00:25:00.319
on like let's do video, let's also do this. We
545
00:25:00.440 --> 00:25:02.000
kind of like have to come out of from different
546
00:25:02.039 --> 00:25:05.519
persons because there are just people do learn different people
547
00:25:05.599 --> 00:25:07.279
learn differently, and so it's like, how do we make
548
00:25:07.279 --> 00:25:11.079
this this as inclusive as possible.
549
00:25:12.720 --> 00:25:16.240
Yeah, I'm looking at that question now about learning most effectively,
550
00:25:16.279 --> 00:25:19.680
and that's interesting. I wouldn't have expected that that mismatch there,
551
00:25:20.640 --> 00:25:23.119
But I guess like for me, we're personally with videos,
552
00:25:23.319 --> 00:25:26.599
I tend to zone out sometimes and then I'll come
553
00:25:26.680 --> 00:25:29.440
back a minute later and like, Okay, crap, I've forgotten
554
00:25:29.920 --> 00:25:32.599
to rewind and watch this again. And then you can't
555
00:25:32.839 --> 00:25:36.039
command f a video. So that those are my two
556
00:25:36.119 --> 00:25:37.000
biggest gripes.
557
00:25:37.240 --> 00:25:41.359
That's true, you can't. I mean in the same way
558
00:25:41.440 --> 00:25:43.599
like I was reading a book last night and before
559
00:25:43.640 --> 00:25:45.559
I went to sleep, and I was like, got two
560
00:25:45.599 --> 00:25:48.680
pages and I'm like, what did I just read? I
561
00:25:48.720 --> 00:25:51.160
have no I've seen the words. I don't know what
562
00:25:51.279 --> 00:25:53.599
I just read. So let me start that again. But
563
00:25:54.279 --> 00:25:57.319
you know, it's interesting. Live streamers came two percent of
564
00:25:57.359 --> 00:25:59.920
people find that the most effective way to learn, or
565
00:26:00.720 --> 00:26:06.400
or podcasts, and so our podcast educational or they media
566
00:26:06.480 --> 00:26:09.880
consumption or you know, it's this kind of like auxiliary information.
567
00:26:10.000 --> 00:26:13.559
But maybe is this an educational platform. I don't know.
568
00:26:14.960 --> 00:26:17.960
I think it depends. One other thing that I wanted
569
00:26:18.000 --> 00:26:20.240
to point out was that I think a lot of
570
00:26:20.400 --> 00:26:23.440
newer folks are going to lean more toward video casts
571
00:26:23.480 --> 00:26:27.160
and books and maybe the rails Guide some I think
572
00:26:27.200 --> 00:26:29.880
as you get more advanced, you start looking more at
573
00:26:29.880 --> 00:26:33.599
the blog posts and documentation and maybe podcasts to just
574
00:26:33.599 --> 00:26:35.920
give you kind of here's what's the latest thing that's
575
00:26:35.960 --> 00:26:41.039
out there. That that was kind of what I got
576
00:26:41.039 --> 00:26:42.279
out of it, And so I think you had a
577
00:26:42.319 --> 00:26:46.119
lot of experienced folks that they don't need as much
578
00:26:46.160 --> 00:26:48.920
of the walkthrough on some of the stuff that's out there,
579
00:26:49.240 --> 00:26:52.640
and maybe they're reaching for the documentation and stuff instead.
580
00:26:54.319 --> 00:26:57.240
I feel like this is one of the hardest categories
581
00:26:57.599 --> 00:27:02.400
to extract something meaningful from the survey, right, because like
582
00:27:02.440 --> 00:27:05.119
I feel like learning, like you do kind of like
583
00:27:06.319 --> 00:27:10.079
pick a variety of different things to like build up
584
00:27:10.440 --> 00:27:13.839
your learning material and maybe different ways that you do
585
00:27:13.920 --> 00:27:18.039
you don't think about and how much they impact you too, Right,
586
00:27:18.200 --> 00:27:21.680
Like I remember like really diving hard into reels guides
587
00:27:21.759 --> 00:27:23.960
when I was first like looking at stuff and like
588
00:27:24.279 --> 00:27:27.680
doing the reels casts, but there was a bunch of
589
00:27:27.680 --> 00:27:29.680
other stuff that was I was also listening to Ruby
590
00:27:29.759 --> 00:27:31.960
Rogues at the time and like a bunch of other
591
00:27:32.000 --> 00:27:34.519
podcasts that just like try and stay up to date, right,
592
00:27:34.799 --> 00:27:35.680
And how much does that.
593
00:27:35.640 --> 00:27:37.200
Influence your learning ability?
594
00:27:37.400 --> 00:27:40.480
Right, and like just being able to adapt to the
595
00:27:40.519 --> 00:27:44.200
material that you're learning. It's like almost like that, you know,
596
00:27:44.720 --> 00:27:49.400
reflective learning that like helps like harden and make things
597
00:27:49.400 --> 00:27:50.279
stick a little better.
598
00:27:51.119 --> 00:27:53.480
And so it's like I always look at the survey.
599
00:27:53.160 --> 00:27:56.359
And like wonder, like, you know, how do you are
600
00:27:56.359 --> 00:27:57.519
we capturing everything?
601
00:27:58.400 --> 00:28:00.960
You're right? And I think it's always like how do
602
00:28:01.000 --> 00:28:05.480
you try to contextualize this in a way that's these
603
00:28:05.480 --> 00:28:09.799
are not like conclusive, you know, like we didn't ask
604
00:28:09.799 --> 00:28:12.279
people like prove it, you know, prove that this is
605
00:28:12.319 --> 00:28:15.000
how you learn most effectively. It's like it's like in
606
00:28:15.039 --> 00:28:18.680
the moment type of like responses that we're getting, So
607
00:28:18.720 --> 00:28:21.480
we how do we read the tea leaves a little bit,
608
00:28:21.480 --> 00:28:22.400
I suppose, but it's not.
609
00:28:23.079 --> 00:28:26.400
It's almost like what they remember most that they think worked.
610
00:28:26.160 --> 00:28:31.759
Best and recent. Yeah, right, it's still important.
611
00:28:32.960 --> 00:28:37.039
I'm always fascinated about the section though, Yeah, because it does.
612
00:28:37.000 --> 00:28:39.160
Change a year after year two quite a bit.
613
00:28:42.000 --> 00:28:43.880
Yeah, a couple of other things in the learning.
614
00:28:44.839 --> 00:28:46.880
I was gonna say that one of the one of
615
00:28:46.920 --> 00:28:50.000
the things I was and I haven't got I didn't
616
00:28:50.000 --> 00:28:52.000
get a chance to go like pivot the data to
617
00:28:52.000 --> 00:28:55.359
too much on this particular one, but the because you know,
618
00:28:55.440 --> 00:28:57.119
we're able to look at like how long people have
619
00:28:57.200 --> 00:28:57.920
been working.
620
00:28:57.680 --> 00:28:59.519
With rails and then try to look at the data for.
621
00:28:59.480 --> 00:29:02.200
That, and like if I had thought ahead more, I
622
00:29:02.240 --> 00:29:04.880
could maybe got some more interesting details for that. But
623
00:29:05.000 --> 00:29:07.720
the I was thinking one of the one of the
624
00:29:07.759 --> 00:29:11.119
things is that we know in the community is just
625
00:29:11.160 --> 00:29:15.960
that you know, this was also conducted you know, late spring,
626
00:29:16.039 --> 00:29:19.599
early summer ish last year, summer last year, so twenty
627
00:29:19.640 --> 00:29:22.960
twenty four, and you know, there was a lot of
628
00:29:23.039 --> 00:29:25.599
layoffs in the year prior. There's not a lot of
629
00:29:25.680 --> 00:29:29.880
junior developers getting hired in the community. Coding schools kind
630
00:29:29.880 --> 00:29:32.960
of a lot of them closed. We used to I
631
00:29:33.039 --> 00:29:35.279
used to know that one of our strategies in the
632
00:29:35.279 --> 00:29:38.079
past to ask questions to people was to hit the
633
00:29:38.240 --> 00:29:40.839
some of the coding schools. They that would get shared
634
00:29:40.880 --> 00:29:42.720
around some of them, you know, some of those developed
635
00:29:42.720 --> 00:29:44.559
some of the developer they would share with their their
636
00:29:44.599 --> 00:29:47.200
you know, their their recent graduates or previous graduates. They
637
00:29:47.200 --> 00:29:49.279
would share it, you know, like here filut the surveys.
638
00:29:49.319 --> 00:29:53.759
So so I think there's like data. I think we
639
00:29:53.839 --> 00:29:55.880
got a good capture of people that are actually working
640
00:29:55.880 --> 00:29:58.319
with rails right now and not too so that I
641
00:29:58.359 --> 00:30:00.440
feel like that's interesting, but we didn't really they also
642
00:30:00.480 --> 00:30:04.000
have maybe as many junior people participating or maybe because
643
00:30:04.000 --> 00:30:07.079
there's actually just last junior developers, uh coming into the
644
00:30:07.599 --> 00:30:09.640
into the market in the last year or two prior
645
00:30:09.680 --> 00:30:12.880
to the when we conducted this particular survey this time.
646
00:30:12.880 --> 00:30:14.839
But so, I don't know, it's kind of it's it's
647
00:30:14.839 --> 00:30:16.440
always a little bit interesting to see how that data
648
00:30:16.480 --> 00:30:18.400
fluctuates a little bit, but also by how little it
649
00:30:18.480 --> 00:30:20.519
changes sometimes too, there's a lot of the data that's
650
00:30:20.519 --> 00:30:24.759
like we're looking, I'm like, how did Linux usage didn't
651
00:30:24.799 --> 00:30:26.799
move like like more than like a percent or two
652
00:30:26.839 --> 00:30:30.519
And I'm like what how despite you know, like DH
653
00:30:30.759 --> 00:30:32.160
is talking about it all the time or something. So
654
00:30:32.200 --> 00:30:35.039
it's just like, I'm like, how does this not move
655
00:30:35.079 --> 00:30:35.599
a lot more?
656
00:30:36.839 --> 00:30:42.160
Omacoub Yeah, so Valentino, was there a section that step
657
00:30:42.200 --> 00:30:42.359
to you?
658
00:30:46.559 --> 00:30:49.480
Yeah, I'm always fascinated to see, uh, kind of like
659
00:30:49.559 --> 00:30:52.559
I usued, you know, where the front end stuff shifts,
660
00:30:52.559 --> 00:30:55.640
because that's definitely the thing that changes the most, I
661
00:30:55.680 --> 00:30:56.839
would say over time.
662
00:30:57.720 --> 00:30:58.119
Mm hmm.
663
00:30:58.720 --> 00:31:01.759
So it's it is interest seeing to see stimulus rank
664
00:31:01.839 --> 00:31:05.680
so high personally, and maybe that's just because I've been
665
00:31:05.720 --> 00:31:10.000
stuck in a very fixed front end for for so long.
666
00:31:11.319 --> 00:31:15.880
Maybe I just don't see the underpinnings there, But it
667
00:31:16.000 --> 00:31:19.640
is interesting to see the stimulus adoption over time just
668
00:31:19.960 --> 00:31:21.000
get such great support.
669
00:31:23.240 --> 00:31:26.920
Yeah, it's it's awesome if anyone's looking to figure out
670
00:31:26.960 --> 00:31:29.559
how to do stimulus with rails, I can't recommend I
671
00:31:29.640 --> 00:31:36.079
used this book highly enough. So yeah, I mean, on
672
00:31:36.160 --> 00:31:40.640
that note, though, I did notice it like you still
673
00:31:40.640 --> 00:31:45.119
got React, jQuery, View and next JS and Angular JS
674
00:31:45.640 --> 00:31:48.400
is kind of the next five and then you get
675
00:31:48.440 --> 00:31:51.759
to an Alpine JS, which is a minimalist framework kind
676
00:31:51.799 --> 00:31:56.079
of like stimulus. So of course then I kind of
677
00:31:56.160 --> 00:31:58.839
laughed because I saw backbone and handlebars on here too.
678
00:32:01.200 --> 00:32:04.720
These things don't go away, No, they don't. Well, a
679
00:32:04.720 --> 00:32:07.920
lot of I mean and something I gave a talk
680
00:32:07.960 --> 00:32:12.480
at Rails World about dealing with like techno debt and
681
00:32:12.519 --> 00:32:14.480
rails applications a lot of things, and like a lot
682
00:32:14.519 --> 00:32:19.279
of projects have multiple job as script libraries in them
683
00:32:19.480 --> 00:32:22.519
because there's a tendency to, hey, we want to work
684
00:32:22.519 --> 00:32:24.519
on this new set of features. This might feel like
685
00:32:24.559 --> 00:32:27.880
a perfect opportunity to experiment with that new framework we've
686
00:32:27.920 --> 00:32:30.960
been itching to play with, So let's use it over here.
687
00:32:31.240 --> 00:32:33.440
And so they'll add it and they'll start working on
688
00:32:33.480 --> 00:32:36.039
the new functionality, new features because it's easy to sneak
689
00:32:36.039 --> 00:32:38.440
it into that with the product and like, okay, we're
690
00:32:38.440 --> 00:32:39.960
going to do this over here, because it's a lot
691
00:32:40.000 --> 00:32:44.079
harder to sell them on retrofitting some existing stuff. And
692
00:32:44.119 --> 00:32:45.799
so they do that and they kind of like the
693
00:32:45.839 --> 00:32:47.680
first project or two that they do is kind of
694
00:32:47.680 --> 00:32:49.559
like they're trying to learn on the job type of thing,
695
00:32:49.559 --> 00:32:51.519
and they're like, well, we learned some stuff, and like
696
00:32:51.559 --> 00:32:53.759
the next time, well we'll come back and refactor it.
697
00:32:53.799 --> 00:32:54.839
And maybe they do or you don't.
698
00:32:54.880 --> 00:32:57.119
And then a year or two later they're still working
699
00:32:57.119 --> 00:32:58.920
on this stuff, and then they introduce another one, and
700
00:32:58.960 --> 00:33:00.880
then there's another one, you know, then they like, well,
701
00:33:00.880 --> 00:33:03.400
we'll keep the admin area like this in this area,
702
00:33:03.440 --> 00:33:04.720
and then we have this other new section.
703
00:33:04.839 --> 00:33:05.640
We'll use this thing.
704
00:33:06.200 --> 00:33:07.559
And so then you've got like three or four different
705
00:33:07.559 --> 00:33:12.599
frameworks in your your your your rails application ecosystem, and
706
00:33:12.640 --> 00:33:14.839
you're like, well, which one is the better one. It's like,
707
00:33:14.920 --> 00:33:16.880
is it the newer one or is the one that
708
00:33:16.920 --> 00:33:19.799
people complain about the least. And so one of the
709
00:33:19.839 --> 00:33:23.119
things that I've been advocating for teams to consider is,
710
00:33:23.960 --> 00:33:25.920
I dare you too, If you really want to use
711
00:33:25.960 --> 00:33:28.599
that new thing, do it on your existing stable features first,
712
00:33:28.640 --> 00:33:31.599
because you should already have really good healthy test coverage there.
713
00:33:32.079 --> 00:33:34.240
And if it doesn't work and you're not figuring it out,
714
00:33:34.319 --> 00:33:37.960
you can just get reverted and things are still working.
715
00:33:38.000 --> 00:33:42.279
But try to force yourself to implement it on existing stuff.
716
00:33:42.480 --> 00:33:44.680
If that's too hard, I guarantee it's not going to
717
00:33:44.720 --> 00:33:47.119
get easier two years from now to do that make
718
00:33:47.160 --> 00:33:47.599
that change.
719
00:33:47.640 --> 00:33:49.440
You're just going to stick with it, and you're going
720
00:33:49.519 --> 00:33:49.880
to have this.
721
00:33:49.839 --> 00:33:53.119
Problem where you're not able to upgrade different things or
722
00:33:53.160 --> 00:33:56.559
you got all the job ascript chaos going on on
723
00:33:56.559 --> 00:34:00.039
your front end framework. So easier said than done. But
724
00:34:00.240 --> 00:34:03.079
I that's that's that's the thing that I'm trying to
725
00:34:03.079 --> 00:34:06.039
pitch teams to try to consider doing is like, take
726
00:34:06.039 --> 00:34:07.839
a hard look at the do the hard thing.
727
00:34:07.880 --> 00:34:08.639
If you're not only to do.
728
00:34:08.639 --> 00:34:11.239
It, stick with the framework that you're already using, because
729
00:34:11.239 --> 00:34:12.920
that's you're going to be stuck with it anyway.
730
00:34:13.000 --> 00:34:17.719
So I'm always quite reluctant to try and rewrite features
731
00:34:17.760 --> 00:34:22.800
that already exist using something newer. So, uh, well, I
732
00:34:22.840 --> 00:34:25.760
completely agree with your approach. You're trying to introduce something
733
00:34:25.800 --> 00:34:29.000
new to some the feature that already exists. But where
734
00:34:29.320 --> 00:34:32.920
what's the judgment called the how do you decide that
735
00:34:33.400 --> 00:34:35.039
this is a new thing that we want to try
736
00:34:35.039 --> 00:34:39.159
and we're going to rewrite something that already works against Well,
737
00:34:39.199 --> 00:34:41.599
that feature already works. I don't see why we should
738
00:34:42.000 --> 00:34:44.159
spend time rewriting it using something new.
739
00:34:45.480 --> 00:34:49.599
I think the typical developer answer It depends. I think
740
00:34:49.639 --> 00:34:56.119
the the challenge there is, especially with soft some projects
741
00:34:56.159 --> 00:35:00.559
where you know that they're your team's already starting to
742
00:35:00.599 --> 00:35:05.000
divest themselves, and so it's interesting. I'm a big, a
743
00:35:05.079 --> 00:35:07.280
big advocate for not rewriting, and so like, well, I
744
00:35:07.280 --> 00:35:10.599
guess I'm advocating for like micro rewrites you know, in
745
00:35:10.920 --> 00:35:13.599
certain areas. And so it's just why do we treat
746
00:35:13.639 --> 00:35:16.960
like a front end framework differently than we would with
747
00:35:17.079 --> 00:35:19.079
like say a Ruby gem that's no longer going to
748
00:35:19.119 --> 00:35:22.039
be supported, we need to migrate that. And so if
749
00:35:22.079 --> 00:35:27.000
the lift is so high, then I feel like we're
750
00:35:27.039 --> 00:35:30.039
already admitting that the front end is just going to
751
00:35:30.119 --> 00:35:32.679
be too much of a mess. That like we're when
752
00:35:32.719 --> 00:35:35.280
we make a decision, we're making a really long term
753
00:35:35.280 --> 00:35:40.280
decision with this, and how how can we approach that
754
00:35:40.320 --> 00:35:42.840
a little bit more? Like are there ways for us
755
00:35:42.840 --> 00:35:46.480
to refactor parts of it, you know, like or rebuild
756
00:35:46.519 --> 00:35:48.000
parts of it and figure out how to glue things
757
00:35:48.000 --> 00:35:50.239
together like I've I've you know, work with a number
758
00:35:50.280 --> 00:35:53.239
of teams that in the consulting capacity where they've done
759
00:35:53.320 --> 00:35:55.920
like these migrations where they're moving from Angular to react
760
00:35:56.000 --> 00:35:58.719
or something, you know, because Angular one to Angular two
761
00:35:59.880 --> 00:36:02.119
was necessarily like a good upgrade path for a lot
762
00:36:02.159 --> 00:36:04.320
of people, and so that could happen with any of
763
00:36:04.360 --> 00:36:06.840
the frameworks that you know, we talk about. There's always
764
00:36:06.840 --> 00:36:10.360
a chance of that happening. But for these existing stable features.
765
00:36:10.360 --> 00:36:12.280
It's just more of like, if your team's trying to
766
00:36:12.360 --> 00:36:15.159
experiment and learn, just learn on something you already know
767
00:36:15.199 --> 00:36:17.800
how it's supposed to work from like a user perspective,
768
00:36:17.880 --> 00:36:20.800
and like can you experiment with that and test out
769
00:36:20.800 --> 00:36:22.679
if this idea is going to work well before you
770
00:36:22.719 --> 00:36:24.679
start building on some new ideas and learning on the
771
00:36:24.760 --> 00:36:26.519
job with that new framework, because a lot of these
772
00:36:26.559 --> 00:36:29.480
new frameworks don't necessarily have a lot of good documutation initially,
773
00:36:29.599 --> 00:36:31.119
or they have some documentation, but there's not a lot
774
00:36:31.159 --> 00:36:34.360
of real world experience yet. So you're learning, you're sharing
775
00:36:34.400 --> 00:36:37.079
as you go. But that's but the story of the
776
00:36:37.119 --> 00:36:39.400
front end has been we're all learning on the job
777
00:36:40.159 --> 00:36:42.760
and it doesn't get it's been difficult to go back
778
00:36:42.760 --> 00:36:45.920
and clean things up. So I'm just trying to like
779
00:36:45.920 --> 00:36:48.480
a maybe advocate for like maybe there's a different can
780
00:36:48.480 --> 00:36:52.280
we experiment with some different approaches, because that has been
781
00:36:52.320 --> 00:36:56.880
the go to approach. You don't break the existing stuff
782
00:36:57.480 --> 00:36:59.960
because it works great, but if it's but that's a thing,
783
00:37:00.119 --> 00:37:03.599
if it's going to break, how do you make it
784
00:37:03.639 --> 00:37:04.400
less breakable?
785
00:37:04.559 --> 00:37:04.920
And so.
786
00:37:06.599 --> 00:37:08.519
I don't this this is the heart, This is the
787
00:37:08.519 --> 00:37:10.000
hard part. Of our job, I supposed to try to
788
00:37:10.000 --> 00:37:10.760
figure this stuff out.
789
00:37:10.880 --> 00:37:14.960
So, yeah, it reminds me a little bit of a
790
00:37:15.039 --> 00:37:17.800
scientific experiment, right, So you have these studies that are
791
00:37:17.840 --> 00:37:19.960
done right, and so they have the control and then
792
00:37:19.960 --> 00:37:24.920
they've got kind of their experimental set. And typically the
793
00:37:24.920 --> 00:37:27.199
best practice is is you only change the thing that
794
00:37:27.239 --> 00:37:31.119
you want to see what difference it makes. Right, And
795
00:37:31.199 --> 00:37:35.880
so if you're doing a new problem and inventing a
796
00:37:35.880 --> 00:37:38.599
new solution and using a new tool for it as
797
00:37:38.599 --> 00:37:42.480
opposed to doing a well understood problem that's already been
798
00:37:42.519 --> 00:37:44.679
solved with the tool you already have, yeah, then you
799
00:37:44.760 --> 00:37:47.639
have a real good comparison to see where where the
800
00:37:47.639 --> 00:37:48.320
trade off is.
801
00:37:50.400 --> 00:37:52.320
You might find that, you know, if you're just rebuild
802
00:37:52.360 --> 00:37:55.679
like a small part of your application or front end
803
00:37:55.800 --> 00:37:58.760
with a different jobs, you might be like all those
804
00:37:58.760 --> 00:38:01.239
assumptions we made of this was going to be way better, Actually,
805
00:38:01.239 --> 00:38:04.039
like it's got some weird things that we didn't quite realize,
806
00:38:04.039 --> 00:38:07.079
And is that trade off going to be okay for
807
00:38:07.159 --> 00:38:10.760
us in the future or because then because I think
808
00:38:10.599 --> 00:38:12.639
the question is going to be you start, you're using
809
00:38:12.639 --> 00:38:14.360
that new thing on the new functionality, are you ever
810
00:38:14.400 --> 00:38:17.679
going to go back and rewrite that stuff or are
811
00:38:17.760 --> 00:38:20.360
you saying that those existing stable things are just never
812
00:38:20.440 --> 00:38:23.840
going to change. So that's why you laugh about like backbone, Like,
813
00:38:23.880 --> 00:38:25.880
there's plenty of projects out there that are running just
814
00:38:25.920 --> 00:38:29.159
fine with backbone. We work on projects like that, and
815
00:38:29.360 --> 00:38:31.000
I can tell you we tried to do a project
816
00:38:31.000 --> 00:38:34.039
for one of our large clients that was the client
817
00:38:34.119 --> 00:38:35.920
was like, yeah, we want to move to react from
818
00:38:36.159 --> 00:38:38.800
the backbone, and we were working through this big rewrite
819
00:38:38.840 --> 00:38:42.360
on the front end and eventually we agree, like, you know,
820
00:38:42.480 --> 00:38:46.320
this doesn't feel like it's we're this doesn't feel like that.
821
00:38:46.440 --> 00:38:48.239
I don't want to value to your business necessarily, but
822
00:38:50.079 --> 00:38:52.599
this is fine. But yeah, we're probably you know, they're
823
00:38:52.639 --> 00:38:54.000
like they decided they're going to end up life that
824
00:38:54.000 --> 00:38:56.360
particular project anyways, and then a year choose so we
825
00:38:57.440 --> 00:38:58.039
you know, we hit the.
826
00:38:58.280 --> 00:39:01.199
Brakes on that particular project. But those are.
827
00:39:03.760 --> 00:39:06.239
If where is the future of these projects going to be?
828
00:39:06.280 --> 00:39:07.800
And like how where do you want to kind of
829
00:39:07.840 --> 00:39:12.199
sit with that? And again it's a difficult part of
830
00:39:12.199 --> 00:39:13.280
our job, I suppose, But.
831
00:39:14.840 --> 00:39:18.119
Yep, all right, I'm going to hit one of these
832
00:39:18.199 --> 00:39:24.079
areas that I was interested in. I'm going to talk
833
00:39:24.079 --> 00:39:26.960
a little bit about deployment and DevOps. I would have
834
00:39:27.000 --> 00:39:31.199
picked things like Ruby and Rails versions, but it seems
835
00:39:31.199 --> 00:39:35.039
like the majority of people are close to, if not
836
00:39:35.159 --> 00:39:37.559
using the latest thing, and so I was just like, oh, okay,
837
00:39:37.599 --> 00:39:43.519
good yeah. So yeah, So a couple of things. One
838
00:39:43.760 --> 00:39:47.480
is what deployment tool do you use? And the other
839
00:39:47.519 --> 00:39:51.239
one was how often do you deploy? And I've always
840
00:39:51.280 --> 00:39:54.559
wondered because I haven't really looked at surveys like this
841
00:39:54.639 --> 00:39:57.480
that often, you know, are people really doing kind of
842
00:39:57.480 --> 00:40:01.960
the continuous deployment and then they're deploying off or are
843
00:40:01.960 --> 00:40:05.159
are you know, people mostly on a we're going to
844
00:40:05.239 --> 00:40:07.440
release after our sprint or we're going to release after
845
00:40:07.519 --> 00:40:12.320
our you know, after our big set of whatever, right,
846
00:40:12.880 --> 00:40:16.239
which is always painful whenever I've done that places I've worked.
847
00:40:17.079 --> 00:40:20.679
But it looks like the majority I shouldn't say majority,
848
00:40:21.000 --> 00:40:26.559
but a large number of people are deploying every day
849
00:40:26.599 --> 00:40:29.880
or every week. I mean it's thirty seven percent for
850
00:40:30.079 --> 00:40:33.800
every day multiply multiple times a day, and thirty six
851
00:40:33.840 --> 00:40:36.840
percent for multiple times a week, which to me says
852
00:40:36.880 --> 00:40:40.400
that they're doing it, you know, possibly several days during
853
00:40:40.400 --> 00:40:44.000
the week. And so yeah, I mean that's like what
854
00:40:44.119 --> 00:40:47.280
seventy three percent, So that I thought that was very
855
00:40:47.360 --> 00:40:48.119
very fascinating.
856
00:40:50.400 --> 00:40:53.320
Yeah, it kind of surprises me when we'll we'll have
857
00:40:53.360 --> 00:40:57.440
client engagements will come in to do some consulting for
858
00:40:57.440 --> 00:40:59.400
a short period of time, and those those are one
859
00:40:59.440 --> 00:41:01.320
of their usual questions we ask. It's like, tell us
860
00:41:01.320 --> 00:41:04.960
about your workflow for pushing stuff out. And then there's
861
00:41:05.000 --> 00:41:06.239
the companies we talk to. You are like, oh, yeah,
862
00:41:06.239 --> 00:41:08.280
we our team deploys.
863
00:41:08.519 --> 00:41:09.639
Hundreds of times a day.
864
00:41:09.760 --> 00:41:13.199
You're like, what, okay, so there's that too, the extreme
865
00:41:13.280 --> 00:41:15.079
of like oh yeah, like every three weeks we push
866
00:41:15.079 --> 00:41:16.920
out a thing. You know. I'm just like, okay, that
867
00:41:16.960 --> 00:41:20.320
feels like unless there's some like seven one issue type
868
00:41:20.320 --> 00:41:22.400
thing we need to push out, like a quick bug
869
00:41:22.400 --> 00:41:25.599
fix or something there's like a huge issue going on.
870
00:41:25.679 --> 00:41:27.519
But otherwise they're like, we don't. And I think it's
871
00:41:27.519 --> 00:41:30.199
always contextual also, like you know, way to pivot. That
872
00:41:30.199 --> 00:41:33.239
would be like if there's a lot of restrictions in
873
00:41:33.280 --> 00:41:36.400
their particular industries, like maybe it's healthcare for example, or
874
00:41:36.400 --> 00:41:39.760
with companies and healthcare, some companies like they have very
875
00:41:39.840 --> 00:41:42.360
very rigorous process around that because they have to be
876
00:41:42.360 --> 00:41:44.719
able to have an audit trail that they can report
877
00:41:45.159 --> 00:41:47.719
to the governments or something. So it's a lot of
878
00:41:48.079 --> 00:41:51.119
weird things that can kind of change that. So then
879
00:41:51.320 --> 00:41:53.280
I'm always curious about how they then have to deal
880
00:41:53.320 --> 00:41:56.440
with as a development workflow Q things up for a
881
00:41:56.480 --> 00:42:00.239
bigger bulker release versus having a lot of like these
882
00:42:00.280 --> 00:42:04.880
micro small things they can get shipped out. I think
883
00:42:04.880 --> 00:42:06.960
it depends on you know, the context, context of that
884
00:42:07.000 --> 00:42:10.000
particular business and industry or and a lot of people
885
00:42:10.039 --> 00:42:14.920
just being really you know, concerned about breaking things, like
886
00:42:14.960 --> 00:42:16.840
if they have a really brittle environment, they need to
887
00:42:16.880 --> 00:42:20.000
really rigorous QA process before they push things out or not. So,
888
00:42:22.519 --> 00:42:24.519
but yeah, it's it's it's a lot, it's it's it's
889
00:42:24.639 --> 00:42:26.559
encouraging because I remember, I think if you go back
890
00:42:26.559 --> 00:42:28.559
several years that I think that the data for that
891
00:42:28.599 --> 00:42:31.280
would be like much lower. It would be like maybe
892
00:42:31.679 --> 00:42:33.840
you know, weekly would be like a pretty common thing
893
00:42:33.920 --> 00:42:34.320
or something.
894
00:42:34.360 --> 00:42:39.079
But yeah, the other one I thought was interesting was
895
00:42:39.119 --> 00:42:42.920
this was the first one where Camal was listed as
896
00:42:42.960 --> 00:42:48.239
an option for deployment tools, and then there was one
897
00:42:48.360 --> 00:42:51.519
continuous deploy R. I don't know if I've even seen
898
00:42:51.599 --> 00:42:55.079
that or was that just a no, it's continuous deployment.
899
00:42:55.119 --> 00:42:55.840
It must be cut off.
900
00:42:55.920 --> 00:43:02.239
Oh yeah, it's truncated and graphic chart. Yeah, end issue.
901
00:43:02.360 --> 00:43:05.679
Yeah, you've got get and Capistrano. And I don't know
902
00:43:05.679 --> 00:43:07.719
what people mean by get. Is that like a get
903
00:43:07.719 --> 00:43:10.280
pushed kind of like Heroku or yeah.
904
00:43:10.519 --> 00:43:14.039
I think yeah, it means which is these are some
905
00:43:14.079 --> 00:43:15.719
of the I feel like there's always a really awkward
906
00:43:15.760 --> 00:43:17.920
question because we've kept it in because people will if
907
00:43:17.960 --> 00:43:21.360
we just limited the set of things, like people will
908
00:43:21.719 --> 00:43:22.559
type in other.
909
00:43:22.599 --> 00:43:25.480
They'll they'll write things in, so they'll we.
910
00:43:25.599 --> 00:43:27.239
Just I think a lot of people don't know the
911
00:43:27.239 --> 00:43:29.719
difference between pushing too so there, but I think a
912
00:43:29.760 --> 00:43:31.920
lot of that comes down to, like, yeah, like Heroku
913
00:43:32.039 --> 00:43:34.599
is just like get pushed and then pushes to Heroku
914
00:43:35.440 --> 00:43:38.000
without explicitly just saying they're deploying to Heroku.
915
00:43:39.719 --> 00:43:41.960
Yeah, so yeah. It said two point four percent of
916
00:43:41.960 --> 00:43:47.599
people reported using Kamal, which I love Kamal. I'm curious
917
00:43:47.639 --> 00:43:51.039
to see next time you do this when you ask
918
00:43:51.079 --> 00:43:54.400
about what proxy and web servers people are using, to
919
00:43:54.400 --> 00:43:57.920
see if Kamal proxy comes in on the list. Because
920
00:43:57.960 --> 00:44:02.079
traffic was the default Kamal, one and two hundred and
921
00:44:02.119 --> 00:44:06.079
three people said they were using that and so yeah,
922
00:44:06.320 --> 00:44:08.039
I'm curious to see if that switches up.
923
00:44:09.440 --> 00:44:12.239
I would imagine, but you should see.
924
00:44:12.840 --> 00:44:15.400
Yeah, and Thruster was another piece of that puzzle too,
925
00:44:15.719 --> 00:44:16.320
that's on there.
926
00:44:19.199 --> 00:44:19.400
Yeah.
927
00:44:19.400 --> 00:44:23.000
I'm curious too, like how many people like use chat
928
00:44:23.000 --> 00:44:28.480
ops still, Like is that still the go to deployment
929
00:44:28.519 --> 00:44:31.199
for larger organizations.
930
00:44:31.840 --> 00:44:32.800
I'm curious, like do you.
931
00:44:32.880 --> 00:44:36.679
Do like a lot of like you know, cross referencing
932
00:44:36.960 --> 00:44:40.480
post survey, like to see if like some things are
933
00:44:40.480 --> 00:44:45.760
related like interdependency, like you know, the their team size.
934
00:44:45.360 --> 00:44:49.119
Is related to how they deploy or x y Z.
935
00:44:49.920 --> 00:44:50.639
That'd be interesting.
936
00:44:50.960 --> 00:44:52.719
Yeah, we definitely could.
937
00:44:52.920 --> 00:44:57.480
It's just how much we've historically would share all the
938
00:44:57.519 --> 00:45:00.000
results with everybody and we just need to put together
939
00:45:00.119 --> 00:45:02.199
especially for that, and we just kind of shipped up
940
00:45:02.199 --> 00:45:03.320
before we had a chance to do it this year,
941
00:45:03.360 --> 00:45:04.960
so people can kind of play around with the data
942
00:45:05.000 --> 00:45:07.320
there because there's a little bit of data scrubbing we
943
00:45:07.360 --> 00:45:09.639
have to do for our privacy stuff there. But the
944
00:45:10.159 --> 00:45:13.360
definitely something we can definitely expose for for folks. But
945
00:45:13.639 --> 00:45:15.079
what we found is what we've done in the past,
946
00:45:15.199 --> 00:45:18.679
like five people would download this and then so we're
947
00:45:18.679 --> 00:45:20.920
like how much how much time am I putting into
948
00:45:21.199 --> 00:45:23.559
something for those five people, but there is there is
949
00:45:23.639 --> 00:45:25.360
some there's some ways to do that as well.
950
00:45:25.840 --> 00:45:27.639
You got to hook it up to an AI chat
951
00:45:27.719 --> 00:45:30.960
to make it easy. Related.
952
00:45:31.159 --> 00:45:33.159
Yeah, and I hope that I hope that it's accurate.
953
00:45:33.960 --> 00:45:35.239
Yeah.
954
00:45:36.679 --> 00:45:37.519
Deploy GPT.
955
00:45:38.159 --> 00:45:43.199
Yeah, if you've deployed applications using other languages or frameworks,
956
00:45:43.559 --> 00:45:45.760
would you say that it has been easier or harder
957
00:45:45.800 --> 00:45:50.639
to deploy reels applications? And sixteen percent said it was harder,
958
00:45:50.719 --> 00:45:54.159
but forty five percent set was easier and thirty nine
959
00:45:54.159 --> 00:45:57.639
percent said it's about the same, which I found interesting
960
00:45:57.760 --> 00:46:01.440
because I've done a little bit of PHP eight years ago,
961
00:46:01.559 --> 00:46:06.360
and when I could, I found it quite easy to deploy.
962
00:46:06.400 --> 00:46:08.400
I can't remember exactly what I did was years ago,
963
00:46:08.880 --> 00:46:11.400
but it was like I didn't really know the next admin.
964
00:46:11.440 --> 00:46:14.039
I still probably not that good with the next admin anyway.
965
00:46:14.440 --> 00:46:16.679
And when I came to try and deploy a rails
966
00:46:16.719 --> 00:46:19.400
app for the first time, which is something about five
967
00:46:19.559 --> 00:46:25.199
years ago, I started using the word to live, I
968
00:46:25.320 --> 00:46:28.559
cave and had to use cloud sixty six and even now,
969
00:46:28.679 --> 00:46:31.400
like I would say that like a render dot comfort
970
00:46:31.400 --> 00:46:33.880
for hosting, but if I had to do like a
971
00:46:33.880 --> 00:46:38.679
bare bones vps. Any Ruby, not just Raels has to
972
00:46:38.719 --> 00:46:42.559
deploy any Ruby web app, but it wouldn't be as
973
00:46:42.559 --> 00:46:45.239
easy as I as I like. So I just found
974
00:46:45.239 --> 00:46:48.880
that response interesting because I don't know, I mean, do you
975
00:46:48.880 --> 00:46:51.760
think do you think people responded easier because of things
976
00:46:51.800 --> 00:46:53.239
like render dot com and Heroku?
977
00:46:54.119 --> 00:46:56.840
I think yeah, I mean I think that's very much
978
00:46:57.079 --> 00:47:00.840
the probably very much the case for a lot of people.
979
00:47:01.480 --> 00:47:03.840
And we definitely could look at pivoting the data data
980
00:47:03.840 --> 00:47:06.119
there to see if you can get some more detail
981
00:47:06.119 --> 00:47:09.760
on where people are hosting those applications. But it's interesting,
982
00:47:09.840 --> 00:47:12.920
you know, that experience you had coming from Php to Rails,
983
00:47:12.960 --> 00:47:16.880
Like I shared that experience early on because but that
984
00:47:16.960 --> 00:47:19.400
was also why part of what we did from a
985
00:47:19.440 --> 00:47:22.559
company was offer hosting services to make that easier. Because
986
00:47:22.800 --> 00:47:26.000
it was so much easier to host a PHP application
987
00:47:26.159 --> 00:47:30.199
because you literally just uploaded some PHP files and maybe
988
00:47:30.280 --> 00:47:33.719
you needed to restart the server maybe usually.
989
00:47:33.559 --> 00:47:36.039
Not back then wasn't such a big deal.
990
00:47:36.760 --> 00:47:38.239
But rails, you know, you were like, well you got
991
00:47:38.239 --> 00:47:40.840
to run like a little Rail server, and so that
992
00:47:40.840 --> 00:47:44.239
that's running behind like your web server, and YadA, YadA, YadA.
993
00:47:44.320 --> 00:47:48.239
And then but things like Capistrano did smooth that out
994
00:47:48.280 --> 00:47:51.519
at one point, and Heroku made it a lot more
995
00:47:51.559 --> 00:47:53.719
accessible to easily quickly deploy so you didn't have to
996
00:47:53.760 --> 00:47:56.800
learn how to manage your own Linux server out there
997
00:47:56.800 --> 00:47:59.360
on some you know, rack space or wherever you're hosting
998
00:47:59.440 --> 00:48:04.360
your your vps and stuff like that. So I hear
999
00:48:04.440 --> 00:48:09.440
you on that, is it harder or easier? I think
1000
00:48:09.440 --> 00:48:11.400
it's To me, it feels like a lot of I
1001
00:48:11.800 --> 00:48:14.079
think it's because that like a lot of people are
1002
00:48:14.079 --> 00:48:16.599
like it's like thirty nine percent that it's about the same,
1003
00:48:18.000 --> 00:48:20.840
you know, it's a little less than half and so,
1004
00:48:22.119 --> 00:48:25.239
but harder. I think it depends on how complicated a
1005
00:48:25.320 --> 00:48:28.440
hosting environment are, because the other things I think it
1006
00:48:28.639 --> 00:48:31.719
related to deploying is also like being able to debug things,
1007
00:48:31.719 --> 00:48:33.320
and I always feel like I feel like one of
1008
00:48:33.320 --> 00:48:35.559
the things that I really appreciate about Ruby on Rails
1009
00:48:35.559 --> 00:48:39.039
early on was how easy it was to but debug
1010
00:48:39.159 --> 00:48:44.559
things in production versus with working in like say PHP,
1011
00:48:44.920 --> 00:48:47.400
because we had things like you could essensation into the
1012
00:48:47.440 --> 00:48:50.480
server and then run Rails console and do stuff and
1013
00:48:50.480 --> 00:48:53.280
you're like, oh, this is amazing, and like didn't feel
1014
00:48:53.280 --> 00:48:55.639
like we had that kind of functionality at the time.
1015
00:48:56.039 --> 00:48:59.320
There's tools like that now, but that stuff was just
1016
00:48:59.400 --> 00:49:02.599
kind of like a for my professional development growth. That
1017
00:49:02.679 --> 00:49:04.280
was like a huge like aha, I'm like, look what
1018
00:49:04.280 --> 00:49:07.119
we can do and like. But you also had to run,
1019
00:49:07.519 --> 00:49:09.960
you know, all these different separate processes and you're spinning
1020
00:49:10.079 --> 00:49:13.840
up delayed job things or whatever, men cash and all
1021
00:49:13.880 --> 00:49:15.400
this stuff, and you'd have to run all these little
1022
00:49:15.440 --> 00:49:17.639
services in parallel on a server. So there's a lot
1023
00:49:17.679 --> 00:49:20.480
more things related to your rails apps that you have
1024
00:49:20.519 --> 00:49:21.440
to run as well.
1025
00:49:21.559 --> 00:49:23.000
It wasn't just like PHBD, like you.
1026
00:49:23.039 --> 00:49:25.239
Run the thing and then you had a database or
1027
00:49:25.320 --> 00:49:27.679
something you connected to and then that was the bulk of.
1028
00:49:27.639 --> 00:49:28.840
What you needed to worry about.
1029
00:49:29.360 --> 00:49:32.960
So yeah, I think some of the tools have gotten better,
1030
00:49:34.119 --> 00:49:36.519
like you said, but with Kamal, I mean you just
1031
00:49:37.079 --> 00:49:39.239
you set up the vps, make sure you can have
1032
00:49:39.400 --> 00:49:42.800
to state into it, and you know, so do run
1033
00:49:42.840 --> 00:49:46.239
things as route and then you just tell it to
1034
00:49:46.280 --> 00:49:48.400
set it up and then you tell it to deplay it.
1035
00:49:48.920 --> 00:49:54.360
So yeah, I mean, depending it Yeah, a lot of
1036
00:49:54.400 --> 00:49:56.639
it depends on how your system set up. But what
1037
00:49:56.679 --> 00:49:58.320
I found is the tools just keep getting better and
1038
00:49:58.360 --> 00:49:58.840
better and better.
1039
00:50:00.480 --> 00:50:04.199
Yeah, Comal. The only thing is it's it's Docker, and like, yeah,
1040
00:50:05.360 --> 00:50:08.239
it's I just find it too heavy handed for the
1041
00:50:08.360 --> 00:50:10.719
kind of stuff I do, not not for my clients work.
1042
00:50:10.760 --> 00:50:13.920
My client work obviously is high enough scale to warrant that,
1043
00:50:14.559 --> 00:50:16.320
but stuff I do on my own, I just find
1044
00:50:16.400 --> 00:50:18.519
like Docker to be a bit too heavy for that.
1045
00:50:18.679 --> 00:50:24.000
So I'd quite like just a simple solution that isn't docerbase,
1046
00:50:24.039 --> 00:50:26.440
and I'm playing around with some stuff. One thing that
1047
00:50:26.480 --> 00:50:29.000
I'll be quite interested in this year over the probably
1048
00:50:29.039 --> 00:50:31.079
this year and next year is if the adoption of
1049
00:50:31.199 --> 00:50:34.800
Falcon goes up at all, because that's kind of designed
1050
00:50:35.000 --> 00:50:39.480
to be like all in one server, Like you don't
1051
00:50:39.519 --> 00:50:42.760
need to have engine X, a caddy or something in
1052
00:50:42.760 --> 00:50:47.400
front of it. It's it's meant to be like, uh,
1053
00:50:48.039 --> 00:50:50.800
right in front of your application, and it's meant to
1054
00:50:50.840 --> 00:50:53.719
be like it's meant to work as a sul termination
1055
00:50:53.880 --> 00:50:57.880
and just work as a web server. So it should
1056
00:50:57.920 --> 00:51:01.159
hopefully reduce the number of moving parts you need for redeployment.
1057
00:51:02.519 --> 00:51:04.480
It would be good to see that kind of beIN
1058
00:51:04.480 --> 00:51:05.800
a little bit more traction, I think.
1059
00:51:07.280 --> 00:51:11.239
Yeah, Robbie, was there a section that stood out to
1060
00:51:11.280 --> 00:51:12.920
you that we haven't talked about.
1061
00:51:13.280 --> 00:51:18.400
Yeah, some of the things that I've always found interesting.
1062
00:51:18.400 --> 00:51:21.480
The track is because it's just having been a part
1063
00:51:21.519 --> 00:51:24.599
of the rail's ecosystem for such a long time and
1064
00:51:25.599 --> 00:51:28.360
is a lot of the third party services and tools
1065
00:51:28.360 --> 00:51:30.519
that we're using. So, you know, this was the first
1066
00:51:30.519 --> 00:51:32.480
time this last year was the first time New Relic
1067
00:51:32.679 --> 00:51:36.559
wasn't number one for performance monitoring and the rails ecosystem
1068
00:51:36.599 --> 00:51:39.440
since we started asking that question. I think back in
1069
00:51:40.639 --> 00:51:43.199
I think Data Dog took over the number one spot.
1070
00:51:44.440 --> 00:51:48.320
Otherwise New Relic had been, you know, the and I
1071
00:51:48.320 --> 00:51:50.679
think that I don't want to I mean, I know
1072
00:51:50.679 --> 00:51:53.320
a bunch of people that work on New Relic, but
1073
00:51:53.440 --> 00:51:57.440
they've that company is going to have been bought and
1074
00:51:57.480 --> 00:51:59.639
sold a couple of times at this point now. But
1075
00:51:59.800 --> 00:52:01.880
the so it's been interesting to see that kind of
1076
00:52:01.880 --> 00:52:05.400
evolve into seeing how like Century and ap Signal have
1077
00:52:05.519 --> 00:52:07.320
kind of like jumped up a little bit more in
1078
00:52:07.320 --> 00:52:10.480
the community there. And I always it's to me, it's
1079
00:52:10.480 --> 00:52:12.480
always kind of fun to watch like the big companies
1080
00:52:12.480 --> 00:52:14.239
and the small companies trying to like I don't feel
1081
00:52:14.239 --> 00:52:18.039
like that space has ever like been terribly stable for
1082
00:52:18.079 --> 00:52:20.239
a lot of companies, necessarily outside of like the people
1083
00:52:20.239 --> 00:52:21.679
that are at the top there, and so like we
1084
00:52:21.760 --> 00:52:25.119
get aer tracking things and as well, so like I
1085
00:52:25.119 --> 00:52:28.960
think on the aeroor tracking, you know, centuries top been
1086
00:52:29.000 --> 00:52:32.679
the top of the last three times we've run the survey.
1087
00:52:32.719 --> 00:52:36.239
But it's been interesting. For whatever reason, I've always been
1088
00:52:36.239 --> 00:52:39.400
fascinating with those particular those topics to see what people
1089
00:52:39.440 --> 00:52:41.760
are using, and because I feel like it's really easy
1090
00:52:41.800 --> 00:52:46.559
for teams to quite often switch and experiment the different
1091
00:52:46.599 --> 00:52:49.800
thing we come into consulting engagements. Well, like we just
1092
00:52:49.800 --> 00:52:53.280
just actually just recently, we're working with a company doing
1093
00:52:53.320 --> 00:52:55.519
a code at it and giving this doing some consulting
1094
00:52:55.519 --> 00:52:58.360
with them, and we were logging into the new relic
1095
00:52:58.360 --> 00:53:00.519
where they've been tracking their errors for a really long
1096
00:53:00.559 --> 00:53:02.719
time and we're looking all this stuff and they're like, yeah,
1097
00:53:02.760 --> 00:53:03.599
we don't really log.
1098
00:53:03.440 --> 00:53:05.119
In that offen and go look at the error stuff
1099
00:53:05.119 --> 00:53:05.760
that often we.
1100
00:53:05.800 --> 00:53:09.679
Just occasionally I'm like, well, maybe a really easy thing
1101
00:53:09.679 --> 00:53:11.960
to do is just to switch to a different platform
1102
00:53:12.400 --> 00:53:14.840
so you have some new data, new fresh data set rather.
1103
00:53:14.719 --> 00:53:17.000
Than just ignoring the old thing, and like you can
1104
00:53:17.119 --> 00:53:18.000
use my U.
1105
00:53:19.159 --> 00:53:21.360
So they got set up with like app signal like
1106
00:53:21.360 --> 00:53:23.960
in an afternoon and you know, maybe made a confute
1107
00:53:24.119 --> 00:53:26.239
a few co changes to make that work, and then
1108
00:53:26.760 --> 00:53:28.679
it just kind of revitalized the team a little bit
1109
00:53:28.719 --> 00:53:30.679
to start paying attention to that stuff a little bit
1110
00:53:30.679 --> 00:53:33.719
more thoroughly. And so that's always kind of a nice
1111
00:53:33.719 --> 00:53:35.679
thing to be able to know that there's other tools
1112
00:53:35.679 --> 00:53:37.280
that you can kind of play with and maybe get
1113
00:53:37.280 --> 00:53:40.440
a different perspective or look at your data and you're
1114
00:53:40.880 --> 00:53:44.119
the activating your applications from a different perspective, and so
1115
00:53:44.679 --> 00:53:46.880
maybe switch over to honey Badger for six months and
1116
00:53:46.960 --> 00:53:48.599
try that for a bit and see how that maybe
1117
00:53:48.639 --> 00:53:52.440
rethinks your how your team approaches this stuff. Those are
1118
00:53:52.480 --> 00:53:54.400
like usually pretty easy things that teams can do to
1119
00:53:54.480 --> 00:53:57.840
just get some new energy around something rather than being like,
1120
00:53:58.079 --> 00:54:00.400
let's log into the thing. We don't really pay tension
1121
00:54:00.440 --> 00:54:02.000
or I don't really like.
1122
00:54:02.119 --> 00:54:04.280
The UI or all the upsales that they're.
1123
00:54:04.119 --> 00:54:06.440
Doing and not trying to pick on new relic or
1124
00:54:06.519 --> 00:54:08.719
data Dog or whatever, or like people like yeah, data Dog,
1125
00:54:08.760 --> 00:54:10.519
they as soon as we sign up for account with them,
1126
00:54:10.519 --> 00:54:12.760
all over. Developers start getting emails and phone calls all
1127
00:54:12.760 --> 00:54:14.679
the time from their sales people trying to upsell, and
1128
00:54:14.719 --> 00:54:16.719
you're just like, yeah, that's going to happen with this
1129
00:54:16.800 --> 00:54:21.159
bigger company, so other things that I know interesting around
1130
00:54:21.159 --> 00:54:24.000
just seeing things like what debugging tools people are using,
1131
00:54:24.199 --> 00:54:27.559
because there's you know, there's new things popping up, and
1132
00:54:27.599 --> 00:54:31.519
like Ruby Ruby de bug is what sixteen percent now
1133
00:54:32.119 --> 00:54:35.440
and you know the prize at thirty one percent, and
1134
00:54:35.599 --> 00:54:37.800
so I think if you're just people, like a lot
1135
00:54:37.800 --> 00:54:40.239
of people just keep using the same thing that they're
1136
00:54:40.239 --> 00:54:41.800
already used to using for a long time. So I
1137
00:54:41.840 --> 00:54:43.639
think it's sometimes it's just helpful to be aware of
1138
00:54:43.679 --> 00:54:47.840
these things counterpoint. And you know, you mentioned like the
1139
00:54:47.920 --> 00:54:51.400
Ruby versions or we would ask you know, which which
1140
00:54:51.599 --> 00:54:54.639
version or Ruby you're using, not not just like the
1141
00:54:54.920 --> 00:54:57.199
number version, but if I're using like Matt's is Ruby
1142
00:54:57.280 --> 00:55:00.440
versus j Ruby things like that, and let me see
1143
00:55:00.440 --> 00:55:02.599
if I try to remember what the question is, but
1144
00:55:04.679 --> 00:55:08.119
I got I'm not trying to point out unnecessarily, but
1145
00:55:08.440 --> 00:55:13.280
we ended up because the data from from the survey
1146
00:55:14.280 --> 00:55:17.000
the previous years that jay Ruby was so low in
1147
00:55:17.119 --> 00:55:18.679
number of counts that I'm like, I don't feel like
1148
00:55:18.719 --> 00:55:21.039
it's important to keep is that even an option for
1149
00:55:21.079 --> 00:55:23.199
people to check anymore? Because there's another box and let's
1150
00:55:23.199 --> 00:55:26.079
just let people type it in and then that didn't
1151
00:55:26.119 --> 00:55:29.280
make someone all that happy that I removed it. I'm like, well,
1152
00:55:29.280 --> 00:55:32.159
I'm not seeing people can't do that. It's just like
1153
00:55:32.159 --> 00:55:35.840
there's this insignificant number point that I'm like, and they're well,
1154
00:55:35.880 --> 00:55:37.920
this is like a So some people see these these
1155
00:55:37.920 --> 00:55:40.400
are the types of surveys as an opportunity to highlight
1156
00:55:40.440 --> 00:55:42.360
that there are these other tools when they're picking the
1157
00:55:42.400 --> 00:55:45.440
survey that they could be exposed to. So I'm like,
1158
00:55:45.440 --> 00:55:49.639
I can't list every single jam, every single.
1159
00:55:49.880 --> 00:55:50.760
Third party service.
1160
00:55:50.800 --> 00:55:52.599
It's just like we got to kind of do our
1161
00:55:52.599 --> 00:55:55.079
best to try to encounter like what do we know,
1162
00:55:55.119 --> 00:55:57.119
because there's a lot of things about the community and
1163
00:55:57.159 --> 00:55:59.079
the tooling that we don't even we're not even aware of.
1164
00:55:59.119 --> 00:56:01.960
So this is when we I'm usually learning about anythings,
1165
00:56:01.960 --> 00:56:04.440
like oh, what's this falcon thing? You know I've heard
1166
00:56:04.719 --> 00:56:07.039
maybe mentioned, but like a bunch of people are using it.
1167
00:56:07.079 --> 00:56:08.880
I'm like, I didn't even know anything about it. So
1168
00:56:09.679 --> 00:56:11.559
that's always kind of like a fascinating part of the
1169
00:56:12.239 --> 00:56:15.880
surveys too. It's it's it's it's it's it's easy. It's
1170
00:56:15.880 --> 00:56:17.239
not easy to get a lot of people to felt
1171
00:56:17.239 --> 00:56:18.719
the survey, but it's an easy way for me to
1172
00:56:18.920 --> 00:56:21.039
learn a lot about what people are up to in
1173
00:56:21.079 --> 00:56:25.199
the community, so kind of selfishly, yeah, I always wish
1174
00:56:25.199 --> 00:56:31.679
there's like a Ruby toolbox for like services, you know,
1175
00:56:32.239 --> 00:56:35.199
Oh everybody's using this or what is this? You know?
1176
00:56:35.920 --> 00:56:39.119
Uh, yeah, I don't know. I feel like that is
1177
00:56:39.199 --> 00:56:39.840
kind of missing.
1178
00:56:40.880 --> 00:56:44.159
It's a fair point. If anyone listening wants to create
1179
00:56:44.159 --> 00:56:48.480
a some sort of project to do that, I think
1180
00:56:48.480 --> 00:56:53.760
that would be good. But maintaining that keeping an updated
1181
00:56:53.840 --> 00:56:54.639
this is another thing.
1182
00:56:55.119 --> 00:56:58.400
So yeah. One thing that I picked up from the
1183
00:56:58.440 --> 00:57:02.480
survey that I didn't know existed was in the version updates.
1184
00:57:02.920 --> 00:57:05.079
It said, is your team using a dual boot strategy
1185
00:57:05.119 --> 00:57:07.480
for upgrades? And I was like, wait, you could do that?
1186
00:57:07.920 --> 00:57:09.079
So I had to go google it.
1187
00:57:11.519 --> 00:57:14.280
Did you learn much about about that? That said, there's
1188
00:57:14.280 --> 00:57:16.079
a couple of really good tools for that that'll be used.
1189
00:57:16.159 --> 00:57:18.559
I found a gem that does it, and I didn't
1190
00:57:18.559 --> 00:57:19.599
get much further than that.
1191
00:57:19.679 --> 00:57:23.320
But I'm surprised that the boogoot gem.
1192
00:57:23.159 --> 00:57:25.280
That was from shopify someone that I found.
1193
00:57:26.679 --> 00:57:30.039
I'm surprised that after all the conference talks about it,
1194
00:57:30.079 --> 00:57:31.320
that hasn't gotten more adoption.
1195
00:57:33.599 --> 00:57:34.400
It's not that hard.
1196
00:57:35.840 --> 00:57:38.639
Yeah, I'm working a project now. That we have some
1197
00:57:39.639 --> 00:57:42.559
performance issues, that there are tools in rail seven to
1198
00:57:42.559 --> 00:57:45.599
two that are not in Rail seven oh that we
1199
00:57:45.639 --> 00:57:47.920
want to use, like common table expressions and the way
1200
00:57:47.960 --> 00:57:49.360
we want to do some of the things with those.
1201
00:57:50.480 --> 00:57:53.199
So yeah, I was like, huh, well, maybe we can
1202
00:57:53.280 --> 00:57:56.719
use this over there and see how far we get.
1203
00:57:58.039 --> 00:58:02.159
Publish this back in right right before world So I'm
1204
00:58:02.159 --> 00:58:05.480
trying to remember the things that we're kind of like
1205
00:58:05.519 --> 00:58:10.159
capturing my mind at the time. But the the other
1206
00:58:10.159 --> 00:58:14.360
part was just like the just reinforcing the monoliths, I suppose,
1207
00:58:14.400 --> 00:58:17.360
and like that the number of people that are focusing
1208
00:58:17.639 --> 00:58:20.159
building a lot of micro service has been trending down
1209
00:58:20.280 --> 00:58:22.320
for the past I think like last three surveys, so
1210
00:58:22.719 --> 00:58:23.280
say six.
1211
00:58:23.199 --> 00:58:24.239
Years or so.
1212
00:58:24.239 --> 00:58:26.519
So that's been something that's been interesting to see that
1213
00:58:26.840 --> 00:58:29.639
there are and I know that there are a number
1214
00:58:29.639 --> 00:58:32.880
of teams just from doing consulting and talking with different
1215
00:58:32.880 --> 00:58:36.239
companies that are consolidating a lot more stuff and trying
1216
00:58:36.280 --> 00:58:40.320
to do more monolith Their app or at least have
1217
00:58:40.400 --> 00:58:42.519
to be a bit more hybrid than like because they're
1218
00:58:42.559 --> 00:58:46.599
teams shrunk and it's a common pattern that like we
1219
00:58:46.719 --> 00:58:50.320
make a lot of decisions as teams assuming that especially
1220
00:58:50.440 --> 00:58:54.440
for hired during a growth period that we just assume
1221
00:58:54.480 --> 00:58:56.880
that the team's going to continue growing. And then so
1222
00:58:56.920 --> 00:59:00.119
how do we architect our system to support maybe a
1223
00:59:00.159 --> 00:59:03.320
one day larger team. And we don't often make a
1224
00:59:03.320 --> 00:59:05.760
lot of technical decisions with the assumption that we're going
1225
00:59:05.800 --> 00:59:06.920
to be a smaller.
1226
00:59:06.559 --> 00:59:10.039
Team in the future. And maybe that's actually an ideal
1227
00:59:10.159 --> 00:59:12.199
state for that team is to be smaller.
1228
00:59:12.360 --> 00:59:15.199
So how do you weigh kind of weigh those two
1229
00:59:15.199 --> 00:59:17.360
things up, Like, we don't we may not need the
1230
00:59:17.360 --> 00:59:19.639
team we have today in two years to support this thing,
1231
00:59:19.800 --> 00:59:23.519
and that's maybe ideal. Whether the leadership is talking about
1232
00:59:23.519 --> 00:59:26.320
that out a lot or not, that's maybe another issue,
1233
00:59:26.360 --> 00:59:29.360
but that is like a thing. And so like, I
1234
00:59:29.400 --> 00:59:31.079
know a lot of like really really small teams. I'm
1235
00:59:31.079 --> 00:59:32.960
talking like two or three people that are working on
1236
00:59:33.000 --> 00:59:35.599
software projects that I've got like twenty five micro services
1237
00:59:36.239 --> 00:59:38.719
and you're just like, I'm like, this doesn't seem fun.
1238
00:59:39.440 --> 00:59:42.639
How many rails upgrades are you doing? And like, okay,
1239
00:59:43.639 --> 00:59:45.599
well we did this when we were ten people. I'm
1240
00:59:45.599 --> 00:59:47.599
like all right, and then and like and most those
1241
00:59:47.639 --> 00:59:50.159
people aren't even here anymore. So you're just like, okay,
1242
00:59:50.199 --> 00:59:53.599
well this is a fun thing to kind of re
1243
00:59:53.599 --> 00:59:56.880
reconfigure and rethink about how you reframe this stuff, because
1244
00:59:56.920 --> 00:59:59.320
like we had to make a change, and we now
1245
00:59:59.360 --> 01:00:01.480
we got to make a change in three different repositories.
1246
01:00:01.599 --> 01:00:05.639
Figure out the deployment process, scheduling because like these are
1247
01:00:05.719 --> 01:00:09.199
not this this, this doesn't feel super efficient. And it's
1248
01:00:09.199 --> 01:00:11.079
some very similar to the front end framework type of
1249
01:00:11.119 --> 01:00:14.000
issue as well. But micro services and the monolith thing,
1250
01:00:14.079 --> 01:00:17.960
I think it's so monolists are on the rise in
1251
01:00:18.000 --> 01:00:19.840
terms of people trying to keep it keep it in
1252
01:00:20.159 --> 01:00:24.800
like one repo as much as possible unless you really
1253
01:00:24.880 --> 01:00:26.480
really need to start putting some stuff out.
1254
01:00:27.599 --> 01:00:30.960
I'm curious how much of that is thanks to pop packwork,
1255
01:00:32.559 --> 01:00:34.599
because that seems to be a common pattern. Is like
1256
01:00:35.599 --> 01:00:39.840
making micro services in your monolith with packwork, which seems
1257
01:00:39.880 --> 01:00:44.039
to like solve kind of both problems that people face. Uh,
1258
01:00:44.119 --> 01:00:46.039
and the people that want to push for micro services
1259
01:00:46.119 --> 01:00:48.400
feel at ease because it kind of feels like a
1260
01:00:48.400 --> 01:00:52.400
micro service in a way. I don't know what you're
1261
01:00:53.039 --> 01:00:54.119
what your thoughts are on that.
1262
01:00:54.519 --> 01:00:57.639
I know that I Aleen gave a talk at Reil's
1263
01:00:57.639 --> 01:01:01.639
Word about that, and it was kind of a little
1264
01:01:01.679 --> 01:01:04.599
bit critical of doing a lot of that because there's
1265
01:01:04.920 --> 01:01:10.639
very because often the boundaries are not so clearly defined
1266
01:01:10.639 --> 01:01:13.960
and people are like stuff is overreaching all the time. Anyways,
1267
01:01:14.760 --> 01:01:17.039
I don't know that she felt like she had like
1268
01:01:17.079 --> 01:01:20.840
a good way of solving that necessarily, but like I
1269
01:01:20.880 --> 01:01:22.480
think her perspective is like we might.
1270
01:01:22.400 --> 01:01:24.199
Have over we're still over.
1271
01:01:26.000 --> 01:01:29.039
Separating in a way trying to optimize, and it's causing
1272
01:01:29.079 --> 01:01:31.440
other sorts of issues with like ownership within projects and
1273
01:01:31.679 --> 01:01:33.920
feeling like how did how did just teams.
1274
01:01:33.679 --> 01:01:36.079
Work together own projects? Is I think another part of it.
1275
01:01:36.159 --> 01:01:38.599
So there's the human part of that, and then there's
1276
01:01:38.639 --> 01:01:41.559
the technical approaches to solving some of that stuff and
1277
01:01:41.599 --> 01:01:43.239
like trying to weigh that up when the teams are
1278
01:01:43.239 --> 01:01:48.159
maybe not always going to match the technical separation of
1279
01:01:48.199 --> 01:01:51.119
those concerns and so I know, it's it's it's it's
1280
01:01:51.159 --> 01:01:54.320
it's tricky. So but yeah, packwork is definitely an option
1281
01:01:54.440 --> 01:01:56.760
there for kind of approaching them.
1282
01:01:58.840 --> 01:01:59.079
Yep.
1283
01:02:00.559 --> 01:02:03.679
Yeah, I like to try ways from uh just like
1284
01:02:03.760 --> 01:02:07.920
the open ended comments was, uh, you know, move away
1285
01:02:07.920 --> 01:02:09.559
from over engineering.
1286
01:02:09.199 --> 01:02:14.599
Things optimize for a smaller team, And I think even
1287
01:02:14.599 --> 01:02:16.920
if it's the same size team, like if you can
1288
01:02:16.960 --> 01:02:22.360
make this your software project easier for when half of
1289
01:02:22.360 --> 01:02:26.360
your team is on vacation to maintain, Like, wouldn't that
1290
01:02:26.400 --> 01:02:28.960
be a good thing? Wouldn't that feel better? I just
1291
01:02:29.000 --> 01:02:32.320
think there's probably a lot of things that we could
1292
01:02:32.320 --> 01:02:35.320
be asked for, so like like like especially with like deployments,
1293
01:02:35.519 --> 01:02:36.840
is you brought that up as an interesting thing, like
1294
01:02:37.239 --> 01:02:39.519
there was a time when, like we've I think there's
1295
01:02:39.519 --> 01:02:41.239
a lot of benefits. And one of the interesting things
1296
01:02:41.239 --> 01:02:44.800
about why Camal's resonating with some teams or some small
1297
01:02:44.840 --> 01:02:48.079
teams in particular, is that it feels like it's giving
1298
01:02:48.199 --> 01:02:51.679
back some control to the developers a little bit because
1299
01:02:51.719 --> 01:02:54.880
I think within this era where there's a lot of
1300
01:02:54.920 --> 01:03:00.280
emphasis on you know, DevOps type roles and people, there's
1301
01:03:00.320 --> 01:03:03.400
some specialization that came about, you know again, and so
1302
01:03:03.519 --> 01:03:07.159
we've this was a very similar pre you know, go
1303
01:03:07.239 --> 01:03:07.519
back to.
1304
01:03:07.519 --> 01:03:08.440
The early aughts.
1305
01:03:08.480 --> 01:03:11.360
We had a lot of DBAs you know, in our
1306
01:03:11.400 --> 01:03:14.400
in our teams, someone that would manage the database and
1307
01:03:14.440 --> 01:03:18.280
be the guardian and the gatekeeper for adding new columns
1308
01:03:18.400 --> 01:03:21.960
your table, adding new views or soot procedures, and the may'd
1309
01:03:21.920 --> 01:03:23.480
be the ones who managed that. And we were able
1310
01:03:23.519 --> 01:03:25.239
to kind of take some of that and like, no,
1311
01:03:25.360 --> 01:03:27.639
we can do this ourselves. We can we can manage this.
1312
01:03:28.039 --> 01:03:31.639
And then I think over the last decade or more,
1313
01:03:31.800 --> 01:03:36.360
we the infrastructure has got more complicated as we've moved
1314
01:03:36.360 --> 01:03:37.800
to the cloud, and we can do all this stuff.
1315
01:03:37.800 --> 01:03:38.920
And so we have a lot of a lot of
1316
01:03:39.000 --> 01:03:41.000
really large teams really need to do with a lot
1317
01:03:41.000 --> 01:03:42.920
of scaling things. A lot of small teams have some
1318
01:03:42.960 --> 01:03:45.360
scaling issues, but they would then adopt a lot of
1319
01:03:45.400 --> 01:03:48.480
the same approaches that large teams are talking about because
1320
01:03:49.280 --> 01:03:51.880
and so a lot of developers are actually so I
1321
01:03:51.880 --> 01:03:53.559
think back to the question about is it harder or not?
1322
01:03:53.719 --> 01:03:55.960
Is like some people work in environments like and actually
1323
01:03:55.960 --> 01:03:58.719
not responsible for anything but pushing to a branch and
1324
01:03:58.760 --> 01:04:01.519
then some magic happens. But ask me to change that.
1325
01:04:02.280 --> 01:04:04.199
I don't even know where to start. What is this
1326
01:04:04.320 --> 01:04:06.199
terrorform stuff, this cooper net?
1327
01:04:06.239 --> 01:04:07.519
What is this like?
1328
01:04:08.280 --> 01:04:09.800
How does this stuff work? I don't have time for that.
1329
01:04:09.840 --> 01:04:11.840
I'm going to focus on rails and I think that's
1330
01:04:12.039 --> 01:04:14.960
okay in some teams. But it's been a challenge for
1331
01:04:15.400 --> 01:04:18.079
a lot of developers to feel like I can make
1332
01:04:18.159 --> 01:04:20.360
changes or I feel it feels very brittle at times
1333
01:04:20.360 --> 01:04:22.679
because there's some magic stuff that's happening over here, and
1334
01:04:22.719 --> 01:04:23.119
I don't.
1335
01:04:22.960 --> 01:04:24.960
Want to break the infrastructure.
1336
01:04:25.119 --> 01:04:30.199
So infrastructure became a challenge and kind of like just
1337
01:04:30.239 --> 01:04:31.440
to kind of come back to this is just so
1338
01:04:32.199 --> 01:04:34.039
those a lot of teams don't feel like they can
1339
01:04:34.039 --> 01:04:36.119
make those changes. So teams are a lot bigger more
1340
01:04:36.159 --> 01:04:38.639
because there's just people that are specializing in certain things.
1341
01:04:38.679 --> 01:04:39.199
And you got that.
1342
01:04:39.320 --> 01:04:41.239
Now you have that weak point of like what happens
1343
01:04:41.280 --> 01:04:45.079
if that infrastructure person leaves or you need to keep
1344
01:04:45.119 --> 01:04:47.320
them around, and maybe they're not the best person to
1345
01:04:47.320 --> 01:04:49.960
be part of your team. And so I think there's
1346
01:04:50.000 --> 01:04:51.559
like a little bit of things like comal kind of
1347
01:04:51.599 --> 01:04:54.400
like pulling that back a little bit, like we don't
1348
01:04:54.679 --> 01:04:58.199
need all that stuff for a lot of software projects.
1349
01:04:58.519 --> 01:05:00.760
We can do that, but does every project need to
1350
01:05:00.760 --> 01:05:03.599
be deploying every single commit.
1351
01:05:05.760 --> 01:05:10.000
Automatically? Like that's maybe I don't know.
1352
01:05:10.079 --> 01:05:12.719
Maybe maybe you could just wait till someone runs in
1353
01:05:12.719 --> 01:05:15.320
the command once a day and that would be fine.
1354
01:05:16.480 --> 01:05:19.079
But there's gotta be some trade offs there because you're
1355
01:05:19.079 --> 01:05:21.079
spending a lot of money on infrastructure stuff and all
1356
01:05:21.119 --> 01:05:23.920
of those get up actions running or whatever you're using
1357
01:05:23.920 --> 01:05:26.079
for all that stuff. But that is costing your company
1358
01:05:26.159 --> 01:05:29.480
money to do that stuff and it's not free, so
1359
01:05:30.800 --> 01:05:32.599
figure out how to balance that.
1360
01:05:33.840 --> 01:05:36.400
Yeah, all right, Well we're kind of getting to that
1361
01:05:36.519 --> 01:05:38.840
point in time where we go to picks. Before we
1362
01:05:38.920 --> 01:05:41.599
do that, though, Robbie, if people want to connect with
1363
01:05:41.639 --> 01:05:44.440
you online, or they're thinking maybe they have a project
1364
01:05:44.440 --> 01:05:47.199
where they need help from someone like Brent planet ar Gone,
1365
01:05:47.480 --> 01:05:49.360
or they want to listen to the maintainable podcasts, where
1366
01:05:49.400 --> 01:05:50.519
do they find any of that stuff?
1367
01:05:51.000 --> 01:05:51.760
Search for it?
1368
01:05:51.960 --> 01:05:53.559
I mean, you know how to do this stuff.
1369
01:05:54.199 --> 01:05:54.440
Links.
1370
01:05:54.639 --> 01:05:56.119
I'm sure there will be some links in the show
1371
01:05:56.159 --> 01:06:00.000
noteswer I'm Robbie, Robbie Russell or you can find me.
1372
01:06:01.199 --> 01:06:04.159
All right, good deal. Well let's uh let's do some picks.
1373
01:06:04.679 --> 01:06:06.719
Are you sh you want to start us off picks?
1374
01:06:07.079 --> 01:06:11.119
Yeah, that's uh. So she got back from New Zealand,
1375
01:06:11.199 --> 01:06:14.039
so I'm just gonna New Zealand as a country. That's
1376
01:06:14.039 --> 01:06:17.639
gonna be one of my picks. It's just them, It's
1377
01:06:17.880 --> 01:06:20.079
it's probably our favorite place to go on holiday. I
1378
01:06:20.119 --> 01:06:23.880
was there for like six weeks and yeah, the place
1379
01:06:23.920 --> 01:06:24.679
feels fictional.
1380
01:06:24.760 --> 01:06:24.920
Man.
1381
01:06:25.079 --> 01:06:27.639
I went did also, I went to hobbiton so I
1382
01:06:27.679 --> 01:06:33.199
got got this thing from from from hobbiton, which is
1383
01:06:33.239 --> 01:06:35.719
a I don't really do bucket list, but if I
1384
01:06:35.719 --> 01:06:37.639
had a bucket list, I would probably be on there.
1385
01:06:38.440 --> 01:06:41.880
Uh yeah. It was also nice to just get out
1386
01:06:41.880 --> 01:06:45.400
of the British winter for a bit. But near New
1387
01:06:45.480 --> 01:06:48.199
Zealand as a country is one of my picks. And
1388
01:06:48.239 --> 01:06:52.000
then I got back and I binged a new TV
1389
01:06:52.079 --> 01:06:54.480
show because that's what I do. It's called A Man
1390
01:06:54.519 --> 01:06:58.519
on the Inside starring Ted Dunce and it's Michael Shaw's
1391
01:06:58.840 --> 01:07:01.880
new comedy known for other shows like Parks and Rack
1392
01:07:01.920 --> 01:07:04.800
Brooklyn nine nine in the Good Place. So his new
1393
01:07:04.800 --> 01:07:07.480
shows as like, what's only eight episodes to spend an
1394
01:07:07.519 --> 01:07:11.159
evening and binge the whole thing. Very funny, very enjoyable.
1395
01:07:12.320 --> 01:07:16.400
Recommend that. And I'll finish off with that technical pick,
1396
01:07:16.480 --> 01:07:22.679
which is the acinc container gem by Samuel Williams. I
1397
01:07:22.719 --> 01:07:24.320
have the chance to hang out with him while I
1398
01:07:24.360 --> 01:07:27.360
was in New Zealand, and one of the things we
1399
01:07:27.519 --> 01:07:31.199
kind of played around with was the acink container gem,
1400
01:07:31.280 --> 01:07:37.079
which it's kind of just a way to like orchestrate
1401
01:07:37.199 --> 01:07:41.320
roovy processes. So instead of like packaging everything after the
1402
01:07:41.360 --> 01:07:46.480
darker container, you just have any acinc container manage all
1403
01:07:46.519 --> 01:07:50.079
your different processes, and it kind of deals with restarting
1404
01:07:50.159 --> 01:07:53.119
and blue green deployers and all that kind of stuff,
1405
01:07:53.159 --> 01:07:55.199
and kind of playing around with it to see if
1406
01:07:55.239 --> 01:07:58.639
I can get it to work nicely with just generic
1407
01:07:58.719 --> 01:08:02.039
rails up with apps be mine stuff. But yeah, I
1408
01:08:02.079 --> 01:08:06.280
think it's a very underrated gem and they I highly
1409
01:08:06.280 --> 01:08:09.559
recommend checking it out. So yeah, those are my three
1410
01:08:09.599 --> 01:08:10.400
picks for today.
1411
01:08:11.599 --> 01:08:14.199
Awesome, Valentino, what are your picks?
1412
01:08:14.559 --> 01:08:20.039
I just got done taking this incredible Ruby AI engineering
1413
01:08:20.079 --> 01:08:24.039
training and planning workshop with Max Irwin and Landing Gray.
1414
01:08:24.880 --> 01:08:26.039
I highly recommend it.
1415
01:08:26.800 --> 01:08:29.000
We got a bunch of folks at doximity to attend
1416
01:08:29.000 --> 01:08:32.640
it and just like filled so many knowledge gaps and
1417
01:08:33.319 --> 01:08:37.640
just learned a ton and I'm looking forward to applying
1418
01:08:37.760 --> 01:08:42.319
just like, yeah, a massive amount of information there.
1419
01:08:43.560 --> 01:08:44.960
So definitely check that out.
1420
01:08:45.239 --> 01:08:50.199
I hope they continue doing it, because yeah, I was
1421
01:08:50.239 --> 01:08:53.279
just incredibly well put together, and I've never used Jupiter
1422
01:08:53.359 --> 01:08:56.960
notebooks with Ruby before, so that was very interesting and
1423
01:08:57.520 --> 01:08:58.039
kind of fun.
1424
01:08:58.359 --> 01:09:02.239
Uh So uh that that on its own kind of
1425
01:09:02.239 --> 01:09:02.640
worth it.
1426
01:09:04.880 --> 01:09:05.720
My My other.
1427
01:09:05.560 --> 01:09:11.000
Pick is I I just pre ordered this giant three
1428
01:09:11.079 --> 01:09:16.840
D printer from elagu. It's uh it's called orange Storm
1429
01:09:16.880 --> 01:09:20.439
Giga and you can print like furniture size things with it.
1430
01:09:20.720 --> 01:09:23.720
So I'm I'm pretty excited to Uh.
1431
01:09:23.960 --> 01:09:24.760
You meant giant.
1432
01:09:24.840 --> 01:09:30.039
Wow, I went giant is massive. Yeah, it's the size
1433
01:09:30.079 --> 01:09:34.840
of a person. Uh. And it's honestly not that expensive
1434
01:09:35.359 --> 01:09:36.039
for what it is.
1435
01:09:36.439 --> 01:09:41.720
Uh And so uh I recommend at least looking at it.
1436
01:09:41.720 --> 01:09:46.560
It's pretty pretty incredible what you can do these days.
1437
01:09:47.800 --> 01:09:50.640
Nice your friends come over and ask you what you
1438
01:09:50.720 --> 01:09:55.399
do in your phone booth. All right, I've got a
1439
01:09:55.399 --> 01:10:00.159
few picks here, so I always do a boarding and
1440
01:10:00.199 --> 01:10:04.479
pick first. And so the game I'm gonna pick this
1441
01:10:04.520 --> 01:10:10.720
time is Machi Koro two. I have picked Machi Koro
1442
01:10:10.880 --> 01:10:16.239
in the past. Machi Koro two is you basically played
1443
01:10:16.279 --> 01:10:19.399
by the same rules as Machi Koro. The difference is
1444
01:10:19.399 --> 01:10:24.560
is that you have instead of the different kinds of
1445
01:10:24.560 --> 01:10:26.720
buildings just being all in their stacks and you can
1446
01:10:26.760 --> 01:10:30.199
just buy whatever's out there, you actually flip cards to
1447
01:10:31.279 --> 01:10:35.199
expose the different types of the different buildings. And so,
1448
01:10:35.560 --> 01:10:37.640
just to give a quick rundown on how the game works,
1449
01:10:38.239 --> 01:10:41.920
you buy buildings, you roll the dice. If you roll at
1450
01:10:41.960 --> 01:10:43.880
dice on a card that you have in front of
1451
01:10:43.880 --> 01:10:47.319
you that's green or blue, then you get then you
1452
01:10:47.359 --> 01:10:50.439
get money. If anyone else has a red card with
1453
01:10:50.479 --> 01:10:52.359
that number on it, then you have to pay them money.
1454
01:10:53.479 --> 01:10:57.399
And the green cards on other people's turns you also
1455
01:10:57.399 --> 01:11:00.960
get paid for. So that I mean that that's more
1456
01:11:01.039 --> 01:11:03.039
or less it you're trying. The way you win is
1457
01:11:03.079 --> 01:11:07.920
you build three No, you build four landmarks in Machi Koro.
1458
01:11:08.479 --> 01:11:11.680
Everybody has the same landmarks in Mahi Koro two. One
1459
01:11:11.720 --> 01:11:13.920
of the piles that you're flipping cards out of to
1460
01:11:14.000 --> 01:11:18.960
expose which landmark you can build or is the landmarks,
1461
01:11:18.960 --> 01:11:21.880
and then the others are the different building types based
1462
01:11:21.880 --> 01:11:25.279
on costs or based on the number year role. So
1463
01:11:25.359 --> 01:11:29.600
one through six and then seven through twelve. I mean
1464
01:11:29.600 --> 01:11:33.199
that's it. You just go until somebody's built three landmarks
1465
01:11:33.239 --> 01:11:38.000
in this game and you're done. And it takes forty
1466
01:11:38.039 --> 01:11:42.000
five minutes maybe to play a full game. It's relatively simple.
1467
01:11:43.319 --> 01:11:47.680
I think it's rated ten plus, and I think the
1468
01:11:47.800 --> 01:11:50.119
kids younger than that, not a ton younger, but younger
1469
01:11:50.119 --> 01:11:52.239
than that could probably play it. My nine year old
1470
01:11:52.239 --> 01:11:57.960
could probably play it just fine. It let's see has
1471
01:11:58.000 --> 01:12:01.159
a board game weight on board game Geek of one
1472
01:12:01.159 --> 01:12:07.920
point four eight, So you know, Casual Gamer a little
1473
01:12:08.000 --> 01:12:10.479
less complicated than some of the other games out there.
1474
01:12:11.399 --> 01:12:14.319
And yeah, I just we had a good time playing it,
1475
01:12:14.359 --> 01:12:17.039
so got it for Christmas. So I'm gonna pick that.
1476
01:12:17.239 --> 01:12:25.560
And then I've been I started the Stormlight Archive series
1477
01:12:25.600 --> 01:12:28.399
by Brandon Sanderson again and so I'm enjoying those, so
1478
01:12:28.399 --> 01:12:36.279
I'll pick those, and I'm trying to grab a link
1479
01:12:36.359 --> 01:12:42.399
for those. I think that's basically all I've got for
1480
01:12:42.479 --> 01:12:45.960
picks this time around. I started playing with open Router.
1481
01:12:46.039 --> 01:12:49.159
I'll guess I'll pick them too. There's a gem for that.
1482
01:12:49.199 --> 01:12:53.840
It's written by Obi Fernandez, and it lets you use
1483
01:12:53.880 --> 01:12:55.920
the different AI l ll ms and things like that
1484
01:12:55.960 --> 01:12:58.319
for some of the stuff you're doing. It's it's what
1485
01:12:58.359 --> 01:13:01.520
he recommends you use in his book about the AI development.
1486
01:13:01.600 --> 01:13:06.199
So anyway, check out open Router and the open Router.
1487
01:13:06.319 --> 01:13:08.119
Jim and Robbie, do you have some stuff you want
1488
01:13:08.159 --> 01:13:08.960
to shout out about?
1489
01:13:09.319 --> 01:13:11.840
Yeah, let's see a couple of things that come to
1490
01:13:12.079 --> 01:13:15.079
come to mind. Is a quick shout out to Joe
1491
01:13:15.119 --> 01:13:18.800
Mazzati for releasing hot Wire Native this last week. It's
1492
01:13:18.840 --> 01:13:21.520
out on beta now, So if that's something you're interested
1493
01:13:21.520 --> 01:13:24.119
in him and I are going to grab coffee next week.
1494
01:13:24.159 --> 01:13:25.840
So we live in the same town, so we can
1495
01:13:26.039 --> 01:13:28.079
see each other every once in a while. That's always
1496
01:13:28.159 --> 01:13:31.079
fun to catch up with him. And then also i've
1497
01:13:31.079 --> 01:13:33.760
been real quick. We're gonna have Joe on in a
1498
01:13:33.760 --> 01:13:36.319
few weeks to talk about Yeah, in a few weeks
1499
01:13:36.319 --> 01:13:41.159
to talk about his book and the stuff he did wonderful. Also,
1500
01:13:41.319 --> 01:13:44.159
I've been a one of the things you mentioned talking
1501
01:13:44.199 --> 01:13:47.640
about Oma Zeshell. Wild thing about being part of that
1502
01:13:48.319 --> 01:13:51.079
CLI environment is that I get approached by a lot
1503
01:13:51.119 --> 01:13:55.520
of people that are building new terminal emulators all the time, like,
1504
01:13:55.640 --> 01:13:59.239
so usually get to be get early access to tools
1505
01:13:59.279 --> 01:14:01.600
and get to be early testers for things. So I've
1506
01:14:01.600 --> 01:14:03.880
been using a thing called Ghosty for I don't know,
1507
01:14:03.880 --> 01:14:06.039
maybe nine months off and on, and so that got
1508
01:14:06.039 --> 01:14:07.840
released a couple of weeks ago, and that's why I
1509
01:14:08.399 --> 01:14:12.279
was released by Mitchell Hashimoto. And it's pretty slick, and
1510
01:14:12.319 --> 01:14:14.199
I think there's gonna be a lot of fun innovation
1511
01:14:14.479 --> 01:14:17.319
on the our criminal emulators in the next few years,
1512
01:14:17.359 --> 01:14:21.359
so that'll be kind of exciting non tech related stuff
1513
01:14:21.640 --> 01:14:24.239
I'm trying to think of. It's like coming out of
1514
01:14:24.239 --> 01:14:27.880
the holiday season, but I recently watched the Penguin series
1515
01:14:28.039 --> 01:14:31.560
on HBO Max. I am not a comic, but personally
1516
01:14:31.560 --> 01:14:32.840
I don't go on my way. I watched like the
1517
01:14:32.880 --> 01:14:34.520
Batman movies every once and a while and stuff like that,
1518
01:14:34.560 --> 01:14:36.640
but I wasn't sure if I'd liked this type of thing.
1519
01:14:37.439 --> 01:14:39.600
I loved it.
1520
01:14:39.600 --> 01:14:43.279
It was such a good I really really enjoyed that
1521
01:14:43.279 --> 01:14:47.199
that series. And yeah, I would just say that that
1522
01:14:47.239 --> 01:14:50.279
was good. And then also one of my favorite bands,
1523
01:14:50.319 --> 01:14:53.279
Magwife from Scotland has a couple of new singles out
1524
01:14:53.319 --> 01:14:55.119
and a new album coming out and they're a huge
1525
01:14:55.119 --> 01:14:58.199
influence on my band and my my own music. Its influence,
1526
01:14:58.239 --> 01:15:01.039
so check out the I had another new song called
1527
01:15:01.079 --> 01:15:04.560
I think it was called Fanzine Made of Flesh or
1528
01:15:04.600 --> 01:15:06.159
something as the name of the new song that came
1529
01:15:06.159 --> 01:15:09.039
out this last week. That that's pretty good. So I'm
1530
01:15:09.039 --> 01:15:11.239
pretty pretty excited to get to see them and again
1531
01:15:11.279 --> 01:15:12.319
when they come on tour soon.
1532
01:15:12.439 --> 01:15:16.399
So there's those are my picks, all right?
1533
01:15:16.399 --> 01:15:20.000
Good deal? Well, thanks for coming. This was fascinating conversation
1534
01:15:20.960 --> 01:15:22.720
and it's always good to catch up.
1535
01:15:22.920 --> 01:15:25.680
Yeah. Likewise, nice to meet too, Valentino. I uish and
1536
01:15:26.159 --> 01:15:29.119
thanks for having me and talk to you again some
1537
01:15:29.079 --> 01:15:31.920
about the point in the future. I hope