WEBVTT

1
00:00:05.160 --> 00:00:09.679
Hey, everybody, welcome to another
episode of JavaScript Jabber. This week on

2
00:00:09.759 --> 00:00:14.839
our panel we have Steve Edwards.
Oh ajs here, so I can't use

3
00:00:14.919 --> 00:00:19.519
the yo yo yo, so I
had to say hello from a still cloudy

4
00:00:19.519 --> 00:00:24.280
and rainy Portland. But for those
of us skiers, we're still getting snow

5
00:00:24.320 --> 00:00:28.000
up in the mountains blowing pretty hard. So it's great for late spring skiing.

6
00:00:29.760 --> 00:00:32.840
Yeah, it was wet here.
And then when I was driving my

7
00:00:32.960 --> 00:00:36.159
daughter to school, we saw a
couple of vehicles with snow on them that

8
00:00:36.200 --> 00:00:40.359
must have come down out of the
canyon or something. We also have aj

9
00:00:40.439 --> 00:00:42.799
O'Neil oh, go ahead, I
think, I say. Yeah. When

10
00:00:42.799 --> 00:00:46.000
you get up above start to where
you climb up mountain head towards timberline,

11
00:00:46.039 --> 00:00:51.679
it's immediate change and you're still getting
blowing snow. Nice, it's crazy.

12
00:00:51.679 --> 00:00:56.600
It's great for skiing. I was
up yesterday it was awesome. Nice all

13
00:00:56.679 --> 00:01:00.679
right. We also have a j
O'Neil yo yo yo. Then actually from

14
00:01:00.679 --> 00:01:07.000
the fish room, what's the fishroom? Fish room? Yeah? Is that

15
00:01:07.159 --> 00:01:11.560
an aquarium over there? Yes?
Yeah, you can't really see it,

16
00:01:11.599 --> 00:01:17.480
king, but no, it's pretty
small. Yeah, So I've got like

17
00:01:17.599 --> 00:01:23.400
ten aquariums in here right now.
So during the long hiatus, I got

18
00:01:23.400 --> 00:01:30.239
into aquaria. That was my my
winter depression hobby. I got to pick

19
00:01:30.319 --> 00:01:34.680
for you. I got a great
pick for you when we get to picks.

20
00:01:34.719 --> 00:01:38.920
Excellent, right. Are you an
aquarius? Is that one of the

21
00:01:38.959 --> 00:01:41.560
signs? Or am I just making
that up? No, it's actually an

22
00:01:41.480 --> 00:01:45.519
aquarium. No, I'm kidding.
Yes, it's aquarius. A person who's

23
00:01:45.599 --> 00:01:52.040
into aquaria is an aquarius. Wow, things I never needed to I mean,

24
00:01:52.400 --> 00:01:56.560
we also have Dan Shapier. Hello
from a warm in sunny Tel Aviv,

25
00:01:56.640 --> 00:02:00.200
which somehow didn't prevent me from getting
this really bad cold for the entire

26
00:02:00.239 --> 00:02:05.480
week. You do know that getting
a cold has nothing to do with temperature,

27
00:02:05.560 --> 00:02:09.879
right, Yeah, that's not true. It changes in the weather.

28
00:02:10.039 --> 00:02:15.960
I think like changes make you more
susceptible. Yeah, it's it's stressed to

29
00:02:15.000 --> 00:02:19.759
your body. When the temperature swings
or when you're cold for a long period

30
00:02:19.759 --> 00:02:23.840
of time, your immune system dips, so bacteria and viruses that are all

31
00:02:23.840 --> 00:02:29.599
around you that weren't affecting you then
suddenly affect you. Also. Also,

32
00:02:30.039 --> 00:02:35.120
I became allergic to the earth.
By the way, since since last time

33
00:02:35.120 --> 00:02:39.319
we spoke, I have allergies now, first time, Yeah, I think

34
00:02:39.400 --> 00:02:42.439
so. Yeah, I wake up
in the morning. Well, actually it

35
00:02:42.439 --> 00:02:45.840
hasn't been so bad. It's like
three weeks or so. I wake up

36
00:02:45.840 --> 00:02:47.719
in the morning. My eyes were
itchy. It sneeze, sneeze, sneeze,

37
00:02:47.719 --> 00:02:51.319
sneeze, sneeze. Oh, it
was terrible. Well, it's hitting

38
00:02:51.319 --> 00:02:53.039
close to hay fever time, which
is what I get. Although here's been

39
00:02:53.080 --> 00:02:55.800
so wet that it's keeping everything down. But this is the best time of

40
00:02:55.840 --> 00:03:00.439
year that I get hate faver.
I get that too. It up that

41
00:03:00.680 --> 00:03:04.680
the rain that we get is like
the light rain that you get, so

42
00:03:04.680 --> 00:03:08.080
it's just enough to like everything bloom
like crazy. Yeah. So I haven't

43
00:03:08.080 --> 00:03:12.919
had a cold, but I've had
a lot of that what AJ's complaining about

44
00:03:12.960 --> 00:03:15.080
for the last few weeks. So
I just I live on my zertech.

45
00:03:16.159 --> 00:03:19.919
I have it at my desk because
I just just take it as soon as

46
00:03:19.919 --> 00:03:23.080
I say, yeah, I know
what you mean. Anyway, I'm Charles

47
00:03:23.080 --> 00:03:25.800
Maxwood from top End Devs. This
intro is taking forever, so I'm just

48
00:03:25.840 --> 00:03:30.280
gonna skip all the pleasantries go check
out JavaScript Geniuses dot com. And we

49
00:03:30.319 --> 00:03:36.919
have a special guest this week,
and that is Lazarre Nikolov. Did I

50
00:03:37.000 --> 00:03:40.639
get anywhere close? Those are right? Yeah, it's on Nicolo and things

51
00:03:40.680 --> 00:03:46.680
are That's what I meant to say. You were close. You got the

52
00:03:46.800 --> 00:03:52.400
syllables right, just in the wrong
pronunciation. Yeah. Anyway, uh we

53
00:03:52.680 --> 00:03:57.599
brought sentry well zar after listening to
all that or was that just so entertaining

54
00:03:57.599 --> 00:04:00.319
that you're on the edge of your
seat now I'm on? All right?

55
00:04:00.680 --> 00:04:04.759
Okay, good? Yeah, all
the back and forth, Matt Henderson from

56
00:04:04.960 --> 00:04:09.800
Century recommended that we have you on
talk about web performance stuff and maybe some

57
00:04:09.840 --> 00:04:12.879
of the stuff that Century provides,
and so, yeah, do you want

58
00:04:12.919 --> 00:04:16.240
to just fill us in on who
what else we need to know about you?

59
00:04:16.360 --> 00:04:20.279
We had a long discussion about Macedonia
before you, yeah jumped in.

60
00:04:20.360 --> 00:04:26.639
So yeah, well, thanks Matt
for recommending me. Thanks Bud. But

61
00:04:26.800 --> 00:04:30.920
yeah, I'm Loasa Nikoleff. I'm
a part of the DEFL team here at

62
00:04:30.959 --> 00:04:36.399
Century, and I'm all about web
performance. That's my main focus. Very

63
00:04:36.399 --> 00:04:41.519
cool. Oh, I'm really I
really love web performance. I think it

64
00:04:43.000 --> 00:04:47.120
right. Yeah, so so I'm
a little curious just as we get into

65
00:04:47.160 --> 00:04:49.920
this, you know, and and
Dan fills us in periodically, it's like,

66
00:04:49.959 --> 00:04:54.319
hey, there's this thing, but
but what kinds of things do you

67
00:04:54.360 --> 00:05:00.120
focused on at Century as far as
making people's web apps more performance or more

68
00:05:01.079 --> 00:05:05.000
user friendly or you know whatever it
is that you know you're you're working on

69
00:05:05.040 --> 00:05:10.000
these days in the web performance arena. Yeah, so I'm focused on the

70
00:05:10.199 --> 00:05:15.199
educational parts, and not necessarily just
a Century educational part, but just like

71
00:05:15.319 --> 00:05:23.399
in general, you know how to
how to develop good developing habits, so

72
00:05:23.480 --> 00:05:29.639
your performance is in order. Basically
that's all I do. But so you

73
00:05:29.680 --> 00:05:34.160
know what, if maybe I do
want to direct us first, it's slightly

74
00:05:34.160 --> 00:05:39.560
a different direction because we have been
speaking about performance a lot on this podcast

75
00:05:39.560 --> 00:05:43.800
of late, but we've not spoken
about Century in a while. I mean,

76
00:05:43.839 --> 00:05:46.240
we've had some people from Centry,
like I think like a year or

77
00:05:46.279 --> 00:05:51.040
two ago, but maybe some of
our listeners somehow are not familiar with who

78
00:05:51.160 --> 00:05:57.079
Century are or what Centry is and
what it's spring to the table. So

79
00:05:57.160 --> 00:06:00.680
maybe we should actually start a little
bit talking about Century before we then go

80
00:06:01.000 --> 00:06:10.720
talk specifically about Century and performance.
Yeah sounds good, Should I go for

81
00:06:10.720 --> 00:06:15.480
it? Yeah? Awesome? Yeah. So, for those for those of

82
00:06:15.480 --> 00:06:19.680
you who don't know, Century is
an aer monitoring and APM solution for any

83
00:06:20.160 --> 00:06:25.199
of your web apps and mobile apps, and I don't know desktop apps and

84
00:06:25.399 --> 00:06:31.199
anything basically, So what it does
is it offers I would say that like

85
00:06:31.279 --> 00:06:36.800
the best in class AER monitoring.
Every time something wrong happens in your app,

86
00:06:36.839 --> 00:06:40.040
you get an email, you get
a Slack message, you get a

87
00:06:40.120 --> 00:06:44.680
team's message. If you're there,
you get a you get Paige if you're

88
00:06:44.720 --> 00:06:47.279
on page duty, you get a
ticket in Gira, et cetera, et

89
00:06:47.319 --> 00:06:50.839
cetera. You just get annoyed basically
from all the sides. Uh. And

90
00:06:50.879 --> 00:06:55.600
that's just for the AER monitoring.
Aside from just telling you you know your

91
00:06:55.639 --> 00:07:00.319
apps on fire, you just get
a whole bunch of COOLU for information like

92
00:07:00.360 --> 00:07:05.160
hardware info, software info, what
the user is if you know you have

93
00:07:05.279 --> 00:07:11.920
configured tracking users, et cetera.
Yeah, all you need in order to

94
00:07:11.959 --> 00:07:15.839
fix the PUNK. So that is
the error site. And there's also the

95
00:07:15.879 --> 00:07:19.600
performance side, or just in general
a PM, because there's more than just

96
00:07:20.759 --> 00:07:32.000
performance. You get monitoring for web
vitals, networks resources traces, which are

97
00:07:32.839 --> 00:07:39.120
becoming like a central part at Century
right now. And yeah, it's it's

98
00:07:39.199 --> 00:07:45.040
it's a tool that you install in
your application, whatever the SDK is.

99
00:07:45.759 --> 00:07:49.720
We pretty much have support for all
of them, and it lets you know

100
00:07:50.439 --> 00:07:56.480
and when something bad happens, and
it keeps your performance in order. That's

101
00:07:56.480 --> 00:08:00.439
basically what Century is. So first
of all, you use the m a

102
00:08:00.519 --> 00:08:05.160
PM. Can you explain what that
means? Yeah, it's application performance monitoring.

103
00:08:07.240 --> 00:08:13.000
Now if we if Yeah, it's
continuously what Sorry, it's basically continuously

104
00:08:13.399 --> 00:08:24.240
measuring and reporting metrics such as web
VITYLS and what else. Yeah, Like

105
00:08:24.600 --> 00:08:31.399
I mentioned resources that your website is
pulling in network requests that you know the

106
00:08:31.480 --> 00:08:37.200
app is uh triggering, et cetera. Now if we start with with the

107
00:08:37.279 --> 00:08:41.159
legacy stuff. Sorry chuck you what
you were starting to say. I was

108
00:08:41.240 --> 00:08:43.159
just going to say, you know, when you asked what it measured?

109
00:08:43.200 --> 00:08:46.279
I mean, we keep hearing web
vitals. We talked a lot about that,

110
00:08:46.399 --> 00:08:52.879
but I've also seen them track other
things. Right, so core web

111
00:08:52.919 --> 00:08:56.240
vitals is usually used for se O. You can go listen to a handful

112
00:08:56.279 --> 00:09:01.639
of episodes we've done, but I've
also seen it tracked how long certain function

113
00:09:01.720 --> 00:09:05.360
calls take, or on the back
end, how much time it's taking to

114
00:09:05.399 --> 00:09:09.480
access the database and execute queries and
things like that, or how long this

115
00:09:09.559 --> 00:09:13.600
request took to a back end or
an API or things like that, So

116
00:09:13.679 --> 00:09:18.919
it's more than just web vitals,
but a lot of the business folks,

117
00:09:20.600 --> 00:09:24.039
that's what they're going to care about. They're going to care about how performance

