WEBVTT

1
00:00:05.120 --> 00:00:09.560
<v Speaker 1>Hello, everybody, Welcome to another exciting episode of JavaScript Jabber.

2
00:00:09.599 --> 00:00:11.759
<v Speaker 1>I am Steve Edwards, the host with the face for

3
00:00:11.880 --> 00:00:14.439
<v Speaker 1>radio and the voice for being of mine. But I'm

4
00:00:14.439 --> 00:00:17.000
<v Speaker 1>still your host at least I lost the coin flip

5
00:00:17.039 --> 00:00:20.280
<v Speaker 1>today with me on our panel as mister Dan Shapiir

6
00:00:20.399 --> 00:00:21.559
<v Speaker 1>coming live from Tel Aviv.

7
00:00:21.600 --> 00:00:22.280
<v Speaker 2>How you doing, Dan?

8
00:00:23.079 --> 00:00:25.559
<v Speaker 3>Hello from Tel Aviv where we're not at what with

9
00:00:25.679 --> 00:00:26.440
<v Speaker 3>a run anymore?

10
00:00:27.679 --> 00:00:31.839
<v Speaker 1>Yes, the last time we had Dan on, I believe

11
00:00:31.879 --> 00:00:34.320
<v Speaker 1>he had run when bomb sirens started going off.

12
00:00:34.320 --> 00:00:35.560
<v Speaker 2>So hopefully that won't happen to you.

13
00:00:35.679 --> 00:00:37.640
<v Speaker 4>Yeah, missiles not bombs, but.

14
00:00:37.840 --> 00:00:43.840
<v Speaker 1>Sorry, yeah, but slightly different, same end result exactly. And

15
00:00:44.119 --> 00:00:46.560
<v Speaker 1>our special guest today I'm going to try to get

16
00:00:46.600 --> 00:00:48.560
<v Speaker 1>this right is mister Benicius de Laqua.

17
00:00:48.600 --> 00:00:49.119
<v Speaker 2>How you doing?

18
00:00:49.359 --> 00:00:53.280
<v Speaker 4>Did great? Yes? Doing great. I'm here from Sweden where

19
00:00:53.320 --> 00:00:56.719
<v Speaker 4>we can't decide if it's hot or not this summer.

20
00:00:57.280 --> 00:01:01.799
<v Speaker 4>It's like days not. What is with this shot? It

21
00:01:01.840 --> 00:01:04.879
<v Speaker 4>can actually get like up to like thirty five degrees? Wow,

22
00:01:05.000 --> 00:01:06.560
<v Speaker 4>that is actually pretty hot.

23
00:01:06.599 --> 00:01:08.959
<v Speaker 1>That's pretty warm. That's what around one hundred farenheit something

24
00:01:09.040 --> 00:01:09.319
<v Speaker 1>like that.

25
00:01:10.280 --> 00:01:13.560
<v Speaker 3>Yeah, I can hear that it's quite close to here

26
00:01:13.599 --> 00:01:16.560
<v Speaker 3>that Europe is undergoing like this kind of severe heat

27
00:01:16.599 --> 00:01:17.799
<v Speaker 3>wave we are.

28
00:01:17.920 --> 00:01:21.400
<v Speaker 4>Yeah. Yeah, Like south of Europe is quite brutal, right now,

29
00:01:21.400 --> 00:01:24.079
<v Speaker 4>like up to like forty six degrees or something.

30
00:01:24.159 --> 00:01:24.439
<v Speaker 3>Wow.

31
00:01:24.599 --> 00:01:26.519
<v Speaker 4>Places, Wow, that's quite bad.

32
00:01:26.680 --> 00:01:27.000
<v Speaker 2>Is warm?

33
00:01:27.760 --> 00:01:31.239
<v Speaker 3>Yeah, and not everybody has our conditioning. I guess no,

34
00:01:31.400 --> 00:01:32.840
<v Speaker 3>Europe is not built for heats.

35
00:01:32.840 --> 00:01:33.319
<v Speaker 4>I'll tell this.

36
00:01:33.879 --> 00:01:37.359
<v Speaker 1>Yeah all right, So what we're here to talk about

37
00:01:37.599 --> 00:01:42.439
<v Speaker 1>is the confluence of performance and AI. So actually, before

38
00:01:42.439 --> 00:01:44.280
<v Speaker 1>we get started, we know where you live. Why don't

39
00:01:44.319 --> 00:01:46.959
<v Speaker 1>you tell us what else you do and why people

40
00:01:46.959 --> 00:01:49.280
<v Speaker 1>should give you money if they should, and that kind

41
00:01:49.280 --> 00:01:49.560
<v Speaker 1>of thing.

42
00:01:49.799 --> 00:01:55.280
<v Speaker 4>Yes, So I am a soft engineer. I've been around

43
00:01:55.319 --> 00:01:57.439
<v Speaker 4>for quite some years. As you can see from the

44
00:01:57.439 --> 00:01:59.280
<v Speaker 4>white hairs around there.

45
00:02:00.079 --> 00:02:02.239
<v Speaker 2>It's like a lot of the gray going to So yeah,

46
00:02:02.840 --> 00:02:03.519
<v Speaker 2>I like to.

47
00:02:03.400 --> 00:02:05.719
<v Speaker 3>Say white Harry is better than no here.

48
00:02:06.640 --> 00:02:07.959
<v Speaker 4>Yeah yeah, yeah, yeah.

49
00:02:08.280 --> 00:02:08.960
<v Speaker 2>I feel.

50
00:02:10.199 --> 00:02:12.439
<v Speaker 4>I've been working for a while, I mean being around

51
00:02:12.439 --> 00:02:15.360
<v Speaker 4>since like I had to ship for even like a

52
00:02:15.599 --> 00:02:20.919
<v Speaker 4>four four oh wow. Yeah yeah, yeah, so I had.

53
00:02:20.800 --> 00:02:22.960
<v Speaker 2>To remember those days, I.

54
00:02:23.000 --> 00:02:29.400
<v Speaker 4>Tell you, focus on performance for the biggest of my career,

55
00:02:29.560 --> 00:02:31.479
<v Speaker 4>Like although never had really like the title of like

56
00:02:31.520 --> 00:02:34.840
<v Speaker 4>performance engineer, performance was always like the focus of my

57
00:02:34.919 --> 00:02:38.719
<v Speaker 4>interest and career coming from Brazil, Central Brazil, nonetheless, where

58
00:02:38.919 --> 00:02:41.759
<v Speaker 4>you know, internet speeds were never up to standards, let's

59
00:02:41.800 --> 00:02:43.560
<v Speaker 4>say like that, Let's put it like that. So you know,

60
00:02:43.759 --> 00:02:46.919
<v Speaker 4>ux performance front end kind of became a thing for

61
00:02:46.960 --> 00:02:49.719
<v Speaker 4>me as well, more and more over time. But performance always,

62
00:02:49.719 --> 00:02:52.599
<v Speaker 4>because always was a subject that I care deeply about.

63
00:02:53.080 --> 00:02:56.199
<v Speaker 3>Before we continue, just I'm just curious centers, Like what

64
00:02:56.360 --> 00:02:57.120
<v Speaker 3>my mouse.

65
00:02:57.719 --> 00:03:01.360
<v Speaker 4>That's not actually so central Brazil zo is like token

66
00:03:01.400 --> 00:03:05.360
<v Speaker 4>Chin's Brasilia, So that's that's within the center. I was

67
00:03:05.360 --> 00:03:08.879
<v Speaker 4>born in the north the States, but then like my

68
00:03:09.000 --> 00:03:11.639
<v Speaker 4>entire life are lived in token Chinese, which is central Brazil.

69
00:03:12.120 --> 00:03:14.439
<v Speaker 2>Okay, Yeah, that's an interesting point you bring up.

70
00:03:15.000 --> 00:03:17.960
<v Speaker 1>You know a lot of developers when they're developing apps,

71
00:03:18.000 --> 00:03:20.599
<v Speaker 1>they get so used to their you know and formax

72
00:03:20.719 --> 00:03:25.520
<v Speaker 1>on their high speed you know, fiber internet and don't

73
00:03:25.560 --> 00:03:27.719
<v Speaker 1>always think about the person might be using their app

74
00:03:27.759 --> 00:03:30.120
<v Speaker 1>that's in you know, three g out in the middle

75
00:03:30.159 --> 00:03:34.159
<v Speaker 1>of nowhere, you know, something like that. And so yeah,

76
00:03:34.199 --> 00:03:37.120
<v Speaker 1>performers like that in terms of bundle sizes for JavaScript

77
00:03:37.159 --> 00:03:39.439
<v Speaker 1>and whether you need that much JavaScript, you know, that's

78
00:03:39.800 --> 00:03:42.039
<v Speaker 1>books and all topics.

79
00:03:41.680 --> 00:03:44.759
<v Speaker 4>Of Yeah, I'll tell you this, like for where I

80
00:03:44.800 --> 00:03:47.879
<v Speaker 4>come from, the average speeds for Internet is still like,

81
00:03:48.599 --> 00:03:52.840
<v Speaker 4>you know, around like fifteen megabytes, like one hundred megabytes.

82
00:03:52.879 --> 00:03:57.159
<v Speaker 4>If you're like very very well off, like it's very hard.

83
00:03:57.240 --> 00:04:00.719
<v Speaker 4>It's very hard to get like like a bite over.

84
00:04:01.080 --> 00:04:04.639
<v Speaker 4>It's like most people live on like four G connection.

85
00:04:05.560 --> 00:04:08.520
<v Speaker 4>I was actually checking out a map I would a

86
00:04:08.560 --> 00:04:12.039
<v Speaker 4>world map for like five G connectivity around the world,

87
00:04:12.039 --> 00:04:15.199
<v Speaker 4>and Brazil is still, like Central Brazil especially, still very

88
00:04:15.280 --> 00:04:16.839
<v Speaker 4>much mostly on four G.

89
00:04:17.759 --> 00:04:20.639
<v Speaker 3>So back when I was working at WIGS, WIGS has

90
00:04:20.639 --> 00:04:24.000
<v Speaker 3>a pretty strong presence in South America and especially in

91
00:04:24.000 --> 00:04:28.680
<v Speaker 3>Brazil and Argentina, and that was definitely a concern about

92
00:04:28.759 --> 00:04:32.680
<v Speaker 3>making sure that we provided proper a good experience in

93
00:04:32.680 --> 00:04:36.279
<v Speaker 3>those regions. But I want to emphasize that it's not

94
00:04:36.480 --> 00:04:41.879
<v Speaker 3>just people in certain countries, it's everybody in certain situations.

95
00:04:42.199 --> 00:04:46.160
<v Speaker 3>I've been in airports in various places where I'm on

96
00:04:46.199 --> 00:04:49.600
<v Speaker 3>this funky data plan and I'm trying to check my

97
00:04:49.720 --> 00:04:54.160
<v Speaker 3>flight on an airline website, and it's super slow because

98
00:04:54.199 --> 00:04:57.720
<v Speaker 3>they're downloading this huge image of an airplane taking off

99
00:04:58.040 --> 00:05:01.040
<v Speaker 3>that I have absolutely no need for, or so you

100
00:05:01.120 --> 00:05:03.839
<v Speaker 3>know it, or you might be on on in a

101
00:05:03.879 --> 00:05:07.199
<v Speaker 3>subway with bad reception or in an elevator or I

102
00:05:07.240 --> 00:05:11.480
<v Speaker 3>don't know where, but it's this problem of connectivity. Of

103
00:05:11.600 --> 00:05:15.920
<v Speaker 3>bad connectivity is something that can happen to everybody in

104
00:05:16.399 --> 00:05:19.920
<v Speaker 3>certain scenarios, and very often in the scenario where you

105
00:05:20.120 --> 00:05:23.279
<v Speaker 3>especially need to get at that data.

106
00:05:23.879 --> 00:05:27.439
<v Speaker 4>Absolutely, yeah, absolutely, And I mean it was always at

107
00:05:27.439 --> 00:05:31.000
<v Speaker 4>the forefront of like my biggest interest in concern when

108
00:05:31.000 --> 00:05:34.000
<v Speaker 4>I moved to Europe, you know, now I actually like

109
00:05:34.399 --> 00:05:37.959
<v Speaker 4>I became kind of like skewed towards the better end

110
00:05:38.120 --> 00:05:41.360
<v Speaker 4>of connectivities. And it's ver easy to build up your biases,

111
00:05:42.000 --> 00:05:44.879
<v Speaker 4>but you can be humbled very quickly when you come

112
00:05:44.920 --> 00:05:49.199
<v Speaker 4>to test stuff on connectivities there are its body or

113
00:05:49.319 --> 00:05:52.120
<v Speaker 4>or you know, unreliable. So one of the things that

114
00:05:52.160 --> 00:05:55.399
<v Speaker 4>I always care about and drove like used to drive

115
00:05:55.680 --> 00:06:00.399
<v Speaker 4>where whatever work is performance. So from that ied up

116
00:06:01.079 --> 00:06:05.040
<v Speaker 4>getting more into depth tools kind of became a thing

117
00:06:05.079 --> 00:06:09.959
<v Speaker 4>for me. Driving performance initiatives, driving performance as a subject

118
00:06:10.000 --> 00:06:12.839
<v Speaker 4>also all kind of always walked hand in hand with

119
00:06:12.879 --> 00:06:14.800
<v Speaker 4>the tools in a way, at least for me. So

120
00:06:15.120 --> 00:06:17.360
<v Speaker 4>it also walked hand in hand with product, which you know,

121
00:06:17.399 --> 00:06:19.879
<v Speaker 4>in the end brings me very close to being like

122
00:06:19.920 --> 00:06:23.879
<v Speaker 4>a product engineer. So it kind of helps self dog

123
00:06:23.920 --> 00:06:29.199
<v Speaker 4>food within the profession, but it brought me very close

124
00:06:29.240 --> 00:06:32.360
<v Speaker 4>to death tools over time, so I ended up building

125
00:06:32.399 --> 00:06:35.120
<v Speaker 4>integrations with highthouses and very early in the days where

126
00:06:35.160 --> 00:06:37.360
<v Speaker 4>we didn't even have like proper integrations with like house

127
00:06:37.519 --> 00:06:39.879
<v Speaker 4>and work with these kind of things to facilitate and

128
00:06:39.959 --> 00:06:44.279
<v Speaker 4>developers usage of death tooling and performance tooling, and over

129
00:06:44.360 --> 00:06:48.360
<v Speaker 4>time it became kind of the project that I'm currently

130
00:06:48.360 --> 00:06:51.879
<v Speaker 4>building now, which is a fork of depth tools in

131
00:06:51.920 --> 00:06:55.279
<v Speaker 4>a way to bring kind of a different vision of

132
00:06:55.360 --> 00:06:58.399
<v Speaker 4>how I think, not how I think, but like what

133
00:06:59.000 --> 00:07:02.600
<v Speaker 4>could there when it comes to death tools that I

134
00:07:02.639 --> 00:07:05.199
<v Speaker 4>was built for the app let's say, quote unquote the

135
00:07:05.240 --> 00:07:07.800
<v Speaker 4>average developer because one of the biggest problems that I

136
00:07:07.839 --> 00:07:10.399
<v Speaker 4>always faced, and they ended up being the reason why

137
00:07:10.399 --> 00:07:13.480
<v Speaker 4>I ended up working death tools and ended up building

138
00:07:13.480 --> 00:07:16.240
<v Speaker 4>this tool which the two that I say and to

139
00:07:16.319 --> 00:07:18.240
<v Speaker 4>put like, the tool that I'm talking about is called

140
00:07:18.240 --> 00:07:22.040
<v Speaker 4>per Flab and the perfect agent, which is Paul per Flab,

141
00:07:22.240 --> 00:07:24.360
<v Speaker 4>And the reason why I ended up building is just

142
00:07:24.759 --> 00:07:27.519
<v Speaker 4>one of the things that ended up happening. Even like

143
00:07:27.839 --> 00:07:30.720
<v Speaker 4>I worked at Spotify for for almost four years, I

144
00:07:30.759 --> 00:07:33.920
<v Speaker 4>worked to Klina for like almost three years, and a

145
00:07:34.040 --> 00:07:37.120
<v Speaker 4>very common thing was that developers either did not have

146
00:07:37.160 --> 00:07:39.920
<v Speaker 4>as much interest to open the tools and explore the

147
00:07:39.959 --> 00:07:43.639
<v Speaker 4>flame graph and explore you know, those problems the data

148
00:07:43.759 --> 00:07:46.920
<v Speaker 4>behind it, or they were kind of intimidated by it,

149
00:07:47.199 --> 00:07:50.279
<v Speaker 4>even at places such as Spotify and Klina, because it

150
00:07:50.439 --> 00:07:52.920
<v Speaker 4>is a lot of information all at once, and it

151
00:07:53.000 --> 00:07:56.399
<v Speaker 4>is it can become a very noisy, you know tool

152
00:07:56.639 --> 00:07:59.480
<v Speaker 4>if you don't if you're not an expert. So for me,

153
00:08:00.120 --> 00:08:02.319
<v Speaker 4>and then ended up being a way to experiment and