118
00:09:24.159 --> 00:09:26.480
is it and doesn't match the web
vitles so that we can show up higher

119
00:09:26.519 --> 00:09:31.120
in the list on Google. Although, to be fair, and I keep

120
00:09:31.200 --> 00:09:33.720
saying that, I mean, on
the one hand, it's a really good

121
00:09:33.759 --> 00:09:41.879
thing that Google made performance or coed
vitals a ranking signal because it really pushes

122
00:09:43.159 --> 00:09:50.039
the entire industry to improve that aspect
of web websites and web applications. But

123
00:09:52.200 --> 00:09:58.840
the reality is that the impact on
ranking in most cases is not that massive.

124
00:09:58.000 --> 00:10:05.159
To be honest, it's often considered
to be a tie breaker rather than

125
00:10:05.200 --> 00:10:09.399
a decider. Like the big aspects
of ranking are still things like you know,

126
00:10:09.519 --> 00:10:15.120
content, content is king, so
whether it's relevant content, and also

127
00:10:15.240 --> 00:10:20.960
authority, like you know, if
you're going to ask something related to a

128
00:10:20.080 --> 00:10:24.320
health or medicines, then the CDC
or something like that will come up first

129
00:10:24.840 --> 00:10:28.559
and for good reasons. Or if
you ask something about the news, then

130
00:10:28.679 --> 00:10:33.159
CNN will likely appear high in the
search results, even though their performance is

131
00:10:33.279 --> 00:10:41.759
historically atrocious because it's more about those
aspects. But first of all, it

132
00:10:41.840 --> 00:10:46.919
still is important because it can be
a tie breaker. But more significantly than

133
00:10:46.960 --> 00:10:52.440
that, it actually has significant impact
on user experience once they're in the page

134
00:10:52.519 --> 00:11:00.279
or in the website. And lots
of research has shown that when performances poor,

135
00:11:00.879 --> 00:11:05.039
bouncer it is high and conversely that
when performance is good, then conversion

136
00:11:05.120 --> 00:11:11.919
is high. So there's definitely a
significant motivation to improve that. But again

137
00:11:11.960 --> 00:11:16.080
I want to pull us back a
little bit because again Century is historically been

138
00:11:16.240 --> 00:11:20.840
known for the error tracking and monitoring. I think that's still what most people

139
00:11:20.960 --> 00:11:24.960
think about when they think about Century, So I do want to talk a

140
00:11:26.000 --> 00:11:31.200
little bit about this before we dive
into performance. If we can, per

141
00:11:31.320 --> 00:11:35.360
my understanding these days, Century is
kind of full stack. It does both

142
00:11:35.600 --> 00:11:41.840
the front end and the back end
and provides a holistic view of all this

143
00:11:41.960 --> 00:11:46.440
information together. Is that a correct
summation. Yeah. Basically, when you

144
00:11:46.519 --> 00:11:52.120
have multiple projects in Century and you
use centries as the case to connect them,

145
00:11:52.360 --> 00:11:56.440
you automatically get a distributed traits.
You can start looking at the front

146
00:11:56.559 --> 00:12:01.240
end and then move on to the
back end and database and go back whatever

147
00:12:01.279 --> 00:12:09.559
your operation flows are configured and again
per my understanding, Century is something that

148
00:12:09.600 --> 00:12:15.519
I can install effectively for free on
premises, or I can use kind of

149
00:12:15.559 --> 00:12:18.399
your hostage server, which then I
have to pay for. Is that correct?

150
00:12:18.879 --> 00:12:26.039
Yeah? Yeah, it's free self
hosted. Yeah, so when I

151
00:12:26.120 --> 00:12:30.879
self host it, it's free.
And I think it's also or at least

152
00:12:30.919 --> 00:12:39.440
partially open source. It's it's like
it's source available. M Yeah, so

153
00:12:39.480 --> 00:12:45.960
the license is not mit ah,
we came up with our own, but

154
00:12:46.080 --> 00:12:52.120
that's just for you know, yeah, like protecting other businesses from you know,

155
00:12:52.600 --> 00:12:56.840
figybacking on the centrin repackaging it.
But it is, Yeah, it's

156
00:12:56.879 --> 00:13:03.039
source available. So if I have
like an error in my JavaScript, you

157
00:13:03.039 --> 00:13:07.159
know, something that would get written
to the console, or an AJAX call

158
00:13:07.279 --> 00:13:16.240
that fails for some reason and uncought
promise rejection and uncaught exception so on,

159
00:13:16.360 --> 00:13:22.919
so forth, all of these things
are collected and then exposed to the site

160
00:13:24.000 --> 00:13:31.759
owner through the Century Management console effectively. Fine, if I again understand correctly.

161
00:13:33.320 --> 00:13:37.000
Yeah, So, like every SDK
has a DSN configured, which is

162
00:13:37.000 --> 00:13:41.559
basically a link to where your instance
is running. If you're self hosted,

163
00:13:41.960 --> 00:13:45.279
you're going to have your own r
hotel there, so that basically tells the

164
00:13:45.399 --> 00:13:50.960
SDK whatever you capture and you know, measure send it over there. Yeah,

165
00:13:52.080 --> 00:13:58.759
so when you're on premise, the
data is on your service understood.

166
00:14:00.120 --> 00:14:05.639
And one of the things that I
recall that I really liked about Century was

167
00:14:05.960 --> 00:14:11.360
the fact that it was smart enough
to group errors together. Like one of

168
00:14:11.360 --> 00:14:16.519
the problems with a lot of these
monitoring solutions is that you could literally drown

169
00:14:16.639 --> 00:14:18.480
the sea of errors because, let's
face it, you know, so much

170
00:14:18.519 --> 00:14:24.720
stuff is getting collected and reported,
So you don't want to, you know,

171
00:14:24.879 --> 00:14:31.000
have to sift through tons and tons
of logs and errors and stuff like

172
00:14:31.039 --> 00:14:35.200
that. You want the system to
aggregate the results and then just show you,

173
00:14:35.200 --> 00:14:37.720
you know, this is something that's
important, this is something that you

174
00:14:37.759 --> 00:14:43.480
should look at. So that's one
thing that I recall about being really powerful

175
00:14:43.519 --> 00:14:48.679
with centry. And another thing that
I recalled being really powerful with Centriy is

176
00:14:48.759 --> 00:14:54.320
the amount of information that was exposed
that could help you. Okay, you

177
00:14:54.399 --> 00:15:01.240
know there's and let's say an uncaught
a promise to injection. Why like,

178
00:15:01.399 --> 00:15:05.159
what is this promise? What?
What's what's the value that it's trying to

179
00:15:05.200 --> 00:15:11.480
get. So all this information is
also surfaced to you as the website or

180
00:15:11.480 --> 00:15:18.039
web application owner. Yeah, totally. I mean you you get all of

181
00:15:18.080 --> 00:15:24.840
those information attached to the issue itself
to we don't call them crashes or anything.

182
00:15:24.919 --> 00:15:30.559
We just call them issues, so
like it's it's all there. Yeah.

183
00:15:30.600 --> 00:15:35.480
So how then did you actually pivot
into performance? I mean, if

184
00:15:35.519 --> 00:15:41.240
you had this focus on errors and
collecting errors and reporting errors, where's this

185
00:15:43.039 --> 00:15:48.120
sudden focus on performance? Where did
it come from? I'm not sure to

186
00:15:48.159 --> 00:15:52.000
be honest, because I think that
was like a few years before I started

187
00:15:52.039 --> 00:15:58.320
in Century, But I think it
was natural. We got the we had

188
00:15:58.440 --> 00:16:03.480
errors, we had tracing, and
with tracing you can identify all the performance

189
00:16:03.600 --> 00:16:10.679
pattlenecks. There's also a profiling which
taps into the hole, connects into the

190
00:16:10.720 --> 00:16:17.039
whole tracing and performance topics. So
I'm not sure, like what is the

191
00:16:17.080 --> 00:16:25.679
exact moment that from tedth Centry to
start looking into performance, but we just

192
00:16:25.919 --> 00:16:33.240
we just know that performance is super
important. Would you say tracing what exactly

193
00:16:33.240 --> 00:16:38.240
do you mean? Yeah? I
mean we mean like tracing the operation flow

194
00:16:40.519 --> 00:16:45.240
for specific operation that can be I
don't know, a checkout flow or a

195
00:16:45.320 --> 00:16:49.720
log in flow, so as functions
execute, and you know API calls get

196
00:16:49.759 --> 00:16:59.559
executed. Tracing is basically putting little
bread crumbs along the way and then capturing

197
00:16:59.600 --> 00:17:03.920
the whole all the whole path of
the operation flow, so you can see

198
00:17:04.640 --> 00:17:11.480
what where the operation flow went in
in I don't know what micro service,

199
00:17:11.599 --> 00:17:17.440
and how long it took for each
of the functions or whatever you have defined

200
00:17:17.599 --> 00:17:22.559
or instrumented. So sort of like
a stack trace then with variation. Uh

201
00:17:22.720 --> 00:17:26.880
yeah, stack trace is like a
the snapshot of the of the second that

202
00:17:26.920 --> 00:17:32.920
specific moment, but tracing is more
of a it's like on a on a

203
00:17:33.119 --> 00:17:40.920
on a timeline basis where the operation
went. So for example, if we

204
00:17:40.960 --> 00:17:47.359
start at the front end, we
could have some spans, and spans are

205
00:17:47.720 --> 00:17:52.119
how we Spans are the things that
we used to define the trace, right,

206
00:17:52.200 --> 00:17:59.480
so we we basically create a trace
and the SDCA automatically does it for

207
00:17:59.519 --> 00:18:02.319
it. But let's say we just
create a trace, We get a trace

208
00:18:02.400 --> 00:18:10.400
ID, and then we sprinkle around
spans which are connected to the trace,

209
00:18:11.680 --> 00:18:15.200
but those define what happens at a
specific moment. So instead of just console

210
00:18:15.240 --> 00:18:22.599
lock I'm here or console lock we
reach this point, you're basically creating spans

211
00:18:22.640 --> 00:18:27.960
which also have a starting point and
ending point. They have tags, you

212
00:18:27.960 --> 00:18:33.240
can put tags in them, et
cetera. And those don't just stop at

213
00:18:33.279 --> 00:18:38.480
the I don't know front end.
You could send the trace heather to the

214
00:18:38.519 --> 00:18:42.039
back end, then continue the trace
on the back end. So then when

215
00:18:42.200 --> 00:18:48.599
when you want to debug how a
certain operation behaved or like what happened,

216
00:18:48.279 --> 00:18:55.240
you see one timeline that combines the
data from the front end and the back

217
00:18:55.319 --> 00:18:57.200
end, or your back end.
If your back end is a micro service

218
00:18:57.319 --> 00:19:02.759
architecture, then you'll just have the
data from all of the micro services there

219
00:19:02.759 --> 00:19:08.480
on one timeline. Let's say.
So a question about that, is it

220
00:19:08.559 --> 00:19:14.440
kind of like open telemetry traces pretty
much? Yeah, And we also have

221
00:19:15.119 --> 00:19:22.039
an hotel adapter, so you could
use the hotel instrumental instrumental to get the

222
00:19:22.119 --> 00:19:27.240
data and then send it to centry
as well. There is hotel sorry,

223
00:19:29.039 --> 00:19:32.880
hotel, what is that? All
right? That's open telemetry? That is

224
00:19:33.079 --> 00:19:38.720
okay, Yeah, that's an open
source standard. I would say there's also

225
00:19:38.799 --> 00:19:45.319
under and implementation. I think yes, both and implementation and tooling around instrumenting

226
00:19:45.480 --> 00:19:49.359
parts of your application. Basically,
think about if if you want to like

227
00:19:49.480 --> 00:19:55.319
have like a mental image of what
is meant by traces as as describe them.

228
00:19:55.359 --> 00:20:00.440
It's kind of similar, kind of
similar to what you see in the

229
00:20:00.079 --> 00:20:04.720
the performance tab of the Chrome dev
tools. Like, so it's kind of

230
00:20:04.799 --> 00:20:10.559
or like what is often known as
a flame chart. You kind of see

231
00:20:10.799 --> 00:20:17.160
each of those traces are like one
of the levels in the flame chart.

232
00:20:17.839 --> 00:20:22.680
So you have like a span that
starts and ends when a certain operation takes

233
00:20:22.720 --> 00:20:26.720
place, from the beginning to the
end of that logical operation. But within

234
00:20:26.920 --> 00:20:30.400
that you have span. So you
could think of a function, so you

235
00:20:30.440 --> 00:20:34.720
have a span for the execution time
of that entire function, but it calls

236
00:20:36.160 --> 00:20:40.599
subfunctions and they have their own spans
within that span, so you can like

237
00:20:41.559 --> 00:20:47.759
go through like the execution. So
it's like stack trace over time as it

238
00:20:47.799 --> 00:20:53.880
were. Okay, and it's now
you collect this for like every session or

239
00:20:53.960 --> 00:20:59.359
like is it sampled or how how
does it work? Yeah, there is

240
00:20:59.480 --> 00:21:03.400
a plank configuration already put in into
the dcation, so you can you can

241
00:21:03.400 --> 00:21:07.880
play around with the values. It's
basically it's just from zero to one.

242
00:21:07.480 --> 00:21:11.880
That's how a century configures it.
So if you want ten percent of your

243
00:21:11.920 --> 00:21:15.759
sessions to be simple, then you
just sapiens your point one and the sampling

244
00:21:15.880 --> 00:21:22.119
doesn't adversely impact the performance of the
session, like the user doesn't notice it

245
00:21:22.200 --> 00:21:26.400
that it's being sampled in this way. I wouldn't say so, but depending

246
00:21:26.400 --> 00:21:33.319
on you. For example, if
you're instrumenting everything all the you know,

247
00:21:33.559 --> 00:21:37.240
important and non important bits and pieces
in your application, then you'll probably see

248
00:21:37.279 --> 00:21:42.720
some performance overhead. But as yeah, that's all in your control, basically

249
00:21:45.119 --> 00:21:49.720
cool. So we were talking about
the fact that you have this tracing mechanism

250
00:21:51.039 --> 00:21:57.680
and from that you kind of moved
into also performance monitoring. Yeah. Yeah,

251
00:21:57.680 --> 00:22:04.119
because the trees contains everything, right, the trace knows where the application

252
00:22:04.279 --> 00:22:08.759
went or the operation went and how
long it took, so we can identify

253
00:22:08.799 --> 00:22:14.160
performance bottlenecks. But then what we
do at Century as well is whenever an

254
00:22:14.279 --> 00:22:19.000
error happens, we attach it to
the trace. So you can see on

255
00:22:19.119 --> 00:22:22.799
that timeline on the flame chart,
you can see where an error happens and

256
00:22:23.160 --> 00:22:30.039
how the operation behaved after you know, the error got triggered. Also,

257
00:22:30.079 --> 00:22:34.240
I assume how you actually got to
that point of the air, because that's

258
00:22:34.319 --> 00:22:38.279
often the thing you most want to
know exactly. Yeah, the spens will

259
00:22:38.279 --> 00:22:45.799
give you the information about what data
you know was being handled and basically what

260
00:22:45.920 --> 00:22:55.720
happened leading up to the air.
So do you have like something like I

261
00:22:55.720 --> 00:23:00.079
I can I literally see things like
what you know, like a sort of

262
00:23:00.079 --> 00:23:04.839
of like what the user was actually
even maybe seeing on the screen or stuff

263
00:23:04.880 --> 00:23:08.799
like that when the air happened.
Or Yeah, we do. It's it's

264
00:23:08.799 --> 00:23:14.279
like a different subproduct. It's called
Session replay, uh. And it's just

265
00:23:14.319 --> 00:23:19.640
an integration that you need to install
in your client facing applications. Right now,

266
00:23:19.640 --> 00:23:25.079
it's just web, but we're coming
up with support for mobile as well.

267
00:23:25.160 --> 00:23:27.960
So it's like dumb recording. It's
not a screen recording, but it's

268
00:23:29.000 --> 00:23:34.519
basically records the dumb and sees all
the yeahs, basically the recordings along with

269
00:23:36.359 --> 00:23:41.319
the whole you know, monagoring and
capturing. Oh that's enough, I mean,

270
00:23:41.480 --> 00:23:48.319
don't does represent what the user actually
sees? Yeah, And you also

271
00:23:48.359 --> 00:23:53.039
get the network request. You also
get the console log, console air or

272
00:23:53.079 --> 00:24:00.279
whatever you're outputting into the browsers console. It's it's like literally you're, uh,

273
00:24:00.359 --> 00:24:07.759
you have access to the person's computer. That one one question I have

274
00:24:07.839 --> 00:24:11.680
related to that is a lot of
times there's information, be it personally identifiable

275
00:24:11.680 --> 00:24:17.400
information or passwords or things like that. I'm assuming that you can configure centry

276
00:24:17.440 --> 00:24:21.319
to screen all that out so doesn't
show up in the Yeah. Yeah,

277
00:24:22.039 --> 00:24:26.279
we're scrubbing that out automatically. Uh. And and that happens in both science.

278
00:24:26.319 --> 00:24:30.480
For example, the esedicate itself does
some scrubbing so there is no PI

279
00:24:32.200 --> 00:24:36.960
going through the wire. But then
also before we start processing the data,

280
00:24:37.559 --> 00:24:42.200
Uh, there's a there's a thing
called relay which takes in all the data

281
00:24:42.279 --> 00:24:47.839
and does additional scrubbing on the server
side as well before we put it.

282
00:24:47.920 --> 00:24:51.799
And that's for the I think the
CELLF hosted one has it, but then

283
00:24:51.839 --> 00:24:56.519
also the the SATAS one also supports
the scrubbing of the p II, but

284
00:24:56.599 --> 00:25:02.720
it's configurable. For example, if
you're if you're tracing, if you implement

285
00:25:02.759 --> 00:25:08.319
tracing and you append the you explicitly
append p I I in through the context

286
00:25:08.400 --> 00:25:15.960
or tags, whatever it is is
going to be sent, So you need

287
00:25:15.000 --> 00:25:18.839
to think about what it is that
you're actually collecting. That's the bottom line.

288
00:25:19.079 --> 00:25:23.559
Yeah, like out of the box, if you don't explicitly send data,

289
00:25:23.839 --> 00:25:26.519
it's not going to be sent.
But if you're you know, if

290
00:25:26.519 --> 00:25:33.119
you're configuring the context of the ace
decat to include the locked in user or

291
00:25:33.400 --> 00:25:38.160
whatever data you want to you know, attach to the to the context,

292
00:25:38.160 --> 00:25:42.920
then it's going to be sent,
but out of the box it's nothing gets

293
00:25:42.920 --> 00:25:49.039
sent basically, So when you added
ROM capabilities and by the way, RUM

294
00:25:49.480 --> 00:25:55.720
in the context of performances really use
measurements, which means it's data from the

295
00:25:55.759 --> 00:26:02.599
field rather than synthetic data created in
simulated environments. Uh. You mentioned that

296
00:26:02.680 --> 00:26:07.880
you obviously collect the co ed vitals, which these days are LCP largest content

297
00:26:07.880 --> 00:26:12.200
for paint, CLS, commolative layout
shift, and the I n P which

298
00:26:12.240 --> 00:26:22.920
is in the input interaction to the
next paint. Exactly. I've been,

299
00:26:22.440 --> 00:26:29.440
like I said, had a head
called I'm still recovering. But what other

300
00:26:29.559 --> 00:26:37.839
performance data are you collecting that's relevant
to identifying performance bottlenecks in the application?

301
00:26:37.960 --> 00:26:44.319
Yeah? So, Uh, there's
also database monitoring, so whatever you use,

302
00:26:44.680 --> 00:26:49.680
if Centric has a has an integration
for your database driver, Uh,

303
00:26:49.880 --> 00:26:55.319
there's a built in for postcrists.
There's also for Prisma if you're using Prisma.

304
00:26:55.799 --> 00:27:02.000
But if now there's a way you
can you can manually attached the query

305
00:27:02.119 --> 00:27:07.480
and also the result in the spand
itself when you're instrumenting. So there's also

306
00:27:07.559 --> 00:27:15.960
database Uh monitoring or like monitoring the
queries as well. Yeah, aside from

307
00:27:17.000 --> 00:27:21.160
the web files, we also measure
all of the resources that your page is

308
00:27:21.160 --> 00:27:25.880
pulling in the jas files, CSS
files, if they're blocking or not,

309
00:27:26.400 --> 00:27:30.480
images as well, how how big
they are, like, is there like

310
00:27:30.799 --> 00:27:34.200
a way to opportunities for you to
optimize them, et cetera. So there's

311
00:27:34.240 --> 00:27:45.759
quite quite a quite some data getting
pulled into the centriy dashboard for you cool.

312
00:27:47.079 --> 00:27:53.160
One of the biggest challenges with performance
monitoring in the field or rum,

313
00:27:53.279 --> 00:28:00.319
as I mentioned, is the concept
of attribution, which basically means, let's

314
00:28:00.359 --> 00:28:07.480
say I have a bottleneck. My
my LCP largest content for paint is high,

315
00:28:07.519 --> 00:28:12.440
which means it takes a long time
for the primary content to be displayed

316
00:28:12.480 --> 00:28:17.440
from the session start, which is
fine and good, but I want to

317
00:28:17.519 --> 00:28:22.599
understand why it happens and what I
should change or even potentially more challenging,

318
00:28:23.000 --> 00:28:30.759
the new metric I inp interaction to
next paint has to do with how often

319
00:28:30.960 --> 00:28:37.920
the main thread is blocked by for
examping, for example, long running JavaScript

320
00:28:37.960 --> 00:28:45.839
code. But there might be a
lot of different JavaScript code that is running

321
00:28:45.079 --> 00:28:52.359
inside the context of my session,
could be first party code, it could

322
00:28:52.359 --> 00:28:56.839
be third party code for example,
various tag managers, pixels and whatnot.

323
00:28:57.519 --> 00:29:03.160
So, and I want understand you
know, which one is the one that's

324
00:29:03.200 --> 00:29:07.200
causing the most harm, the most
damage, and that requires some sort of

325
00:29:07.279 --> 00:29:15.519
mechanism of attribution. So how do
you go about that? Yeah? So,

326
00:29:15.680 --> 00:29:19.440
uh, I feel like you have
all the tools to fix all these

327
00:29:19.480 --> 00:29:22.160
things. For example, if you're
looking into I n P, then maybe

328
00:29:22.240 --> 00:29:29.279
uh capturing a profile and looking at
a profile of uh, you know,

329
00:29:29.319 --> 00:29:34.759
of your running application can actually shed
some light on what is happening in the

330
00:29:34.759 --> 00:29:40.559
background and why you're you know,
your website is experiencing imps at the time

331
00:29:40.640 --> 00:29:45.200
of uh, I don't know,
interacting with the elements. So it's not

332
00:29:45.519 --> 00:29:49.640
profiling on the developer's machine. It's
not like opening the Chrome dev tools and

333
00:29:49.799 --> 00:29:56.200
running the profile tap. It's actually
collecting profile profiles for for the actual real

334
00:29:56.319 --> 00:30:00.559
user sessions exactly. Yeah, it's
con fagurable. Yeah you can. You

335
00:30:00.599 --> 00:30:06.240
can also pull in profiles and and
you know, use them to debug I

336
00:30:06.400 --> 00:30:11.279
n P s or or whatever it
is. Yeah, so can you give

337
00:30:11.359 --> 00:30:15.519
us like a concrete example. I'm
sure that you work with various customers of

338
00:30:15.559 --> 00:30:19.119
that. So, without naming names. Can you, like give us an

339
00:30:19.160 --> 00:30:23.119
example of like an interesting case that
you ran into and were able to debug

340
00:30:23.160 --> 00:30:26.359
in this way? I don't work
with customers, so I can give you

341
00:30:26.440 --> 00:30:32.359
like, yeah, I can give
you examples from my demos that I create.

342
00:30:33.039 --> 00:30:37.799
Go for it. But yeah,
I usually just use a trace trace

343
00:30:37.880 --> 00:30:42.000
view because the trace you basically tells
me everything I need to know in terms

344
00:30:42.039 --> 00:30:49.359
of how the page loads or in
terms of how my operations, my custom

345
00:30:49.400 --> 00:30:57.079
operation flows are behaving because I define
them in my apps. But it basically

346
00:30:57.119 --> 00:31:03.039
that's that's how I go about debugging
any of the like the top level stuff.

347
00:31:03.720 --> 00:31:07.920
But then as I mentioned, like
if I have TB problems, I'll

348
00:31:07.960 --> 00:31:15.359
just use the Queries products. And
the idea is that it's all here,

349
00:31:15.480 --> 00:31:19.359
it's all connected to the same data. And on the sidebar you have all

350
00:31:19.400 --> 00:31:26.559
of these tools that we're talking about, and it's all connected to the same

351
00:31:26.599 --> 00:31:37.480
trace. And what about integrations with
various development environments, Like let's say I'm

352
00:31:37.599 --> 00:31:45.839
using I don't know next JS or
next or remix or whatever. You know,

353
00:31:45.920 --> 00:31:51.359
there are like a million frames or
frameworks out there, astro, what

354
00:31:51.440 --> 00:31:55.319
kind of integrations do I get?
Are you just looking at it as it's

355
00:31:55.519 --> 00:32:00.039
JavaScript and the web, but it's
all the same. Or are you or

356
00:32:00.079 --> 00:32:06.440
do you have like specific integrations for
the different frameworks and metal frameworks. Yeah,

357
00:32:06.440 --> 00:32:12.559
we do have specific integrations with all
of the different frameworks and a lot

358
00:32:12.599 --> 00:32:15.480
of them that are currently out there
people that are using or not using.

359
00:32:17.000 --> 00:32:21.400
We do that because we want to
tap into the framework itself or the library