154
00:08:02.399 --> 00:08:06.680
<v Speaker 4>explore how to build something that is approachable by anyone.

155
00:08:07.600 --> 00:08:10.439
<v Speaker 1>So you talking about performance the front end? Sorry, Dan,

156
00:08:11.120 --> 00:08:13.079
<v Speaker 1>it sounds like all yours is on the front end.

157
00:08:13.079 --> 00:08:14.839
<v Speaker 1>You ever do any back end performance stuff or it

158
00:08:14.920 --> 00:08:16.759
<v Speaker 1>was all your performance work pretty much been on the

159
00:08:16.759 --> 00:08:18.560
<v Speaker 1>front end in the browser.

160
00:08:18.680 --> 00:08:20.800
<v Speaker 4>It's being mostly in the browser.

161
00:08:20.480 --> 00:08:24.480
<v Speaker 1>Yeah, because I mean, and so I can remember doing

162
00:08:24.480 --> 00:08:27.759
<v Speaker 1>PHP profiling with like xd bug Kino profiling, So there's

163
00:08:27.759 --> 00:08:30.399
<v Speaker 1>certainly performance on the back end. I think a lot

164
00:08:30.480 --> 00:08:34.159
<v Speaker 1>of people take performance on the back end probably for granted,

165
00:08:34.759 --> 00:08:38.559
<v Speaker 1>you know, because the general rule is if you can

166
00:08:38.759 --> 00:08:40.559
<v Speaker 1>you know, when I'm dealing with a false stack app,

167
00:08:40.600 --> 00:08:43.480
<v Speaker 1>you know, I prefer PHP view with a nurse JS

168
00:08:43.600 --> 00:08:46.559
<v Speaker 1>for instant. That's one of my favorite stacks, and you

169
00:08:46.559 --> 00:08:49.679
<v Speaker 1>can always say if anytime you can offload stuff from

170
00:08:49.720 --> 00:08:51.320
<v Speaker 1>the front end to the back end and get your

171
00:08:51.360 --> 00:08:52.639
<v Speaker 1>data so that when you get to the front end,

172
00:08:52.679 --> 00:08:54.759
<v Speaker 1>you're not doing a bunch of calculations to do that,

173
00:08:54.840 --> 00:08:56.759
<v Speaker 1>because the assumption there is that you're going to have

174
00:08:56.799 --> 00:08:59.679
<v Speaker 1>beef your resources on the back end in terms of

175
00:08:59.679 --> 00:09:02.720
<v Speaker 1>yours and stuff, and so there's probably not as much

176
00:09:03.200 --> 00:09:05.639
<v Speaker 1>performance profiling, although I have known people who have been

177
00:09:05.720 --> 00:09:08.639
<v Speaker 1>really big on performance profiling on the back end, but

178
00:09:08.679 --> 00:09:11.679
<v Speaker 1>I think it's more it's just sort of assumed, Okay,

179
00:09:11.679 --> 00:09:13.360
<v Speaker 1>you're back and can handle us better because you've got

180
00:09:13.360 --> 00:09:15.519
<v Speaker 1>to be for your resources back there, and so the

181
00:09:15.559 --> 00:09:17.799
<v Speaker 1>front ends we're really where we need to focus on

182
00:09:17.879 --> 00:09:18.799
<v Speaker 1>performance stuff.

183
00:09:19.080 --> 00:09:21.360
<v Speaker 3>First of all, I'd like to obviously mention that we've

184
00:09:21.360 --> 00:09:23.360
<v Speaker 3>had quite a number of people on the show in

185
00:09:23.679 --> 00:09:26.879
<v Speaker 3>recent months talking about this topic, So if people are

186
00:09:26.919 --> 00:09:29.480
<v Speaker 3>really interested, there's definitely a lot of shows here to

187
00:09:29.600 --> 00:09:34.159
<v Speaker 3>check out. We've had people from the Google from Google

188
00:09:34.200 --> 00:09:39.799
<v Speaker 3>talking specifically about building the tools we had. I think

189
00:09:39.840 --> 00:09:43.120
<v Speaker 3>I'm not mixing his name up talking about react profiling

190
00:09:43.159 --> 00:09:46.360
<v Speaker 3>the tools that he built for that, So we've had

191
00:09:46.360 --> 00:09:49.200
<v Speaker 3>Harry Roberts, so we've had a lot of people talking

192
00:09:49.200 --> 00:09:52.360
<v Speaker 3>about these subjects. So there's definitely a lot if people

193
00:09:52.440 --> 00:09:55.360
<v Speaker 3>are interested, there's definitely a lot of content here on

194
00:09:55.399 --> 00:09:59.559
<v Speaker 3>the podcast about it. But going specifically to your point, Steve,

195
00:10:00.159 --> 00:10:03.679
<v Speaker 3>it's you know, it's it's tricky because very often it

196
00:10:03.840 --> 00:10:06.960
<v Speaker 3>is about the back end because it might be just

197
00:10:07.320 --> 00:10:11.679
<v Speaker 3>simply an SQL query that's not properly optimized or doesn't

198
00:10:11.720 --> 00:10:16.320
<v Speaker 3>have the properity indexes defined and runs way too slowly

199
00:10:16.440 --> 00:10:19.519
<v Speaker 3>and something like that. But on the other hand, it

200
00:10:19.600 --> 00:10:23.159
<v Speaker 3>could your back end could be really, really well optimized,

201
00:10:23.360 --> 00:10:27.039
<v Speaker 3>but it's worthless because, as I give an example before,

202
00:10:27.200 --> 00:10:30.720
<v Speaker 3>you're downloading a huge image and that's just eating up

203
00:10:30.720 --> 00:10:33.600
<v Speaker 3>all your bandwidth, regardless of anything else that you're doing.

204
00:10:34.320 --> 00:10:37.120
<v Speaker 3>So you really kind of need to take a holistic

205
00:10:37.279 --> 00:10:42.120
<v Speaker 3>view of performance and try to pinpoint the you know,

206
00:10:42.240 --> 00:10:46.279
<v Speaker 3>the root causes and identify bottlenecks. And that's usually what

207
00:10:46.360 --> 00:10:52.399
<v Speaker 3>dev tooling is for, is for identifying those and understanding

208
00:10:52.480 --> 00:10:56.000
<v Speaker 3>what to focus on and doing the proper attribution of

209
00:10:56.200 --> 00:11:00.360
<v Speaker 3>locating the areas that are most problematic exactly.

210
00:11:00.440 --> 00:11:02.639
<v Speaker 4>And it's really like that's one of the main reasons

211
00:11:02.679 --> 00:11:04.759
<v Speaker 4>why performance is such a difficult subject. Right, I like

212
00:11:04.799 --> 00:11:07.360
<v Speaker 4>to become let's say, an expert, even like someone that

213
00:11:07.639 --> 00:11:11.600
<v Speaker 4>is confident to solve performance problems. Is a very steep

214
00:11:11.720 --> 00:11:15.360
<v Speaker 4>vertical The tooling can be somewhat intimidating if you never

215
00:11:15.879 --> 00:11:19.440
<v Speaker 4>you know, delve tape into it or dedicated the hours

216
00:11:19.440 --> 00:11:23.720
<v Speaker 4>for it and force for experienced developers or specialists, what

217
00:11:23.960 --> 00:11:26.799
<v Speaker 4>is information can be noise for let's say the average

218
00:11:26.799 --> 00:11:30.960
<v Speaker 4>developer that doesn't go around on debt tools as much.

219
00:11:31.399 --> 00:11:35.399
<v Speaker 4>So with that premise, I was interested on experimenting around

220
00:11:35.639 --> 00:11:37.759
<v Speaker 4>and seeing, you know, what I could come up with,

221
00:11:38.519 --> 00:11:42.519
<v Speaker 4>So I ended up working Chrome dept Tools. The advantage

222
00:11:42.519 --> 00:11:45.480
<v Speaker 4>of Crome dept Tools. First of all, the source code

223
00:11:45.559 --> 00:11:48.759
<v Speaker 4>is beautifully documented, so self phone boarding on it very easily,

224
00:11:49.559 --> 00:11:53.360
<v Speaker 4>was very easy on It is Web components with typescripts,

225
00:11:53.480 --> 00:11:56.639
<v Speaker 4>so it's actually web technology, so it's really approachable for

226
00:11:56.679 --> 00:11:57.960
<v Speaker 4>the average developer out there.

227
00:11:58.519 --> 00:12:01.480
<v Speaker 3>Yeah, who would have thought that Web thev tooling is

228
00:12:01.519 --> 00:12:03.720
<v Speaker 3>built on web technologies like Inception.

229
00:12:04.519 --> 00:12:06.679
<v Speaker 4>Yeah, I mean because a lot of people think it's

230
00:12:07.000 --> 00:12:09.639
<v Speaker 4>simpless plus right, Like because the browser, the Chrome, the

231
00:12:09.639 --> 00:12:12.440
<v Speaker 4>main chrome is simplus plus the main interface, so a

232
00:12:12.440 --> 00:12:15.000
<v Speaker 4>lot of people actually end up thinking it is simplus plus,

233
00:12:15.039 --> 00:12:18.440
<v Speaker 4>which is not the case. It is built on top

234
00:12:18.440 --> 00:12:21.960
<v Speaker 4>of web technologies, but it communicates through the browser view

235
00:12:22.000 --> 00:12:25.840
<v Speaker 4>the debugging protocol, and it communicates also via the different

236
00:12:25.879 --> 00:12:29.559
<v Speaker 4>protocols and within the native layer. I ended up working it,

237
00:12:29.759 --> 00:12:33.879
<v Speaker 4>and the first try around was building per flab as

238
00:12:33.919 --> 00:12:37.279
<v Speaker 4>in the main let's say the main app, and per

239
00:12:37.279 --> 00:12:41.440
<v Speaker 4>flab was a fork of the Performance Panel, so extracting

240
00:12:41.480 --> 00:12:43.919
<v Speaker 4>it as a sound alone web component. It is already

241
00:12:43.919 --> 00:12:46.440
<v Speaker 4>built on web components, so extracting it was was not

242
00:12:46.519 --> 00:12:49.480
<v Speaker 4>as hard. And what ended up happening that I noticed

243
00:12:49.519 --> 00:12:53.960
<v Speaker 4>is that because I still used the performance a panel

244
00:12:54.200 --> 00:12:58.279
<v Speaker 4>as the main interface to drive interactions around stead of

245
00:12:58.399 --> 00:13:01.600
<v Speaker 4>being something very close to like dashboard. And one of

246
00:13:01.600 --> 00:13:04.360
<v Speaker 4>the things that I that I constantly had a gripe

247
00:13:04.360 --> 00:13:07.440
<v Speaker 4>with is that dashboards can be also very daunting and

248
00:13:07.440 --> 00:13:10.320
<v Speaker 4>its sub utilized. Like a lot of dashboard systems and

249
00:13:11.080 --> 00:13:15.200
<v Speaker 4>SaaS companies have really good product, but it's heavily understand

250
00:13:15.279 --> 00:13:18.360
<v Speaker 4>underutilized because people don't understand the data, they didn't understand

251
00:13:18.399 --> 00:13:20.240
<v Speaker 4>what they want to extract out of the data, end

252
00:13:20.320 --> 00:13:23.120
<v Speaker 4>up sub utilizing the systems and so ended up being

253
00:13:23.200 --> 00:13:27.519
<v Speaker 4>not as you know, initiate like friendly for earlier stage

254
00:13:27.559 --> 00:13:31.080
<v Speaker 4>developers or developers that don't have performance as their main

255
00:13:31.519 --> 00:13:33.559
<v Speaker 4>for tail, let's say, their main subjects.

256
00:13:33.840 --> 00:13:38.639
<v Speaker 3>It's interesting that this is something that Google themselves have realized,

257
00:13:38.759 --> 00:13:43.399
<v Speaker 3>like that the performance tab is really daunting. It's a

258
00:13:43.480 --> 00:13:48.440
<v Speaker 3>very very busy interface with a ton of information, and

259
00:13:48.600 --> 00:13:53.759
<v Speaker 3>they actually created an alternative tab I think it was

260
00:13:53.879 --> 00:13:58.279
<v Speaker 3>called Performance Insights or something like that, which was, as

261
00:13:58.559 --> 00:14:01.200
<v Speaker 3>we've been told on the show, never intended to be

262
00:14:01.399 --> 00:14:04.679
<v Speaker 3>like a long term solution. Rather, it was this kind

263
00:14:04.720 --> 00:14:08.919
<v Speaker 3>of a playground where they were testing out various alternative

264
00:14:09.000 --> 00:14:13.840
<v Speaker 3>ideas that they thought that they would eventually bring back

265
00:14:13.919 --> 00:14:17.360
<v Speaker 3>into the main performance steps. So kind of playground to

266
00:14:17.440 --> 00:14:21.600
<v Speaker 3>try out various optimizations and way of making the interface

267
00:14:22.159 --> 00:14:26.639
<v Speaker 3>clearer and easier to understand, especially to junior developers.

268
00:14:26.799 --> 00:14:30.159
<v Speaker 4>And the Chrome team has been on an absolute role

269
00:14:30.240 --> 00:14:33.320
<v Speaker 4>when it comes to improving the experience around that tools

270
00:14:33.360 --> 00:14:38.080
<v Speaker 4>in general. So my next adventure with building something with

271
00:14:38.679 --> 00:14:43.440
<v Speaker 4>that tools was I think about like three years ago, no, sorry,

272
00:14:43.519 --> 00:14:46.080
<v Speaker 4>about a year and a half ago. So when AI

273
00:14:46.080 --> 00:14:49.519
<v Speaker 4>in general became more broadly disc like part of the

274
00:14:49.559 --> 00:14:54.559
<v Speaker 4>common discourse, we started having better developer frameworks for building

275
00:14:54.600 --> 00:14:56.519
<v Speaker 4>with AI and stuff like that. So I was like,

276
00:14:56.960 --> 00:14:58.919
<v Speaker 4>and everyone was building their own chatbots in a way,

277
00:14:59.039 --> 00:15:01.399
<v Speaker 4>so I was like, you know, I'm gonna I'm gonna

278
00:15:01.399 --> 00:15:05.039
<v Speaker 4>see if I can build something that is approachable for anyone.

279
00:15:05.240 --> 00:15:08.759
<v Speaker 4>And so like I remember being I think it was

280
00:15:09.440 --> 00:15:13.399
<v Speaker 4>last year's perth Now talking with the different people from

281
00:15:13.480 --> 00:15:15.200
<v Speaker 4>the death Tools.

282
00:15:16.240 --> 00:15:19.000
<v Speaker 3>And I also don't know, by the way, Perfonal Performance

283
00:15:19.080 --> 00:15:23.320
<v Speaker 3>Now is, yes, probably the leading performance related conference takes

284
00:15:23.320 --> 00:15:26.240
<v Speaker 3>place in Amsterdam, so that's actually fairly close to you.

285
00:15:26.919 --> 00:15:29.240
<v Speaker 4>Yeah. Yeah, and I'm gonna be there this year as well.

286
00:15:29.519 --> 00:15:32.679
<v Speaker 4>I'm going to be actually talking this year. Oh cool. Yes,

287
00:15:32.840 --> 00:15:35.039
<v Speaker 4>it's been on a very similar subject. So this is

288
00:15:35.080 --> 00:15:37.919
<v Speaker 4>kind of like a teaser, I say, long long form

289
00:15:38.080 --> 00:15:41.399
<v Speaker 4>teaser of the talk. But so within you know, last

290
00:15:41.480 --> 00:15:44.639
<v Speaker 4>year's a perf Now I brought up with different members

291
00:15:44.639 --> 00:15:47.600
<v Speaker 4>of the death Tools teams like uh, kind of like

292
00:15:48.759 --> 00:15:52.159
<v Speaker 4>let's say a thought exercise of what could it be

293
00:15:52.960 --> 00:15:56.200
<v Speaker 4>that the smallest possible subset of a depth too looks

294
00:15:56.279 --> 00:16:00.000
<v Speaker 4>like and you know, helps people engage with it without

295
00:16:00.159 --> 00:16:02.840
<v Speaker 4>being daunting. So this this was kind of like the

296
00:16:02.840 --> 00:16:05.720
<v Speaker 4>thig exercise. I was trying to to to have within

297
00:16:05.759 --> 00:16:07.759
<v Speaker 4>those conversations and a lot of things, and I was

298
00:16:07.799 --> 00:16:12.360
<v Speaker 4>demoing perth Lab in within the within Perth now as

299
00:16:12.360 --> 00:16:15.279
<v Speaker 4>well get like gathering some some talks and discussions around

300
00:16:15.320 --> 00:16:18.879
<v Speaker 4>the tools building. So early this year I started, I

301
00:16:18.960 --> 00:16:23.799
<v Speaker 4>decided to build Perth Agent. So with perf Agent, startled

302
00:16:23.840 --> 00:16:27.360
<v Speaker 4>with the same kind of spirit of birth Lab, working

303
00:16:27.919 --> 00:16:32.480
<v Speaker 4>part of Chrome def tools. So within going too much