360
00:32:21.519 --> 00:32:23.440
or the tool, whatever it is. We do that because we want to

361
00:32:24.480 --> 00:32:32.160
utilize the functionalities that the tool itself
is providing when it comes to either instrumenting

362
00:32:32.480 --> 00:32:39.519
or monitoring for errors, et cetera. So a lot of the let's say

363
00:32:39.640 --> 00:32:44.680
we're talking about instrumenting, right,
we're talking about tracing. A lot of

364
00:32:44.720 --> 00:32:50.240
the operations are already going to be
instrumented because we tap into the tool itself

365
00:32:51.039 --> 00:33:00.200
and also connecting the clients or the
projects. I would say we don't really

366
00:33:00.279 --> 00:33:05.079
care about that as well, because
when when one project makes an API or

367
00:33:06.000 --> 00:33:10.640
a request in any way to a
different one, we can also the sd

368
00:33:10.720 --> 00:33:15.359
case will automatically create that trace for
you. So a lot of the times

369
00:33:15.400 --> 00:33:22.960
it's it's enough to just install Centry
in all of your projects, set up

370
00:33:23.000 --> 00:33:30.440
the sd case, and and you'll
get a lot of data already configured and

371
00:33:31.640 --> 00:33:37.319
ready for you. But if you
want to get into more details than you

372
00:33:37.400 --> 00:33:44.720
do the you do the tracing basically, but where virals it's automatic session replay.

373
00:33:44.880 --> 00:33:51.000
You just need to add the integration. Tracing is covered as much as

374
00:33:51.039 --> 00:33:54.279
the framework can cover. But if
you have more details, like if you

375
00:33:54.319 --> 00:33:59.880
want to trace into a big into
a greater detail, then you can all

376
00:34:00.279 --> 00:34:07.639
supplements, uh, the the the
trait with you additional spens by the way,

377
00:34:07.679 --> 00:34:15.440
out of curiosity, do you use
like the built in browsers performance dot

378
00:34:15.559 --> 00:34:19.679
mark and performance dot measure or do
you have like your own wrappers for the

379
00:34:19.920 --> 00:34:23.519
spens? In some places we do, but we usually use For example,

380
00:34:23.519 --> 00:34:29.679
for Core web vitals, there was
this travelscript library and I think it was

381
00:34:29.679 --> 00:34:34.400
from the Google Chrome team. Yeah, we use that under the hood to

382
00:34:34.519 --> 00:34:44.599
capture the data. Okay, what
are things that you are I don't know

383
00:34:44.639 --> 00:34:47.760
if you you can answer that if
you're not primarily working with customers, But

384
00:34:47.920 --> 00:34:54.079
what are the things that you're seeing
as the most common sources of performance issues

385
00:34:54.639 --> 00:35:00.880
with people who are using Centry for
monitoring. Yeah, well, I've talking

386
00:35:00.880 --> 00:35:06.760
with people. I've noticed that there's
a lot of undefined errors. For example,

387
00:35:06.800 --> 00:35:09.559
in in JavaScript land, where you
know you're trying to access a property

388
00:35:09.599 --> 00:35:15.840
of an undefined variable or object,
you get the undefined erroortat is pretty much

389
00:35:15.840 --> 00:35:22.039
the most common one. And also
like failed to fetch fetch errors not happening

390
00:35:22.960 --> 00:35:24.639
because of I don't know, the
UL doesn't exist or something like that.

391
00:35:24.679 --> 00:35:30.920
I've seen it that way too many
times. Maybe yeah, but those are

392
00:35:31.000 --> 00:35:36.920
general errors I'm saying. I'm asking
what sort of performance related issues are you

393
00:35:37.079 --> 00:35:44.239
primarily saying M I don't think I
can. There's a lot of N plus

394
00:35:44.280 --> 00:35:50.079
one when it comes to like API
requests and also dB queries. What else

395
00:35:52.679 --> 00:35:57.559
I don't know. I haven't haven't
seen. I haven't been exploring too much

396
00:35:57.559 --> 00:36:07.840
of the customer data. I'm saying
from an interesting split between two types of

397
00:36:07.119 --> 00:36:15.360
issues, Like there's the issues related
to let's say largest Contential Paint or RCP,

398
00:36:15.760 --> 00:36:22.559
which are about how quickly a website
loads, and that's not always interesting

399
00:36:22.679 --> 00:36:27.280
for all web applications. I mean, it's interesting if you're building an e

400
00:36:27.320 --> 00:36:32.199
commerce website, but if you're building
some sort of dashboard or something like that,

401
00:36:34.559 --> 00:36:38.400
or you're sitting behind the authentication,
then you don't care about it as

402
00:36:38.519 --> 00:36:44.880
much. Basically, RCP is really
important when when your page is ranked.

403
00:36:44.920 --> 00:36:49.679
If your page is not getting scanned
and ranked, then you you often don't

404
00:36:49.719 --> 00:36:54.119
really care as much about that,
And in these days of service side rendering

405
00:36:54.239 --> 00:37:00.280
SSR, it's often not even the
SCP may not even be dependent on the

406
00:37:00.320 --> 00:37:06.320
performance of database calls. So that's
like one category of performance that I'm seeing,

407
00:37:06.679 --> 00:37:12.440
which has to do with how well
have I configured my CDN? How

408
00:37:12.519 --> 00:37:19.280
well have I configured cashing for my
files? Am I using properly optimized images?

409
00:37:19.480 --> 00:37:23.599
Am I properly loading my phones and
CSS and stuff like that? So

410
00:37:23.639 --> 00:37:29.280
that's like one category of performance issues
that I see. And the other,

411
00:37:29.599 --> 00:37:32.159
which is one that you kind of
mentioned a couple of times, has to

412
00:37:32.199 --> 00:37:38.360
do with once that web application is
already loaded, how well does it respond

413
00:37:38.519 --> 00:37:44.599
to the various operations that I that
either user do inside of it, in

414
00:37:44.639 --> 00:37:49.559
which case it is often has to
do with like when when a certain operation

415
00:37:49.719 --> 00:37:55.480
is performed, how many AJAX calls
does it get translated into? How how

416
00:37:55.519 --> 00:38:02.159
are these are these called parallel paralyzed
or or are they sequential if they hit

417
00:38:02.199 --> 00:38:07.760
the database, which they often are. How optimized is that database query for

418
00:38:07.840 --> 00:38:15.039
example, like you know, have
I properly created the indexes for the SQL

419
00:38:15.159 --> 00:38:19.280
query that I'm performing? You know, stuff like that. So these are

420
00:38:19.360 --> 00:38:23.639
kind of like the two categories of
performance issues that I'm primarily seeing. Does

421
00:38:23.679 --> 00:38:30.320
that kind of match your understanding pretty
much? Yeah? Yeah, And then

422
00:38:30.360 --> 00:38:37.480
that's how we're also building the product
too to help developers with these two types

423
00:38:37.519 --> 00:38:46.039
of issues. Okay, So if
we're going to talking about the database issues,

424
00:38:46.079 --> 00:38:54.360
so you said you've got integrations with
the major database providers or database platforms,

425
00:38:55.079 --> 00:38:59.119
will it work like with any back
end that I might have. Is

426
00:38:59.119 --> 00:39:04.360
the integration at the database layer or
does it need to be some sort of

427
00:39:04.679 --> 00:39:07.800
know, we support Node, but
we don't support GO I don't know.

428
00:39:07.360 --> 00:39:14.639
Yeah, we do that through the
back end, I would say, But

429
00:39:15.079 --> 00:39:21.639
it depends on what is the driver
that is being used to access the database.

430
00:39:22.119 --> 00:39:28.360
So we're not basically monitoring the database
server or instance itself, but how

431
00:39:28.480 --> 00:39:36.480
the client that uses the driver to
query the database. From that point of

432
00:39:36.559 --> 00:39:42.440
view, so it matters if there
is a if there is support for the

433
00:39:43.920 --> 00:39:47.679
client itself or the back end framework
or technology. That is the first thing,

434
00:39:47.719 --> 00:39:52.159
and then the second thing is what
driver does the back end use to

435
00:39:52.239 --> 00:39:58.000
query the database for data. So
that is the second thing. So which

436
00:39:58.159 --> 00:40:05.039
back end technologies do you support?
Oh? A lot. We have nodes,

437
00:40:05.519 --> 00:40:12.760
We have Django and anything Python.
We have pH stuff like Larovel,

438
00:40:12.840 --> 00:40:16.880
et cetera. I've used it with
rails Rails. Yeah, a lot of

439
00:40:16.920 --> 00:40:22.840
the the I would say all the
most the famous ones, like the most

440
00:40:22.480 --> 00:40:28.400
I would assume probably. Yeah,
there's like Java stuff. Yeah, I

441
00:40:28.400 --> 00:40:31.079
don't know all of them, but
there's like too many. Yeah, just

442
00:40:31.079 --> 00:40:36.239
for what it's worth, my company
uses centry on a pretty huge letter of

443
00:40:36.280 --> 00:40:39.400
ville and view site. We use
it pretty intensely both for we you know,

444
00:40:39.599 --> 00:40:44.079
see our both letravel and view errors, JavaScript rors, you know,

445
00:40:44.159 --> 00:40:47.800
bundling errors, and you know,
any number of different errors from both both

446
00:40:47.880 --> 00:40:52.679
ends of the application. So it's
very handy. Do you also use it

447
00:40:52.719 --> 00:40:58.400
for performance while the during Uh,
not so much. I think we have

448
00:40:58.440 --> 00:41:00.159
some other tools we use. We
use it mostly for the air tracking.

449
00:41:00.440 --> 00:41:04.519
We get that, like you mentioned
earlier, we where he was talking about

450
00:41:04.519 --> 00:41:09.199
it being annoying. We get the
emails and the Slack channel updates and and

451
00:41:09.280 --> 00:41:15.320
all that kind of stuff. So
I think the key thing from my perspective

452
00:41:15.440 --> 00:41:19.760
thinking about you know, making the
web faster. What I like about this

453
00:41:20.000 --> 00:41:23.800
is there there are a lot of
websites that are using centriy. Like Centriy

454
00:41:23.840 --> 00:41:30.320
has become, from my perspective,
almost a de facto standard for error tracking

455
00:41:30.360 --> 00:41:37.039
and air monitoring on the web today. And if you know, if some

456
00:41:37.119 --> 00:41:42.159
of these organizations that are that are
using Centry already have some sort of a

457
00:41:42.280 --> 00:41:45.920
RUM tool in place, and good
for them. But if they don't,

458
00:41:45.760 --> 00:41:52.119
then why not just use Centry to
get all this performance information and start making

459
00:41:52.239 --> 00:41:58.400
your website faster. Yeah, I
mean I've seen, uh, I've seen

460
00:41:59.519 --> 00:42:05.559
lions that only uses for air monitoring
to also you know, implement our performance

461
00:42:06.840 --> 00:42:10.119
too, whether they have or don't
have, you know, already other tools

462
00:42:10.119 --> 00:42:17.960
in place. So I've seen them
move towards centric as well. Yeah,

463
00:42:19.039 --> 00:42:23.159
I've seen that on a few other
places and with other competitors to Century.

464
00:42:25.400 --> 00:42:31.159
You know that either went from hey
we do the APM or the application performance

465
00:42:31.199 --> 00:42:36.719
monitoring and then they added the error
stuff or vice versa. But yeah,

466
00:42:36.840 --> 00:42:42.039
effectively, people start using one part
of the tool and then when they run

467
00:42:42.079 --> 00:42:45.800
into some issue, right, so
it'll come up that, hey, our

468
00:42:46.239 --> 00:42:50.719
core of vital scores are not where
we want them, right because that got

469
00:42:50.719 --> 00:42:53.679
on the radar and they checked it
out. Or hey, we've got this

470
00:42:53.880 --> 00:42:59.960
page that just takes four ever to
load, right, And so then they

471
00:43:00.079 --> 00:43:04.159
figure out, oh, we've been
putting all this data into this system for

472
00:43:04.239 --> 00:43:07.239
a long time, and so now
we have it, and so now we're

473
00:43:07.280 --> 00:43:12.000
going to go look at it.
And so then they start to audit what's

474
00:43:12.039 --> 00:43:15.400
going on in their website. And
I think that's one thing that's kind of

475
00:43:15.480 --> 00:43:17.639
nice. So the tool that I
use for most of my websites for error

476
00:43:17.639 --> 00:43:23.039
monitoring does not have an APM component
to it. And yeah, there have

477
00:43:23.079 --> 00:43:25.639
been a couple of times where I've
looked at things and gone, man,

478
00:43:25.679 --> 00:43:30.800
I really need something to you know, pull this this piece out. And

479
00:43:30.840 --> 00:43:37.679
so yeah, it's really convenient to
have them both there. Another thing is

480
00:43:37.719 --> 00:43:44.360
a lot of site owners and seos, especially seos, they look at the

481
00:43:44.719 --> 00:43:49.800
Google Search Console, and the Google
Search Console you do have a core vitals

482
00:43:49.840 --> 00:43:53.880
area within it, so they can
see like performance issues that they have with

483
00:43:54.039 --> 00:44:00.280
various pages and their pages in their
website. The problem with it is is

484
00:44:00.320 --> 00:44:08.559
that the Google Search Console has like
this twenty eight day smoothing window, so

485
00:44:09.320 --> 00:44:17.800
you often see issues like two even
three weeks after they've actually started. So

486
00:44:17.840 --> 00:44:22.039
you say, hey, you know, I've got a problem, but it's

487
00:44:22.079 --> 00:44:27.079
affecting your website for it's been affecting
your website for two to three weeks already,

488
00:44:27.719 --> 00:44:30.800
so that's problem number one. And
then you make a fix, it

489
00:44:30.920 --> 00:44:35.079
then takes another two to three weeks
to actually see that the fix actually impacted.

490
00:44:35.159 --> 00:44:37.800
So yes, you can't tell Google
Search Console that like, I made

491
00:44:37.800 --> 00:44:42.719
a change, please review it.
But it's still it's still a chore.

492
00:44:42.880 --> 00:44:47.199
So that's problem number one. And
problem number two is I mentioned before,

493
00:44:47.320 --> 00:44:52.559
is this whole issue of attribution,
so you can see that in certain in

494
00:44:52.639 --> 00:44:59.360
a certain page or group of pages, I don't know, CLS has gotten

495
00:44:59.400 --> 00:45:05.679
worse, but like why what's caused
it? You know, you know what,

496
00:45:05.679 --> 00:45:08.360
what change have we made over the
past three weeks? And there can

497
00:45:08.400 --> 00:45:13.920
be so many things. It might
be somebody from marketing who just made some

498
00:45:13.960 --> 00:45:20.280
sort of change in the page layout
or content. It might be I don't

499
00:45:20.280 --> 00:45:25.039
know, issues with and one of
you know, an improperly configured CDN or

500
00:45:25.199 --> 00:45:31.159
maybe you know you you misconfigured your
your web pack or whatever, and you

501
00:45:31.199 --> 00:45:37.559
know, creating much larger bundles,
or maybe somebody in marketing added another pixel,

502
00:45:37.719 --> 00:45:40.639
And it can be so many things
that can have the impact. And

503
00:45:40.840 --> 00:45:46.239
and and this whole concept of getting
good attribution, of understanding as quickly as

504
00:45:46.280 --> 00:45:52.679
possible where the problem is is really
key to be being able to resolve it.

505
00:45:52.079 --> 00:45:57.320
And that's where a tool like Centry
and like the other run providers at

506
00:45:57.400 --> 00:46:01.559
these the good ones UH can provide
so much value over what Google gives you

507
00:46:01.599 --> 00:46:07.119
out of the box. I was
just going to say, because you were

508
00:46:07.679 --> 00:46:10.840
listing examples and when you mentioned added
a pixel, that's the one that I've

509
00:46:10.880 --> 00:46:15.239
seen come up. But the trick
is is that a lot of times that

510
00:46:15.239 --> 00:46:17.360
doesn't show up in your code because
you're using something like Google tag Manager or

511
00:46:17.360 --> 00:46:22.760
something, and so right, the
change isn't in the code base, the

512
00:46:22.840 --> 00:46:28.320
change is in the tool. And
so just just be aware of what you're

513
00:46:28.360 --> 00:46:35.360
allowing to modify your page that may
or may not be the code exactly.

514
00:46:35.400 --> 00:46:38.559
I mean, you know, you
see that let's say you've pinpointed the time

515
00:46:38.599 --> 00:46:44.599
of the degradation, and then you
start doing let's say get bisect, and

516
00:46:44.639 --> 00:46:49.559
you find that nothing's changed because it's
not in your code. Like you said,

517
00:46:49.679 --> 00:46:53.440
it might be that somebody in marketing
using Google tag Manager just added another

518
00:46:53.960 --> 00:47:00.119
you know pixel that's really killing your
performance, but again totally not reflected in

519
00:47:00.159 --> 00:47:04.639
your codebase. I've also seen in
cases where a parallel happens, so it's

520
00:47:04.679 --> 00:47:07.199
not just from this point on or
like from this commit on and you know,

521
00:47:07.280 --> 00:47:13.280
the performance gets worse, but like
there's like two parallel lines where one

522
00:47:13.320 --> 00:47:20.360
of the one group of the users
are experiencing okay, are having an okay

523
00:47:20.400 --> 00:47:25.679
experience, but then another has not
so much okay, and they didn't have

524
00:47:25.920 --> 00:47:29.960
anything to do with pixels or or
stuff like that. It had to do

525
00:47:30.119 --> 00:47:37.480
with the state of the application.
So I've seen like banners that you know,

526
00:47:37.639 --> 00:47:42.519
change the lcp' score because they're pretty
big at the top, and some

527
00:47:42.639 --> 00:47:45.760
users take the time to hit the
X button, but some don't. Right,

528
00:47:45.800 --> 00:47:50.159
So for some of the users,
your run data is going to report

529
00:47:50.199 --> 00:47:52.960
the LCP is going to be based
on the banner, but for the others,

530
00:47:53.000 --> 00:47:55.239
it's not going to be. The
element is not going to be the

531
00:47:55.280 --> 00:47:59.400
banner itself or the background or whatever
it is, but it's going to be

532
00:47:59.400 --> 00:48:07.119
some different part of the page.
So there's like also parallels of data and

533
00:48:07.199 --> 00:48:12.880
I've seen situations where a lot of
organizations do all sorts of A B tests,

534
00:48:13.559 --> 00:48:17.480
So they might be testing different let's
say head title or header messages,

535
00:48:19.199 --> 00:48:24.159
and the head different header messages have
a slightly different length, and then due

536
00:48:24.159 --> 00:48:28.559
to wrap around and stuff like that, all of a sudden, a different

537
00:48:29.079 --> 00:48:36.800
piece of content is the largest contentful
piece of content to be painted based on

538
00:48:36.840 --> 00:48:40.119
where you are in the A B
test. So all these things can really

539
00:48:40.199 --> 00:48:44.599
drive you nuts trying to figure out, Hey, what's actually going on?

540
00:48:44.800 --> 00:48:47.960
You know, why is it that
all of a sudden, my page shows

541
00:48:49.000 --> 00:48:52.920
poor performance even though I don't I
didn't think that anything actually changed. And

542
00:48:53.440 --> 00:49:00.519
again, attribution is really key in
being able to solve these type of types

543
00:49:00.559 --> 00:49:08.639
of scenarios. Yeah, and I
would say that centrally does handle that in

544
00:49:08.679 --> 00:49:13.480
a really good way. For example, in cases where an A B test

545
00:49:13.559 --> 00:49:17.159
is happening, or in case where
some of the elements or state of the

546
00:49:17.159 --> 00:49:24.320
application can affect the web vitals,
you can always you know, add tags

547
00:49:24.840 --> 00:49:29.800
to the context, so all of
the data that's being measured is going to

548
00:49:29.840 --> 00:49:32.920
be tagged, like a banner shown
true or false, or that the user

549
00:49:34.039 --> 00:49:37.679
is logged in yes or no,
et cetera. So that based on the

550
00:49:37.880 --> 00:49:43.719
tag itself, you can filter out
specific scenarios of the state of the application,

551
00:49:43.840 --> 00:49:47.159
and then you can zoom in in
that data and see how the I

552
00:49:47.159 --> 00:49:52.199
don't know, web vitals and all
the other metrics look like without these cases

553
00:49:52.679 --> 00:49:59.000
in mind. So it's not just
desktop versus mobile or Chrome versus Edge,

554
00:49:59.079 --> 00:50:02.519
it's also do I have this spanner
or don't I have this spanner? Am

555
00:50:02.599 --> 00:50:06.440
I on this? Am I on
the A part of the test or the

556
00:50:06.480 --> 00:50:09.199
B part of the test? And
stuff like that. Exactly. Yeah,

557
00:50:09.280 --> 00:50:14.719
and you have the you already have
the tooling in the in the s decay

558
00:50:14.800 --> 00:50:20.320
and in the dashboard in centry to
to do all the slices that you need

559
00:50:20.360 --> 00:50:31.559
to do. So did the data
makes sense? Cool? Yeah, so

560
00:50:31.960 --> 00:50:36.440
you said you haven't gotten into the
customer data A ton. I'm kind of

561
00:50:36.480 --> 00:50:43.039
curious if there are case studies though, where somebody basically demonstrated or you know,

562
00:50:43.400 --> 00:50:47.760
had some kind of major shift in
their performance or a major shift in

563
00:50:47.800 --> 00:50:52.800
their web vitals or a major shift
in Hey, this was our money maker

564
00:50:52.840 --> 00:50:57.159
page and it went it got faster, and then we made more money.

565
00:50:57.239 --> 00:51:00.280
I'm just I don't know which of
those you might be aware of, but

566
00:51:00.559 --> 00:51:04.199
that would be cool to hear about. Yeah, totally. I mean we

567
00:51:05.079 --> 00:51:08.079
internally and like you know, we
always talk with the customers, and there's

568
00:51:08.320 --> 00:51:15.360
sometimes we even do events like workshops
where we just gether some you know,

569
00:51:15.480 --> 00:51:21.880
better people in Zoom and we talk
with the our clients or people who use

570
00:51:21.960 --> 00:51:28.480
Centry. I remember I also did
one with a person who who used Centry

571
00:51:28.480 --> 00:51:31.480
in a React Native application and we
talked about their experience, et cetera.

572
00:51:31.639 --> 00:51:38.039
So we sometimes we do publish these
kinds of interactions and conversations, either through

573
00:51:38.119 --> 00:51:44.119
video format or or on a blog. So there are some stuff like that.

574
00:51:44.239 --> 00:51:52.719
Yeah, how do I find those? I'm not sure if there's like

575
00:51:52.800 --> 00:51:57.039
one page that lists all of them. But if there isn't, then that's

576
00:51:57.039 --> 00:52:00.760
a really good idea and I'm gonna
take it up and see if we can

577
00:52:00.760 --> 00:52:04.559
build that. But I'm not sure. I'm not sure. Maybe either the

578
00:52:04.559 --> 00:52:17.960
blog or the YouTube. There's probably
a playlist on the YouTube channel. Okay,

579
00:52:21.920 --> 00:52:25.320
any of the rest you have questions
or should we go to picks?

580
00:52:28.760 --> 00:52:32.800
I've covered my basis, Lasa,
is there anything else that you specifically want

581
00:52:32.800 --> 00:52:37.679
to add? I don't think so, yeah, I think we had a

582
00:52:37.679 --> 00:52:45.239
really good discussion. I'm tracing and
performance and stuff. Cool. I have

583
00:52:45.320 --> 00:52:51.639
to say just to conclude that I'm
a huge believer in real user measurements.

584
00:52:52.920 --> 00:52:58.400
You're always surprised if you just go
by synthetic measurements. You know, it's

585
00:52:58.559 --> 00:53:04.559
highly likely that you're not actually testing
what your users are really experiencing, so

586
00:53:04.760 --> 00:53:08.880
and and so that's number one.
And number two is that production will always

587
00:53:08.880 --> 00:53:19.519
surprise you. And I've seen things, so just trying to rely on on

588
00:53:19.519 --> 00:53:24.559
on synthetic tests and simulated environments,
that's that's just not enough. Yeah,

589
00:53:24.679 --> 00:53:30.360
have you seen the have you seen
the reports? I think it's a few

590
00:53:30.400 --> 00:53:35.400
years old, but there was a
report where it got all of the Lighthouse

591
00:53:35.559 --> 00:53:39.760
data and got all like the top
I don't know how many websites with their

592
00:53:39.760 --> 00:53:46.679
scores and then maps them out with
their data from the Crux database, and

593
00:53:46.719 --> 00:53:54.039
it turns out that like forty three
of good light House scores don't even meet

594
00:53:54.199 --> 00:54:01.119
the minimum of the web vitals went
from the Crux data. That's interesting.

595
00:54:01.639 --> 00:54:07.679
I've often seen the reverse, like
pages that actually have good coed vitals but

596
00:54:08.440 --> 00:54:15.039
seem not to have good simulated scores. Especially for mobile, because Google really

597
00:54:15.079 --> 00:54:22.119
simulates a low end device that's slower
in many cases that what users often actually

598
00:54:22.159 --> 00:54:25.840
have. But the reverse can also
happen. I know that Rick Viscomi from

599
00:54:25.840 --> 00:54:30.400
Google I think actually even wrote an
article a while back about why these scores

600
00:54:30.840 --> 00:54:37.280
can be so different and why you
might see such significant discrepancies between the synthetic

601
00:54:37.320 --> 00:54:40.000
tests and the reviewser measurements. So
yes, I think that the best option

602
00:54:40.159 --> 00:54:45.199
is really to use both. That
during the development cycle, you're using the

603
00:54:45.239 --> 00:54:50.760
synthetic tools to make sure that you
don't degrade before pushing to production, but

604
00:54:50.880 --> 00:54:55.199
then you also have tools monitoring your
production environment to catch all the things that