304
00:16:32.519 --> 00:16:35.679
<v Speaker 4>into details, so we have some some partitive depth tools.

305
00:16:35.759 --> 00:16:38.960
<v Speaker 4>There are the drivers of how dev tools reads and

306
00:16:39.879 --> 00:16:44.360
<v Speaker 4>trace information. So that trace Engine is something that I

307
00:16:44.440 --> 00:16:47.840
<v Speaker 4>then extracted. So instead of going for the main performance panel,

308
00:16:47.879 --> 00:16:50.759
<v Speaker 4>I started to take trace Engine to help me extract

309
00:16:50.759 --> 00:16:54.919
<v Speaker 4>information out of traces and with that create my own

310
00:16:55.039 --> 00:16:57.919
<v Speaker 4>agent that's that can understand traces and try to help

311
00:16:58.080 --> 00:17:01.039
<v Speaker 4>people to solve performance problems. So in a way I

312
00:17:01.080 --> 00:17:02.919
<v Speaker 4>ended up building a chat what in a way. But

313
00:17:03.600 --> 00:17:05.920
<v Speaker 4>the some of the things I was trying to play

314
00:17:05.920 --> 00:17:09.519
<v Speaker 4>with is of course with the advent of generative UI,

315
00:17:09.920 --> 00:17:13.519
<v Speaker 4>build that thought process of what is the smallest possible

316
00:17:13.559 --> 00:17:15.400
<v Speaker 4>self self of a debt tool that I can build

317
00:17:15.599 --> 00:17:20.400
<v Speaker 4>that is progressive and which means it doesn't present all

318
00:17:20.400 --> 00:17:23.000
<v Speaker 4>the information at once, so it tries to be more

319
00:17:23.039 --> 00:17:27.319
<v Speaker 4>friendly also like a knowledge assistant and helps with solving

320
00:17:27.359 --> 00:17:31.319
<v Speaker 4>performance problems, building on top of AI agents that can understand,

321
00:17:31.640 --> 00:17:34.920
<v Speaker 4>you know, trace files and can understand calls, tax and

322
00:17:34.920 --> 00:17:38.480
<v Speaker 4>all this kind of stuff and help you solve problems.

323
00:17:39.000 --> 00:17:42.920
<v Speaker 3>So just to understand, you're building this what as an

324
00:17:42.960 --> 00:17:47.880
<v Speaker 3>open source project, as a service, as a product that

325
00:17:47.960 --> 00:17:50.960
<v Speaker 3>you intend to sell as all of the above, what

326
00:17:51.200 --> 00:17:52.359
<v Speaker 3>is it?

327
00:17:51.359 --> 00:17:56.400
<v Speaker 4>It's a very good question. I am. I'm building it.

328
00:17:55.960 --> 00:17:59.200
<v Speaker 4>It's going to be open source, like within the next

329
00:17:59.279 --> 00:18:02.000
<v Speaker 4>couple of weeks, just cleaning up parts of the code

330
00:18:02.119 --> 00:18:03.519
<v Speaker 4>and making sure that it is in a good state

331
00:18:03.599 --> 00:18:07.279
<v Speaker 4>to be open sourced and collaborated with more people because

332
00:18:07.319 --> 00:18:09.799
<v Speaker 4>it's been just me so far, long givings and whatnot.

333
00:18:09.920 --> 00:18:13.799
<v Speaker 4>But it's also up of a flab so people can

334
00:18:14.200 --> 00:18:16.240
<v Speaker 4>not that they can join the wait list, and I'm

335
00:18:16.400 --> 00:18:20.279
<v Speaker 4>slowly getting people on boarded into the service, mostly because

336
00:18:20.440 --> 00:18:23.079
<v Speaker 4>it's just me. So inference costs is a thing as well,

337
00:18:23.200 --> 00:18:26.119
<v Speaker 4>one of the biggest being with the eyes inference costs.

338
00:18:25.359 --> 00:18:29.799
<v Speaker 4>So I'm going to come up with probably some form

339
00:18:29.839 --> 00:18:33.559
<v Speaker 4>of pricing model or hopefully sponsorship to keep it free

340
00:18:33.960 --> 00:18:37.799
<v Speaker 4>or whatever. But I don't have any. I didn't have

341
00:18:37.839 --> 00:18:41.920
<v Speaker 4>any necessarily like any big plans for it because it's

342
00:18:41.920 --> 00:18:44.759
<v Speaker 4>built on top of the open source and like most

343
00:18:44.880 --> 00:18:50.200
<v Speaker 4>of the tools I use nowadays, it's kind of let's

344
00:18:50.200 --> 00:18:53.799
<v Speaker 4>say common ground. It used to be more the secret

345
00:18:53.839 --> 00:18:57.559
<v Speaker 4>sauce as people say, where the system prompts, how you

346
00:18:57.640 --> 00:19:01.240
<v Speaker 4>organize the workflow, and how you organized the tools used

347
00:19:01.240 --> 00:19:03.960
<v Speaker 4>to be a big power of differentiates one a itol

348
00:19:04.000 --> 00:19:07.599
<v Speaker 4>from another. But as everyone pretty much started doing this,

349
00:19:07.920 --> 00:19:10.279
<v Speaker 4>it became less important so much to a lot a

350
00:19:10.279 --> 00:19:14.640
<v Speaker 4>lot of different companies open source their system prompts and

351
00:19:14.680 --> 00:19:17.319
<v Speaker 4>how they they're building workflows and things like that. Even

352
00:19:17.559 --> 00:19:20.400
<v Speaker 4>Yes code now with Copalative open sources the system props.

353
00:19:20.400 --> 00:19:23.119
<v Speaker 4>That is so so I'll ask my question in a

354
00:19:23.160 --> 00:19:27.319
<v Speaker 4>slightly different way. Is this your day job? No, it's not. No,

355
00:19:27.400 --> 00:19:29.960
<v Speaker 4>it's not my day job. It's a good question. It's

356
00:19:29.960 --> 00:19:33.720
<v Speaker 4>been a passion project. It's being evenings and weekends building

357
00:19:33.759 --> 00:19:36.559
<v Speaker 4>this stuff. Because now we live in a very interesting

358
00:19:36.640 --> 00:19:43.480
<v Speaker 4>point in time where there is this inflection point kind

359
00:19:43.480 --> 00:19:46.799
<v Speaker 4>of coming and I feel like the like as a developer,

360
00:19:46.799 --> 00:19:49.920
<v Speaker 4>as an engineer, I'm naturally curious, and I feel like

361
00:19:50.079 --> 00:19:52.680
<v Speaker 4>it's one of the things that a good engineer is

362
00:19:52.680 --> 00:19:55.960
<v Speaker 4>is that natural curiosity to try stuff and see where

363
00:19:55.960 --> 00:19:58.559
<v Speaker 4>they fit within your workflow. But I did not want

364
00:19:58.640 --> 00:20:01.119
<v Speaker 4>to just be a consumer. I also wanted to build

365
00:20:01.160 --> 00:20:03.480
<v Speaker 4>something with it, and so I ended up studying some

366
00:20:03.839 --> 00:20:07.759
<v Speaker 4>you know, even deeper ends of models and model platform

367
00:20:07.880 --> 00:20:12.880
<v Speaker 4>architectures and how to train models, the whole stuff. So

368
00:20:12.960 --> 00:20:15.640
<v Speaker 4>much so that actually as a side thing, I ended

369
00:20:15.720 --> 00:20:20.319
<v Speaker 4>up building the workflow to kind of simulate the mystery

370
00:20:20.359 --> 00:20:24.400
<v Speaker 4>of experts architecture, where you have like a router that

371
00:20:24.680 --> 00:20:28.319
<v Speaker 4>delegates to different workflows and different especialists. Because the whole

372
00:20:28.519 --> 00:20:32.119
<v Speaker 4>if you think about performance, as we just opened up

373
00:20:32.200 --> 00:20:35.839
<v Speaker 4>the show, it has different subjects, right, and that's one

374
00:20:35.839 --> 00:20:37.920
<v Speaker 4>of the biggest challenges of building a system, an AI

375
00:20:38.039 --> 00:20:41.000
<v Speaker 4>system with a complex subject such as performance, because it's

376
00:20:41.079 --> 00:20:44.279
<v Speaker 4>very deep and also has different branches that goes all

377
00:20:44.319 --> 00:20:47.440
<v Speaker 4>of them go through Deep and Google kind of like

378
00:20:47.519 --> 00:20:50.839
<v Speaker 4>if you go digging around the Depth Tools source code,

379
00:20:50.880 --> 00:20:52.759
<v Speaker 4>you will see that they're using kind of the same

380
00:20:52.759 --> 00:20:57.319
<v Speaker 4>approach where they have AI agents that represent different parts

381
00:20:57.400 --> 00:20:59.559
<v Speaker 4>of the Depth tools. You have one for the network

382
00:20:59.680 --> 00:21:02.519
<v Speaker 4>one or call frames, one for CSS, one for elements.

383
00:21:02.839 --> 00:21:05.000
<v Speaker 4>So it's a very similar way but then within the

384
00:21:05.039 --> 00:21:08.200
<v Speaker 4>whole thing that I built is has like a router

385
00:21:08.480 --> 00:21:11.680
<v Speaker 4>that that we understand the request and you know, navigate

386
00:21:12.359 --> 00:21:17.559
<v Speaker 4>workflows and different specialists to to call within you know,

387
00:21:17.640 --> 00:21:21.680
<v Speaker 4>the two chain. But it's like it's a very interesting

388
00:21:21.720 --> 00:21:23.480
<v Speaker 4>inflection point that we're going to have in a few

389
00:21:23.480 --> 00:21:26.519
<v Speaker 4>in the next few years, and experimenting with it, it's

390
00:21:26.880 --> 00:21:29.880
<v Speaker 4>felt like almost like an obligation to me to understand

391
00:21:31.440 --> 00:21:34.519
<v Speaker 4>where do all of us fit in within the next

392
00:21:34.519 --> 00:21:37.279
<v Speaker 4>few years as developer, where does the web even fitting

393
00:21:37.319 --> 00:21:39.279
<v Speaker 4>Because one of the things that I started thinking a

394
00:21:39.319 --> 00:21:42.240
<v Speaker 4>lot about is and that's ended up being the reason

395
00:21:42.240 --> 00:21:46.200
<v Speaker 4>why and they're building PERF agent is what is a

396
00:21:46.240 --> 00:21:49.519
<v Speaker 4>dev tool in this new era when we can have

397
00:21:49.599 --> 00:21:52.839
<v Speaker 4>agents kind of talking to each other solving problems. So

398
00:21:53.319 --> 00:21:58.119
<v Speaker 4>last week we had last week we had I you

399
00:21:58.240 --> 00:22:01.680
<v Speaker 4>connect and for you connects. One of the things that

400
00:22:01.680 --> 00:22:06.000
<v Speaker 4>I wanted to do for your connect is to see

401
00:22:06.079 --> 00:22:08.480
<v Speaker 4>if I So I built a quick hack over the

402
00:22:08.480 --> 00:22:12.759
<v Speaker 4>weekend just before I connects where I created an mcpiece

403
00:22:12.839 --> 00:22:17.160
<v Speaker 4>of a built inside of DEB tools. So the purpose

404
00:22:17.200 --> 00:22:20.039
<v Speaker 4>of that is because I already built the agent tool

405
00:22:20.079 --> 00:22:22.799
<v Speaker 4>that understand traces and can solve problems, but you have

406
00:22:22.839 --> 00:22:26.000
<v Speaker 4>to haunt it traces. So now MCP is all the

407
00:22:26.039 --> 00:22:27.640
<v Speaker 4>hype and all this kind of stuff, So I wanted

408
00:22:27.680 --> 00:22:30.759
<v Speaker 4>to see how can I, okay, how can deb tools?

409
00:22:30.759 --> 00:22:33.880
<v Speaker 4>How can a browser adopt those new things? Right? So

410
00:22:33.920 --> 00:22:37.200
<v Speaker 4>I started with depth tools and depth tools, So I

411
00:22:37.240 --> 00:22:40.640
<v Speaker 4>built an MCP serve within debt tools, so it connects

412
00:22:40.960 --> 00:22:45.400
<v Speaker 4>to clot code, to cursor, whatever is your AI editor

413
00:22:45.480 --> 00:22:48.440
<v Speaker 4>of choice, and it connects through MCP. So what happens

414
00:22:48.480 --> 00:22:50.720
<v Speaker 4>is that within the agent, what you can do is

415
00:22:51.200 --> 00:22:54.519
<v Speaker 4>you just have it ask it to like go fire

416
00:22:54.640 --> 00:22:58.359
<v Speaker 4>trace and then get insights and it creates this self

417
00:22:58.400 --> 00:23:02.240
<v Speaker 4>healing loop because as people nowadays have these kind of

418
00:23:02.240 --> 00:23:05.839
<v Speaker 4>tools to build stuff, and it's more approachable than ever

419
00:23:05.960 --> 00:23:09.279
<v Speaker 4>for people to prompt their way into building an app. Now,

420
00:23:09.319 --> 00:23:12.079
<v Speaker 4>as we all know, it doesn't build the most correct way.

421
00:23:12.160 --> 00:23:14.799
<v Speaker 4>It works, but at what cost we don't know yet.

422
00:23:15.200 --> 00:23:17.240
<v Speaker 4>So that's kind of the next step, right, instead of

423
00:23:17.359 --> 00:23:20.000
<v Speaker 4>let's see how would it work within that kind of workflow.

424
00:23:20.079 --> 00:23:24.440
<v Speaker 3>So it's kind of like within cursor, I could theoretically

425
00:23:24.480 --> 00:23:29.200
<v Speaker 3>tell it like here's my code, make it faster, and

426
00:23:29.279 --> 00:23:34.200
<v Speaker 3>it would try to optimize it and then run it

427
00:23:34.279 --> 00:23:39.680
<v Speaker 3>through dev tools get back some data, make modifications, run

428
00:23:39.759 --> 00:23:44.160
<v Speaker 3>it again and see whether it's improving or regressing stuff

429
00:23:44.200 --> 00:23:44.559
<v Speaker 3>like that.

430
00:23:45.079 --> 00:23:48.799
<v Speaker 4>Yeah, and even like it can even fix actual points

431
00:23:48.799 --> 00:23:51.640
<v Speaker 4>within it code because I hooked the same internals. So

432
00:23:51.759 --> 00:23:54.920
<v Speaker 4>within the tools, I hooked the same internals that I

433
00:23:55.039 --> 00:23:58.079
<v Speaker 4>used to build my agent within the trace engine. So

434
00:23:58.160 --> 00:24:03.160
<v Speaker 4>when the mcps have is called from cursor and say okay,

435
00:24:03.240 --> 00:24:05.480
<v Speaker 4>record the trace, and record of course the trace, and

436
00:24:05.519 --> 00:24:07.759
<v Speaker 4>then then it has another two that will say okay,

437
00:24:07.839 --> 00:24:10.839
<v Speaker 4>now give me the insights. So we will connected with

438
00:24:10.880 --> 00:24:14.240
<v Speaker 4>the server, will return actual insights with like a prompt

439
00:24:14.279 --> 00:24:17.880
<v Speaker 4>to guide like this is what I see on the

440
00:24:17.920 --> 00:24:21.359
<v Speaker 4>CAULD trace, and we'll return a full on prompt to

441
00:24:21.440 --> 00:24:24.160
<v Speaker 4>guide cursor on what to patch, what to fix, and

442
00:24:24.240 --> 00:24:27.920
<v Speaker 4>cursor like can self execute and improve the code based

443
00:24:27.960 --> 00:24:30.480
<v Speaker 4>on that. So connecting straight into debt tools.

444
00:24:30.680 --> 00:24:34.759
<v Speaker 3>So what have you seen this kind of system be

445
00:24:34.880 --> 00:24:39.000
<v Speaker 3>able to achieve? What kind of improvements have you seen

446
00:24:39.039 --> 00:24:39.519
<v Speaker 3>it make?

447
00:24:40.400 --> 00:24:44.720
<v Speaker 4>I have just before I built this, and as a

448
00:24:45.160 --> 00:24:49.960
<v Speaker 4>thought exercise, I introduced a very big problem with inputs,

449
00:24:50.119 --> 00:24:54.720
<v Speaker 4>So I purposely made the I INP metric worse. So

450
00:24:54.799 --> 00:24:57.519
<v Speaker 4>without telling curs exactly what I built or what I've done.

451
00:24:57.680 --> 00:25:00.279
<v Speaker 4>I just said, okay, go fire deb tools with the

452
00:25:00.359 --> 00:25:03.559
<v Speaker 4>MCP server and fix whatever problem you face. You say

453
00:25:03.640 --> 00:25:06.440
<v Speaker 4>you see in there, And it did precisely that if

454
00:25:06.480 --> 00:25:08.839
<v Speaker 4>from the call stack and the prompt that dev tools

455
00:25:08.880 --> 00:25:11.640
<v Speaker 4>returned back to it, it was able to find within

456
00:25:11.680 --> 00:25:14.480
<v Speaker 4>the code what was the problem and fix it. So