605
00:54:55.280 --> 00:55:00.679
slip through, because inevitably things will
slip through. And said, you know,

606
00:55:00.000 --> 00:55:04.320
changes might be as results of things
that have nothing to do with the

607
00:55:04.360 --> 00:55:08.760
actual code. They might have to
do with pixels, with images. I've

608
00:55:08.800 --> 00:55:15.519
seen, for example, cash headers
for files misconfigured, so or I've seen

609
00:55:15.599 --> 00:55:22.239
situation where somebody accidentally turned off all
the compression for all the files at the

610
00:55:22.280 --> 00:55:27.559
CDN, so you suddenly are downloading
you know, five times as much data

611
00:55:27.679 --> 00:55:31.800
than before. So I've seen so
many reasons for poor performance that might not

612
00:55:32.000 --> 00:55:38.119
be caught by synthetic tools that only
check during bill times. I guess you

613
00:55:38.159 --> 00:55:42.039
could say really really stay based on
the report that that was the crux of

614
00:55:42.079 --> 00:55:46.440
the issue. Right, yeah,
I think you made the same joke when

615
00:55:46.960 --> 00:55:52.039
what we had Rick Vscopy on the
show. Hey, if it works,

616
00:55:52.199 --> 00:55:55.280
you know, keepu isn't it?
Some people hadn't heard it yet. That's

617
00:55:57.440 --> 00:56:02.039
sorry? All good? All right, Well, let's go ahead and move

618
00:56:02.079 --> 00:56:05.760
on to the picks. Before we
do that, though, Lazaar, how

619
00:56:05.760 --> 00:56:08.960
do people find you on the internet
if they have questions or want to chat

620
00:56:09.039 --> 00:56:15.360
or whatever. Yeah, I'm I'm
trying to keep a consistent user name.

621
00:56:15.360 --> 00:56:19.440
But let me just change it real
quick so everyone can see it. It's

622
00:56:19.440 --> 00:56:24.159
at Nicolo Lasa and this is how
it looks like. All right. We'll

623
00:56:24.199 --> 00:56:31.239
also put that in the in the
comments on our various streaming platforms, and

624
00:56:32.679 --> 00:56:37.519
I can type it and in the
show notes as well, and that way

625
00:56:37.559 --> 00:56:44.519
people can look you up. All
right, Well, let's go ahead do

626
00:56:44.559 --> 00:56:46.159
the picks. Steve, do you
want to start us off for picks?

627
00:56:47.039 --> 00:56:51.039
Going for the high point early again? Okay? I can appreciate that.

628
00:56:52.400 --> 00:56:57.960
So before I get to the dad
jokes of the week, A j I

629
00:56:57.960 --> 00:57:00.280
had mentioned earlier that I thought of
a pick you inspired me to pick when

630
00:57:00.280 --> 00:57:05.079
we were talking about your aquariums.
Back in the eighties, there was this

631
00:57:05.199 --> 00:57:07.960
comedian and he was the king of
puns. He was, I guess you

632
00:57:07.960 --> 00:57:13.519
could say, one of my idols. His name was Kippa Datta and he

633
00:57:13.719 --> 00:57:22.119
has a song called Wet Dream that
is all about fish puns. And you

634
00:57:22.119 --> 00:57:25.760
know, it starts out how he
was driving in downtown Atlanta, Atlantis,

635
00:57:25.800 --> 00:57:30.360
and his Barracuda was wasn't working,
so he was driving a rented Steingray.

636
00:57:30.159 --> 00:57:35.199
Anyway, there's a great line in
there where he's trying to pick up some

637
00:57:36.280 --> 00:57:39.000
hot fish in a bar and he
asked her what's her what's your sign?

638
00:57:39.000 --> 00:57:43.920
And she says aquarium and he says, great, let's get tanked. But

639
00:57:44.000 --> 00:57:46.840
anyway, that's a It's an all
time classic. If you want to check

640
00:57:46.840 --> 00:57:50.639
it out, you can find it. There's actually a video very you can

641
00:57:50.639 --> 00:58:00.239
tell it's very early MTV video style
on YouTube called wet Dream. So Dad

642
00:58:00.320 --> 00:58:05.880
jokes of the week, Oh I
just lost them, sorry, And by

643
00:58:05.960 --> 00:58:14.280
stand by, did you know?
It turns out that if you you can

644
00:58:14.320 --> 00:58:16.920
actually hear the blood throw flowing through
your veins. You just have to listen

645
00:58:17.119 --> 00:58:22.639
very close to mercos veins, very
closely. Sorry, I flubbed that one,

646
00:58:23.880 --> 00:58:30.039
along the lines of the fish puns. What do you call a shrimp

647
00:58:30.559 --> 00:58:37.119
that is always getting injured? He's
accident prawn? Right. And then finally

648
00:58:37.639 --> 00:58:40.800
the other day I went to see
my doctor about this you should have been

649
00:58:40.800 --> 00:58:44.840
dealing with, and he said,
well, do you want to hear the

650
00:58:44.880 --> 00:58:46.760
good news first of the bad news? I said, good news? Please?

651
00:58:46.800 --> 00:58:54.360
He says, we're naming a disease
after you. Yeah. You don't

652
00:58:54.400 --> 00:58:59.280
want that? Yeah? Right,
Yeah, it's funny. There's in the

653
00:58:59.320 --> 00:59:02.880
fire Service say if there's a drill
named after you, it's because something really

654
00:59:02.960 --> 00:59:12.880
bad happened, which is generally true. All right, a j what are

655
00:59:12.920 --> 00:59:16.360
your picks? I think his first
his first pick? Is it the unmute

656
00:59:16.400 --> 00:59:23.880
button? Where is it? Okay? I found it? Yeah, let's

657
00:59:23.880 --> 00:59:30.559
see. I was just looking to
find something to pick, because he had

658
00:59:30.599 --> 00:59:34.440
no idea that we were going to
have picks today. Right, I had

659
00:59:34.519 --> 00:59:38.440
no idea, no idea. I
was complete. I was taken aback.

660
00:59:40.840 --> 00:59:46.199
Oh gosh, let's see. Well, uh that this is not really a

661
00:59:46.239 --> 00:59:51.119
pick as much of a as a
thing that happened. Okay, I gotta

662
00:59:51.159 --> 00:59:54.119
I got a couple. I I
saw the movie Being There, Steve,

663
00:59:54.159 --> 01:00:00.159
have you seen that movie? Yes? That is it's such a weird movie.

664
01:00:00.239 --> 01:00:04.119
My uh. When I was in
college, one of my Spanish professors

665
01:00:04.119 --> 01:00:07.079
had recommended she really liked it.
And I'm a huge Peter Sellers fan from

666
01:00:07.119 --> 01:00:12.079
the uh you know, all the
Pink Panther movies, the Inspector, Clusto

667
01:00:12.159 --> 01:00:15.159
stuff that he'd done. But yeah, this Being There is just it's interesting.

668
01:00:16.159 --> 01:00:21.440
I I don't know that it's interesting
weird. So it's it's it's critically

669
01:00:21.519 --> 01:00:23.880
acclaimed, it's on it's on some
lists of you know, best movies you

670
01:00:23.960 --> 01:00:28.239
gotta watch. Because my wife and
I we like, we've watched all of

671
01:00:28.400 --> 01:00:30.679
the TV shows and movies that have
come out in the last I don't know

672
01:00:30.760 --> 01:00:36.159
ten years that are worth watching and
there's not very many of them, and

673
01:00:36.159 --> 01:00:39.440
and so and like nothing new comes
out. It's all, yeah, it's

674
01:00:40.039 --> 01:00:45.880
very met and so he uh.
We decided to go backwards to find some

675
01:00:45.000 --> 01:00:50.039
older stuff, some stuff that people
really felt like had meaning was done well,

676
01:00:50.760 --> 01:00:53.800
and we landed on Being There,
and the reviews on it were so

677
01:00:53.920 --> 01:00:58.920
high. The trailer looks so weird. But the trailer was a very accurate

678
01:00:58.960 --> 01:01:02.719
depiction of the movie. It really
made no sense it there was no plot.

679
01:01:04.159 --> 01:01:17.679
It was basically depicting someone who is
semi autistic slash echoleist who just says

680
01:01:17.920 --> 01:01:23.079
a few things here and there and
ends up like next to the vice president

681
01:01:23.280 --> 01:01:30.000
essentially, but it is I don't
know, so I don't know. That's

682
01:01:30.039 --> 01:01:34.960
just something that happened, but something
that something that's good is. I finished

683
01:01:35.639 --> 01:01:37.639
listening to the first book of the
Expanse, and I have to say,

684
01:01:38.360 --> 01:01:43.840
overall, I do like the book
better than the show. There for the

685
01:01:43.880 --> 01:01:45.719
first half of the book, I
think I like the show better because the

686
01:01:45.800 --> 01:01:54.519
show gives a little bit more it
Like with The Hunger Games. You only

687
01:01:54.519 --> 01:01:59.880
get a certain perspective in the book, but then in the movie they get

688
01:01:59.880 --> 01:02:02.199
to tell you things that are going
on in the rest of the universe that

689
01:02:02.239 --> 01:02:07.280
you can't see from the main character's
perspective. In the book, they do

690
01:02:07.360 --> 01:02:12.880
have a couple main characters, But
I guess where the second half of the

691
01:02:12.880 --> 01:02:17.480
book I liked it better than the
show was that it's just much more focused.

692
01:02:17.840 --> 01:02:22.519
The show progressively got worse and worse
as they tried to just make the

693
01:02:22.639 --> 01:02:30.639
characters more extreme and just introducing more
characters and then just having them yell louder

694
01:02:30.639 --> 01:02:34.679
and cuss stronger, and and that
kind of got old. But the book

695
01:02:35.360 --> 01:02:38.159
just stays focused on the few characters
that are the important ones that drive the

696
01:02:38.199 --> 01:02:42.880
story and doesn't try to introduce a
bunch of others. And I mean,

697
01:02:42.960 --> 01:02:46.000
like, the book's got plenty of
language and whatnot too, but it's not

698
01:02:46.960 --> 01:02:52.119
it's not the same where it's just
like, Oh, she's on screen,

699
01:02:52.199 --> 01:02:54.800
now cue the effort. Yep,
that was her line. Yep, okay,

700
01:02:54.840 --> 01:02:59.480
Now we move on to the next
character. Oh, his line is

701
01:02:59.519 --> 01:03:01.639
angry, got it okay? And
we move on to the next character.

702
01:03:01.679 --> 01:03:05.840
They in the book, at least
for the first book, they develop the

703
01:03:05.920 --> 01:03:09.639
characters a lot better. And so
I'm I didn't think I was gonna listen

704
01:03:09.679 --> 01:03:14.000
to the whole book series. I
don't know if I will, but I

705
01:03:14.039 --> 01:03:19.239
am going to pick up the second
book at some point. I've got a

706
01:03:19.280 --> 01:03:27.079
whole backlog of Audible to do.
But and then last thing is again not

707
01:03:27.119 --> 01:03:30.480
really a pick per se, but
just an experience. So while we were

708
01:03:30.880 --> 01:03:36.239
on the show here, I did
try to get century self hosted installed,

709
01:03:37.400 --> 01:03:43.639
ran into some Docker issues because you
know Docker. But I'm I'm glad to

710
01:03:43.679 --> 01:03:46.840
see that it's available for self install, and I'm glad to see that the

711
01:03:47.000 --> 01:03:52.800
install script can kind of resume when
it hits a hiccup. I'll play with

712
01:03:52.840 --> 01:03:55.599
it a bit more and see if
I can find like the right version of

713
01:03:55.679 --> 01:04:00.800
Docker to host on the right type
of VM to actually get it to install,

714
01:04:00.840 --> 01:04:04.719
because I would like to see how
that works. But the documentation looks

715
01:04:04.719 --> 01:04:10.440
pretty decent. I do wish that
it had like just the scripts to run

716
01:04:10.480 --> 01:04:14.079
the installers without having to deal with
docer. Just say, okay, like

717
01:04:14.239 --> 01:04:16.639
you got to use debbian for this, but if you use deb like just

718
01:04:16.639 --> 01:04:19.360
tell me what the operating system is
the Docker would use, let me install

719
01:04:19.400 --> 01:04:24.480
that operating system and let me just
like run the scripts without having to deal

720
01:04:24.519 --> 01:04:27.639
with docer because docer, man,
it's such a pain in the butt,

721
01:04:28.360 --> 01:04:31.559
you know. But but I'm glad
to see that it's there. And I

722
01:04:31.599 --> 01:04:35.280
was trying it out, and the
documentation looks good, and I like,

723
01:04:35.280 --> 01:04:41.159
like I said, I like that
it's it. It seems to gracefully restart.

724
01:04:41.199 --> 01:04:44.519
As you hit one issue, you
can solve that and then restart the

725
01:04:44.519 --> 01:04:46.719
install again and it'll pick up where
it left off, and that's always very

726
01:04:46.840 --> 01:04:53.800
nice. So Plus one to the
Century self hosted on that and hopefully I'll