457
00:25:14.720 --> 00:25:17.160
<v Speaker 4>it can really create this like self healing look within

458
00:25:17.279 --> 00:25:19.440
<v Speaker 4>an MCP connection straight into the tools. So this is

459
00:25:19.480 --> 00:25:22.119
<v Speaker 4>the kind of of experimentation that I'm very interested on

460
00:25:22.160 --> 00:25:24.839
<v Speaker 4>now on like what is dev tools in this new

461
00:25:24.880 --> 00:25:28.240
<v Speaker 4>era of agents, and how is a browser to behave

462
00:25:28.440 --> 00:25:32.319
<v Speaker 4>as an agent with agents? And how can we how

463
00:25:32.359 --> 00:25:36.759
<v Speaker 4>can both browsers and dev tools embrace this and move

464
00:25:36.839 --> 00:25:40.039
<v Speaker 4>forward with this new generation of developers, because it's one

465
00:25:40.079 --> 00:25:42.480
<v Speaker 4>of the things that I was I'm constantly talking with

466
00:25:42.519 --> 00:25:44.880
<v Speaker 4>different people from from def tools team outside of the

467
00:25:44.920 --> 00:25:48.720
<v Speaker 4>deft tools team, is like, how can we ensure that

468
00:25:49.119 --> 00:25:52.480
<v Speaker 4>the web as a platform can adapt and thrive within

469
00:25:52.839 --> 00:25:56.839
<v Speaker 4>this new self paradigms. On agentic you see perplexities building

470
00:25:56.880 --> 00:25:59.960
<v Speaker 4>their own browser. You see open ai is not open

471
00:26:00.039 --> 00:26:02.559
<v Speaker 4>only developing, but they are developing their own browser.

472
00:26:02.799 --> 00:26:06.000
<v Speaker 3>And oh yeah, I wasn't aware they've.

473
00:26:05.599 --> 00:26:08.759
<v Speaker 4>Been poaching you know, so they are certainly building their

474
00:26:08.759 --> 00:26:12.680
<v Speaker 4>own browser. And you have DIA from the browser company

475
00:26:12.720 --> 00:26:15.720
<v Speaker 4>up there, and here in Stockholm we have a browser

476
00:26:15.759 --> 00:26:19.519
<v Speaker 4>company called stuff. It's called Strawberry, which I ended up

477
00:26:19.680 --> 00:26:21.960
<v Speaker 4>looking up with them and talking with them because they're

478
00:26:22.039 --> 00:26:24.440
<v Speaker 4>very local, so I wanted to talk with with them.

479
00:26:24.640 --> 00:26:27.039
<v Speaker 4>But they also have an agentic browser. So agentic browsers

480
00:26:27.119 --> 00:26:28.680
<v Speaker 4>is something that we keep hearing about.

481
00:26:28.759 --> 00:26:32.039
<v Speaker 3>And what and by agentic browser, do you mean something

482
00:26:32.079 --> 00:26:37.519
<v Speaker 3>that instead of the actual website, it reads the website

483
00:26:37.599 --> 00:26:41.079
<v Speaker 3>and then presents me with its own version as it

484
00:26:41.160 --> 00:26:48.319
<v Speaker 3>were the website that's more appropriate for my particular needs

485
00:26:48.359 --> 00:26:50.799
<v Speaker 3>and wants. Is that what it does? What does it

486
00:26:50.839 --> 00:26:51.480
<v Speaker 3>do exactly?

487
00:26:51.519 --> 00:26:53.160
<v Speaker 4>That is a good point, Like I don't think there's

488
00:26:53.160 --> 00:26:56.480
<v Speaker 4>a definition yet, So when it comes to agentic browser nowadays,

489
00:26:56.599 --> 00:26:59.079
<v Speaker 4>they should take a for example, DIA, it should take

490
00:26:59.359 --> 00:27:02.799
<v Speaker 4>comment which is coming up soon as well for open access.

491
00:27:02.960 --> 00:27:05.839
<v Speaker 4>For what I have seen is a browser with a

492
00:27:06.039 --> 00:27:09.559
<v Speaker 4>with an agent panel like with a chatbot on the side,

493
00:27:09.720 --> 00:27:12.079
<v Speaker 4>so you can either extract information out of a web

494
00:27:12.119 --> 00:27:15.279
<v Speaker 4>page or you can automate some things. But it's not

495
00:27:15.799 --> 00:27:20.480
<v Speaker 4>yet entirely what you said, although that seems kind of

496
00:27:20.920 --> 00:27:26.240
<v Speaker 4>anticlimactic for you for now, it is, but it's definitely

497
00:27:26.480 --> 00:27:30.200
<v Speaker 4>I feel like every developer out there is seeking that

498
00:27:30.319 --> 00:27:33.759
<v Speaker 4>next situation of what you said. I myself have written

499
00:27:34.200 --> 00:27:37.759
<v Speaker 4>a sort of like an essay that's pinned into my

500
00:27:38.400 --> 00:27:41.880
<v Speaker 4>into my X page, which is about what you just

501
00:27:41.920 --> 00:27:44.960
<v Speaker 4>said on what is a browser to be when in

502
00:27:44.960 --> 00:27:47.400
<v Speaker 4>the age of agents? Right, what are we to be?

503
00:27:47.400 --> 00:27:50.079
<v Speaker 4>Because if you consider if you consider the follow the

504
00:27:50.079 --> 00:27:53.279
<v Speaker 4>following premise on and when we're going to go back

505
00:27:53.319 --> 00:27:55.480
<v Speaker 4>to performance in a minute, because it kind of build

506
00:27:55.480 --> 00:27:57.599
<v Speaker 4>builds up to that. So if you're considering the current

507
00:27:57.599 --> 00:28:02.359
<v Speaker 4>premise of nowadays, a lot of people are automating more

508
00:28:02.359 --> 00:28:04.359
<v Speaker 4>and more in regards to what they do on the

509
00:28:04.400 --> 00:28:11.480
<v Speaker 4>web with with open eyes, Chator or Claude or anything

510
00:28:11.519 --> 00:28:14.160
<v Speaker 4>as such, and what they get to return is a

511
00:28:14.200 --> 00:28:16.839
<v Speaker 4>mark down. So there is a natural evolution of that,

512
00:28:16.880 --> 00:28:22.960
<v Speaker 4>and you see Considerts driving mcpuy or rather the capabilities

513
00:28:23.000 --> 00:28:27.359
<v Speaker 4>of MCP rendering UI, which ends up being like us

514
00:28:27.400 --> 00:28:31.279
<v Speaker 4>embedding micro interfaces as a response to agents. There's a

515
00:28:31.319 --> 00:28:34.839
<v Speaker 4>lot of discussion within the web on what is going

516
00:28:34.920 --> 00:28:37.880
<v Speaker 4>to be or what is the possibility not necessarily like

517
00:28:37.960 --> 00:28:40.119
<v Speaker 4>what is going to be what is the possibility of

518
00:28:40.200 --> 00:28:42.960
<v Speaker 4>us interacting with the web in this kind of agentic workflow.

519
00:28:43.240 --> 00:28:47.279
<v Speaker 3>So, for example, these days, when you ask Google a question,

520
00:28:47.519 --> 00:28:51.079
<v Speaker 3>you know the response their reaction to what open Ai

521
00:28:51.240 --> 00:28:54.799
<v Speaker 3>did when you ask Google a question. In many cases,

522
00:28:54.839 --> 00:28:58.960
<v Speaker 3>instead of just returning a list of links of possible pages,

523
00:28:59.000 --> 00:29:02.799
<v Speaker 3>they use a German to generate an answer for you.

524
00:29:03.519 --> 00:29:07.880
<v Speaker 3>It's not a huge leap. And by the way, in

525
00:29:07.920 --> 00:29:11.519
<v Speaker 3>many cases, if that answer is actually good enough, then

526
00:29:11.960 --> 00:29:15.359
<v Speaker 3>that's it. You don't actually go to any page, You

527
00:29:15.440 --> 00:29:19.880
<v Speaker 3>just use that answer that Google provided. Well, it's theoretically

528
00:29:19.960 --> 00:29:23.279
<v Speaker 3>not a huge leap to think of a scenario where

529
00:29:23.319 --> 00:29:28.519
<v Speaker 3>they literally generate a website on the fly that provides

530
00:29:28.599 --> 00:29:33.279
<v Speaker 3>the exact information you ask for, not just as text,

531
00:29:33.640 --> 00:29:38.039
<v Speaker 3>but has a holistic website with images, with menus, with

532
00:29:38.119 --> 00:29:42.839
<v Speaker 3>an interface that's specific to you and your use case

533
00:29:42.880 --> 00:29:45.839
<v Speaker 3>in your query at that point in time. It's not

534
00:29:45.880 --> 00:29:46.839
<v Speaker 3>such a huge leap.

535
00:29:47.279 --> 00:29:49.160
<v Speaker 4>No, it's not so much so that I feel like

536
00:29:49.240 --> 00:29:52.119
<v Speaker 4>it's kind of converging a lot of people converging too

537
00:29:52.319 --> 00:29:55.279
<v Speaker 4>something similar. I feel like from within the COME team,

538
00:29:55.279 --> 00:29:58.480
<v Speaker 4>I know pol Killen is writing a lot about his

539
00:29:58.599 --> 00:30:02.519
<v Speaker 4>thoughts on what is the to the platform around agents

540
00:30:02.559 --> 00:30:04.640
<v Speaker 4>and things like that. He has this website called AI

541
00:30:04.799 --> 00:30:08.079
<v Speaker 4>Focus where he writes a lot of his insights, and

542
00:30:08.319 --> 00:30:10.400
<v Speaker 4>he's being around for for a long time as well.

543
00:30:10.440 --> 00:30:13.440
<v Speaker 4>He's the most respected names out there when it comes

544
00:30:13.440 --> 00:30:17.079
<v Speaker 4>to the platform and depth tools. So he's been writing

545
00:30:17.559 --> 00:30:20.480
<v Speaker 4>a lot of insights that converted to similar theories and

546
00:30:20.799 --> 00:30:23.480
<v Speaker 4>similar places where you are arriving where I have a

547
00:30:23.519 --> 00:30:26.279
<v Speaker 4>arrived at Cancie dogs I see the remix guys are

548
00:30:26.319 --> 00:30:28.119
<v Speaker 4>arriving on the same kind of points as well, So

549
00:30:28.200 --> 00:30:30.079
<v Speaker 4>there is a lot of convergence and it's up to

550
00:30:30.200 --> 00:30:33.440
<v Speaker 4>the platform, of course, to ensure that that there are

551
00:30:33.559 --> 00:30:36.160
<v Speaker 4>good primitives out there that provides this kind of experience.

552
00:30:36.839 --> 00:30:40.960
<v Speaker 4>And actually, like I was joking with Malte from Cito

553
00:30:41.039 --> 00:30:45.440
<v Speaker 4>over Seal, like in passing like that they should have

554
00:30:45.720 --> 00:30:49.799
<v Speaker 4>an MCP for zero because it kind of enables experiences

555
00:30:49.920 --> 00:30:51.759
<v Speaker 4>like that, right, if you have a browser that can

556
00:30:51.799 --> 00:30:56.119
<v Speaker 4>connect to different cps and you can use different services

557
00:30:56.160 --> 00:31:00.200
<v Speaker 4>to generate. Because it ended up being a taste thing, right,

558
00:31:00.480 --> 00:31:03.240
<v Speaker 4>some people prefer this model over that model. Some people

559
00:31:03.240 --> 00:31:07.279
<v Speaker 4>would prefer this AI generator over that AI generator, And

560
00:31:07.359 --> 00:31:09.640
<v Speaker 4>it's about providing the right primitives in the end to

561
00:31:10.359 --> 00:31:12.799
<v Speaker 4>access these kind of things. But one of the things

562
00:31:12.839 --> 00:31:16.839
<v Speaker 4>that I was discussing getting back to the performance part

563
00:31:16.880 --> 00:31:21.119
<v Speaker 4>of the subject is after I shared that all that

564
00:31:21.400 --> 00:31:25.440
<v Speaker 4>uh that I did the map for connected five G

565
00:31:25.519 --> 00:31:29.680
<v Speaker 4>connectivity of the world, one of the things that one

566
00:31:29.720 --> 00:31:32.519
<v Speaker 4>of the insights that I get nowadays is since a

567
00:31:32.599 --> 00:31:36.400
<v Speaker 4>lot of the web traffic is being diverted away from websites,

568
00:31:36.440 --> 00:31:39.680
<v Speaker 4>and because it's so much it's being done via different

569
00:31:39.720 --> 00:31:43.000
<v Speaker 4>workflows within different agency the open eye or entropic or

570
00:31:43.359 --> 00:31:45.119
<v Speaker 4>what have you, what ends up happening is that a

571
00:31:45.200 --> 00:31:48.160
<v Speaker 4>lot of that traffic is not within their mobile anymore

572
00:31:48.480 --> 00:31:50.319
<v Speaker 4>because what they gain returns the mark now with some

573
00:31:50.440 --> 00:31:52.799
<v Speaker 4>images in a way if you think about it, not

574
00:31:53.000 --> 00:31:55.279
<v Speaker 4>I don't think that's the end result for us. The

575
00:31:55.359 --> 00:31:59.000
<v Speaker 4>web should be rich and full of experience. But as

576
00:31:59.039 --> 00:32:01.799
<v Speaker 4>an interim, as a operacess or at least like a

577
00:32:01.920 --> 00:32:05.240
<v Speaker 4>thought provocation, is that that's actually better if you have

578
00:32:05.440 --> 00:32:07.000
<v Speaker 4>low low work connectivity.

579
00:32:07.119 --> 00:32:07.200
<v Speaker 3>Right.

580
00:32:07.240 --> 00:32:10.279
<v Speaker 4>It's kind of what Google Google try to provide with

581
00:32:10.640 --> 00:32:13.039
<v Speaker 4>what is was it Google Sites or no? What was

582
00:32:13.119 --> 00:32:16.319
<v Speaker 4>it called? I know what you what you're talking about?

583
00:32:18.160 --> 00:32:20.759
<v Speaker 4>I don't remember the name as it escapes now yeah,

584
00:32:20.839 --> 00:32:24.400
<v Speaker 4>exactly the same, but those those like read only or

585
00:32:24.480 --> 00:32:27.359
<v Speaker 4>read mode for for websites, but you have because mark

586
00:32:27.440 --> 00:32:31.559
<v Speaker 4>down is so so much faster to render. It kind

587
00:32:31.599 --> 00:32:33.839
<v Speaker 4>of ends up being a good experience for people that

588
00:32:33.920 --> 00:32:37.279
<v Speaker 4>lives in for connectivity because they get information they want,

589
00:32:37.319 --> 00:32:40.039
<v Speaker 4>they can get things done without having to pay heavy.

590
00:32:40.039 --> 00:32:42.359
<v Speaker 3>But on the other hand, on the other are two

591
00:32:42.519 --> 00:32:45.640
<v Speaker 3>problems with it. First of all, when you still have

592
00:32:46.079 --> 00:32:51.279
<v Speaker 3>that model generating the response on the fly, which is

593
00:32:51.519 --> 00:32:56.319
<v Speaker 3>obviously much slower than a pre prepared response and also

594
00:32:56.720 --> 00:33:00.319
<v Speaker 3>also much more expensive to generate, certainly consumed a lot

595
00:33:00.400 --> 00:33:05.519
<v Speaker 3>more energy. So a world where every query for everybody

596
00:33:05.640 --> 00:33:10.799
<v Speaker 3>is answered with the page that's generated specifically for that person,

597
00:33:11.759 --> 00:33:15.920
<v Speaker 3>we might get there eventually, but we but it's certainly

598
00:33:16.039 --> 00:33:18.799
<v Speaker 3>not it's not going to improve the performance of the

599
00:33:18.880 --> 00:33:20.680
<v Speaker 3>initial load, let's put it this way.

600
00:33:20.799 --> 00:33:23.799
<v Speaker 4>No, So without getting too much into the economics of it,

601
00:33:24.160 --> 00:33:26.720
<v Speaker 4>there is of course those scaling problems. But my thought

602
00:33:26.759 --> 00:33:29.759
<v Speaker 4>on this is is purely on like the platform level,

603
00:33:29.920 --> 00:33:32.759
<v Speaker 4>on how what kind of experiences are we you going

604
00:33:32.799 --> 00:33:34.599
<v Speaker 4>to end up having. One of the things that I'm

605
00:33:34.880 --> 00:33:39.240
<v Speaker 4>very much interested on thinking about nowadays is is kind

606
00:33:39.240 --> 00:33:43.240
<v Speaker 4>of now that we are capable of generating interfaces on

607
00:33:43.400 --> 00:33:45.839
<v Speaker 4>the fly. There is a nuance to that, of course,

608
00:33:46.319 --> 00:33:49.440
<v Speaker 4>but we are capable of eliminating quite eliminating quite a

609
00:33:49.519 --> 00:33:52.599
<v Speaker 4>lot of noise from the from the UY from the interfaces.

610
00:33:52.720 --> 00:33:55.559
<v Speaker 4>We don't have to generate static menus and side but

611
00:33:55.680 --> 00:33:58.680
<v Speaker 4>a sidebar with lots of options and deep nested menus

612
00:33:58.920 --> 00:34:01.920
<v Speaker 4>things like that. So we now can generate a much

613
00:34:02.039 --> 00:34:05.920
<v Speaker 4>simpler and much more concise interface and progressively introduce the

614
00:34:06.079 --> 00:34:09.280
<v Speaker 4>users or nuage the users towards different levels of information.

615
00:34:09.599 --> 00:34:11.679
<v Speaker 4>So both for depth tools, I feel like that's a

616
00:34:11.800 --> 00:34:14.840
<v Speaker 4>great thing because you can lower the threshold, lower the

617
00:34:14.880 --> 00:34:18.880
<v Speaker 4>bearer for entry for developers building something that is more

618
00:34:18.920 --> 00:34:21.639
<v Speaker 4>approachable at first, and you can of course dig deeper

619
00:34:22.159 --> 00:34:25.079
<v Speaker 4>with different workflows. And also for websites.

620
00:34:25.199 --> 00:34:28.400
<v Speaker 3>What would that mean in the end, So putting aside

621
00:34:28.480 --> 00:34:31.400
<v Speaker 3>the bigger issue of what's the future of the web

622
00:34:31.519 --> 00:34:34.880
<v Speaker 3>going to be and moving back to the quote unquote

623
00:34:34.960 --> 00:34:40.119
<v Speaker 3>simpler issue of dev tooling and performance tooling. So you said,

624
00:34:40.239 --> 00:34:44.719
<v Speaker 3>you build an MCP server that's integrated into depv tools,

625
00:34:45.280 --> 00:34:48.239
<v Speaker 3>and then you can get information out of dev tools

626
00:34:48.440 --> 00:34:52.760
<v Speaker 3>into something like cursor or something like that as actionable data.

627
00:34:53.760 --> 00:34:56.320
<v Speaker 3>What else are you thinking about in the context of

628
00:34:56.360 --> 00:34:58.480
<v Speaker 3>the future of performance tooling.

629
00:34:58.679 --> 00:35:02.840
<v Speaker 4>I feel like tooling Google if you observe what Google's

630
00:35:02.880 --> 00:35:07.400
<v Speaker 4>doing within the Depth tools, I'm kind of helping on

631
00:35:08.159 --> 00:35:10.320
<v Speaker 4>using a lot of that work to power the other

632
00:35:10.360 --> 00:35:13.000
<v Speaker 4>experiences I'm building around it. It is a lot on

633
00:35:13.800 --> 00:35:20.599
<v Speaker 4>providing hints and providing knowledge assistance, providing debugging assistance. So

634
00:35:20.679 --> 00:35:23.320
<v Speaker 4>there is different, of course, experiences and levels you can dig.

635
00:35:23.480 --> 00:35:27.199
<v Speaker 4>So you can have something that is more approachable or

636
00:35:27.440 --> 00:35:30.199
<v Speaker 4>not approachable rather but like something that is more active,

637
00:35:30.440 --> 00:35:32.840
<v Speaker 4>so it's actively trying to help you, or something that's

638
00:35:32.920 --> 00:35:36.320
<v Speaker 4>more that's going to be requested. Like currently on Depth Tools,

639
00:35:36.400 --> 00:35:40.639
<v Speaker 4>you you hover or you click right click to activate

640
00:35:40.920 --> 00:35:44.480
<v Speaker 4>the eye insights. Some of the insights are being delivered actively,

641
00:35:44.639 --> 00:35:46.440
<v Speaker 4>but you know there are different experiences you try and

642
00:35:46.519 --> 00:35:48.840
<v Speaker 4>can try to gauge. I'm trying to lean on on

643
00:35:48.960 --> 00:35:53.079
<v Speaker 4>the experiences that are more actively helping people or trying

644
00:35:53.119 --> 00:35:56.400
<v Speaker 4>to deliver something that is more actively trying to help people,

645
00:35:56.599 --> 00:35:58.920
<v Speaker 4>trying to be more knowledge system at the same time

646
00:35:59.039 --> 00:36:02.199
<v Speaker 4>as a tool that can help to solve actual problems

647
00:36:02.280 --> 00:36:03.039
<v Speaker 4>performance problems.

648
00:36:03.079 --> 00:36:05.760
<v Speaker 3>So one of the things I recall hearing about though,

649
00:36:06.079 --> 00:36:09.800
<v Speaker 3>to be perfectly honest, I've not actually had a chance

650
00:36:09.920 --> 00:36:12.119
<v Speaker 3>to try it out and see how good it is.

651
00:36:12.880 --> 00:36:16.800
<v Speaker 3>Is I recalled, they've been talking about using local Gemini

652
00:36:17.440 --> 00:36:24.239
<v Speaker 3>to analyze the stack traces in the flame chart, Yes,

653
00:36:24.440 --> 00:36:30.159
<v Speaker 3>and provide better understanding. Like for those of you like

654
00:36:30.400 --> 00:36:32.719
<v Speaker 3>what I said, sounds like gobly goop when you are

655
00:36:32.840 --> 00:36:36.440
<v Speaker 3>record performance session. When you record the performance of a

656
00:36:36.559 --> 00:36:40.320
<v Speaker 3>session in the Chrome Dev Tool's performance tab, one of

657
00:36:40.360 --> 00:36:44.280
<v Speaker 3>the things that it does is that it analyzes JavaScript

658
00:36:44.360 --> 00:36:48.519
<v Speaker 3>execution over time and basically checks at every point in

659
00:36:48.639 --> 00:36:52.800
<v Speaker 3>time what the stack trace looks like, and basically maps

660
00:36:52.920 --> 00:36:57.360
<v Speaker 3>the progress of executions through the actual application code. And

661
00:36:57.519 --> 00:36:59.960
<v Speaker 3>then what you get is called often a flame chart

662
00:37:00.239 --> 00:37:03.960
<v Speaker 3>because it looks it uses different colors, so it looks

663
00:37:04.039 --> 00:37:07.480
<v Speaker 3>kind of like a fire. And if the stack is deep,

664
00:37:07.639 --> 00:37:11.400
<v Speaker 3>then you see a lot of boxes, but if it's shallow,

665
00:37:11.440 --> 00:37:14.079
<v Speaker 3>then you see fewer, and you can kind of follow

666
00:37:14.119 --> 00:37:19.679
<v Speaker 3>along and see where executions spent its time, which method

667
00:37:19.840 --> 00:37:24.039
<v Speaker 3>got called very often, which methods or functions took a

668
00:37:24.159 --> 00:37:27.400
<v Speaker 3>long time to process, et cetera, When where you blocked

669
00:37:27.440 --> 00:37:30.679
<v Speaker 3>maybe on a network operation, et cetera, et cetera, And

670
00:37:31.440 --> 00:37:36.639
<v Speaker 3>those flame charts are sometimes difficult to analyze because again

671
00:37:36.719 --> 00:37:41.079
<v Speaker 3>they represent a ton of information in a very condensed

672
00:37:41.119 --> 00:37:45.159
<v Speaker 3>sort of way. So if you can get better hinting

673
00:37:45.360 --> 00:37:49.280
<v Speaker 3>and suggestions about what it means, like okay, but what

674
00:37:49.480 --> 00:37:53.119
<v Speaker 3>does this function actually do? That could be very helpful.

675
00:37:53.199 --> 00:37:57.079
<v Speaker 3>But I've not actually checked the quality of information that

676
00:37:57.199 --> 00:37:59.440
<v Speaker 3>it provides. I guess that you've been playing with it

677
00:37:59.559 --> 00:38:01.199
<v Speaker 3>quite a bit. What do you think about it?

678
00:38:01.480 --> 00:38:04.280
<v Speaker 4>So I'm actually using a lot of the internals that

679
00:38:04.360 --> 00:38:07.000
<v Speaker 4>they are using to provide that aside, of course the

680
00:38:07.360 --> 00:38:11.159
<v Speaker 4>on board Gemini model that they have on Chrome. I

681
00:38:11.280 --> 00:38:15.920
<v Speaker 4>am using Gemini, but the hosted version for that both

682
00:38:15.960 --> 00:38:18.840
<v Speaker 4>flash and a pro and two point five flash and

683
00:38:18.880 --> 00:38:21.039
<v Speaker 4>to per five pro for different kind of things. But

684
00:38:22.199 --> 00:38:24.519
<v Speaker 4>to answer the crux of the massa, it's getting really

685
00:38:24.559 --> 00:38:28.760
<v Speaker 4>good right now. It's too struggles with some form of directions,

686
00:38:28.840 --> 00:38:31.280
<v Speaker 4>but that's mostly on prompting. So one of the things

687
00:38:31.320 --> 00:38:34.159
<v Speaker 4>that I did I use most of the same prompting

688
00:38:34.320 --> 00:38:38.039
<v Speaker 4>that the Chrome de tools uses for Gemini to analyze

689
00:38:38.119 --> 00:38:41.239
<v Speaker 4>a flame graph. But the things I differentiate is that

690
00:38:41.400 --> 00:38:43.599
<v Speaker 4>I'm trying to drive it to be a bit more

691
00:38:43.880 --> 00:38:47.519
<v Speaker 4>direct when it comes to offering suggestions that are what's

692
00:38:47.639 --> 00:38:50.039
<v Speaker 4>next to do. So, for instance, I used to kind

693
00:38:50.079 --> 00:38:51.719
<v Speaker 4>of the same it's pretty much the same prompt but

694
00:38:52.159 --> 00:38:54.519
<v Speaker 4>what difference is it's the prompt I'm using is in

695
00:38:54.840 --> 00:38:59.400
<v Speaker 4>some different parts of prompt engineering of how I want

696
00:38:59.440 --> 00:39:01.880
<v Speaker 4>the model to be more decisive and I also want

697
00:39:01.920 --> 00:39:05.679
<v Speaker 4>to teach the model. For instance, when it's analyzing a

698
00:39:05.760 --> 00:39:08.360
<v Speaker 4>bundle from next years, you will know. When s analyzing

699
00:39:08.360 --> 00:39:10.159
<v Speaker 4>a bundle that comes from different kind of frameworks, you

700
00:39:10.199 --> 00:39:12.519
<v Speaker 4>will know and will try to give you a bit

701
00:39:12.679 --> 00:39:15.199
<v Speaker 4>more decisive actions like okay, I see that these kind

702
00:39:15.199 --> 00:39:17.400
<v Speaker 4>of call frames are coming from this ACT, which is

703
00:39:17.440 --> 00:39:19.960
<v Speaker 4>a framework asset, so you kind of have a framework

704
00:39:20.039 --> 00:39:21.760
<v Speaker 4>logic there where you can try to fix. So it's

705
00:39:21.800 --> 00:39:25.239
<v Speaker 4>trying to be a bit more directed towards giving you

706
00:39:26.000 --> 00:39:28.880
<v Speaker 4>an answer and then use I use the same model.

707
00:39:28.920 --> 00:39:31.920
<v Speaker 4>I use the same kind of prompts for the MCP too,

708
00:39:32.239 --> 00:39:34.920
<v Speaker 4>which kind of helps courser be also be more decisive

709
00:39:35.079 --> 00:39:35.920
<v Speaker 4>of fixing stuff.

710
00:39:36.360 --> 00:39:40.239
<v Speaker 3>So again, can you give a concrete example of some

711
00:39:41.360 --> 00:39:45.599
<v Speaker 3>practical results or outcomes that you've seen from this type

712
00:39:45.639 --> 00:39:47.159
<v Speaker 3>of operation right now?

713
00:39:47.960 --> 00:39:51.199
<v Speaker 4>Will be It's kind of in between. It's a bit

714
00:39:51.239 --> 00:39:52.559
<v Speaker 4>of a hit and miss. It can be a bit

715
00:39:52.559 --> 00:39:54.400
<v Speaker 4>of a hit to miss, but those two the tools

716
00:39:54.440 --> 00:39:57.000
<v Speaker 4>are actually it can be a little bit of a hittimism,

717
00:39:57.000 --> 00:39:59.559
<v Speaker 4>but the tools are evolving quite quite a lot, and

718
00:40:00.239 --> 00:40:04.280
<v Speaker 4>with more prompt engineering, with more data collection understanding evow

719
00:40:04.559 --> 00:40:07.280
<v Speaker 4>or like you're having better evows, so it will only

720
00:40:07.320 --> 00:40:10.440
<v Speaker 4>get better. So it is, it is, There is definitive value,

721
00:40:10.800 --> 00:40:13.119
<v Speaker 4>especially for people that are trying to understand the flame

722
00:40:13.159 --> 00:40:16.440
<v Speaker 4>graph the AI asked within Depth tools, the agent I'm

723
00:40:16.480 --> 00:40:18.800
<v Speaker 4>building can be tools that will help you understand things

724
00:40:18.840 --> 00:40:22.719
<v Speaker 4>better and hopefully give you insights. So the manage may vary,

725
00:40:23.079 --> 00:40:26.199
<v Speaker 4>of course, but over time it will only get better.

726
00:40:26.320 --> 00:40:30.639
<v Speaker 3>So aside from the MCP connectivity, again, what else are

727
00:40:30.679 --> 00:40:31.239
<v Speaker 3>you building?

728
00:40:31.519 --> 00:40:34.760
<v Speaker 4>So right now I'm focusing again. I did this MCP

729
00:40:35.159 --> 00:40:38.519
<v Speaker 4>as a thought process because I mean, I can't ship

730
00:40:38.559 --> 00:40:40.880
<v Speaker 4>the MCP that are built unfortunately, because I built straight

731
00:40:40.880 --> 00:40:42.920
<v Speaker 4>into Depth Tools, so I can't ship my own version

732
00:40:42.960 --> 00:40:45.360
<v Speaker 4>of Depth Tools within Chrome. But I actually am going

733
00:40:45.440 --> 00:40:48.519
<v Speaker 4>to continue exploring because like I was talking with the

734
00:40:48.559 --> 00:40:50.599
<v Speaker 4>Depth Tools team, the next thing is could be like

735
00:40:51.159 --> 00:40:53.360
<v Speaker 4>to help a tool to have a tool that can

736
00:40:53.519 --> 00:40:57.440
<v Speaker 4>use the bugging protocol to drive different kinds of scenarios.

737
00:40:57.559 --> 00:41:00.840
<v Speaker 4>Let's say now the agents can also execute. Let's say

738
00:41:00.840 --> 00:41:04.159
<v Speaker 4>you whilst the agent, can you please measure the interaction

739
00:41:04.519 --> 00:41:06.280
<v Speaker 4>when you click this button and try to fix any

740
00:41:06.320 --> 00:41:09.280
<v Speaker 4>performance problems. So instead of you manually go into the

741
00:41:09.320 --> 00:41:11.880
<v Speaker 4>browser and recording that trace, the agent can do that

742
00:41:12.039 --> 00:41:14.519
<v Speaker 4>for you and return with the insights and the prompts

743
00:41:14.559 --> 00:41:16.440
<v Speaker 4>that will help it fix the next stage. Right, So

744
00:41:16.519 --> 00:41:19.119
<v Speaker 4>that's kind of like it became a thought process that

745
00:41:19.119 --> 00:41:20.840
<v Speaker 4>I've the thought that I want to try to execute

746
00:41:20.880 --> 00:41:24.960
<v Speaker 4>on to see how can you make the browser respond

747
00:41:25.199 --> 00:41:28.519
<v Speaker 4>to as a dev to to an agentic flow. So

748
00:41:28.639 --> 00:41:31.719
<v Speaker 4>that's something that I'm looking to experiment with next. But

749
00:41:31.880 --> 00:41:36.960
<v Speaker 4>when it comes to shipping within within the within perflab,

750
00:41:37.400 --> 00:41:40.880
<v Speaker 4>the next thing for me is helping the agent to

751
00:41:41.159 --> 00:41:45.400
<v Speaker 4>understand more of the performance as a subject. So because

752
00:41:45.480 --> 00:41:50.000
<v Speaker 4>right now what I've built is web vitals Insights, so

753
00:41:50.159 --> 00:41:52.320
<v Speaker 4>it understands different parts of the web virus and it

754
00:41:52.360 --> 00:41:56.000
<v Speaker 4>can generate quite good insightful reports on how to fix

755
00:41:56.199 --> 00:41:58.519
<v Speaker 4>different problems from the webviders that it's sees within the trace.

756
00:41:58.960 --> 00:42:03.000
<v Speaker 4>But then next for me is that the network getting

757
00:42:03.079 --> 00:42:05.199
<v Speaker 4>better insights for the network, so it does LCP so

758
00:42:05.360 --> 00:42:08.239
<v Speaker 4>kind of has a network agent there, but I want

759
00:42:08.239 --> 00:42:12.280
<v Speaker 4>to build better network agents to understand server timings, understand

760
00:42:12.480 --> 00:42:15.840
<v Speaker 4>the kind of other subjects within the workflow, and help

761
00:42:15.960 --> 00:42:18.760
<v Speaker 4>with different subjects within performance because there is a lot