727
01:04:53.800 --> 01:04:57.679
get it all the way and that's
that's the end of my ramblings for today.

728
01:04:58.440 --> 01:05:01.760
I just want to chime in on
the Expanse stuff also, I'm just

729
01:05:01.800 --> 01:05:05.159
going to put it out there.
I very much prefer the doctor setups to

730
01:05:05.320 --> 01:05:12.400
the other kinds of setups. But
the Expanse in particular, you're going to

731
01:05:12.480 --> 01:05:17.360
find through the whole TV series and
through the whole book series that your observation

732
01:05:17.519 --> 01:05:21.719
mostly holds out for all of the
other books. A couple of things that

733
01:05:21.800 --> 01:05:30.599
bothered me a little bit is that
they so the books. Some of the

734
01:05:30.599 --> 01:05:33.159
books are spaced out over years,
right, so you have one book and

735
01:05:33.199 --> 01:05:36.519
then a bunch of stuff happens,
and then the next book starts, and

736
01:05:36.599 --> 01:05:40.400
a lot of times there's a novella
that fills in the gaps. Some of

737
01:05:40.440 --> 01:05:45.360
the novellas aren't as good. But
the other thing is is that those gaps

738
01:05:45.400 --> 01:05:48.880
and the things that happen in those
gaps are kind of important, and so

739
01:05:49.079 --> 01:05:53.599
the way that they try and shoehorn
some of the plot points to keep it

740
01:05:53.639 --> 01:05:58.320
more or less continuous didn't really work, and so when they ended the TV

741
01:05:58.400 --> 01:06:02.199
series, they actually left off last
book and you know a bunch of other

742
01:06:02.239 --> 01:06:06.800
stuff that I kind of wish they'd
done so anyway, but overall, they

743
01:06:06.840 --> 01:06:11.360
did an excellent job on the TV
series. Uh. The other thing to

744
01:06:11.440 --> 01:06:14.320
keep in mind with the TV series
is I think the Sci Fi Channel did

745
01:06:14.320 --> 01:06:18.119
the first two three, and then
Amazon picked it up, and Amazon picked

746
01:06:18.159 --> 01:06:20.920
it up, and when Amazon picked
it up, we got better. So

747
01:06:23.440 --> 01:06:26.800
there, I know there was one
like the first season of the TV series

748
01:06:26.840 --> 01:06:29.960
was pretty good, and then he
was either the third or the fourth one

749
01:06:30.079 --> 01:06:33.559
was pretty good. But that yeah, that's I think it was the second

750
01:06:33.559 --> 01:06:36.079
one. It was just like out
of nowhere. It's like they just I

751
01:06:36.119 --> 01:06:38.880
don't know if the books that way. I don't know. Does is the

752
01:06:38.880 --> 01:06:43.840
book like a completely different, unrelated
story for the second book? No,

753
01:06:43.920 --> 01:06:45.320
I don't. I don't remember for
sure, but no, I don't.

754
01:06:45.360 --> 01:06:49.119
I don't remember it being that So
yeah, because they go into this thing

755
01:06:49.119 --> 01:06:56.320
about Mars and then the the the
humanoid aliens, and and then like that

756
01:06:56.440 --> 01:06:59.400
storyline has dropped and it's never picked
up back up against I don't know if

757
01:06:59.400 --> 01:07:01.320
that, like, if the book
has that or if that was just like

758
01:07:01.360 --> 01:07:08.079
they were patting the TV show the
continuity. I remember the second season being

759
01:07:08.440 --> 01:07:12.079
mostly based on the second book.
But yeah, the continuity in the books

760
01:07:12.159 --> 01:07:15.960
is really really tight. So okay, cool, I'll look forward to the

761
01:07:16.000 --> 01:07:20.400
second one then. Yeah, all
right, Dan, what are your picks?

762
01:07:24.639 --> 01:07:28.320
Okay, So I have a couple
of picks today. My first.

763
01:07:28.519 --> 01:07:33.320
Since we've been discussing performance and the
impact of perform that performance can have on

764
01:07:33.480 --> 01:07:42.119
the success of a website, there's
this excellent website for web performance that Google

765
01:07:42.199 --> 01:07:46.800
created well web performance and web development
called web dot Dev, and they have

766
01:07:46.920 --> 01:07:54.280
a section there web dot dev slash
case studies. We'll put the link in

767
01:07:54.280 --> 01:07:58.599
the show notes obviously, but it's
got a whole like lots of case studies

768
01:07:58.639 --> 01:08:05.760
of companies that improve their performance or
certain aspects of their performance and the benefits

769
01:08:05.760 --> 01:08:13.599
that they've gained as results of these
improvements, like actual numbers and actual testimonials

770
01:08:13.920 --> 01:08:16.319
and figures and stuff like that.
So if you need to prove to your

771
01:08:16.600 --> 01:08:24.079
let's say management while why it's worthwhile
investing time, effort, and maybe money

772
01:08:24.479 --> 01:08:28.760
into improving the performance of your website
or web application, you know, you

773
01:08:28.840 --> 01:08:32.880
can go there and you'll find a
lot of relevant content. So I think

774
01:08:33.119 --> 01:08:36.840
this is a useful resource in the
context of what we've been talking about today.

775
01:08:38.560 --> 01:08:44.760
So that would be my first pick. My second pick. I've mentioned

776
01:08:44.840 --> 01:08:50.279
that we've been clearing up our library
and I found various books that haven't read

777
01:08:50.279 --> 01:08:56.760
in a while and was deciding which
ones to keep and which ones to let

778
01:08:56.840 --> 01:09:02.720
go basically donate, so which ones
to reread. And I think I've mentioned

779
01:09:02.760 --> 01:09:09.199
before that I'm actually reading a series
of books called The Saga of the plosen

780
01:09:09.359 --> 01:09:15.319
Exile. It's a series of books
from the eighties written by Julian May.

781
01:09:15.520 --> 01:09:21.800
She was a sci fi speculative fiction
author. It's kind of an interesting work

782
01:09:21.840 --> 01:09:27.600
in the sense that it's kind of
midway between science fiction and fantasy in that

783
01:09:27.760 --> 01:09:31.239
it's it's supposed to be like science
fiction based, but it gives a lot

784
01:09:31.319 --> 01:09:39.039
of fantasy vibes. But it's from
my perspective, it's an excellent series of

785
01:09:39.079 --> 01:09:42.439
books. There are four books in
the series. Since it's from the eighties,

786
01:09:42.439 --> 01:09:45.479
they're all written, so you don't
have to worry about, you know,

787
01:09:45.520 --> 01:09:50.039
an incomplete series of books. It
goes from start to finish. It's

788
01:09:50.079 --> 01:09:56.039
they're pretty thick, lots and lots
of characters, lots of character development and

789
01:09:56.159 --> 01:10:00.760
character interactions, and it's just a
great series of books, lots of action

790
01:10:00.880 --> 01:10:11.119
and adventure. But also she really
gives like the flashes out the various characters.

791
01:10:11.760 --> 01:10:15.319
One complaint that I've heard about the
books, and I can see where

792
01:10:15.319 --> 01:10:18.640
it's where it's coming from, though, I although I don't necessarily agree with

793
01:10:18.680 --> 01:10:25.800
it, is that the depictions of
the lgbt Q let's call it community or

794
01:10:26.159 --> 01:10:30.119
people that are identify as such,
especially trans people, is not ideal.

795
01:10:31.600 --> 01:10:36.800
It may have to do also when
the books were written, but I'm just

796
01:10:36.880 --> 01:10:42.000
putting it out there in the case
that it might impact the decisions of some

797
01:10:42.079 --> 01:10:45.000
people to read it. As I
said, I think the books are really

798
01:10:45.039 --> 01:10:49.039
good. But again this is my
own personal opinion, so that would be

799
01:10:49.119 --> 01:10:54.279
my second pick, and I mentioned
them before. It's just that it's a

800
01:10:54.319 --> 01:10:57.840
long series of books, so it's
taking me a while to read through them,

801
01:10:57.880 --> 01:11:01.319
and I, by the way,
I can't really I can't deal with

802
01:11:01.399 --> 01:11:06.880
audiobooks. I have to actually read
the book. I don't know when somebody

803
01:11:06.920 --> 01:11:10.279
is reading it out to me.
It kind of feels weird to me.

804
01:11:10.439 --> 01:11:13.920
I don't know, it's maybe it's
just me, but that's the way it

805
01:11:13.960 --> 01:11:18.880
is. So that would be my
second pick, my third pick. I'm

806
01:11:19.279 --> 01:11:27.439
also very much a history buff or
history fan, and especially of ancient history,

807
01:11:28.199 --> 01:11:30.960
and given the fact that I live
in Israel, also history of the

808
01:11:31.039 --> 01:11:35.199
Middle East, which has a lot
of history and a lot of ancient history.

809
01:11:35.960 --> 01:11:43.680
And I found these series of lectures
called The Rise of Ancient Israel with

810
01:11:43.920 --> 01:11:49.520
Professor Isail Finkelstein. He's a professor
of archaeology in the Tel Aviv University.

811
01:11:49.920 --> 01:11:55.880
He's done some of the most significant
archaeological digs in Israel, certainly in recent

812
01:11:55.960 --> 01:12:02.600
years. And it's a very long
series of conversations that he has with one

813
01:12:02.640 --> 01:12:11.520
of his students who's actually made this
basically recorded this series. There are twenty

814
01:12:12.079 --> 01:12:17.439
one discussions and there are like something
like forty something minutes long each and they

815
01:12:17.479 --> 01:12:25.640
talk about, you know how,
the evolution of the ancient kingdoms of Israel,

816
01:12:25.760 --> 01:12:31.039
of you know, King David and
before and after. It's really interesting

817
01:12:31.279 --> 01:12:38.720
if you're into that. I do
have to caveat this with the fact that

818
01:12:39.960 --> 01:12:48.199
he takes the Bible as a serious
source of historical information. But when there's

819
01:12:48.239 --> 01:12:58.079
a conflict between the story in the
Bible and the archaeological findings in the field,

820
01:12:58.119 --> 01:13:03.159
he will side with your archaeological findings. H Or put another way,

821
01:13:03.600 --> 01:13:12.039
he sees the Bible as not as
a historical book so much as a book

822
01:13:12.199 --> 01:13:17.680
of you know, a religious book
and an ideological book that is based on

823
01:13:17.880 --> 01:13:25.399
historical events. So considering the archeological
bracity of the Bible of something I read

824
01:13:25.960 --> 01:13:28.439
quite a bit to you on that's
sort of well, there's a lot of

825
01:13:28.960 --> 01:13:33.279
there's a lot of historical Veracity's not
he's not denying it. But again,

826
01:13:33.319 --> 01:13:42.479
when there are conflicts, and there
are some conflicts between potentially, but you

827
01:13:42.520 --> 01:13:45.920
know, the problem that he likes
to state that he says a lot about

828
01:13:45.000 --> 01:13:48.239
archaeology is that you can only go
but what you but what you buy,

829
01:13:48.359 --> 01:13:54.439
what you have found, and that
maybe tomorrow you'll find something new that completely

830
01:13:54.560 --> 01:13:59.399
changes your point of view. But
true, but again, you can only

831
01:13:59.439 --> 01:14:04.319
go on what you found. And
while a lack of evidence is not an

832
01:14:04.359 --> 01:14:09.039
evidence, how does it go I
know exactly what you're saying, yes,

833
01:14:10.039 --> 01:14:14.520
but still you know, if there's
no evidence for particular events where you expect

834
01:14:14.560 --> 01:14:18.079
evidence to be abundant, it does
say something or at least it raises some

835
01:14:18.680 --> 01:14:26.479
significant questions. Anyway, I highly
recommend it. It's it's an excellent conversation.

836
01:14:26.680 --> 01:14:31.239
I'll put a link to the entire
playlist if you're into that. Very

837
01:14:31.319 --> 01:14:39.359
highly recommended. And my final,
so that's really fascinating. Yeah, there

838
01:14:39.399 --> 01:14:44.720
goes my week, are right.
Yeah, I would be curious, you

839
01:14:44.720 --> 01:14:48.760
know, as to what you get
from it. It's it's really really informative.

840
01:14:50.039 --> 01:14:54.479
And my final, I won't call
it pick I'll call it a mansion.

841
01:14:55.520 --> 01:15:02.039
Today is the Holocaust Memorial Day in
Israel, and this one's especially hard

842
01:15:02.600 --> 01:15:10.760
because we still have one hundred and
thirty two hostages being held in Gaza by

843
01:15:10.840 --> 01:15:15.560
Hamas, So it's kind of I
wouldn't call it a modern day Holocaust,

844
01:15:15.640 --> 01:15:21.640
it's not quite up there, but
it's it's it makes everything harder, and

845
01:15:21.840 --> 01:15:25.439
you know, we don't even know
how many of them are still alive,

846
01:15:25.680 --> 01:15:30.560
and how many of them have been
murdered or tortured to death, and it's

847
01:15:30.600 --> 01:15:36.159
and it's you know, and you
swing between hope hope and and you know,