762
00:42:18.880 --> 00:42:22.239
<v Speaker 4>more things to fix. And then alongside of that, bake

763
00:42:22.360 --> 00:42:24.599
<v Speaker 4>in a memory layer so you can the agent can

764
00:42:24.679 --> 00:42:27.559
<v Speaker 4>remember how to fix the problems and it gets a

765
00:42:27.599 --> 00:42:30.920
<v Speaker 4>bit more proactive on fixing problems, understanding that what problems

766
00:42:30.960 --> 00:42:33.159
<v Speaker 4>is seeing before and what kind of fixes is seen

767
00:42:33.239 --> 00:42:35.880
<v Speaker 4>before with the memory layer. So I'm interested on seeing

768
00:42:35.960 --> 00:42:38.239
<v Speaker 4>how the agent starts to self evolve in a way

769
00:42:38.760 --> 00:42:41.639
<v Speaker 4>when you start introducing your memory layer to solve performance problems.

770
00:42:42.159 --> 00:42:45.760
<v Speaker 3>So a couple of thoughts of suggestions even about that. So,

771
00:42:45.880 --> 00:42:48.039
<v Speaker 3>first of all, it seems to me, based on the

772
00:42:48.199 --> 00:42:53.440
<v Speaker 3>workflow that you're describing that integration with something like Playwright

773
00:42:54.280 --> 00:42:59.039
<v Speaker 3>might be a more natural evolution. And trying to couse

774
00:42:59.400 --> 00:43:04.880
<v Speaker 3>Chrome to record kind of headless sessions or sessions that

775
00:43:05.039 --> 00:43:09.639
<v Speaker 3>don't involve actual user interaction because you're literally automating the

776
00:43:09.719 --> 00:43:12.599
<v Speaker 3>web in order to perform a genetic operations.

777
00:43:13.119 --> 00:43:15.800
<v Speaker 4>Yes, and I would go one step further because I

778
00:43:16.320 --> 00:43:17.880
<v Speaker 4>know I know play right, I've used it for a

779
00:43:17.920 --> 00:43:21.400
<v Speaker 4>long time but I've been experimenting with and I actually

780
00:43:21.519 --> 00:43:24.679
<v Speaker 4>like be in contact briefually with the people from Browser

781
00:43:24.719 --> 00:43:28.239
<v Speaker 4>based and stagehand, so they have this kind of really

782
00:43:28.280 --> 00:43:31.400
<v Speaker 4>good automation for the browser. One thing that I'm going

783
00:43:31.440 --> 00:43:33.360
<v Speaker 4>to actually check with them is that I plan to

784
00:43:33.440 --> 00:43:36.119
<v Speaker 4>check with them, is how much of the dev tools

785
00:43:36.239 --> 00:43:39.159
<v Speaker 4>that they have access to, because as far as I know,

786
00:43:39.599 --> 00:43:42.440
<v Speaker 4>within the debugging protocol, it does not really have access

787
00:43:42.519 --> 00:43:45.760
<v Speaker 4>to yet at least does not have access to some

788
00:43:46.000 --> 00:43:49.360
<v Speaker 4>of the insights. So the way I'm driving the MCPS

789
00:43:49.400 --> 00:43:53.039
<v Speaker 4>of experiment that I'm running locally is all based on

790
00:43:53.079 --> 00:43:57.440
<v Speaker 4>the AI insights, and those are internal depth tools, so

791
00:43:57.599 --> 00:44:02.119
<v Speaker 4>I'm you leveraging those AI insights the same that Google

792
00:44:02.760 --> 00:44:06.840
<v Speaker 4>is surfacing for the ask AI within depth tools to

793
00:44:07.320 --> 00:44:11.039
<v Speaker 4>create a loop with cursor to this self healing mode

794
00:44:11.599 --> 00:44:14.880
<v Speaker 4>for developers that are using that, either Vibe coding or

795
00:44:14.880 --> 00:44:17.840
<v Speaker 4>even developers that don't necessarily know how to fix performance problems.

796
00:44:18.360 --> 00:44:21.440
<v Speaker 4>So within the debugging protocol, you don't necessarily have access

797
00:44:21.440 --> 00:44:23.559
<v Speaker 4>to that kind of stuff. You can drive a browser,

798
00:44:23.599 --> 00:44:26.960
<v Speaker 4>a headless browser, or a browser session autonomously, but what

799
00:44:27.039 --> 00:44:30.119
<v Speaker 4>I'm interested is less on the driving the session autonous,

800
00:44:30.519 --> 00:44:34.559
<v Speaker 4>but more on getting access to those internals to get

801
00:44:34.880 --> 00:44:38.280
<v Speaker 4>the information out of the telemetry I get to give

802
00:44:38.400 --> 00:44:41.960
<v Speaker 4>back within an mcpiece of to cursors or any AI

803
00:44:42.159 --> 00:44:45.679
<v Speaker 4>editor to solve problems autonomously. So it's less about driving

804
00:44:45.679 --> 00:44:49.079
<v Speaker 4>the web autonomum autonomously, but more about fixing things autonomously

805
00:44:49.159 --> 00:44:51.800
<v Speaker 4>based on a telemetry I can get from depth tools.

806
00:44:51.880 --> 00:44:53.840
<v Speaker 3>So that's kind of what you're doing, these kind of

807
00:44:54.000 --> 00:44:58.199
<v Speaker 3>loops where I guess where you're you're trying a certain

808
00:44:58.639 --> 00:45:02.360
<v Speaker 3>well you're not you the age and the model is

809
00:45:02.440 --> 00:45:06.000
<v Speaker 3>trying a certain optimalization and then checks to see whether

810
00:45:06.039 --> 00:45:11.199
<v Speaker 3>it actually improves or the grades the actual performance yestt

811
00:45:11.559 --> 00:45:12.559
<v Speaker 3>making any difference at all.

812
00:45:13.039 --> 00:45:14.840
<v Speaker 4>Yes, So for that kind of stuff, you can use

813
00:45:14.880 --> 00:45:19.599
<v Speaker 4>different services. For soundboxing, there's many like Daytona or actually

814
00:45:19.679 --> 00:45:22.000
<v Speaker 4>Versella has released one recently, so you can use a

815
00:45:22.039 --> 00:45:25.599
<v Speaker 4>soundboxing service where you can hook up to like an

816
00:45:25.599 --> 00:45:29.440
<v Speaker 4>automated session to test actual fixes. But then for me,

817
00:45:30.119 --> 00:45:32.480
<v Speaker 4>there is that pop that, of course I will experiment

818
00:45:32.639 --> 00:45:36.880
<v Speaker 4>with within perflab, but I'm also interested on the reason

819
00:45:36.920 --> 00:45:39.760
<v Speaker 4>why I'm playing with internals, dept tools and MCP integration

820
00:45:39.840 --> 00:45:43.159
<v Speaker 4>within depth tools and different kind of experimentation within a

821
00:45:43.239 --> 00:45:46.519
<v Speaker 4>browser space is kind of to play with this next

822
00:45:47.079 --> 00:45:51.000
<v Speaker 4>version of browsers, debv tools, and the web in general

823
00:45:51.079 --> 00:45:53.079
<v Speaker 4>on how they look would look like or can look

824
00:45:53.159 --> 00:45:55.679
<v Speaker 4>like rather because as I feel, I feel like I

825
00:45:55.760 --> 00:45:58.440
<v Speaker 4>think it was, I think it was. I don't remember

826
00:45:58.480 --> 00:46:00.760
<v Speaker 4>what I said it, but we are very where we

827
00:46:00.880 --> 00:46:04.199
<v Speaker 4>are one good, really good ux away from a complete

828
00:46:04.280 --> 00:46:07.320
<v Speaker 4>shift on how we think about interfaces or the web

829
00:46:07.400 --> 00:46:10.199
<v Speaker 4>in general. So there's a lot of experientation that can

830
00:46:10.280 --> 00:46:12.119
<v Speaker 4>be had and should be had. So this is kind

831
00:46:12.159 --> 00:46:13.920
<v Speaker 4>of where I'm navigating nowadays.

832
00:46:14.199 --> 00:46:16.039
<v Speaker 1>Yeah, I heard that quote recently too. I want to

833
00:46:16.039 --> 00:46:17.840
<v Speaker 1>say it was West Boss, but yeah, I've heard.

834
00:46:17.760 --> 00:46:20.079
<v Speaker 4>It was it. Yeah, I mean I'm not sure if

835
00:46:20.079 --> 00:46:23.400
<v Speaker 4>it was, if it was Wes or or someone else,

836
00:46:23.519 --> 00:46:27.039
<v Speaker 4>but I have a feeling it was, Yeah, someone from

837
00:46:27.199 --> 00:46:31.440
<v Speaker 4>those circles earlier this week. So yeah, I know you

838
00:46:31.639 --> 00:46:32.679
<v Speaker 4>worry about.

839
00:46:32.440 --> 00:46:37.519
<v Speaker 3>The web becoming something generated by agents for agents.

840
00:46:38.159 --> 00:46:41.079
<v Speaker 4>There is a layer, so there is layers to that,

841
00:46:41.440 --> 00:46:47.360
<v Speaker 4>and I share so I will repeat AI focused from

842
00:46:47.440 --> 00:46:50.280
<v Speaker 4>from Paul Killen, like if you haven't read yet, it's

843
00:46:50.360 --> 00:46:52.800
<v Speaker 4>really really good. But there are those fears of like

844
00:46:52.840 --> 00:46:56.880
<v Speaker 4>when it comes to publishers monetization experiences out like the

845
00:46:56.960 --> 00:47:01.199
<v Speaker 4>excessive may may be accessive automation isn't an actual concern,

846
00:47:01.239 --> 00:47:03.360
<v Speaker 4>it's very valid one. But one thing that I'm kind

847
00:47:03.400 --> 00:47:09.159
<v Speaker 4>of looking forward to is for personalization, for enabling what

848
00:47:09.639 --> 00:47:12.079
<v Speaker 4>people are calling the personal web. So in a way,

849
00:47:12.239 --> 00:47:14.440
<v Speaker 4>we're kind of going back to your cities where people

850
00:47:14.519 --> 00:47:17.480
<v Speaker 4>just put silly websites that they just wanted to build

851
00:47:17.840 --> 00:47:19.599
<v Speaker 4>and build it like that. That's why I love I

852
00:47:20.239 --> 00:47:24.239
<v Speaker 4>see tools like Lovable, like Vizero as kind of us

853
00:47:24.280 --> 00:47:28.679
<v Speaker 4>returning to that ingenuity and accessibility of people creating what

854
00:47:28.800 --> 00:47:32.599
<v Speaker 4>they want and putting things out there. So, of course

855
00:47:33.000 --> 00:47:36.159
<v Speaker 4>there are different challenges both on a social aspect, on

856
00:47:36.519 --> 00:47:40.079
<v Speaker 4>an economical aspect, on an environmental aspect that we should

857
00:47:40.119 --> 00:47:43.480
<v Speaker 4>not be blinded to, but there is also a lot

858
00:47:43.559 --> 00:47:45.960
<v Speaker 4>of good that can be had.

859
00:47:46.480 --> 00:47:48.519
<v Speaker 3>One more thing that I wanted to suggest to you,

860
00:47:49.159 --> 00:47:52.440
<v Speaker 3>especially if you're looking at memory. By the way, I

861
00:47:53.159 --> 00:47:57.320
<v Speaker 3>was supposed to give a talk at the conference here

862
00:47:57.440 --> 00:48:02.599
<v Speaker 3>in Tel Avisi in Israel on using hip dumps to

863
00:48:02.760 --> 00:48:08.639
<v Speaker 3>analyze performance issues in node rather than the browser. I think,

864
00:48:09.000 --> 00:48:11.639
<v Speaker 3>and that's the point. I think that node is a

865
00:48:11.880 --> 00:48:16.840
<v Speaker 3>great candidate for these types of analysis. Operations as well.

866
00:48:17.039 --> 00:48:22.119
<v Speaker 3>If in fact, optimizing node operations in many ways is

867
00:48:22.239 --> 00:48:26.719
<v Speaker 3>even more difficult than optimizing browser operations. That is true,

868
00:48:27.599 --> 00:48:31.119
<v Speaker 3>and it's in its effectively a lot of the same

869
00:48:31.239 --> 00:48:35.519
<v Speaker 3>processes and the same APIs and the same protocols. Yes,

870
00:48:35.599 --> 00:48:39.480
<v Speaker 3>the solutions that can be applied to the browser can

871
00:48:39.599 --> 00:48:42.760
<v Speaker 3>be well, obviously they would need to be somewhat modified,

872
00:48:42.840 --> 00:48:45.119
<v Speaker 3>but can generally be applied to node as well.

873
00:48:45.760 --> 00:48:48.840
<v Speaker 4>Yes. So for back end is something that is very

874
00:48:48.920 --> 00:48:51.119
<v Speaker 4>much in my head. We have serviy timings, which I

875
00:48:51.199 --> 00:48:53.519
<v Speaker 4>wrote about. One of the things that I love about

876
00:48:53.760 --> 00:48:55.760
<v Speaker 4>modern day tooling is that we have things like INP

877
00:48:56.000 --> 00:48:58.280
<v Speaker 4>and low of animation frames. I believe is one of

878
00:48:58.320 --> 00:49:00.840
<v Speaker 4>the best APIs released in a more odern times for

879
00:49:01.000 --> 00:49:04.119
<v Speaker 4>JavaScript or the web performance in general. I've talked about

880
00:49:04.119 --> 00:49:07.360
<v Speaker 4>it this year, destination last year and something that I

881
00:49:07.480 --> 00:49:07.920
<v Speaker 4>really like.

882
00:49:08.280 --> 00:49:11.119
<v Speaker 3>But when it comes back and at least so bepole

883
00:49:11.199 --> 00:49:13.480
<v Speaker 3>you proceed, can you elaborate on that a little bit?

884
00:49:13.559 --> 00:49:15.239
<v Speaker 3>What do you mean by that? Those APIs?

885
00:49:16.039 --> 00:49:19.599
<v Speaker 4>So I n P Interaction to next Paint is a

886
00:49:20.360 --> 00:49:25.559
<v Speaker 4>relatively new API made into Chrome Virals as an official

887
00:49:25.719 --> 00:49:29.199
<v Speaker 4>metric as of March this year, and it's driven by

888
00:49:29.559 --> 00:49:33.320
<v Speaker 4>an internal metrical animation frame, and the animation frame is

889
00:49:33.800 --> 00:49:38.039
<v Speaker 4>where you aggregate different sections of work that the browser

890
00:49:38.119 --> 00:49:41.119
<v Speaker 4>needs to produce in order to ship the next frame.

891
00:49:41.679 --> 00:49:44.519
<v Speaker 4>So that's why you have long animation frames or low

892
00:49:44.599 --> 00:49:48.320
<v Speaker 4>app as an API to fetch animation frame. Animation frames

893
00:49:48.360 --> 00:49:51.320
<v Speaker 4>there are with a timing larger than fifty milliseconds, which

894
00:49:51.400 --> 00:49:55.039
<v Speaker 4>is the well known or at least is the standardized

895
00:49:55.239 --> 00:49:56.719
<v Speaker 4>metric for long tasks.

896
00:49:57.480 --> 00:50:02.159
<v Speaker 3>Yeah, it just to a little bit of context or information.

897
00:50:02.440 --> 00:50:06.920
<v Speaker 3>It actually comes from the other way around. Basically, in

898
00:50:07.119 --> 00:50:11.840
<v Speaker 3>order to provide a good visual experience jank fee experience

899
00:50:12.280 --> 00:50:16.039
<v Speaker 3>on displays, you usually want to achieve something like sixty

900
00:50:16.199 --> 00:50:20.079
<v Speaker 3>FPS or sixty frames per second. And when you divide

901
00:50:20.239 --> 00:50:23.199
<v Speaker 3>sixty and when you check how long you have to

902
00:50:23.280 --> 00:50:26.559
<v Speaker 3>actually work on each frame in order to achieve sixty FPS,

903
00:50:27.039 --> 00:50:31.119
<v Speaker 3>you see that it's sixteen points something milliseconds per frame.

904
00:50:31.280 --> 00:50:33.599
<v Speaker 3>So that's where it comes from. Now, given that crowd

905
00:50:33.599 --> 00:50:36.480
<v Speaker 3>there itself needs to do a little bit of work itself,

906
00:50:37.039 --> 00:50:40.119
<v Speaker 3>it leaves you with fourteen or fifteen milliseconds to do

907
00:50:40.280 --> 00:50:42.679
<v Speaker 3>whatever it is that you want to do, and whenever

908
00:50:42.800 --> 00:50:46.840
<v Speaker 3>you exceed that, you get junk because you cause the

909
00:50:46.880 --> 00:50:50.119
<v Speaker 3>browser to drop below that sixty FPS. And by the way,

910
00:50:50.199 --> 00:50:53.280
<v Speaker 3>it's worth noting that on high end displays and on

911
00:50:55.599 --> 00:50:58.599
<v Speaker 3>three D displays, you actually, like if you're using something

912
00:50:58.719 --> 00:51:01.960
<v Speaker 3>like GLA smart glasses, you actually want to hit one