848
01:15:36.600 --> 01:15:43.840
feelings of hopelessness and and it's it's
really hard. So anyway, those

849
01:15:43.840 --> 01:15:46.760
would be the picks and mentions that
I wanted to make for today and over

850
01:15:46.800 --> 01:15:50.760
to you, Chuck. All right, I'm gonna put out my picks and

851
01:15:50.800 --> 01:15:55.800
then we'll let let's R do his. So I always start with board game.

852
01:15:56.880 --> 01:16:00.039
In this case, I'm doing a
card game. This one's called Hanabi.

853
01:16:00.119 --> 01:16:08.159
Hanabi is the Japanese word for fireworks, and the game is pretty simple.

854
01:16:08.600 --> 01:16:12.640
You are delta hand of cards.
It's usually it's always four cards.

855
01:16:13.039 --> 01:16:15.840
You hold them facing everybody else,
so you don't know what cards you have.

856
01:16:15.960 --> 01:16:19.359
You can see what everybody else has, but you can't see what what

857
01:16:19.399 --> 01:16:26.600
you have. And then what you
do is you can either play a card.

858
01:16:26.960 --> 01:16:28.760
So if you know what you have, or you think you have a

859
01:16:28.760 --> 01:16:31.920
good idea of what you have,
then you can play the card. And

860
01:16:31.960 --> 01:16:35.800
what you're trying to do is you're
trying to get stacks of all the colors

861
01:16:36.079 --> 01:16:41.640
to go from one to five,
and they're three ones, two of two,

862
01:16:41.640 --> 01:16:45.920
three and four and then one five
of each color. And so you

863
01:16:45.960 --> 01:16:49.039
can play a card, you can
discard a card. So the way we

864
01:16:49.079 --> 01:16:53.840
always play is we always let everybody
know I'm discarding off of the right hand

865
01:16:53.840 --> 01:16:56.920
side of my hand. Right so
if people don't want to get rid of

866
01:16:56.960 --> 01:16:59.800
it because it's a five, and
if you discard a five, you lose

867
01:17:00.039 --> 01:17:03.640
because you can't play it. Then
right then people will clue you, hey,

868
01:17:03.960 --> 01:17:06.880
this is a and so that's the
last one is you can give a

869
01:17:06.880 --> 01:17:11.840
clue, and a clue is these
cards are white or these cards are yellow,

870
01:17:12.119 --> 01:17:15.119
or you could do these cards are
two's right, and so anyway,

871
01:17:15.239 --> 01:17:19.439
and then you're you have to kind
of keep track of what where stuff is

872
01:17:19.479 --> 01:17:25.319
in your hand without being able to
see it. And so anyway, it's

873
01:17:25.399 --> 01:17:28.479
a super fun cooperative game. I
like it better than a lot of the

874
01:17:28.520 --> 01:17:33.119
other cooperative games because like when I
play cooperative games, there's one in particular

875
01:17:33.159 --> 01:17:36.960
that when I play with my wife, it's it's me and her and anyone

876
01:17:38.000 --> 01:17:41.880
else who's playing, and she's telling
us all what to do, and I

877
01:17:41.920 --> 01:17:45.119
just I don't I don't love playing
the game where I'm watching somebody else play

878
01:17:45.159 --> 01:17:50.000
my game. So anyway, Uh, this one's different because you can't do

879
01:17:50.119 --> 01:17:56.800
that because you are missing information.
So yeah, and we usually chit chat

880
01:17:56.800 --> 01:18:00.520
while we're doing it. You just
have to be careful because if if I'm

881
01:18:00.520 --> 01:18:03.880
holding my cards up and I know
that I have a particular card. I

882
01:18:03.920 --> 01:18:09.119
may have inferred that from the clues
I got and the fact that I can

883
01:18:09.119 --> 01:18:12.479
see the other player's hands. And
so if you have if you know what

884
01:18:12.520 --> 01:18:15.479
a card is, you can't always
say, I know that this is the

885
01:18:15.800 --> 01:18:19.600
four of White, because you might
have inferred that from the fact that they

886
01:18:19.640 --> 01:18:26.479
told you it was a white card, and you know from the discard pile

887
01:18:26.600 --> 01:18:30.560
and the other hands that right,
it can't be anything else. So anyway,

888
01:18:31.279 --> 01:18:39.319
super fun game, so you can
buy it. It's like ten bucks

889
01:18:39.359 --> 01:18:46.359
on Amazon. And then the other
picks I have, I have a couple

890
01:18:46.439 --> 01:18:49.880
of them. So one of them
is a movie that my wife and I

891
01:18:49.920 --> 01:18:55.239
saw last week or the week before. It's called Escape from Germany. And

892
01:18:55.399 --> 01:19:01.600
it's a true story about Latter Day
Saint missionaries that were in Germany when the

893
01:19:01.600 --> 01:19:06.560
war started, and so you know, as you can imagine, they were

894
01:19:06.720 --> 01:19:15.760
somewhat hostile toward Americans, and they
were also hostile toward UH missionaries because they

895
01:19:15.760 --> 01:19:23.279
were hostile towards certain kinds of religion, and so anyway, it's it's just

896
01:19:23.359 --> 01:19:27.479
a series of miracles on how they
got all those missionaries out of Germany.

897
01:19:28.640 --> 01:19:31.159
And I really, really enjoyed it. So I'm going to pick that it's

898
01:19:31.159 --> 01:19:34.239
done by TC Christensen, who's the
guy that did the Other Side of Heaven.

899
01:19:35.119 --> 01:19:39.760
And so if you liked that movie
or that Brandon movie, then definitely

900
01:19:39.840 --> 01:19:45.880
check it out. And then the
last pick I have besides telling you to

901
01:19:45.960 --> 01:19:53.680
go check out JavaScript geniuses dot com, is if you go to so Brandon

902
01:19:53.720 --> 01:20:00.840
Sanderson last year he put up a
YouTube video and a Kickstarter and basically said,

903
01:20:00.720 --> 01:20:03.199
I was locked in my house during
the pandemic, so I did what

904
01:20:03.279 --> 01:20:06.640
I do. I wrote all these
books, but I didn't tell anybody about

905
01:20:06.680 --> 01:20:11.880
them. And so it's a series
of books he's called the Secret Projects.

906
01:20:12.439 --> 01:20:15.520
And I listened to the first book
on Audible. It's called Tress of the

907
01:20:15.560 --> 01:20:24.840
Emerald. See and I'll put an
Amazon link on to the Audible books.

908
01:20:24.880 --> 01:20:30.720
You can buy it with a credit. But it's this one's part of the

909
01:20:30.079 --> 01:20:35.000
cosmir So he has he has a
universe that he writes a number of his

910
01:20:35.079 --> 01:20:40.439
books in and you can kind of
see some of these worlds converging right beginning

911
01:20:40.439 --> 01:20:44.720
to converge because you have crossover with
some of the characters. Usually it's minor

912
01:20:44.800 --> 01:20:49.119
characters, not major characters, but
Anyway, this one is in that vein.

913
01:20:50.520 --> 01:20:54.920
The narrator of the book is Hoyd. If you've been following along with

914
01:20:55.000 --> 01:20:59.359
Brandon Sanderson's stuff, he wrote the
whole thing in Hoyd's voice, and Hoyd

915
01:20:59.439 --> 01:21:03.079
is one of the main characters in
this book. But it is, it

916
01:21:03.119 --> 01:21:05.840
was, it was. It was
a fun book, really fun book to

917
01:21:05.880 --> 01:21:10.199
listen to. So if you're into
audio books, or if you want to

918
01:21:10.279 --> 01:21:14.520
just I guess you can just pick
up a copy of it. The Kickstarter

919
01:21:14.800 --> 01:21:16.880
he mailed out a book every month
along with a bunch of other stuff.

920
01:21:18.680 --> 01:21:21.840
But now you can go and you
can get the books without being part of

921
01:21:21.880 --> 01:21:27.159
the Kickstarter. So a year later, right, So last year, if

922
01:21:27.199 --> 01:21:30.079
you back the Kickstarter, you got
this book in January, and you got

923
01:21:30.119 --> 01:21:33.239
the next one in February, March, and April. And now the first

924
01:21:33.319 --> 01:21:38.880
four books are out because we've gone
through April, and so I'm assuming that

925
01:21:38.960 --> 01:21:43.560
the fifth book and the Secret Secret
Book series is going to come out pretty

926
01:21:43.600 --> 01:21:48.239
quick here because we're into May.
So anyway, I really really enjoyed that

927
01:21:48.279 --> 01:21:55.039
book. So anyway, those are
my picks. All right, lazare what

928
01:21:55.039 --> 01:21:58.920
are your book? What are your
picks? A question? Do the picks

929
01:21:58.960 --> 01:22:02.920
need to be non technological, or
they can be technical or non technical.

930
01:22:03.159 --> 01:22:08.880
Okay, because I only got technical. It's all good. I'm always in

931
01:22:09.000 --> 01:22:12.520
the new stuff and I'm starting to
get into AI, so I'm gonna start

932
01:22:12.520 --> 01:22:15.159
picking some of that stuff too.
Oh cool. Yeah, yeah, So

933
01:22:15.239 --> 01:22:18.119
I didn't know that I needed to
prepare picks, but something on top of

934
01:22:18.159 --> 01:22:23.960
my mind, I'm gonna mention century. Of course, check it out.

935
01:22:24.000 --> 01:22:29.119
The free tier is generous enough for
you to get started, and it's it's

936
01:22:29.159 --> 01:22:31.720
it's generous, so you should check
it out. But when it comes to

937
01:22:31.760 --> 01:22:38.199
picks, I got one interesting and
that is a project by Joanne Leon.

938
01:22:38.439 --> 01:22:42.760
I'm sorry if I'm butchering your name, but it's basically and I'll drop the

939
01:22:42.800 --> 01:22:46.680
links here so you can check it
out. It's basically a collection of web

940
01:22:46.680 --> 01:22:53.960
performance snippets that you can installed,
not installed, but I move into your

941
01:22:54.600 --> 01:22:59.000
web browsers so you can, you
know, check out what is the LCP

942
01:22:59.079 --> 01:23:03.720
element or whatever it is that that
the snippet provides. There's also I m

943
01:23:03.760 --> 01:23:10.279
P. There's also the whole loading
category, but it's basically at death time

944
01:23:10.479 --> 01:23:14.880
before you commit what you have,
if you want to check out how the

945
01:23:15.479 --> 01:23:21.000
performance looks like on your machine.
You can check out all these beautiful snippets.

946
01:23:21.479 --> 01:23:27.880
So these are at death time.
One more new thing that I came

947
01:23:27.920 --> 01:23:33.760
across and and and anri Elvetica told
me about this is the rum archive.

948
01:23:34.479 --> 01:23:40.439
Uh it's it's it's basically like crucks, but it's data taken from a Kama

949
01:23:40.640 --> 01:23:44.840
and it's put together in a database. But you can query it. And

950
01:23:44.920 --> 01:23:49.159
I haven't been playing too much with
it, but it's basically, uh yeah,

951
01:23:49.239 --> 01:23:55.800
you can use you use this database
to see rump data and you can

952
01:23:55.880 --> 01:24:00.439
split it into different frameworks, et
cetera, so can plug that in.

953
01:24:00.039 --> 01:24:06.920
And then also I've been playing with
a project called UI dot a Eternity.

954
01:24:08.760 --> 01:24:15.159
So it's a collection of UI components
for React built with tailwind and frameer motion,

955
01:24:15.720 --> 01:24:20.600
and they look really good and I
tried using them, but some of

956
01:24:20.640 --> 01:24:27.880
them are are really making an impact
on the performance. So I'm looking into

957
01:24:27.920 --> 01:24:33.239
these components right now and figuring out
how I can or if I can make

958
01:24:33.319 --> 01:24:39.399
them a bit more performant. Right
So instead of using frameer motion, can

959
01:24:39.439 --> 01:24:45.119
we do that with plane CSS so
we're not introducing or shipping too much JavaScript

960
01:24:45.560 --> 01:24:50.079
to the client. So these are
the things that are on top of my

961
01:24:50.199 --> 01:24:56.920
mind, and I would have been
more prepared. But I'm sorry. No,

962
01:24:57.079 --> 01:25:00.479
it's all good. Thanks for coming
this. It was a lot of

963
01:25:00.479 --> 01:25:01.920
fun. It's good to kind of
dive into some of these tools that a

964
01:25:01.960 --> 01:25:06.840
lot of people use. I also
found a lot of applicability for if people

965
01:25:06.840 --> 01:25:12.000
were using, like I said,
things that are like century but are not

966
01:25:12.119 --> 01:25:15.159
Century. Some of those features are
there, some of them are not.

967
01:25:15.560 --> 01:25:21.039
But yeah, I think I have
a much better idea in some of these

968
01:25:21.079 --> 01:25:27.000
areas, especially on the APM,
the performance side on what I can grab.

969
01:25:27.039 --> 01:25:30.319
So thanks for jumping in and until
next time, folks, max out