913
00:51:02.039 --> 00:51:03.639
<v Speaker 3>hundred and twenty FPN exactly.

914
00:51:03.880 --> 00:51:06.199
<v Speaker 4>It's which it's hard, which believe is you even less

915
00:51:06.280 --> 00:51:09.400
<v Speaker 4>work window. I actually have a talkie my like Dan

916
00:51:10.239 --> 00:51:13.480
<v Speaker 4>about the background from where where do? Where did we

917
00:51:13.559 --> 00:51:15.880
<v Speaker 4>come from to where we are now? In regards to

918
00:51:16.119 --> 00:51:21.000
<v Speaker 4>interactivity metrics, I've long ann mention frames. The name now

919
00:51:21.440 --> 00:51:24.840
<v Speaker 4>escapes me, but I did last year at REAP Advanced,

920
00:51:24.920 --> 00:51:28.519
<v Speaker 4>and I also did in person for the Mozilla meet

921
00:51:28.639 --> 00:51:31.639
<v Speaker 4>up at Personnel the same day. So I think you're

922
00:51:31.639 --> 00:51:32.840
<v Speaker 4>going to joy I'm going to share the link with

923
00:51:32.920 --> 00:51:33.880
<v Speaker 4>you for.

924
00:51:34.000 --> 00:51:37.320
<v Speaker 3>Sure, probably also if you don't, if it's public, we

925
00:51:37.440 --> 00:51:41.199
<v Speaker 3>can share in this public in the show notes for this.

926
00:51:41.800 --> 00:51:43.800
<v Speaker 3>By the way, what I would suggest to you if

927
00:51:43.840 --> 00:51:47.599
<v Speaker 3>you're interested in these things is also participate in the

928
00:51:48.119 --> 00:51:51.880
<v Speaker 3>Receiver Performance Working Group where we generally talk about all

929
00:51:51.960 --> 00:51:54.679
<v Speaker 3>these metrics and how we can improve them and involve them.

930
00:51:55.000 --> 00:51:57.280
<v Speaker 3>But again coming back to what we were talking about,

931
00:51:57.360 --> 00:52:00.400
<v Speaker 3>So you're talking about this API that can measure and

932
00:52:00.559 --> 00:52:05.800
<v Speaker 3>see when you're exceeding the allotted time for frames, resulting

933
00:52:05.920 --> 00:52:08.480
<v Speaker 3>in a jan ky user interface or in a no

934
00:52:08.559 --> 00:52:10.880
<v Speaker 3>exect somewhat non responsive user interface.

935
00:52:11.280 --> 00:52:14.079
<v Speaker 4>Yes, so animation frames. The reason why I love it

936
00:52:14.239 --> 00:52:17.920
<v Speaker 4>so much is within both per flab and pervagent, I

937
00:52:18.000 --> 00:52:22.079
<v Speaker 4>created histograms use the animation frames to show you activity

938
00:52:22.360 --> 00:52:25.840
<v Speaker 4>like processing activity based on the different virus thresholds. But

939
00:52:26.559 --> 00:52:28.000
<v Speaker 4>the reason why I like it so much is that

940
00:52:28.119 --> 00:52:32.119
<v Speaker 4>it aggregates within one common name space or metric all

941
00:52:32.159 --> 00:52:35.440
<v Speaker 4>the different problems that can happen for you two that

942
00:52:35.760 --> 00:52:39.360
<v Speaker 4>might lead to JENK. So you have processing time, input delay,

943
00:52:39.679 --> 00:52:43.679
<v Speaker 4>and presentation delay, all of which have different subset of

944
00:52:43.800 --> 00:52:46.800
<v Speaker 4>problems that may impact the different subsections. So my talk

945
00:52:46.880 --> 00:52:49.320
<v Speaker 4>this year at Gestination is about that. But the reason

946
00:52:49.320 --> 00:52:51.199
<v Speaker 4>why I love it so much is that it makes

947
00:52:51.760 --> 00:52:55.360
<v Speaker 4>the conversation a bit more productive because it gathers within

948
00:52:55.519 --> 00:52:58.880
<v Speaker 4>one common metric. It gathers all different aspects of shipping

949
00:52:58.920 --> 00:53:01.840
<v Speaker 4>a frame instead of just focusing on processing or just

950
00:53:01.920 --> 00:53:04.800
<v Speaker 4>focusing on style on layout. So it's really really good

951
00:53:04.840 --> 00:53:06.519
<v Speaker 4>and makes it the conversation a bit more productive. The

952
00:53:06.559 --> 00:53:09.960
<v Speaker 4>reason why I use it so much and moving back

953
00:53:10.039 --> 00:53:13.719
<v Speaker 4>into the back end is because thinking about this kind

954
00:53:13.800 --> 00:53:16.119
<v Speaker 4>of metric and work, what I'm going to end up

955
00:53:16.119 --> 00:53:19.199
<v Speaker 4>doing for perflab and pervagent to teach agents how to

956
00:53:19.280 --> 00:53:22.039
<v Speaker 4>deal with back end is then zoom out into hotel

957
00:53:22.199 --> 00:53:25.440
<v Speaker 4>and spans in general. Right, So it's about rebuilding attribution

958
00:53:25.559 --> 00:53:29.079
<v Speaker 4>based on spans and building attribution based on server timings

959
00:53:29.719 --> 00:53:32.280
<v Speaker 4>hotel spans. So it is one of those things that

960
00:53:32.400 --> 00:53:37.159
<v Speaker 4>I'm curious to try on. It's like open telemetry span, yeah, exactly,

961
00:53:37.840 --> 00:53:40.360
<v Speaker 4>So trying to build this kind of attribution, like we

962
00:53:40.519 --> 00:53:41.880
<v Speaker 4>use the same medal because I feel like for the

963
00:53:41.960 --> 00:53:45.679
<v Speaker 4>front end, we have so much work done to standardize

964
00:53:46.199 --> 00:53:50.079
<v Speaker 4>set of timings and build this kind of aggregation of

965
00:53:50.239 --> 00:53:55.199
<v Speaker 4>data to better understand performance problems, and we could leverage

966
00:53:55.280 --> 00:53:57.360
<v Speaker 4>some of this knowledge of some of this at least

967
00:53:57.400 --> 00:54:01.800
<v Speaker 4>way of thinking to build automation for for processing times

968
00:54:01.840 --> 00:54:06.360
<v Speaker 4>on hotel spans or just serving stuff via servery time

969
00:54:06.559 --> 00:54:08.000
<v Speaker 4>can be also a great deal help.

970
00:54:08.239 --> 00:54:10.760
<v Speaker 3>You should be speaking with mattel Colin and the other

971
00:54:10.960 --> 00:54:13.039
<v Speaker 3>I didn't speak with him at the GEST Nation this year,

972
00:54:13.119 --> 00:54:15.599
<v Speaker 3>so I'm going to I'm curious to doing more conversations

973
00:54:15.719 --> 00:54:18.079
<v Speaker 3>about this stuff with him, because I know he's very interested.

974
00:54:18.119 --> 00:54:21.079
<v Speaker 4>Days I'm actually sharing I've shared per flab with him,

975
00:54:21.119 --> 00:54:23.159
<v Speaker 4>So let's see what can be done with that.

976
00:54:23.440 --> 00:54:27.800
<v Speaker 3>And before we finish, what are your future thoughts, Like,

977
00:54:27.880 --> 00:54:30.840
<v Speaker 3>where are you thinking about taking this tool? What are

978
00:54:30.880 --> 00:54:34.039
<v Speaker 3>you thinking about in terms of new technologies and new approaches.

979
00:54:34.360 --> 00:54:36.519
<v Speaker 4>So for me right now, I'm going to be open

980
00:54:36.559 --> 00:54:39.480
<v Speaker 4>sourcing it in the next couple of weeks and it's

981
00:54:39.519 --> 00:54:42.280
<v Speaker 4>going to be available for as a party to and

982
00:54:42.679 --> 00:54:45.320
<v Speaker 4>anyone that want to collaborate. Of course, it's more than

983
00:54:45.599 --> 00:54:48.440
<v Speaker 4>welcome to and I would, and it's I'm curious to

984
00:54:48.440 --> 00:54:50.280
<v Speaker 4>see what kind of collaborations comes out of the open

985
00:54:50.320 --> 00:54:52.960
<v Speaker 4>sourcing of it. The two for me is a way

986
00:54:53.000 --> 00:54:57.880
<v Speaker 4>of expressing my thoughts and my feeling towards how I

987
00:54:58.000 --> 00:55:01.679
<v Speaker 4>feel like dev tools can evolved or not evolved, but like,

988
00:55:02.000 --> 00:55:04.960
<v Speaker 4>how could they be embracing AI first or taking the

989
00:55:05.039 --> 00:55:08.039
<v Speaker 4>subject of a side is how to build something that

990
00:55:08.239 --> 00:55:10.639
<v Speaker 4>is approachable for people that are not as technical and

991
00:55:10.880 --> 00:55:13.639
<v Speaker 4>trying to remove all of those natural barriers that people

992
00:55:13.719 --> 00:55:15.880
<v Speaker 4>keep bringing up when it comes to the tools, which

993
00:55:16.000 --> 00:55:18.480
<v Speaker 4>I feel like that tools is such a great, great tool,

994
00:55:19.199 --> 00:55:21.079
<v Speaker 4>but for me, I'm used to deptols have been used

995
00:55:21.119 --> 00:55:23.760
<v Speaker 4>for more than a decade right now, and something that

996
00:55:23.960 --> 00:55:26.920
<v Speaker 4>is kind of second nature. But I'm very acutely aware

997
00:55:27.000 --> 00:55:29.400
<v Speaker 4>of working with different teams of different knowledge levels. That

998
00:55:29.599 --> 00:55:32.880
<v Speaker 4>not the case for every developer out there, and we

999
00:55:33.000 --> 00:55:37.000
<v Speaker 4>can be trying to, you know, force a squarepag into

1000
00:55:37.039 --> 00:55:40.119
<v Speaker 4>a into a circle and just tell them like you

1001
00:55:40.159 --> 00:55:42.679
<v Speaker 4>should learn the tools which which they should if I'm

1002
00:55:42.719 --> 00:55:46.880
<v Speaker 4>being honest, But then you know, the approach may not

1003
00:55:47.000 --> 00:55:49.679
<v Speaker 4>have may have varying success to different people, especially on

1004
00:55:49.800 --> 00:55:53.000
<v Speaker 4>what their interests are. So building something that can be

1005
00:55:53.519 --> 00:55:56.239
<v Speaker 4>the smallest sub self of a debt to building more

1006
00:55:56.320 --> 00:55:59.239
<v Speaker 4>progressive and approachable for people of all knowledge levels is

1007
00:55:59.280 --> 00:56:02.960
<v Speaker 4>something I'm curious and also evolving from the de tools

1008
00:56:03.039 --> 00:56:06.480
<v Speaker 4>on to the browsers space as well, which is where

1009
00:56:06.480 --> 00:56:10.639
<v Speaker 4>I'm growing deeply more interested on experimenting with. You know,

1010
00:56:11.000 --> 00:56:13.039
<v Speaker 4>how can a browser be a better agent and how

1011
00:56:13.119 --> 00:56:15.519
<v Speaker 4>can agents interact better with browsers is something that I'm

1012
00:56:16.039 --> 00:56:17.480
<v Speaker 4>experimenting with nowadays.

1013
00:56:18.559 --> 00:56:21.639
<v Speaker 3>Something that might be really interesting to look at and

1014
00:56:22.760 --> 00:56:26.840
<v Speaker 3>in a certain way both simultaneously easier and more difficult,

1015
00:56:27.199 --> 00:56:31.760
<v Speaker 3>is thinking about how to optimize not necessarily the JavaScript,

1016
00:56:32.480 --> 00:56:38.880
<v Speaker 3>but the CSS. Yes, people underestimate the impact that CSS,

1017
00:56:39.320 --> 00:56:45.639
<v Speaker 3>especially modern sophisticated CSS, can have on rendering performance, and

1018
00:56:46.039 --> 00:56:48.719
<v Speaker 3>in general, I find that developers are a lot less

1019
00:56:48.960 --> 00:56:53.360
<v Speaker 3>familiar with the intricacies of CSS, and CSS is seems

1020
00:56:53.440 --> 00:56:57.440
<v Speaker 3>like something that should be handled by AI. Anything in

1021
00:56:57.599 --> 00:57:01.199
<v Speaker 3>that context would be really helped for So being able

1022
00:57:01.320 --> 00:57:04.119
<v Speaker 3>to play around with the CSS and see how that

1023
00:57:04.320 --> 00:57:09.000
<v Speaker 3>impacts performance sounds something that that could be really really interesting.

1024
00:57:09.920 --> 00:57:13.840
<v Speaker 4>Yes, absolutely, And there is a lot of value on

1025
00:57:14.079 --> 00:57:18.000
<v Speaker 4>getting you know, knowledge assistance and also automation based on

1026
00:57:18.159 --> 00:57:23.760
<v Speaker 4>on on on things that developers consider either bootstrappy or

1027
00:57:24.000 --> 00:57:27.119
<v Speaker 4>hard to approach, so that there is a good mix

1028
00:57:27.199 --> 00:57:30.599
<v Speaker 4>where we can experiment with and build good experiences around.

1029
00:57:30.639 --> 00:57:33.039
<v Speaker 4>And this is kind of where I'm very curious to

1030
00:57:33.400 --> 00:57:33.920
<v Speaker 4>experiment with.

1031
00:57:34.320 --> 00:57:37.360
<v Speaker 3>So if you're going to be releasing this as an

1032
00:57:37.440 --> 00:57:40.119
<v Speaker 3>open source, where will people be able to find it?

1033
00:57:41.039 --> 00:57:44.760
<v Speaker 4>So within from my ex handle, you have the links,

1034
00:57:44.880 --> 00:57:49.280
<v Speaker 4>it's the live versions is agent dot perf lab dot

1035
00:57:49.440 --> 00:57:52.840
<v Speaker 4>io and that's where you have the agent and then

1036
00:57:53.199 --> 00:57:55.480
<v Speaker 4>perflab dot io is where you have let's say the

1037
00:57:55.559 --> 00:57:58.280
<v Speaker 4>legacy one where it's not legacies live and will be

1038
00:57:58.800 --> 00:58:01.039
<v Speaker 4>but that's the let's say the rest version. The Agents

1039
00:58:01.079 --> 00:58:04.079
<v Speaker 4>is where I'm focusing most of my time nowadays to

1040
00:58:04.639 --> 00:58:07.719
<v Speaker 4>experiment with and the Agent. Both Agent and per Flab

1041
00:58:07.800 --> 00:58:10.679
<v Speaker 4>will be fully open source in the coming weeks, but

1042
00:58:10.760 --> 00:58:13.119
<v Speaker 4>the services are going to still stay up and I

1043
00:58:13.159 --> 00:58:15.280
<v Speaker 4>mean I'm constantly going to be writing about it on

1044
00:58:15.599 --> 00:58:17.679
<v Speaker 4>X and Blue Sky as also. You can always catch

1045
00:58:17.800 --> 00:58:18.599
<v Speaker 4>up there, all right.

1046
00:58:19.119 --> 00:58:21.360
<v Speaker 1>So with that, we are a little over time, so

1047
00:58:21.519 --> 00:58:24.480
<v Speaker 1>we're going to start wrapping things up. So if people

1048
00:58:24.519 --> 00:58:27.719
<v Speaker 1>want to follow you and give you money and give

1049
00:58:27.760 --> 00:58:29.840
<v Speaker 1>you accolades and all those kinds of things, were the

1050
00:58:29.880 --> 00:58:31.239
<v Speaker 1>best places to find you.

1051
00:58:32.199 --> 00:58:37.960
<v Speaker 4>So on X, I am web Twitter. So Twitter is

1052
00:58:38.079 --> 00:58:41.960
<v Speaker 4>t W I t R. So literally that the.

1053
00:58:42.000 --> 00:58:44.159
<v Speaker 2>Web two point oh spelling of Twitter, I think.

1054
00:58:44.639 --> 00:58:47.679
<v Speaker 4>Kind of build right around that.

1055
00:58:48.199 --> 00:58:50.280
<v Speaker 3>You should have changed it to WebEx or something.

1056
00:58:50.880 --> 00:58:54.000
<v Speaker 4>I tried. I try to use WebEx because by the

1057
00:58:54.119 --> 00:58:56.440
<v Speaker 4>time I built, like I got my Twitter account, I

1058
00:58:56.639 --> 00:58:59.840
<v Speaker 4>used WebEx everywhere. But WebEx was taken already. So that's why.

1059
00:59:01.519 --> 00:59:04.360
<v Speaker 3>Water there's a company called WebEx.

1060
00:59:04.440 --> 00:59:06.599
<v Speaker 2>I think exactly think there is that sounded familiar as

1061
00:59:06.599 --> 00:59:07.280
<v Speaker 2>soon as you said that.

1062
00:59:07.440 --> 00:59:11.800
<v Speaker 4>So yeah, so so yeah, web web Twitter, t W

1063
00:59:12.039 --> 00:59:15.960
<v Speaker 4>I t R on X and on Blue Sky, I

1064
00:59:16.119 --> 00:59:22.599
<v Speaker 4>am web x at top blue Sky. In consistencies, maybe

1065
00:59:22.639 --> 00:59:25.159
<v Speaker 4>maybe I should try to find some new personal branding

1066
00:59:27.119 --> 00:59:30.360
<v Speaker 4>to to try and like consolidate to this name.

1067
00:59:30.400 --> 00:59:33.880
<v Speaker 3>Look at Italian Roberts who stuck with CSS Wizardry Harry.

1068
00:59:34.079 --> 00:59:37.280
<v Speaker 4>Harry is very fortunate to have one one consistent naming

1069
00:59:37.440 --> 00:59:41.480
<v Speaker 4>everyone every socials. What a legend. But yeah, so you

1070
00:59:41.599 --> 00:59:43.239
<v Speaker 4>can find me, I mean if I believe, if you

1071
00:59:43.800 --> 00:59:46.320
<v Speaker 4>look it up for Venetius de Laqua on Twitter or

1072
00:59:46.920 --> 00:59:49.960
<v Speaker 4>Blue Sky, there will be very little. It's fingers crossed.

1073
00:59:50.000 --> 00:59:52.960
<v Speaker 4>It's not so such a common name. I think that's right.

1074
00:59:53.079 --> 00:59:55.840
<v Speaker 1>Well, you have an interesting combination. I think beforehand you

1075
00:59:55.920 --> 00:59:58.199
<v Speaker 1>were telling us the name of Italian. So you're Brazilian

1076
00:59:58.239 --> 00:59:59.840
<v Speaker 1>with an Italian name, swe.

1077
01:00:00.159 --> 01:00:04.440
<v Speaker 4>Name exactly married to a British woman.

1078
01:00:05.000 --> 01:00:09.639
<v Speaker 1>Oh wow, that's four levels of four level journalism, right, yeah, exactly.

1079
01:00:10.880 --> 01:00:11.320
<v Speaker 2>Already.

1080
01:00:11.519 --> 01:00:13.519
<v Speaker 1>So with that will move to picks picture, the part

1081
01:00:13.559 --> 01:00:16.280
<v Speaker 1>of the show where we can talk about anything we

1082
01:00:16.400 --> 01:00:20.519
<v Speaker 1>want within reason that doesn't get us fined, and tech

1083
01:00:20.559 --> 01:00:23.639
<v Speaker 1>are non tech related, Chuck sunt here. So we probably

1084
01:00:23.679 --> 01:00:26.639
<v Speaker 1>will not get our board game fixed this weekend, but uh,

1085
01:00:27.119 --> 01:00:29.719
<v Speaker 1>never fear. He will be back next week. He's celebrating

1086
01:00:29.760 --> 01:00:31.559
<v Speaker 1>his twentieth wedding anniversary.

1087
01:00:31.119 --> 01:00:31.679
<v Speaker 4>With his wife. This.

1088
01:00:31.800 --> 01:00:35.719
<v Speaker 2>Wow, so that's why he's not here.

1089
01:00:35.960 --> 01:00:38.800
<v Speaker 1>I'll start My picks are generally the at least I

1090
01:00:38.840 --> 01:00:41.840
<v Speaker 1>consider him the high point of any episode with dad jokes.

1091
01:00:41.920 --> 01:00:43.760
<v Speaker 1>But before I get to the dad jokes of the week,

1092
01:00:43.880 --> 01:00:48.000
<v Speaker 1>I'll pick a couple interesting posts that I saw today

1093
01:00:48.079 --> 01:00:51.039
<v Speaker 1>on Hacker News, and in light of the conversation we

1094
01:00:51.159 --> 01:00:53.559
<v Speaker 1>just had about AI cloud Flare, which we know is

1095
01:00:53.599 --> 01:00:55.559
<v Speaker 1>a tool that a lot a lot of people use

1096
01:00:55.639 --> 01:00:58.000
<v Speaker 1>for deploying apps, or for shielding or you know, for

1097
01:00:58.079 --> 01:01:00.480
<v Speaker 1>any number of services they are inducing.

1098
01:01:00.559 --> 01:01:01.960
<v Speaker 2>This is an article in the New York Times.

1099
01:01:02.039 --> 01:01:06.440
<v Speaker 1>They're introducing a default blocking of AI data scrapers. One

1100
01:01:06.480 --> 01:01:09.760
<v Speaker 1>of the uses, Yeah, one of the uses of AI,

1101
01:01:09.840 --> 01:01:12.280
<v Speaker 1>obviously is setting a tool to go out and beat

1102
01:01:12.320 --> 01:01:14.360
<v Speaker 1>the crap out of websites and get all their data off.

1103
01:01:14.480 --> 01:01:17.760
<v Speaker 1>And websites don't like that so much, so they're providing

1104
01:01:17.840 --> 01:01:21.920
<v Speaker 1>that option. Also is Figma, you know, which is a

1105
01:01:22.360 --> 01:01:26.400
<v Speaker 1>very very popular tool for design and any number of things.

1106
01:01:27.079 --> 01:01:29.679
<v Speaker 1>They had a I don't remember the reason for why

1107
01:01:29.719 --> 01:01:32.000
<v Speaker 1>it failed, Dan, Maybe you can refresh my memory where

1108
01:01:32.000 --> 01:01:33.679
<v Speaker 1>they were going to get bought by Adobe and then

1109
01:01:33.719 --> 01:01:34.320
<v Speaker 1>it fell apart.

1110
01:01:34.840 --> 01:01:37.000
<v Speaker 4>Yeah, because of the DOJ.

1111
01:01:37.480 --> 01:01:38.800
<v Speaker 2>There's anti trust, right.

1112
01:01:38.920 --> 01:01:41.559
<v Speaker 4>And they trust some monopoly or something along these lines.

1113
01:01:41.920 --> 01:01:44.719
<v Speaker 2>Right, So they are filing for an IPO.

1114
01:01:45.559 --> 01:01:47.760
<v Speaker 1>They are going to go public and trying to make

1115
01:01:47.800 --> 01:01:49.840
<v Speaker 1>up for the nine million dollars they didn't get from

1116
01:01:49.840 --> 01:01:52.480
<v Speaker 1>Adobe and get money this way. Interesting to see how

1117
01:01:52.519 --> 01:01:55.159
<v Speaker 1>that goes. And now to the dad jokes of the week.

1118
01:01:55.400 --> 01:01:57.599
<v Speaker 1>So let me see where was they at. Oh yeah,

1119
01:01:57.639 --> 01:01:59.440
<v Speaker 1>the other day, this is what not to do if

1120
01:01:59.480 --> 01:02:03.360
<v Speaker 1>you're married. My wife said, for our anniversary, she wanted

1121
01:02:03.599 --> 01:02:05.119
<v Speaker 1>wanted me to take her to one of those restaurants

1122
01:02:05.159 --> 01:02:06.559
<v Speaker 1>where they make all the food in front of you.

1123
01:02:06.639 --> 01:02:08.400
<v Speaker 1>You know, it's really good, and you got the chef

1124
01:02:08.480 --> 01:02:10.800
<v Speaker 1>right there and everything. I said, sure, so I took

1125
01:02:10.840 --> 01:02:11.480
<v Speaker 1>her to Subway.

1126
01:02:13.719 --> 01:02:13.840
<v Speaker 4>Right.

1127
01:02:14.000 --> 01:02:16.000
<v Speaker 1>Subway is a sub sandwich shop where they make it

1128
01:02:16.159 --> 01:02:17.599
<v Speaker 1>right in front of you. If you're not aware of that,

1129
01:02:20.480 --> 01:02:23.280
<v Speaker 1>here's a conversation, the devil saying, this is the lake

1130
01:02:23.320 --> 01:02:26.239
<v Speaker 1>of Lava. You will be spending eternity in me. Actually,

1131
01:02:26.320 --> 01:02:29.320
<v Speaker 1>since we're underground, that would be Magma. Devil says, you

1132
01:02:29.519 --> 01:02:31.639
<v Speaker 1>do understand this is why you're here, right right?

1133
01:02:32.119 --> 01:02:32.360
<v Speaker 4>Yeah?

1134
01:02:33.079 --> 01:02:37.480
<v Speaker 1>And then for you Leslie Nielsen fans. He was amazing median.

1135
01:02:38.599 --> 01:02:40.280
<v Speaker 1>I went to the doctor and the doctor told me

1136
01:02:40.400 --> 01:02:43.159
<v Speaker 1>you have cancer, but we can treat it. I said,

1137
01:02:43.199 --> 01:02:45.400
<v Speaker 1>what's the cure? He says, The cure is a British

1138
01:02:45.440 --> 01:02:47.360
<v Speaker 1>rock band fronted by Robert Smith. But let's try to

1139
01:02:47.400 --> 01:02:48.000
<v Speaker 1>stay focused.

1140
01:02:48.280 --> 01:02:53.639
<v Speaker 3>Yeah, anybody who's ever seen the movie Airplane, Airplane, it's

1141
01:02:53.719 --> 01:02:55.000
<v Speaker 3>full of these types of joke.

1142
01:02:55.679 --> 01:02:56.159
<v Speaker 2>Hospital.

1143
01:02:57.079 --> 01:02:59.280
<v Speaker 1>That's a large building with lots of patients, But that's

1144
01:02:59.360 --> 01:03:03.119
<v Speaker 1>not important exactly, Dan, What do you got?

1145
01:03:03.159 --> 01:03:03.840
<v Speaker 4>Four us picks?

1146
01:03:04.119 --> 01:03:07.000
<v Speaker 3>Not so much in the way of picks I mentioned before.

1147
01:03:07.159 --> 01:03:09.360
<v Speaker 3>Happy to say that at least the war with Iran

1148
01:03:09.679 --> 01:03:12.599
<v Speaker 3>seems to be over, at least for now. Hopefully the

1149
01:03:12.719 --> 01:03:17.480
<v Speaker 3>other wars that we're currently experiencing will be ending soon

1150
01:03:17.559 --> 01:03:19.360
<v Speaker 3>and not soon enough, we will see.

1151
01:03:19.559 --> 01:03:20.880
<v Speaker 4>But those are not my picks.

1152
01:03:21.079 --> 01:03:26.920
<v Speaker 3>So I obviously have opinions on politics, geopolitics and stuff

1153
01:03:26.960 --> 01:03:30.000
<v Speaker 3>like that. I don't share them on the podcast. Obviously

1154
01:03:30.239 --> 01:03:33.519
<v Speaker 3>I don't share them on X so much either, because X,

1155
01:03:34.360 --> 01:03:38.199
<v Speaker 3>from my perspective, is intended for more of the technical

1156
01:03:38.320 --> 01:03:41.760
<v Speaker 3>aspects of what I'm involved in. But if anybody is

1157
01:03:41.880 --> 01:03:48.079
<v Speaker 3>interested in my views on like I said, politics, geopolitics, diplomacy, war, whatever,

1158
01:03:48.679 --> 01:03:51.840
<v Speaker 3>all the soft stuff, also some tech stuff, but also

1159
01:03:51.880 --> 01:03:54.440
<v Speaker 3>a lot of the soft stuff. You can find that

1160
01:03:54.719 --> 01:03:59.679
<v Speaker 3>on Quora, where I post as I don't put up questions.

1161
01:04:00.039 --> 01:04:02.760
<v Speaker 3>Don't think I've ever actually put up a question, but

1162
01:04:02.920 --> 01:04:06.039
<v Speaker 3>I do post a lot of answers, and I've actually

1163
01:04:06.239 --> 01:04:09.679
<v Speaker 3>gotten a lot of views. So I've got over the years,

1164
01:04:09.760 --> 01:04:13.239
<v Speaker 3>I've gotten over six million views. I've been a top

1165
01:04:13.320 --> 01:04:17.199
<v Speaker 3>writer on several occasions and on several topics and in general.

1166
01:04:17.840 --> 01:04:20.599
<v Speaker 3>So if anybody is interested in that part of my life,

1167
01:04:20.840 --> 01:04:24.000
<v Speaker 3>just going to Quora and search for Dan Shapier and

1168
01:04:25.400 --> 01:04:27.760
<v Speaker 3>and see what I think, and see if it matches

1169
01:04:27.840 --> 01:04:32.000
<v Speaker 3>your opinions on stuff. All good, whether you agree or disagree.

1170
01:04:32.400 --> 01:04:32.960
<v Speaker 2>That's interesting.

1171
01:04:33.000 --> 01:04:34.880
<v Speaker 1>I can remember Quora being a thing way back. I

1172
01:04:34.920 --> 01:04:36.800
<v Speaker 1>didn't know it was still a thing to be understand.

1173
01:04:39.000 --> 01:04:43.880
<v Speaker 3>I don't don't stalk, you know, but I do get

1174
01:04:44.519 --> 01:04:47.639
<v Speaker 3>tens of thousands of views there on a weekly basis,

1175
01:04:47.760 --> 01:04:51.599
<v Speaker 3>so apparently people are still using it. I actually also

1176
01:04:51.760 --> 01:04:55.719
<v Speaker 3>think that AI agents use it a lot because it's

1177
01:04:55.920 --> 01:05:02.400
<v Speaker 3>it's information that's easily accessible and usable and rankable by

1178
01:05:02.760 --> 01:05:07.840
<v Speaker 3>by the various AI tools. So so like Wikipedia, it's

1179
01:05:07.840 --> 01:05:10.400
<v Speaker 3>a source of information for a lot of these agents.

1180
01:05:10.960 --> 01:05:14.360
<v Speaker 4>Mmm. Interesting, but anyway, be that is it made. That's

1181
01:05:14.440 --> 01:05:15.320
<v Speaker 4>my pick for today.

1182
01:05:16.000 --> 01:05:19.119
<v Speaker 1>Alrighty, and finally will save the best for last, Benicias,

1183
01:05:19.119 --> 01:05:20.119
<v Speaker 1>you got any picks for us?

1184
01:05:20.400 --> 01:05:23.960
<v Speaker 4>Yes, so set up a couple of times their focus

1185
01:05:24.239 --> 01:05:27.519
<v Speaker 4>from from Polking and really good reader for trying to

1186
01:05:27.800 --> 01:05:30.679
<v Speaker 4>wrap her head around you know this higher level concepts,

1187
01:05:30.920 --> 01:05:33.840
<v Speaker 4>how the platform can play or has played this this

1188
01:05:33.960 --> 01:05:37.280
<v Speaker 4>long game. It's really good information in general, but on

1189
01:05:37.840 --> 01:05:41.320
<v Speaker 4>a non technical one. For tomorrow, we're actually going to

1190
01:05:41.360 --> 01:05:45.400
<v Speaker 4>have the second season of Sandman on Netflix. As avid

1191
01:05:45.519 --> 01:05:49.239
<v Speaker 4>reader of the graphic novel and someone who really enjoys

1192
01:05:49.280 --> 01:05:51.400
<v Speaker 4>season one, I'm looking forward to that big time.

1193
01:05:51.599 --> 01:05:52.039
<v Speaker 2>Sandman.

1194
01:05:52.119 --> 01:05:53.400
<v Speaker 4>Yeah, Sandman.

1195
01:05:54.239 --> 01:05:57.679
<v Speaker 3>Sand Despite new game means fall from grace, It's still

1196
01:05:57.800 --> 01:06:03.079
<v Speaker 3>considered a very good read. It's a brilliant breed separating

1197
01:06:03.320 --> 01:06:05.320
<v Speaker 3>the artists from the art as it were.

1198
01:06:05.920 --> 01:06:08.280
<v Speaker 4>Yeah, yeah, well, Sunman is a brilliant read. The show

1199
01:06:08.440 --> 01:06:10.119
<v Speaker 4>is really really good as well, the season one and

1200
01:06:10.199 --> 01:06:12.039
<v Speaker 4>season two. It's coming up soon, so I'm looking forward

1201
01:06:12.039 --> 01:06:12.199
<v Speaker 4>to that.

1202
01:06:13.239 --> 01:06:16.159
<v Speaker 3>Yeah, season one was good. I enjoyed season one.

1203
01:06:17.000 --> 01:06:20.119
<v Speaker 1>Yeah alrighty, So with that we will wrap up this

1204
01:06:20.360 --> 01:06:23.840
<v Speaker 1>episode of JavaScript Jabber. Thank you to Vinicius for joining

1205
01:06:23.920 --> 01:06:27.760
<v Speaker 1>us from Stockholm. My pleasure and hopefully we feat your

1206
01:06:27.840 --> 01:06:30.079
<v Speaker 1>interest in AI and dev tools, which I have to

1207
01:06:30.119 --> 01:06:32.679
<v Speaker 1>admit was a combination I had not a lot of

1208
01:06:32.719 --> 01:06:35.519
<v Speaker 1>before today. Thanks Dan for joining us and we will

1209
01:06:35.599 --> 01:06:37.480
<v Speaker 1>talk at you next time on JavaScript Jabber.

1210
01:06:38.360 --> 01:06:39.599
<v Speaker 4>Bye Nebe
