WEBVTT

1
00:00:05.360 --> 00:00:09.080
<v Speaker 1>Hey, welcome back to another episode of JavaScript Jabber.

2
00:00:09.359 --> 00:00:10.880
<v Speaker 2>This week, on our panel, we have Dan.

3
00:00:10.720 --> 00:00:15.359
<v Speaker 3>Shapier, Hello from Tel Aviv, which is actually cold, even

4
00:00:15.400 --> 00:00:17.719
<v Speaker 3>though it's probably pretty warm by your standards.

5
00:00:18.320 --> 00:00:19.120
<v Speaker 2>He says cold.

6
00:00:19.120 --> 00:00:21.559
<v Speaker 1>It is below freezing here, or at least was this morning.

7
00:00:22.000 --> 00:00:23.879
<v Speaker 1>And we also have a j O'Neill.

8
00:00:24.800 --> 00:00:27.160
<v Speaker 4>Yo ya yo coming at you live from the wonderful,

9
00:00:27.160 --> 00:00:28.000
<v Speaker 4>wonderful shed.

10
00:00:30.359 --> 00:00:32.799
<v Speaker 2>I'm Charles Maxwood from Top End Devs. I am jealous

11
00:00:32.799 --> 00:00:33.719
<v Speaker 2>of your shed.

12
00:00:34.240 --> 00:00:36.000
<v Speaker 1>We have a special guest this week, and that is

13
00:00:36.119 --> 00:00:37.840
<v Speaker 1>Avishai is Shalom.

14
00:00:38.079 --> 00:00:40.000
<v Speaker 2>I hope I got close on that. I'm sorry if

15
00:00:40.000 --> 00:00:48.119
<v Speaker 2>I didn't. So yeah, I've thought very deeply about putting

16
00:00:48.159 --> 00:00:49.399
<v Speaker 2>something like that in the back of my house.

17
00:00:50.399 --> 00:00:54.479
<v Speaker 1>Anyway, Dan, you invited Avishai here, and it seems like

18
00:00:54.640 --> 00:00:57.439
<v Speaker 1>you know each other pretty well. So do you want

19
00:00:57.479 --> 00:01:00.439
<v Speaker 1>to introduce him and then he can fill in the

20
00:01:00.479 --> 00:01:01.600
<v Speaker 1>gaps for us?

21
00:01:01.920 --> 00:01:06.480
<v Speaker 3>Yeah, well I do. I've known a Vishai for a while.

22
00:01:06.920 --> 00:01:10.200
<v Speaker 3>I think we work together at Wicks a long time ago.

23
00:01:10.480 --> 00:01:13.959
<v Speaker 3>Correct me if I'm wrong. And I've wanted to have

24
00:01:14.000 --> 00:01:16.079
<v Speaker 3>a visha on or show for a while now, and

25
00:01:16.120 --> 00:01:19.480
<v Speaker 3>I'm glad that he's finally able to join us. The

26
00:01:19.599 --> 00:01:23.959
<v Speaker 3>reason for this is that, similarly to Tomer Gabel, we

27
00:01:24.040 --> 00:01:26.519
<v Speaker 3>had on the show a few weeks so good. Yeah,

28
00:01:26.599 --> 00:01:28.719
<v Speaker 3>yes he was, We had him on the show a

29
00:01:28.719 --> 00:01:33.040
<v Speaker 3>few weeks ago, so similar to him, Avishai is one

30
00:01:33.079 --> 00:01:36.920
<v Speaker 3>of those people who when I communicate with often it

31
00:01:37.000 --> 00:01:40.400
<v Speaker 3>forces me to rethink or even reconsider some of my

32
00:01:40.480 --> 00:01:45.599
<v Speaker 3>technological assumptions and even core beliefs. Things that I hold

33
00:01:45.680 --> 00:01:49.640
<v Speaker 3>to be obviously true suddenly don't seem so true anymore

34
00:01:50.239 --> 00:01:55.560
<v Speaker 3>thanks to Avishai. And you know, it doesn't happen every day,

35
00:01:55.760 --> 00:01:59.239
<v Speaker 3>but it does happen, and I have to say that

36
00:02:00.079 --> 00:02:04.519
<v Speaker 3>to be honest, this isn't always a comfortable experience. You know,

37
00:02:04.640 --> 00:02:08.080
<v Speaker 3>we as people, as humans, we dislike having our viewpoints

38
00:02:08.159 --> 00:02:12.400
<v Speaker 3>challenged in such ways. Even as engineers, we tend to

39
00:02:12.439 --> 00:02:17.199
<v Speaker 3>be creatures of habit. You know, what we use, what

40
00:02:17.240 --> 00:02:19.479
<v Speaker 3>we like to do, we continue doing the same thing,

41
00:02:19.560 --> 00:02:22.840
<v Speaker 3>and you know, we prefer to stay the course as

42
00:02:22.879 --> 00:02:27.919
<v Speaker 3>it were. We prefer complacency over disruption, even when we,

43
00:02:28.240 --> 00:02:32.599
<v Speaker 3>you know, proclaim otherwise. But I think it's really important

44
00:02:32.599 --> 00:02:36.000
<v Speaker 3>for us to go through such experiences because that's how

45
00:02:36.039 --> 00:02:40.400
<v Speaker 3>we grow. And when you have some such interactions, you know,

46
00:02:40.639 --> 00:02:43.840
<v Speaker 3>you grow or the other party grows, or ideally you

47
00:02:43.960 --> 00:02:48.280
<v Speaker 3>both grow as a result of such engagements. Now, I

48
00:02:48.400 --> 00:02:51.520
<v Speaker 3>recently learned that a few of our guests that we

49
00:02:51.599 --> 00:02:54.919
<v Speaker 3>had on the show apparently did not have a good time,

50
00:02:56.159 --> 00:03:00.360
<v Speaker 3>and that's really unfortunate. They felt a bit put upon

51
00:03:00.560 --> 00:03:04.000
<v Speaker 3>when we ask them questions that require them to justify

52
00:03:04.159 --> 00:03:08.800
<v Speaker 3>technical decisions that they made, and when we presented alternatives

53
00:03:08.840 --> 00:03:11.919
<v Speaker 3>to solutions they came up with, they felt that, like,

54
00:03:12.080 --> 00:03:16.000
<v Speaker 3>you know, we were kind of attacking them. Obviously, we

55
00:03:16.039 --> 00:03:18.719
<v Speaker 3>want our guests to have a great time, and I

56
00:03:18.800 --> 00:03:22.800
<v Speaker 3>think that most of them definitely do, and I hope

57
00:03:22.840 --> 00:03:24.960
<v Speaker 3>Avisha that you will have a good time as well,

58
00:03:25.639 --> 00:03:29.520
<v Speaker 3>we will say, but more importantly than that, we want

59
00:03:29.560 --> 00:03:33.479
<v Speaker 3>our audience to gain actual value from the show. We

60
00:03:33.560 --> 00:03:37.719
<v Speaker 3>want our audience to learn something that actually benefits them

61
00:03:37.879 --> 00:03:43.560
<v Speaker 3>in their career as engineers. And sometimes that requires, you know,

62
00:03:44.800 --> 00:03:49.719
<v Speaker 3>asking harder questions, challenging our guests on those decisions that

63
00:03:49.759 --> 00:03:53.520
<v Speaker 3>they've made, and if it does make them feel uncomfortable,

64
00:03:53.680 --> 00:03:58.599
<v Speaker 3>well sorry, but not sorry, because it's really a part

65
00:03:58.639 --> 00:04:02.360
<v Speaker 3>of what it is to, you know, on a podcast

66
00:04:02.479 --> 00:04:06.319
<v Speaker 3>such as ours. I guess that there are others where

67
00:04:06.400 --> 00:04:10.360
<v Speaker 3>these things don't happen. You know, fine, I love a

68
00:04:10.360 --> 00:04:14.000
<v Speaker 3>lot of other technical podcasts. You know, we have different emphasies,

69
00:04:14.879 --> 00:04:17.879
<v Speaker 3>but this is how we do things. So you know,

70
00:04:18.279 --> 00:04:21.480
<v Speaker 3>if you want to come on our show, you need

71
00:04:21.519 --> 00:04:25.519
<v Speaker 3>to be ready to answer some tougher questions. It's just

72
00:04:25.639 --> 00:04:28.600
<v Speaker 3>the way that we do do things. And that's what

73
00:04:28.639 --> 00:04:29.439
<v Speaker 3>I wanted to say.

74
00:04:30.399 --> 00:04:32.920
<v Speaker 1>Yeah, I can give an example. You brought up Tomer

75
00:04:33.399 --> 00:04:36.120
<v Speaker 1>Gabble when he was on the show, and you know,

76
00:04:36.319 --> 00:04:38.800
<v Speaker 1>we had a lot of back and forth on like types,

77
00:04:38.959 --> 00:04:43.800
<v Speaker 1>strong types, type systems, and you know, it was funny

78
00:04:43.800 --> 00:04:44.839
<v Speaker 1>because I was thinking about it.

79
00:04:44.839 --> 00:04:46.519
<v Speaker 2>And then I watched the talk because you know.

80
00:04:46.480 --> 00:04:48.800
<v Speaker 1>I live a lot of my programming life in the

81
00:04:48.839 --> 00:04:52.399
<v Speaker 1>Ruby world, and it was a discussion between David Heinemeier

82
00:04:52.439 --> 00:04:57.959
<v Speaker 1>Hansen and Tobias or Toby Luki from from Shopify, and

83
00:04:58.279 --> 00:05:01.560
<v Speaker 1>they were having that same discussion, right, and it was

84
00:05:01.639 --> 00:05:04.800
<v Speaker 1>interesting just to see kind of the trade offs that

85
00:05:04.800 --> 00:05:05.639
<v Speaker 1>they were talking about.

86
00:05:05.720 --> 00:05:07.319
<v Speaker 2>And then I wish that I could go back on

87
00:05:07.360 --> 00:05:08.959
<v Speaker 2>that episode and say, so I.

88
00:05:08.920 --> 00:05:12.519
<v Speaker 1>Think you're right about this and not you know, and right,

89
00:05:12.600 --> 00:05:16.199
<v Speaker 1>and I got better informed about maybe I'm not running

90
00:05:16.240 --> 00:05:18.319
<v Speaker 1>into the things that bring that trade off. And I

91
00:05:18.360 --> 00:05:20.279
<v Speaker 1>think the kinds of questions and back and forth that

92
00:05:20.279 --> 00:05:22.639
<v Speaker 1>you're talking about, Dan are the things that allow us

93
00:05:22.680 --> 00:05:25.879
<v Speaker 1>to clarify that and open it up and go, Okay,

94
00:05:26.439 --> 00:05:28.399
<v Speaker 1>these are the problems you're trying to solve, not these

95
00:05:28.439 --> 00:05:30.959
<v Speaker 1>other ones, or these are the you know, this is

96
00:05:30.959 --> 00:05:33.399
<v Speaker 1>where the trade offs really start to click into place,

97
00:05:33.639 --> 00:05:36.519
<v Speaker 1>because what I find is that it's not always black

98
00:05:36.560 --> 00:05:38.480
<v Speaker 1>and white up and down the board. It may just

99
00:05:38.560 --> 00:05:41.680
<v Speaker 1>be your experience leads you to make this decision where

100
00:05:42.240 --> 00:05:45.279
<v Speaker 1>I'm just not working in a space where that matters,

101
00:05:45.600 --> 00:05:48.040
<v Speaker 1>or maybe I just never considered that I needed to

102
00:05:48.040 --> 00:05:49.720
<v Speaker 1>think about it that way, and you push me to

103
00:05:49.759 --> 00:05:50.439
<v Speaker 1>do better.

104
00:05:50.240 --> 00:05:51.639
<v Speaker 2>So I agree with you.

105
00:05:51.720 --> 00:05:54.480
<v Speaker 1>I think I think some of that you know, back

106
00:05:54.519 --> 00:05:56.759
<v Speaker 1>and forth, and hey, it looks like this solves a

107
00:05:56.839 --> 00:05:59.920
<v Speaker 1>problem better than that. And you know, we're going to

108
00:06:00.079 --> 00:06:03.319
<v Speaker 1>give people the tools to go, oh, yes I need that,

109
00:06:03.519 --> 00:06:06.160
<v Speaker 1>I you know, or no, I'm not quite to the

110
00:06:06.160 --> 00:06:08.040
<v Speaker 1>place where I need that. But then you be thinking

111
00:06:08.040 --> 00:06:10.199
<v Speaker 1>about it as I get there or there, or maybe hey,

112
00:06:10.240 --> 00:06:13.959
<v Speaker 1>you're talking to another group of people that think about

113
00:06:13.959 --> 00:06:15.160
<v Speaker 1>things in a different way than I do.

114
00:06:15.480 --> 00:06:17.360
<v Speaker 2>And all of that is constructive.

115
00:06:20.879 --> 00:06:22.319
<v Speaker 3>Any thoughts of you shine.

116
00:06:23.279 --> 00:06:25.600
<v Speaker 5>But I can tell you that when I'm using static types,

117
00:06:25.800 --> 00:06:29.680
<v Speaker 5>like I'm enjoying myself so much, and I'm like, what

118
00:06:29.759 --> 00:06:32.160
<v Speaker 5>idiot would use dynamic types? And then when I'm using

119
00:06:32.279 --> 00:06:36.439
<v Speaker 5>language that it's me. It's me right way. So when

120
00:06:36.480 --> 00:06:39.519
<v Speaker 5>I'm using a closure it's my favorite language, I'm enjoying

121
00:06:39.560 --> 00:06:41.480
<v Speaker 5>myself so much, and I'm like, what idiot would use

122
00:06:41.519 --> 00:06:46.639
<v Speaker 5>static types? So it's actually like, once you get your

123
00:06:46.680 --> 00:06:50.040
<v Speaker 5>mind into a specific style of programming, it feels very

124
00:06:50.120 --> 00:06:52.399
<v Speaker 5>natural to you. It's very easy to forget all the

125
00:06:52.439 --> 00:06:55.079
<v Speaker 5>advantages at Allstein has so.

126
00:06:58.079 --> 00:06:58.360
<v Speaker 2>Cool.

127
00:06:58.399 --> 00:07:00.879
<v Speaker 1>Well let's talk about marshmallows.

128
00:07:01.680 --> 00:07:03.879
<v Speaker 3>Wait a minute. First of all of Isshai, I said

129
00:07:03.920 --> 00:07:05.959
<v Speaker 3>that we worked together at Wicks. Can can you tell

130
00:07:06.040 --> 00:07:07.399
<v Speaker 3>us a little bit about yourself?

131
00:07:08.319 --> 00:07:12.319
<v Speaker 5>Yes? I can. So I did a lot of wild stuff,

132
00:07:12.319 --> 00:07:16.839
<v Speaker 5>I guess. I started my career as a physicist, not

133
00:07:16.839 --> 00:07:19.160
<v Speaker 5>not really in it, and then at some point I

134
00:07:19.199 --> 00:07:22.079
<v Speaker 5>discovered that I'm more interested in how fast my A

135
00:07:22.120 --> 00:07:25.959
<v Speaker 5>simulations are running more than the actual results. So I

136
00:07:26.040 --> 00:07:30.720
<v Speaker 5>kind of switched into into it. Initially, I went into systems.

137
00:07:31.480 --> 00:07:33.800
<v Speaker 5>I did that for a while, and then I founded

138
00:07:33.839 --> 00:07:36.839
<v Speaker 5>the consulting company and I worked on a lot of

139
00:07:37.000 --> 00:07:41.199
<v Speaker 5>different stuff, a part of lost large scale architecture and

140
00:07:41.360 --> 00:07:47.519
<v Speaker 5>performance stuff and some training of engineers, and at some

141
00:07:47.519 --> 00:07:49.720
<v Speaker 5>point I stumbled into big data. It was like the

142
00:07:49.759 --> 00:07:52.959
<v Speaker 5>big doup hype back in the day. So I spent

143
00:07:53.000 --> 00:07:55.680
<v Speaker 5>about two years, you know, getting people off a dupe

144
00:07:55.800 --> 00:07:59.680
<v Speaker 5>because they didn't have enough data, you know, the whole

145
00:08:00.079 --> 00:08:05.639
<v Speaker 5>data fits in rum thing. And after that I went

146
00:08:05.839 --> 00:08:10.120
<v Speaker 5>to work at Wicks. I did. I had the back

147
00:08:10.199 --> 00:08:14.079
<v Speaker 5>end team at Wicks and from Wiks I went to

148
00:08:14.079 --> 00:08:17.920
<v Speaker 5>work for a VC. That's quite a co change, I guess. Uh.

149
00:08:18.319 --> 00:08:21.120
<v Speaker 5>So I was in in the residents at the Alish VC.

150
00:08:21.279 --> 00:08:24.680
<v Speaker 5>It's one of the prominent vcs in as well. And

151
00:08:25.040 --> 00:08:27.160
<v Speaker 5>after that they went to work for CLDB, which is

152
00:08:27.160 --> 00:08:31.319
<v Speaker 5>a high performance Cassandra clone written C plus plus. Very

153
00:08:31.639 --> 00:08:34.039
<v Speaker 5>unique and interesting thing if you want to talk about that.

154
00:08:35.279 --> 00:08:40.120
<v Speaker 5>And since then I've been an independent of social Now

155
00:08:40.320 --> 00:08:44.120
<v Speaker 5>nowadays I'm mostly working on performance problems and training engineers,

156
00:08:44.120 --> 00:08:47.480
<v Speaker 5>which is my con passion. I think that now that

157
00:08:47.519 --> 00:08:50.440
<v Speaker 5>we have the ai AH, we have a very big

158
00:08:50.480 --> 00:08:53.519
<v Speaker 5>problem because everything's too easy, so you don't actually learn

159
00:08:53.600 --> 00:08:57.440
<v Speaker 5>how stuff works. So the funnel of becoming a senior

160
00:08:57.519 --> 00:09:01.320
<v Speaker 5>from from a junior is now gone. If you think

161
00:09:01.320 --> 00:09:04.360
<v Speaker 5>about network engineers, for example, how did you train to

162
00:09:04.360 --> 00:09:06.480
<v Speaker 5>be a network engineer? Back in the day, you had

163
00:09:06.480 --> 00:09:09.399
<v Speaker 5>your home auto and you played with it, and you

164
00:09:09.480 --> 00:09:12.159
<v Speaker 5>needed to let's say, you know, define the DHP and

165
00:09:12.200 --> 00:09:15.159
<v Speaker 5>the DNS and what stuff and nat if you had

166
00:09:15.360 --> 00:09:20.360
<v Speaker 5>some kind of home auto and you learned doing that. Nowadays,

167
00:09:20.399 --> 00:09:22.720
<v Speaker 5>you just get Google Mesh and you install it and

168
00:09:22.840 --> 00:09:26.240
<v Speaker 5>everything works. So there's no reason if you'd fiddle with

169
00:09:26.279 --> 00:09:29.200
<v Speaker 5>it and actually learned networks. So there's no funnel for

170
00:09:29.559 --> 00:09:32.679
<v Speaker 5>network engineers anymore. So it's a problem I'm trying to

171
00:09:32.679 --> 00:09:33.200
<v Speaker 5>help solve.

172
00:09:35.240 --> 00:09:37.679
<v Speaker 3>You know. I'm thinking about all, you know, all the

173
00:09:37.720 --> 00:09:42.240
<v Speaker 3>American TV shows where you have the father lifting up

174
00:09:42.279 --> 00:09:46.759
<v Speaker 3>the hood of the car and showing their son or

175
00:09:46.840 --> 00:09:50.600
<v Speaker 3>daughter how it actually works, how it runs. And I'm

176
00:09:50.600 --> 00:09:54.679
<v Speaker 3>thinking about all the new electrical cars that's pretty much gone.

177
00:09:56.240 --> 00:09:59.559
<v Speaker 5>Yeah, I had experienced and motorcycles. I had one of

178
00:09:59.600 --> 00:10:04.240
<v Speaker 5>the last motorcycles that still had colpools. And then the

179
00:10:04.320 --> 00:10:09.559
<v Speaker 5>fulling models already have the fuel injections. Fuel injection, yeah, yeah, exactly.

180
00:10:09.600 --> 00:10:13.000
<v Speaker 5>And you can't you can't tune it, you can't fix it.

181
00:10:13.080 --> 00:10:14.399
<v Speaker 3>So the day.

182
00:10:16.000 --> 00:10:20.480
<v Speaker 4>Yeah, I've never heard anyone argue against fuel injection.

183
00:10:21.919 --> 00:10:27.679
<v Speaker 5>I've never but I mean the trade off. Yeah, it's

184
00:10:27.720 --> 00:10:31.159
<v Speaker 5>it's more fuel efficient, it has no performance, it's no reliable.

185
00:10:31.840 --> 00:10:33.879
<v Speaker 5>But the downside is that you don't get to learn

186
00:10:34.120 --> 00:10:36.799
<v Speaker 5>how motorcycles work anymore. You can.

187
00:10:38.399 --> 00:10:39.399
<v Speaker 2>Controlled by the computer.

188
00:10:39.840 --> 00:10:42.559
<v Speaker 5>Yeah, exactly, there's no no.

189
00:10:42.159 --> 00:10:43.840
<v Speaker 2>Mechanical management of it.

190
00:10:45.399 --> 00:10:49.320
<v Speaker 4>That's that's interesting because I so, I just got a motorcycle,

191
00:10:49.399 --> 00:10:51.519
<v Speaker 4>and I'm actually glad that I got one that you know,

192
00:10:51.519 --> 00:10:53.519
<v Speaker 4>I got an old one, so it was cheap, but

193
00:10:53.759 --> 00:10:56.320
<v Speaker 4>it was just new enough that it was fuel injected,

194
00:10:57.120 --> 00:11:00.279
<v Speaker 4>and which motorcycles got fuel injected much later than car did.

195
00:11:00.320 --> 00:11:01.919
<v Speaker 4>I mean a lot of four wheelers I think are

196
00:11:01.919 --> 00:11:05.480
<v Speaker 4>still carbureted. But yeah, I kind of I kind of

197
00:11:05.519 --> 00:11:07.200
<v Speaker 4>felt like I dodged the bullet. I still feel like

198
00:11:07.240 --> 00:11:09.759
<v Speaker 4>I'm learning about it, but I didn't. I didn't have

199
00:11:09.840 --> 00:11:15.519
<v Speaker 4>that sense of understanding the carburetor is is key to

200
00:11:16.080 --> 00:11:22.679
<v Speaker 4>understanding the maintenance of the motorcycle. Set's I'm yeah, I'm really,

201
00:11:22.720 --> 00:11:24.960
<v Speaker 4>I'm really interested that you said that. I'm I have

202
00:11:25.039 --> 00:11:27.039
<v Speaker 4>to sit on that for a minute. I wonder what

203
00:11:27.080 --> 00:11:28.799
<v Speaker 4>you know that I don't know that makes you feel

204
00:11:28.799 --> 00:11:30.000
<v Speaker 4>that way obviously something.

205
00:11:30.639 --> 00:11:33.519
<v Speaker 5>So I'll give you an example. You live in a

206
00:11:33.519 --> 00:11:36.080
<v Speaker 5>colder climate, right, so you need to heat up your

207
00:11:36.120 --> 00:11:39.120
<v Speaker 5>motorcycle for a little while before you start gliding it.

208
00:11:39.600 --> 00:11:42.000
<v Speaker 5>And the reason for that is because of the cowboy

209
00:11:42.039 --> 00:11:47.000
<v Speaker 5>tool and because you actually need heat for the fuel

210
00:11:47.039 --> 00:11:50.480
<v Speaker 5>to spray in, you know, to the mixture. So did

211
00:11:50.480 --> 00:11:52.279
<v Speaker 5>you get you actually get it into the engine and

212
00:11:52.320 --> 00:11:56.159
<v Speaker 5>it blows up? Was with you know, the injection system?

213
00:11:56.240 --> 00:11:58.559
<v Speaker 5>You don't need to do that. The computer text out

214
00:11:58.600 --> 00:12:03.759
<v Speaker 5>of it. So whole like even this bit of thinking

215
00:12:03.799 --> 00:12:05.960
<v Speaker 5>for pausing for a second thinking, Okay, I need to

216
00:12:06.000 --> 00:12:08.720
<v Speaker 5>warm up my car because you know call the climate

217
00:12:09.000 --> 00:12:13.440
<v Speaker 5>fuel mixture that stuff that's gone. You're not even aware

218
00:12:13.440 --> 00:12:14.120
<v Speaker 5>of it anymore.

219
00:12:15.480 --> 00:12:19.159
<v Speaker 4>I so my mine is fuel injected. It's just new

220
00:12:19.240 --> 00:12:22.159
<v Speaker 4>enough to be fuel injected. But it does it does

221
00:12:22.320 --> 00:12:26.519
<v Speaker 4>definitely behave differently like I can tell. Yeah, I do

222
00:12:26.600 --> 00:12:28.200
<v Speaker 4>get a sense of it. But yeah, the four wheeler,

223
00:12:28.200 --> 00:12:30.519
<v Speaker 4>I actually have to actually have to tune the carburetor

224
00:12:30.519 --> 00:12:32.679
<v Speaker 4>of the four wheeler so it'll start in the winter

225
00:12:33.279 --> 00:12:34.720
<v Speaker 4>and not flood in the summer.

226
00:12:37.159 --> 00:12:40.159
<v Speaker 3>I'm still thinking about the fact that you define yourself

227
00:12:40.200 --> 00:12:44.080
<v Speaker 3>as a researcher, and I'm curious what that means and

228
00:12:44.120 --> 00:12:45.759
<v Speaker 3>how that translates to real life.

229
00:12:47.039 --> 00:12:49.720
<v Speaker 5>So a lot of the stuff they do right now

230
00:12:50.039 --> 00:12:52.480
<v Speaker 5>is first of all, a lot of reading, but also

231
00:12:52.480 --> 00:12:57.200
<v Speaker 5>a lot of observing and experimenting. So some of it

232
00:12:57.039 --> 00:13:00.200
<v Speaker 5>is like on how systems work, and some of it

233
00:13:00.240 --> 00:13:04.080
<v Speaker 5>is into models. And I'm saying models specifically because it

234
00:13:04.120 --> 00:13:09.559
<v Speaker 5>relates to how people understand systems. You don't actually understand

235
00:13:09.600 --> 00:13:13.240
<v Speaker 5>a system because you don't actually get to direct experience

236
00:13:13.279 --> 00:13:16.360
<v Speaker 5>the system, and you cannot perceive a system. What you

237
00:13:16.399 --> 00:13:18.480
<v Speaker 5>perceive is a model of the system that you build

238
00:13:18.480 --> 00:13:21.120
<v Speaker 5>inside of your head. And there are some common models

239
00:13:21.200 --> 00:13:23.960
<v Speaker 5>that we all know and they play a very important

240
00:13:23.960 --> 00:13:26.799
<v Speaker 5>part in how we pass the world around us. So

241
00:13:26.960 --> 00:13:30.840
<v Speaker 5>understanding those models, or inventing new models and making them

242
00:13:31.120 --> 00:13:35.200
<v Speaker 5>approachable to people is a very important part of teaching

243
00:13:35.240 --> 00:13:39.440
<v Speaker 5>and also debugging and architecture and all that stuff that

244
00:13:39.480 --> 00:13:44.559
<v Speaker 5>we do. So the research part, some of it is

245
00:13:45.600 --> 00:13:49.799
<v Speaker 5>just going through the field and seeing what is comprehensible

246
00:13:49.840 --> 00:13:52.399
<v Speaker 5>to people and how people pass the world that they

247
00:13:52.440 --> 00:13:54.720
<v Speaker 5>see and how they look at the world that they see.

248
00:13:54.720 --> 00:13:58.679
<v Speaker 5>Because you've viewed the system through dashboards and graphs and

249
00:13:58.720 --> 00:14:02.080
<v Speaker 5>metrics and of course all the tools that you have,

250
00:14:03.519 --> 00:14:08.039
<v Speaker 5>and some of it is learning psychology and learning ecology

251
00:14:08.279 --> 00:14:11.360
<v Speaker 5>and you know, how people think about stuff, how the

252
00:14:11.399 --> 00:14:15.240
<v Speaker 5>brain works, all the cognitive biases that go into play.

253
00:14:15.519 --> 00:14:18.000
<v Speaker 5>And some of it is actually researching the tech stack

254
00:14:18.080 --> 00:14:23.799
<v Speaker 5>because that also informs and kind of conditions the way

255
00:14:23.799 --> 00:14:25.399
<v Speaker 5>that we experience things.

256
00:14:27.840 --> 00:14:30.440
<v Speaker 3>And you're able to make a living doing that. Cool.

257
00:14:32.399 --> 00:14:37.039
<v Speaker 5>Not yet, So I'm doing consulting mostly the performance stuff.

258
00:14:37.120 --> 00:14:40.200
<v Speaker 5>I am giving some workshops, which is starting to get

259
00:14:40.639 --> 00:14:42.639
<v Speaker 5>more and more like a bigger and bigger part of

260
00:14:43.840 --> 00:14:45.639
<v Speaker 5>the work that I do. So at some point, I

261
00:14:45.679 --> 00:14:47.519
<v Speaker 5>guess it will become the main thing that I do.

262
00:14:48.000 --> 00:14:52.440
<v Speaker 5>Hopefully I can make a living just doing that, but

263
00:14:52.480 --> 00:14:53.039
<v Speaker 5>we'll see.

264
00:14:54.279 --> 00:14:57.360
<v Speaker 3>I just wanted to also add that, you know, when

265
00:14:57.399 --> 00:15:00.639
<v Speaker 3>you were speaking about the importance of models, it kind

266
00:15:00.639 --> 00:15:04.240
<v Speaker 3>of also directly translates to the importance of naming things

267
00:15:04.360 --> 00:15:05.759
<v Speaker 3>and naming things properly.

268
00:15:08.120 --> 00:15:10.360
<v Speaker 5>Yeah, because it's just it's not just the name, it's

269
00:15:10.399 --> 00:15:13.320
<v Speaker 5>the name and everything, you know, all the associations that

270
00:15:13.360 --> 00:15:14.120
<v Speaker 5>it tells with it.

271
00:15:15.720 --> 00:15:21.679
<v Speaker 3>I totally agree. So I actually brought you here because

272
00:15:21.759 --> 00:15:24.720
<v Speaker 3>of an I don't know if you know, going back

273
00:15:24.759 --> 00:15:28.399
<v Speaker 3>to my kind of little speech at the beginning because

274
00:15:28.440 --> 00:15:33.639
<v Speaker 3>of this argument we had online about binary protocols versus

275
00:15:33.679 --> 00:15:39.200
<v Speaker 3>sexual protocols. But while preparing I also read or reread

276
00:15:39.240 --> 00:15:41.960
<v Speaker 3>some of the articles that you posted on your excellent

277
00:15:42.039 --> 00:15:47.399
<v Speaker 3>website website, uh and so, and there were two the

278
00:15:47.480 --> 00:15:50.559
<v Speaker 3>latest two posts. They're kind of caught my eye. One

279
00:15:50.600 --> 00:15:54.960
<v Speaker 3>of them is titled Don't Paint the Roses and the

280
00:15:55.000 --> 00:15:59.000
<v Speaker 3>other is titled the Marshmallow Effect. And I definitely want

281
00:15:59.039 --> 00:16:01.279
<v Speaker 3>to talk about these as well. So I'll leave it

282
00:16:01.360 --> 00:16:03.879
<v Speaker 3>up to you which which one of those three you

283
00:16:03.919 --> 00:16:04.639
<v Speaker 3>want to start with.

284
00:16:05.840 --> 00:16:08.320
<v Speaker 5>I'm cool with those all of them, but let's talk

285
00:16:08.320 --> 00:16:11.360
<v Speaker 5>about text and binary protocols for a second.

286
00:16:11.480 --> 00:16:12.440
<v Speaker 3>Okay for sure.

287
00:16:13.000 --> 00:16:16.879
<v Speaker 5>It's also like it ties very nicely into the other topics.

288
00:16:17.320 --> 00:16:22.320
<v Speaker 5>So actually, one of the points that I want make

289
00:16:22.440 --> 00:16:24.519
<v Speaker 5>is that there is no such thing as a text protocol.

290
00:16:25.879 --> 00:16:27.840
<v Speaker 3>You kind of stole the one of what I wanted

291
00:16:27.840 --> 00:16:30.600
<v Speaker 3>to say. I basically wanted to say that if you

292
00:16:30.679 --> 00:16:34.960
<v Speaker 3>go down low enough in the stack, everything is binary.

293
00:16:35.000 --> 00:16:36.879
<v Speaker 3>It's at the end of the day, it's bits over

294
00:16:36.919 --> 00:16:42.399
<v Speaker 3>the wire, so obviously it's it's binary. And you know,

295
00:16:42.679 --> 00:16:47.279
<v Speaker 3>you encrypt things, you compress things, so so obviously that

296
00:16:47.320 --> 00:16:52.000
<v Speaker 3>turns them into binary data. But I was more thinking

297
00:16:52.039 --> 00:16:55.200
<v Speaker 3>about the applicative layer. So I was making the argument

298
00:16:55.279 --> 00:16:59.159
<v Speaker 3>that at the applicative layer, in a lot of cases,

299
00:16:59.320 --> 00:17:01.759
<v Speaker 3>not always, but in a lot of cases, there are

300
00:17:01.840 --> 00:17:07.039
<v Speaker 3>benefits to text based protocols, for example, protocols that send

301
00:17:07.960 --> 00:17:13.759
<v Speaker 3>JSON or XML or god forbid or or HTTP over

302
00:17:13.799 --> 00:17:18.279
<v Speaker 3>the wire. And from my understanding, you were making the

303
00:17:18.440 --> 00:17:23.559
<v Speaker 3>argument that in most cases, a binary protocol is what

304
00:17:23.599 --> 00:17:24.119
<v Speaker 3>you prefer.

305
00:17:25.279 --> 00:17:28.640
<v Speaker 5>So that's one that's part of it. But I think

306
00:17:28.680 --> 00:17:32.599
<v Speaker 5>that the problem with this discussion is that it's about,

307
00:17:33.200 --> 00:17:35.880
<v Speaker 5>you know, the civilization and the protocol itself, and it

308
00:17:35.960 --> 00:17:40.200
<v Speaker 5>ignoes the larger context of how we write software, you know,

309
00:17:40.279 --> 00:17:42.079
<v Speaker 5>when we have a sort of protocol. And I'll give

310
00:17:42.119 --> 00:17:45.839
<v Speaker 5>you an example of what I mean. So Jason, for example,

311
00:17:46.200 --> 00:17:52.240
<v Speaker 5>doesn't actually specify what the size of an integer is, okay,

312
00:17:52.359 --> 00:17:55.680
<v Speaker 5>or what the actual precision of the float is. And

313
00:17:56.279 --> 00:17:58.519
<v Speaker 5>and they kind of fixed it in the following out

314
00:17:58.519 --> 00:18:01.599
<v Speaker 5>of seas, but not all implements, of course, adhere to it.

315
00:18:02.880 --> 00:18:08.079
<v Speaker 5>But the thing about this is that if you convert

316
00:18:08.240 --> 00:18:12.039
<v Speaker 5>to a binyl protocol corpor binyl protocol, it takes much

317
00:18:12.119 --> 00:18:16.279
<v Speaker 5>less and much more like bytes, much more verbals in

318
00:18:16.319 --> 00:18:19.160
<v Speaker 5>how it in codes things. So a specific number, for example,

319
00:18:19.160 --> 00:18:22.640
<v Speaker 5>if you basically you have one byte per digit, so

320
00:18:22.799 --> 00:18:26.559
<v Speaker 5>very large number actually takes a lot of space, which

321
00:18:26.599 --> 00:18:28.960
<v Speaker 5>means it has a lot of facts. But it means

322
00:18:29.039 --> 00:18:31.880
<v Speaker 5>that when you're writing software you would not use the

323
00:18:31.880 --> 00:18:38.000
<v Speaker 5>same precision because of this. So the protocol actually affects

324
00:18:38.039 --> 00:18:41.079
<v Speaker 5>how you write the code. And we have a lot

325
00:18:41.119 --> 00:18:44.799
<v Speaker 5>of code that is written under the you know, assuming

326
00:18:44.839 --> 00:18:47.480
<v Speaker 5>that you're going to use certain protocol, and because of it,

327
00:18:47.480 --> 00:18:50.960
<v Speaker 5>it's written differently. You're not actually using the same position,

328
00:18:51.079 --> 00:18:53.039
<v Speaker 5>you're not actually using the same data types, you're not

329
00:18:53.079 --> 00:18:56.200
<v Speaker 5>actually actually writing the same software that you would otherwise.

330
00:18:56.920 --> 00:19:00.119
<v Speaker 5>So even if the efficiency of binary protocols would be

331
00:19:00.160 --> 00:19:03.680
<v Speaker 5>the same, and it's not, you would so profell to

332
00:19:03.720 --> 00:19:06.640
<v Speaker 5>have them because of because it allows you to write

333
00:19:06.640 --> 00:19:10.319
<v Speaker 5>better software. And that's an angle that is not often

334
00:19:10.359 --> 00:19:14.960
<v Speaker 5>discussed when you're talking about protocols. And just to clarify

335
00:19:15.000 --> 00:19:19.160
<v Speaker 5>this example more, think about what happens if you want

336
00:19:19.240 --> 00:19:23.160
<v Speaker 5>to do a denial of service attack against you know,

337
00:19:23.200 --> 00:19:27.440
<v Speaker 5>some server that accept Jason XML, you actually have to

338
00:19:27.480 --> 00:19:31.160
<v Speaker 5>lead the entire Jason before you understand that the message

339
00:19:31.279 --> 00:19:34.240
<v Speaker 5>is done. So you have to have very large buffles

340
00:19:35.799 --> 00:19:37.920
<v Speaker 5>just in case, you know, someone actually decides to send

341
00:19:37.960 --> 00:19:42.039
<v Speaker 5>you know, like eight megabytes of Jason. And if I

342
00:19:42.160 --> 00:19:44.720
<v Speaker 5>send a very large and very deep Jason to you,

343
00:19:45.319 --> 00:19:48.599
<v Speaker 5>I can very easily do like denial of service attack

344
00:19:48.759 --> 00:19:51.920
<v Speaker 5>against parser. Well as in YO protocol, most of them

345
00:19:52.200 --> 00:19:55.440
<v Speaker 5>have very strict schemas which allow them to detect no

346
00:19:55.559 --> 00:19:59.759
<v Speaker 5>phone messages very very easily and very early. They don't

347
00:19:59.759 --> 00:20:02.759
<v Speaker 5>actually need to have the entire buffal. Most of them

348
00:20:02.759 --> 00:20:07.599
<v Speaker 5>can also stream, so it makes the website of those

349
00:20:07.759 --> 00:20:12.559
<v Speaker 5>much more efficient, much more, much cheaper, but also immune

350
00:20:12.599 --> 00:20:16.000
<v Speaker 5>to the now service tax. And this guy, you can

351
00:20:16.079 --> 00:20:19.240
<v Speaker 5>actually say this effect in all the text based protocols.

352
00:20:20.599 --> 00:20:25.039
<v Speaker 5>So even if the protocols, you know, they have the

353
00:20:25.039 --> 00:20:28.279
<v Speaker 5>same payload size and they you know, network was the

354
00:20:28.319 --> 00:20:30.839
<v Speaker 5>same and everything else was the same, just because we

355
00:20:30.839 --> 00:20:33.720
<v Speaker 5>can write better software, I would prefer to have banier protocols.

356
00:20:34.720 --> 00:20:37.559
<v Speaker 3>So here's the thing. First of all, I can get

357
00:20:37.599 --> 00:20:42.920
<v Speaker 3>into the technicalities of you know, some of the downsides

358
00:20:42.960 --> 00:20:47.160
<v Speaker 3>that you mentioned, but before that, I want to explain,

359
00:20:47.319 --> 00:20:50.079
<v Speaker 3>like what caused me to say that in many cases

360
00:20:50.119 --> 00:20:54.160
<v Speaker 3>I prefer textual protocols. But first, before that, even I

361
00:20:54.200 --> 00:20:57.319
<v Speaker 3>want to say that obviously there are scenarios where textual

362
00:20:57.519 --> 00:21:01.440
<v Speaker 3>protocols are totally not appropriate yet. So for example, nobody

363
00:21:01.440 --> 00:21:05.920
<v Speaker 3>would send a video stream as the textual protocol, or

364
00:21:06.359 --> 00:21:09.119
<v Speaker 3>even images over the wire. It's probably a bad idea

365
00:21:09.200 --> 00:21:14.119
<v Speaker 3>to send them as textual protocol. And I'll let you

366
00:21:14.920 --> 00:21:17.359
<v Speaker 3>respond in a second age. I just wanted to say

367
00:21:17.759 --> 00:21:22.279
<v Speaker 3>that the two reasons that I wanted to say as

368
00:21:22.400 --> 00:21:27.640
<v Speaker 3>positives for textual protocol before we get into the possibilities

369
00:21:27.680 --> 00:21:30.559
<v Speaker 3>of you know, some of the negatives that you mentioned

370
00:21:31.119 --> 00:21:35.160
<v Speaker 3>is one that it's easily humanly readable, which is significant

371
00:21:35.200 --> 00:21:40.240
<v Speaker 3>benefit for me when I have to work with protocols.

372
00:21:41.480 --> 00:21:45.319
<v Speaker 3>Second is the fact that in many cases I don't

373
00:21:45.359 --> 00:21:49.039
<v Speaker 3>really care. I care that something is a number rather

374
00:21:49.400 --> 00:21:53.000
<v Speaker 3>than exactly how many bits it takes to represent it

375
00:21:53.079 --> 00:21:58.720
<v Speaker 3>in the exact format. And finally is the fact that

376
00:21:58.799 --> 00:22:03.279
<v Speaker 3>you can make text show protocols and binary protocols together,

377
00:22:03.839 --> 00:22:06.839
<v Speaker 3>which can get you the benefit of both worlds.

378
00:22:06.880 --> 00:22:12.119
<v Speaker 4>And now to you aging, So there's there's somewhat of

379
00:22:12.119 --> 00:22:15.359
<v Speaker 4>a snuck premise in what you've said, which is that

380
00:22:15.920 --> 00:22:20.759
<v Speaker 4>me or or a h ah, sorry, there's there's somewhat

381
00:22:20.759 --> 00:22:24.880
<v Speaker 4>of a snuck premise in that you're saying if people

382
00:22:25.000 --> 00:22:30.400
<v Speaker 4>are using text protocols, they're less efficient and they're more

383
00:22:30.519 --> 00:22:38.440
<v Speaker 4>subject to these issues because because of the text protocol itself.

384
00:22:38.640 --> 00:22:42.440
<v Speaker 4>When I'm going to argue that, because of my own experience,

385
00:22:42.480 --> 00:22:45.200
<v Speaker 4>and I imagine you've seen this too, if you gave

386
00:22:45.279 --> 00:22:48.240
<v Speaker 4>someone a binary protocol and it were to become popular,

387
00:22:49.400 --> 00:22:52.160
<v Speaker 4>the binary protocol would have all of the same problems

388
00:22:52.200 --> 00:22:56.039
<v Speaker 4>because the issue with the dialogue, to the denial of service,

389
00:22:56.119 --> 00:23:01.039
<v Speaker 4>not bounds checking, not having a bite limits, to rate limits,

390
00:23:01.519 --> 00:23:06.559
<v Speaker 4>those are engineering issues. They're not protocol issues. They're not

391
00:23:06.759 --> 00:23:11.480
<v Speaker 4>the fault of the data format. Likewise, what goes over

392
00:23:11.519 --> 00:23:15.839
<v Speaker 4>the network is a bit different depending on the size

393
00:23:15.839 --> 00:23:19.640
<v Speaker 4>of message. But we're talking about communication, not binary files.

394
00:23:19.680 --> 00:23:23.200
<v Speaker 4>We're not talking about videos. We're talking about communication. Normally,

395
00:23:23.279 --> 00:23:26.240
<v Speaker 4>those messages are going to fit into a TCP packet,

396
00:23:26.599 --> 00:23:28.960
<v Speaker 4>and if they're not going to fit into a TCP packet,

397
00:23:29.279 --> 00:23:34.720
<v Speaker 4>taking away ten to twenty percent of the brackets embraces

398
00:23:34.960 --> 00:23:40.240
<v Speaker 4>and replacing that with little, little size headers is not

399
00:23:41.119 --> 00:23:45.920
<v Speaker 4>actually going to be what makes the difference in you know,

400
00:23:46.039 --> 00:23:48.519
<v Speaker 4>in the long run of when we're exchanging messages back

401
00:23:48.519 --> 00:23:51.160
<v Speaker 4>and forth. How do we fit them into a TCP packet.

402
00:23:51.160 --> 00:23:54.880
<v Speaker 4>We have to you know, significant like if a person's

403
00:23:54.920 --> 00:23:57.440
<v Speaker 4>typing a paragraph, they're just typing a paragraph, you know

404
00:23:57.839 --> 00:24:01.359
<v Speaker 4>that's going to fit if it's so, there's these other things.

405
00:24:01.359 --> 00:24:04.440
<v Speaker 4>So I don't think that I will agree with you.

406
00:24:04.480 --> 00:24:06.359
<v Speaker 4>There's a lot of benefits to binary protocols, but I

407
00:24:06.359 --> 00:24:08.880
<v Speaker 4>think the examples you you gave are a little bit straw.

408
00:24:08.640 --> 00:24:10.759
<v Speaker 5>Many before.

409
00:24:12.039 --> 00:24:14.640
<v Speaker 3>Avisia, before you respond to that, I think it might

410
00:24:15.079 --> 00:24:18.559
<v Speaker 3>and we will definitely let you respond. I just I

411
00:24:18.599 --> 00:24:23.200
<v Speaker 3>thought it might be worthwhile to provide specific examples of

412
00:24:23.240 --> 00:24:26.440
<v Speaker 3>what we mean by textual protocol and binary protocols because

413
00:24:26.440 --> 00:24:29.440
<v Speaker 3>we're kind of being, you know, talking in theory, so

414
00:24:29.680 --> 00:24:32.559
<v Speaker 3>it might be worthwhile to translate it into actual practice.

415
00:24:32.680 --> 00:24:35.160
<v Speaker 3>So can we give an example of a binary protocol?

416
00:24:35.519 --> 00:24:37.960
<v Speaker 3>And can we give an example of textual protocol? And

417
00:24:38.039 --> 00:24:40.279
<v Speaker 3>maybe if we can give an example of a mix

418
00:24:41.559 --> 00:24:42.319
<v Speaker 3>so a.

419
00:24:42.359 --> 00:24:46.400
<v Speaker 5>Taxi protocol, for example, would be a Jason. Jason is

420
00:24:46.519 --> 00:24:53.119
<v Speaker 5>a soilization format that basically JavaScript notation object plantation. It's

421
00:24:53.160 --> 00:24:57.359
<v Speaker 5>based on JavaScript. It's all value JavaScript, and it encodes

422
00:24:57.519 --> 00:25:04.240
<v Speaker 5>data strings and the arrays and dictionaries and numbers as

423
00:25:04.440 --> 00:25:09.799
<v Speaker 5>ASK or UTF eight characters, whereas a Vinyl protocol would

424
00:25:09.839 --> 00:25:13.599
<v Speaker 5>be something like a proto buff which encodes similar data

425
00:25:14.359 --> 00:25:20.440
<v Speaker 5>in this case with some schema as bytes. So a number,

426
00:25:20.440 --> 00:25:25.119
<v Speaker 5>for example, would be just you know, a bike representation,

427
00:25:25.279 --> 00:25:27.960
<v Speaker 5>which also means that numbers are represented in a much

428
00:25:27.960 --> 00:25:32.720
<v Speaker 5>more efficient way. The number one, for example, would take

429
00:25:33.599 --> 00:25:37.160
<v Speaker 5>just you know, one byte, but also you know eighteen

430
00:25:37.319 --> 00:25:40.839
<v Speaker 5>and twenty five would be also the one byte, whereas

431
00:25:40.839 --> 00:25:45.799
<v Speaker 5>in JavaScript, so in JSON the number twenty six is

432
00:25:45.799 --> 00:25:48.640
<v Speaker 5>two bytes because that's two characters, so it's actually like

433
00:25:48.759 --> 00:25:53.880
<v Speaker 5>the text representation of a number. But h I agree

434
00:25:53.920 --> 00:25:56.519
<v Speaker 5>with you, By the way, I think that the framing

435
00:25:56.559 --> 00:26:00.960
<v Speaker 5>this discussion as textual protocols versus final protocols is wrong

436
00:26:01.000 --> 00:26:06.640
<v Speaker 5>because it's done said. It's all binary over the wire. Really,

437
00:26:06.680 --> 00:26:12.039
<v Speaker 5>the question is the discussion should be specialized protocols versus

438
00:26:12.079 --> 00:26:16.759
<v Speaker 5>general purpose protocols. And we know that it's also mathematically

439
00:26:16.759 --> 00:26:23.279
<v Speaker 5>proven that general purpose protocols or general purpose things are

440
00:26:23.440 --> 00:26:28.039
<v Speaker 5>less efficient across the board well as specialized things are

441
00:26:28.480 --> 00:26:31.559
<v Speaker 5>obviously more efficient in specific use case, but may be

442
00:26:31.680 --> 00:26:35.279
<v Speaker 5>less efficient in other use cases. And this is why

443
00:26:36.160 --> 00:26:40.279
<v Speaker 5>I don't like the disframing of the discussions text versus

444
00:26:40.279 --> 00:26:44.440
<v Speaker 5>everything else. Its text was selected because it's like a

445
00:26:44.519 --> 00:26:49.079
<v Speaker 5>universal representation. It makes very few assumptions about what goes

446
00:26:49.240 --> 00:26:54.599
<v Speaker 5>over of the protocol, and it's based on some premise

447
00:26:54.839 --> 00:26:59.920
<v Speaker 5>which we inherited, which is that we are transmitting textual documents.

448
00:27:00.559 --> 00:27:06.839
<v Speaker 5>And this specific assumption was more or less universal because

449
00:27:06.839 --> 00:27:09.759
<v Speaker 5>when it was invented in the seventies, this is basically

450
00:27:09.759 --> 00:27:13.000
<v Speaker 5>what we sent over the network, textual documents of sorts.

451
00:27:13.519 --> 00:27:15.720
<v Speaker 5>We didn't send images videos back then.

452
00:27:16.480 --> 00:27:19.039
<v Speaker 3>And if I can interrupt you for a second, I

453
00:27:19.079 --> 00:27:22.000
<v Speaker 3>was about to give two more or a few more

454
00:27:22.039 --> 00:27:26.720
<v Speaker 3>examples of such protocols. Exactly. An example of a textual

455
00:27:26.759 --> 00:27:30.720
<v Speaker 3>protocol is in It's exactly the scenario of a document

456
00:27:30.759 --> 00:27:36.079
<v Speaker 3>over the wire. Is sending the HTML document over HTTP.

457
00:27:37.359 --> 00:27:42.920
<v Speaker 3>The HTP headers are textual and the HTTP body, which

458
00:27:42.960 --> 00:27:47.519
<v Speaker 3>is the HTML document, is also textual. On the other hand,

459
00:27:47.559 --> 00:27:52.839
<v Speaker 3>if you're sending an image over HTTP, then then you're

460
00:27:53.119 --> 00:27:56.799
<v Speaker 3>the header remains textual, but the body becomes binary.

461
00:27:57.960 --> 00:27:59.000
<v Speaker 5>This doesn't structure us.

462
00:27:59.039 --> 00:28:05.720
<v Speaker 3>On. Let me tell you a story. I several years back,

463
00:28:05.799 --> 00:28:11.599
<v Speaker 3>I was working on software for a remote access Basically,

464
00:28:12.640 --> 00:28:16.119
<v Speaker 3>it was running a desktop or Windows desktop or Windows

465
00:28:16.119 --> 00:28:21.400
<v Speaker 3>application in a data center, on a server or on

466
00:28:21.440 --> 00:28:26.279
<v Speaker 3>a VM and accessing it remotely using the browser. So

467
00:28:26.319 --> 00:28:32.400
<v Speaker 3>basically replicating a Windows desktop interactively inside the browser. And

468
00:28:34.000 --> 00:28:36.920
<v Speaker 3>you want this to be really responsive, and ideally you

469
00:28:37.000 --> 00:28:39.880
<v Speaker 3>want even to be able to support animations. And you know,

470
00:28:39.960 --> 00:28:42.559
<v Speaker 3>even though I'm talking about something like fifteen years back,

471
00:28:42.920 --> 00:28:48.400
<v Speaker 3>we were able to hit something like ten fps for

472
00:28:48.559 --> 00:28:53.400
<v Speaker 3>videos running on the server being streamed in this way

473
00:28:53.720 --> 00:28:56.880
<v Speaker 3>over web socket to the client to be re drawn

474
00:28:56.960 --> 00:29:03.039
<v Speaker 3>by JavaScript. And we were ending commands and images. So

475
00:29:03.119 --> 00:29:07.359
<v Speaker 3>a command might be, you know, draw an image, but

476
00:29:07.480 --> 00:29:11.680
<v Speaker 3>it might also be draw a line, or play some sound,

477
00:29:12.079 --> 00:29:15.359
<v Speaker 3>or you know, do some various other things that user

478
00:29:15.400 --> 00:29:20.440
<v Speaker 3>interface Windows user interfaces do, and we we mixed, so

479
00:29:20.599 --> 00:29:25.240
<v Speaker 3>the commands were sent as small Jason packets, and the

480
00:29:25.599 --> 00:29:29.119
<v Speaker 3>images and audio and stuff like that they were sented

481
00:29:29.200 --> 00:29:34.799
<v Speaker 3>as binary uh. And it actually made the protocol I

482
00:29:34.839 --> 00:29:38.400
<v Speaker 3>would almost say, beautiful, because we were literally able to

483
00:29:38.519 --> 00:29:44.759
<v Speaker 3>drive directly translate those Jason small Jason packets into function

484
00:29:44.880 --> 00:29:50.240
<v Speaker 3>called JavaScript function calls with parameters, So basically sending commands

485
00:29:50.240 --> 00:29:56.519
<v Speaker 3>over the wire directly translated into executing JavaScript commands where

486
00:29:56.559 --> 00:30:00.880
<v Speaker 3>and and the binary packets were handled as you know

487
00:30:01.079 --> 00:30:03.759
<v Speaker 3>or pay binary blobs. You just gave them to the

488
00:30:03.799 --> 00:30:06.559
<v Speaker 3>blob object and you got an image or an audio

489
00:30:06.559 --> 00:30:10.880
<v Speaker 3>file or whatever. So I don't see any problem with that.

490
00:30:11.039 --> 00:30:16.799
<v Speaker 3>It's basically, if we're going back to the example of HTTP. Obviously,

491
00:30:16.839 --> 00:30:19.440
<v Speaker 3>the image is not something that I'm going to be

492
00:30:19.519 --> 00:30:21.839
<v Speaker 3>sending as textual data, and it has it's kind of

493
00:30:21.880 --> 00:30:25.119
<v Speaker 3>meaningless as textual data. But being able to look at

494
00:30:25.160 --> 00:30:31.440
<v Speaker 3>the HTTP header instructions easily, you know, without requiring special tools,

495
00:30:31.480 --> 00:30:33.640
<v Speaker 3>from my perspective, has a lot of value.

496
00:30:34.440 --> 00:30:37.279
<v Speaker 5>But you do you don't actually look at the HTP

497
00:30:37.480 --> 00:30:41.440
<v Speaker 5>without special tools. You always use some special tools. So

498
00:30:41.839 --> 00:30:44.640
<v Speaker 5>when you look at the HTP you use TCP dump,

499
00:30:44.920 --> 00:30:47.759
<v Speaker 5>which is a specialized tool and by the way, knows

500
00:30:48.039 --> 00:30:51.519
<v Speaker 5>pauls binary, or using a browser which knows how to

501
00:30:51.519 --> 00:30:55.680
<v Speaker 5>pass binary, or using something similar like wild shark. All

502
00:30:55.720 --> 00:30:57.039
<v Speaker 5>of those tools actually pass.

503
00:30:57.119 --> 00:31:02.559
<v Speaker 4>Finally, I use current fair enough and netcat.

504
00:31:04.119 --> 00:31:06.440
<v Speaker 5>Net cat is the only general purpose too that in

505
00:31:06.480 --> 00:31:10.440
<v Speaker 5>this case I killed the specialized too. What prevents netcat

506
00:31:10.480 --> 00:31:10.960
<v Speaker 5>from passing.

507
00:31:11.000 --> 00:31:16.720
<v Speaker 3>Binally, my issue with binary is that in many of

508
00:31:16.759 --> 00:31:20.599
<v Speaker 3>those cases it feels like premature optimization, and it leads

509
00:31:20.640 --> 00:31:24.640
<v Speaker 3>to even more premature optimizations. And the fact and the

510
00:31:24.759 --> 00:31:30.920
<v Speaker 3>fact that I really need highly specialized tools versus generally

511
00:31:30.960 --> 00:31:35.680
<v Speaker 3>available general specialized tools in order to parse it is

512
00:31:36.319 --> 00:31:38.000
<v Speaker 3>detrimental for my experience.

513
00:31:38.960 --> 00:31:41.119
<v Speaker 5>So I would say that the little problem and the

514
00:31:41.119 --> 00:31:44.279
<v Speaker 5>little discussion here is about tooling, actually tooling.

515
00:31:44.160 --> 00:31:47.480
<v Speaker 3>And sols about tooling.

516
00:31:47.880 --> 00:31:51.359
<v Speaker 5>The down pointing system is too, so so does that.

517
00:31:51.599 --> 00:31:55.680
<v Speaker 5>But let me try to reframe the conversation a little

518
00:31:55.680 --> 00:31:59.480
<v Speaker 5>bit here. So I view for a BUFF, for example,

519
00:32:00.079 --> 00:32:03.400
<v Speaker 5>as as not as a binary protocol, but rather as

520
00:32:03.400 --> 00:32:08.640
<v Speaker 5>a carrier for a family of user defined protocols. Okay, well,

521
00:32:08.720 --> 00:32:12.079
<v Speaker 5>as uh, this is really the problem I have with

522
00:32:12.079 --> 00:32:15.599
<v Speaker 5>with the text and HML that stuff is that it's

523
00:32:15.680 --> 00:32:19.960
<v Speaker 5>it's a very poor system for writing usually defined protocols

524
00:32:19.960 --> 00:32:22.960
<v Speaker 5>on top of it. Well, protoboff is a very good

525
00:32:23.000 --> 00:32:25.160
<v Speaker 5>system for doing that because it was designed to do

526
00:32:25.240 --> 00:32:29.920
<v Speaker 5>exactly that. So every message, every every protocol that you

527
00:32:30.000 --> 00:32:34.160
<v Speaker 5>write on top of protocol or protobo is specialized, but

528
00:32:34.240 --> 00:32:36.279
<v Speaker 5>you do get to define how it behaves.

529
00:32:36.759 --> 00:32:39.480
<v Speaker 3>Can you elaborate a little bit about what protoboff is,

530
00:32:39.519 --> 00:32:41.519
<v Speaker 3>because I think many of our listeners will.

531
00:32:44.079 --> 00:32:47.519
<v Speaker 5>The part above is A is a protoc it's actually

532
00:32:47.519 --> 00:32:53.640
<v Speaker 5>three three things. It's a serialization protocol. It's a network stack,

533
00:32:53.799 --> 00:32:58.680
<v Speaker 5>not network stack, but network protocol and schemas uh and

534
00:32:59.200 --> 00:33:03.119
<v Speaker 5>and this stem was designed by Google first. It was

535
00:33:03.160 --> 00:33:05.799
<v Speaker 5>designed for antle used then they open sourced it, and

536
00:33:05.880 --> 00:33:08.559
<v Speaker 5>they also open source the OPC level that came with it,

537
00:33:09.079 --> 00:33:16.000
<v Speaker 5>know us DOLPC. It's a multiplatform system and it has

538
00:33:16.039 --> 00:33:18.920
<v Speaker 5>a lot of fancy features, but that's not really what

539
00:33:18.920 --> 00:33:21.079
<v Speaker 5>we're talking about here. And the way that you would

540
00:33:21.160 --> 00:33:23.960
<v Speaker 5>use photobop is that you would likee something called the protofile,

541
00:33:24.000 --> 00:33:29.079
<v Speaker 5>which defines the schema of messages, and then the server

542
00:33:29.200 --> 00:33:31.960
<v Speaker 5>and client can agree on what is being sent and

543
00:33:32.039 --> 00:33:34.839
<v Speaker 5>they know how to past messages and all that stuff.

544
00:33:35.200 --> 00:33:39.960
<v Speaker 5>And protobap messages can be sent over like binary network

545
00:33:40.000 --> 00:33:45.079
<v Speaker 5>protocols and HTTP and you know, various other protocols. You

546
00:33:45.079 --> 00:33:47.160
<v Speaker 5>can even save them to files if you wanted to.

547
00:33:48.160 --> 00:33:51.920
<v Speaker 5>So the kind of universal in this way. And this

548
00:33:52.000 --> 00:33:55.079
<v Speaker 5>is the nice thing about this, that you can actually

549
00:33:55.279 --> 00:33:58.480
<v Speaker 5>use a carrier that's more efficient or you know, more

550
00:33:59.079 --> 00:34:02.200
<v Speaker 5>widely supported, depending on the use case.

551
00:34:03.559 --> 00:34:07.599
<v Speaker 4>I'm having a real hard time with this. It seems

552
00:34:07.720 --> 00:34:13.760
<v Speaker 4>like we're suggesting that the network is one of the

553
00:34:13.800 --> 00:34:17.400
<v Speaker 4>great bottlenecks that we need to be concerned with when

554
00:34:18.199 --> 00:34:23.320
<v Speaker 4>I don't see that in my experience. I agree that

555
00:34:23.599 --> 00:34:29.559
<v Speaker 4>gRPC could be great for server to server communication in

556
00:34:29.559 --> 00:34:34.280
<v Speaker 4>internal infrastructure, but I've also seen a talk that specifically

557
00:34:34.360 --> 00:34:36.800
<v Speaker 4>argued against it. Where I mean, you can see a

558
00:34:36.800 --> 00:34:38.800
<v Speaker 4>talk for everything right, so that doesn't say much, but

559
00:34:39.199 --> 00:34:42.400
<v Speaker 4>the arguments were very compelling that the development time that

560
00:34:42.400 --> 00:34:46.280
<v Speaker 4>they saved by having everything internal and external as JSON,

561
00:34:46.840 --> 00:34:49.079
<v Speaker 4>being able to debug any service quickly you look in

562
00:34:49.119 --> 00:34:53.159
<v Speaker 4>the logs that the efficiency that they gained by not

563
00:34:53.280 --> 00:34:57.480
<v Speaker 4>worrying as much about one of their most abundant resources

564
00:34:57.079 --> 00:35:00.400
<v Speaker 4>was well worth it. And what I have seen with

565
00:35:00.559 --> 00:35:05.159
<v Speaker 4>gRPC is it's a level of complexity that most people

566
00:35:05.239 --> 00:35:07.440
<v Speaker 4>can't manage. So I'm not saying that the experts that

567
00:35:07.480 --> 00:35:10.039
<v Speaker 4>are working in the in the enterprise in highly tuned

568
00:35:10.039 --> 00:35:13.360
<v Speaker 4>scenarios shouldn't be using it. They know what they're doing,

569
00:35:13.719 --> 00:35:17.159
<v Speaker 4>they have use cases that I personally don't have. But

570
00:35:17.679 --> 00:35:20.760
<v Speaker 4>what I have seen looks like and this could be

571
00:35:20.760 --> 00:35:24.599
<v Speaker 4>a misconfiguration, but it looks like a minimum of two

572
00:35:24.840 --> 00:35:29.320
<v Speaker 4>megabytes of JavaScript to be able to produce a few

573
00:35:29.400 --> 00:35:33.440
<v Speaker 4>gRPC messages. Now, obviously you could you could hand tune it,

574
00:35:33.719 --> 00:35:36.559
<v Speaker 4>and you could do that in you know bytes. But

575
00:35:36.679 --> 00:35:39.360
<v Speaker 4>what I've seen is that the generated tools like the

576
00:35:39.400 --> 00:35:44.840
<v Speaker 4>proto buff C generates an entire infrastructure for proto buff

577
00:35:45.320 --> 00:35:49.039
<v Speaker 4>to basically get out that Hello World message. So I

578
00:35:49.960 --> 00:35:55.199
<v Speaker 4>am not convinced for web applications that that what you're

579
00:35:55.239 --> 00:35:58.440
<v Speaker 4>saying aligns with the experience that I have or that

580
00:35:58.519 --> 00:36:00.920
<v Speaker 4>I know other you know, I'm not seeing it.

581
00:36:01.760 --> 00:36:05.400
<v Speaker 5>And you're not going right away. So here's the fundamental problem.

582
00:36:05.400 --> 00:36:09.519
<v Speaker 5>And we said that's a tooling problem. Yeah, sure, So

583
00:36:09.599 --> 00:36:12.559
<v Speaker 5>javact doesn't actually support Jason. The buzzle does.

584
00:36:14.000 --> 00:36:18.480
<v Speaker 4>So what is at this point, I'm pretty I mean,

585
00:36:18.880 --> 00:36:20.880
<v Speaker 4>is it not part of the ACTMASCRIPT standard. I I

586
00:36:20.880 --> 00:36:22.880
<v Speaker 4>thought it was adopted, which am I mistaken?

587
00:36:23.639 --> 00:36:25.800
<v Speaker 5>No, No, it's it's the it's V eight.

588
00:36:26.360 --> 00:36:30.280
<v Speaker 3>No, I think you're saying. Sorry, what Avisha I think

589
00:36:30.360 --> 00:36:32.840
<v Speaker 3>is saying is that the code that parses the Jason

590
00:36:33.360 --> 00:36:37.960
<v Speaker 3>is not written in JavaScript. It's written in in or

591
00:36:38.599 --> 00:36:41.360
<v Speaker 3>C plus or something. Whether it's part of V eight

592
00:36:41.559 --> 00:36:44.440
<v Speaker 3>or or blink is is kind of irrelevant to the

593
00:36:44.480 --> 00:36:45.159
<v Speaker 3>web development.

594
00:36:46.079 --> 00:36:50.440
<v Speaker 5>But but the thing is this, So first of all,

595
00:36:50.679 --> 00:36:54.760
<v Speaker 5>that to mention the GTP thing, I find it very

596
00:36:54.800 --> 00:36:58.079
<v Speaker 5>odd that the headles, which are the only thing that

597
00:36:58.119 --> 00:37:01.880
<v Speaker 5>should be very very efficient and and is completely independent

598
00:37:02.039 --> 00:37:05.119
<v Speaker 5>of you know, the actual payload and whatead is text

599
00:37:05.280 --> 00:37:08.559
<v Speaker 5>or binary is text. And this is actually a very

600
00:37:08.559 --> 00:37:13.119
<v Speaker 5>big problem that Google and you know the rest of

601
00:37:13.119 --> 00:37:17.079
<v Speaker 5>the people working on HTP three encountered, actually they encountered

602
00:37:17.239 --> 00:37:20.400
<v Speaker 5>in HDP two when they tried to introduce by binary

603
00:37:20.400 --> 00:37:23.079
<v Speaker 5>headles because of all the reasons that are mentioned, because

604
00:37:23.079 --> 00:37:27.079
<v Speaker 5>it's more efficient, because it protects the server and client

605
00:37:27.079 --> 00:37:30.199
<v Speaker 5>implementations against the denial of service tax and all that stuff.

606
00:37:30.519 --> 00:37:34.280
<v Speaker 5>So actually binary headles is something that everybody wants, but

607
00:37:34.400 --> 00:37:37.920
<v Speaker 5>for historical reasons, we don't have. And if we designed

608
00:37:38.039 --> 00:37:40.400
<v Speaker 5>HTP today, we would actually do the reverse. We would

609
00:37:40.440 --> 00:37:43.639
<v Speaker 5>have binary headles and everything else could be text of binary.

610
00:37:44.880 --> 00:37:47.559
<v Speaker 5>The reason that we have it in the verse is

611
00:37:47.599 --> 00:37:51.280
<v Speaker 5>because of your basically the history of your computing systems

612
00:37:51.280 --> 00:37:55.079
<v Speaker 5>and the Internet. And going back to your point about

613
00:37:55.079 --> 00:37:59.320
<v Speaker 5>GPC versus Jason, Yes, Jason is universal for again for

614
00:37:59.400 --> 00:38:02.599
<v Speaker 5>sol cobles and all the buzz will support it. But

615
00:38:02.840 --> 00:38:05.440
<v Speaker 5>and this makes it the path of this resistence. So

616
00:38:05.480 --> 00:38:08.639
<v Speaker 5>you're not incorrect in saying that, you know, put aboff

617
00:38:08.639 --> 00:38:11.679
<v Speaker 5>coute les hodow, and it's true, it's hollow, but it's

618
00:38:11.679 --> 00:38:16.360
<v Speaker 5>horbo because it's not universal in the sense that not

619
00:38:16.440 --> 00:38:19.000
<v Speaker 5>all the tooling supports it natively well.

620
00:38:19.039 --> 00:38:21.760
<v Speaker 4>And this is yes, yeah, because I'm not just saying

621
00:38:21.880 --> 00:38:22.679
<v Speaker 4>it's harder.

622
00:38:23.719 --> 00:38:27.360
<v Speaker 5>I also want to mention that everybody actually likes schemas,

623
00:38:27.400 --> 00:38:31.880
<v Speaker 5>even for Jason. They don't do it explicitly, but the

624
00:38:31.920 --> 00:38:36.920
<v Speaker 5>code actually has a schema for what message is and agreed,

625
00:38:37.960 --> 00:38:40.679
<v Speaker 5>So it's not that you get around, you know, this

626
00:38:40.800 --> 00:38:44.159
<v Speaker 5>complexity of writing schemas and describing the message as when

627
00:38:44.159 --> 00:38:47.800
<v Speaker 5>you're doing Jason. Mmm.

628
00:38:48.440 --> 00:38:51.159
<v Speaker 4>So to the first point, I'm not saying it's harder,

629
00:38:51.639 --> 00:38:55.800
<v Speaker 4>I'm saying that it's it is in fact less efficient

630
00:38:55.840 --> 00:38:58.280
<v Speaker 4>in one of the key areas that matters. I agree

631
00:38:58.280 --> 00:39:02.679
<v Speaker 4>with you. Can we get a binary protocol built into

632
00:39:02.719 --> 00:39:06.159
<v Speaker 4>the browser, like, can we have like we have Jason

633
00:39:06.199 --> 00:39:08.599
<v Speaker 4>dot stringify, Jason dot parse. Can we get in the

634
00:39:08.639 --> 00:39:13.360
<v Speaker 4>browser proto buff dot parse? Sure, like that would be cool.

635
00:39:14.719 --> 00:39:18.000
<v Speaker 3>We can send binary data off off of web sockets.

636
00:39:18.000 --> 00:39:21.719
<v Speaker 3>WebRTC is a binary protocol. You can send data in it,

637
00:39:21.800 --> 00:39:25.360
<v Speaker 3>so we kind of do we are restricted in what

638
00:39:25.519 --> 00:39:29.760
<v Speaker 3>we can send and and the in the carrier. But

639
00:39:29.760 --> 00:39:32.719
<v Speaker 3>but to an extent we we we already do.

640
00:39:33.360 --> 00:39:36.960
<v Speaker 4>Well, I mean the machinery. There's a lot of binery

641
00:39:37.000 --> 00:39:38.760
<v Speaker 4>to produce binary I do.

642
00:39:38.760 --> 00:39:40.920
<v Speaker 3>Want to say, I do want to say something about

643
00:39:41.280 --> 00:39:45.800
<v Speaker 3>Jason and and the parsing problem. Now, obviously it's not

644
00:39:45.880 --> 00:39:48.880
<v Speaker 3>a solution to denial of service, even though you can,

645
00:39:49.840 --> 00:39:53.679
<v Speaker 3>you know, build such solutions. But if you're looking at

646
00:39:53.679 --> 00:39:57.599
<v Speaker 3>it from a straight on protocol, what somehow eludes a

647
00:39:57.639 --> 00:40:00.760
<v Speaker 3>lot of people is that instead of send being a

648
00:40:00.920 --> 00:40:04.119
<v Speaker 3>huge JSON that needs to be parsed in its entirety

649
00:40:04.599 --> 00:40:08.440
<v Speaker 3>before anything can be done with it, it's usually very

650
00:40:08.480 --> 00:40:14.559
<v Speaker 3>straightforward to send much smaller Jason packets or parts and

651
00:40:14.599 --> 00:40:16.440
<v Speaker 3>then parse each one of them individually.

652
00:40:17.079 --> 00:40:21.039
<v Speaker 4>So well, json L does this, and that's a pretty

653
00:40:21.079 --> 00:40:22.000
<v Speaker 4>decent solution.

654
00:40:23.159 --> 00:40:25.519
<v Speaker 5>It might, as long as everybody on the system is

655
00:40:25.559 --> 00:40:26.159
<v Speaker 5>well behaved.

656
00:40:26.760 --> 00:40:32.400
<v Speaker 4>Yes, of course, So okay, one question I had earlier.

657
00:40:33.400 --> 00:40:37.079
<v Speaker 4>Cbore and as N one are binary protocols that are

658
00:40:37.119 --> 00:40:40.239
<v Speaker 4>generic protocols. I would think that in every way they

659
00:40:40.280 --> 00:40:44.159
<v Speaker 4>suffer from the same problems as Jason. So proto buff

660
00:40:44.199 --> 00:40:48.440
<v Speaker 4>is different. Proto buff is packed strucks. So would you

661
00:40:48.599 --> 00:40:54.079
<v Speaker 4>also say that Cboor is you know, pretty much just

662
00:40:54.159 --> 00:40:57.039
<v Speaker 4>as bad as Jason Or would you put seboor in

663
00:40:57.119 --> 00:40:59.880
<v Speaker 4>the category of proto buff.

664
00:41:00.679 --> 00:41:04.639
<v Speaker 5>So I would argue that every universal general purpose protocol

665
00:41:04.679 --> 00:41:08.280
<v Speaker 5>suffers from similar problems. It's not really about text or

666
00:41:09.079 --> 00:41:14.239
<v Speaker 5>by any It's it's more about, uh, restricting the use cases,

667
00:41:14.360 --> 00:41:17.400
<v Speaker 5>which is well schemes tie in. And this is why

668
00:41:17.440 --> 00:41:20.079
<v Speaker 5>I like protuba and similar systems because they allow you

669
00:41:20.119 --> 00:41:23.960
<v Speaker 5>to define, you know, the special cases and you know,

670
00:41:24.039 --> 00:41:26.079
<v Speaker 5>make up your own rules about what they mean and

671
00:41:26.119 --> 00:41:30.079
<v Speaker 5>how to use them and how to validate them, and

672
00:41:30.079 --> 00:41:32.920
<v Speaker 5>and and really this is like a big issue in

673
00:41:32.960 --> 00:41:37.400
<v Speaker 5>computer systems in general. It's not really about like civilization,

674
00:41:37.480 --> 00:41:40.559
<v Speaker 5>it's it's about systems in general. You you actually see

675
00:41:40.559 --> 00:41:44.840
<v Speaker 5>this problem in many other cases. And going back to

676
00:41:44.960 --> 00:41:47.519
<v Speaker 5>the point that you made earlier, and this is also

677
00:41:47.719 --> 00:41:52.480
<v Speaker 5>a problem of you deploying stuff in the large scale,

678
00:41:52.519 --> 00:41:56.679
<v Speaker 5>because every time we deploy protocol, if it's successful, it

679
00:41:56.760 --> 00:42:00.599
<v Speaker 5>becomes legacy. And legacy you know, it's a very thing,

680
00:42:00.639 --> 00:42:03.000
<v Speaker 5>but actually it means that you had something that worked

681
00:42:03.119 --> 00:42:06.760
<v Speaker 5>very well. And once something works very well and becomes

682
00:42:06.800 --> 00:42:09.559
<v Speaker 5>you know, widely used, now you have a problem because

683
00:42:09.639 --> 00:42:14.440
<v Speaker 5>it's a network system and replace it. Everybody has to

684
00:42:14.440 --> 00:42:19.159
<v Speaker 5>replaced it, which is why you know it takes such

685
00:42:19.199 --> 00:42:21.880
<v Speaker 5>such a long time to deploy replacements for HDP one

686
00:42:21.880 --> 00:42:26.519
<v Speaker 5>point one or you know, TCP or ip before and

687
00:42:26.559 --> 00:42:30.239
<v Speaker 5>everything else. It's it's all basically the same problem. It's

688
00:42:30.239 --> 00:42:34.920
<v Speaker 5>something that was widely successful. Now it kind of hit

689
00:42:34.960 --> 00:42:38.199
<v Speaker 5>the limits of what it can do, and we actually

690
00:42:38.280 --> 00:42:43.360
<v Speaker 5>suffer greatly from the limits of you know, the coding system.

691
00:42:43.400 --> 00:42:45.599
<v Speaker 5>You know, you can see this IPD four for example,

692
00:42:45.920 --> 00:42:48.800
<v Speaker 5>but also with HDP. There are many reasons why we

693
00:42:48.840 --> 00:42:54.599
<v Speaker 5>want to replace HTP, but calling out a new version

694
00:42:54.679 --> 00:42:57.679
<v Speaker 5>or something to replace it, it's actually a very big problem,

695
00:42:57.800 --> 00:43:01.280
<v Speaker 5>which goes into back root compatibility and you know, actually

696
00:43:01.599 --> 00:43:05.679
<v Speaker 5>having everybody installed tooling you know, to make it universal

697
00:43:06.199 --> 00:43:09.599
<v Speaker 5>before the connective use it, and then you'll start sending

698
00:43:09.599 --> 00:43:12.079
<v Speaker 5>out a new protocol and starting to use it. So

699
00:43:12.639 --> 00:43:15.760
<v Speaker 5>really that's the problem. It's not that I don't think

700
00:43:15.840 --> 00:43:20.800
<v Speaker 5>anybody you know, argues that Jason is somehow good or

701
00:43:20.840 --> 00:43:23.960
<v Speaker 5>like that the most optimized system or the best system

702
00:43:24.039 --> 00:43:28.280
<v Speaker 5>or anything like that. I think everybody pretty much, okay,

703
00:43:28.280 --> 00:43:31.760
<v Speaker 5>except Ajmabe, but I think most people would agree that

704
00:43:31.800 --> 00:43:34.480
<v Speaker 5>we can have better systems. It's just a problem of

705
00:43:34.480 --> 00:43:35.239
<v Speaker 5>how to all it out.

706
00:43:38.719 --> 00:43:41.679
<v Speaker 3>It kind of reminds me if I if I I

707
00:43:41.800 --> 00:43:46.000
<v Speaker 3>recall a talk by Alan k whom I admire. He

708
00:43:46.079 --> 00:43:49.719
<v Speaker 3>gave this talk something like twenty something years ago when

709
00:43:49.840 --> 00:43:53.000
<v Speaker 3>when the web was starting to explode, and it turns

710
00:43:53.000 --> 00:43:55.119
<v Speaker 3>out that the web was really rubbing him the wrong

711
00:43:55.159 --> 00:43:56.960
<v Speaker 3>way for a lot of the reasons that you were

712
00:43:57.000 --> 00:44:02.239
<v Speaker 3>mentioning a Vishai, and he showed a system built Surprise

713
00:44:02.320 --> 00:44:06.920
<v Speaker 3>Surprise on small talk that was sending messages and agents

714
00:44:06.960 --> 00:44:14.960
<v Speaker 3>across the wire, and he replicated various web apps, whatever

715
00:44:15.079 --> 00:44:18.679
<v Speaker 3>web apps we had some twenty years ago with his system,

716
00:44:19.199 --> 00:44:22.880
<v Speaker 3>and he did an interesting comparison. He was showing measuring

717
00:44:22.960 --> 00:44:27.960
<v Speaker 3>the temperature of the computer running a web based solution

718
00:44:28.679 --> 00:44:32.360
<v Speaker 3>versus his solutions, showing that his solution was running colder,

719
00:44:33.239 --> 00:44:37.760
<v Speaker 3>much more green, much more environmentally friendly. And his system

720
00:44:37.880 --> 00:44:41.480
<v Speaker 3>was amazing, But you know, looking at it, you know

721
00:44:41.920 --> 00:44:45.800
<v Speaker 3>there was basically no chance because nobody was going to

722
00:44:46.599 --> 00:44:50.440
<v Speaker 3>rip out the web and replace it with the custom

723
00:44:50.519 --> 00:44:58.159
<v Speaker 3>solution built on small talk, regardless of how amazing llen

724
00:44:58.280 --> 00:45:01.079
<v Speaker 3>K is and how great it theechnologies that he comes

725
00:45:01.119 --> 00:45:01.719
<v Speaker 3>up with are.

726
00:45:02.639 --> 00:45:05.679
<v Speaker 5>Yeah, because when you have a successful system, you need

727
00:45:05.719 --> 00:45:09.079
<v Speaker 5>to have a very large advantage or very large limitation

728
00:45:09.840 --> 00:45:14.440
<v Speaker 5>in the code system two, you know, to actually pay,

729
00:45:14.639 --> 00:45:17.760
<v Speaker 5>you know, the very steep price of replacing the entil system.

730
00:45:18.199 --> 00:45:20.000
<v Speaker 5>And it makes sense. This is why we have legacy.

731
00:45:20.039 --> 00:45:24.840
<v Speaker 5>It's not a bad thing. But though many many like

732
00:45:25.320 --> 00:45:28.840
<v Speaker 5>the only a lot of reasons, a lot of the

733
00:45:29.760 --> 00:45:32.320
<v Speaker 5>it's becoming more and more obvious that the code stack

734
00:45:32.559 --> 00:45:35.440
<v Speaker 5>is hitting the limits and we need to start replacing it.

735
00:45:35.480 --> 00:45:37.760
<v Speaker 5>You see this with IP before because we basically ran

736
00:45:37.800 --> 00:45:40.599
<v Speaker 5>out of the address of a space, so we have

737
00:45:40.679 --> 00:45:42.639
<v Speaker 5>no choice at this point. We have to replace it

738
00:45:42.679 --> 00:45:45.360
<v Speaker 5>just takes a very long time. You see this with

739
00:45:45.679 --> 00:45:48.480
<v Speaker 5>HDP one point one though, a lot of problems with it.

740
00:45:48.519 --> 00:45:50.920
<v Speaker 5>So now we have HDP two and HP three and

741
00:45:50.960 --> 00:45:53.559
<v Speaker 5>like we're rolling it out as we go, and HDP

742
00:45:53.679 --> 00:45:57.280
<v Speaker 5>three is based on UDP not TCP again because of

743
00:45:57.280 --> 00:46:00.480
<v Speaker 5>the limits of TCP. And now we are starting to

744
00:46:00.519 --> 00:46:03.440
<v Speaker 5>see a movement to get rid of TICIP in data

745
00:46:03.480 --> 00:46:06.519
<v Speaker 5>centers to place it with UDIPBIS protocols.

746
00:46:06.719 --> 00:46:08.480
<v Speaker 3>I don't know if I call it the limits of

747
00:46:08.559 --> 00:46:17.159
<v Speaker 3>TCIP rather various the implementation decisions that made total sense

748
00:46:17.199 --> 00:46:20.000
<v Speaker 3>in the seventies and the networks that we had back

749
00:46:20.039 --> 00:46:23.800
<v Speaker 3>then don't make sense anymore in today's cellular networks and

750
00:46:24.079 --> 00:46:25.639
<v Speaker 3>whatnot exactly.

751
00:46:25.679 --> 00:46:27.920
<v Speaker 5>And this is the thing. It's like, whenever you make

752
00:46:28.440 --> 00:46:32.840
<v Speaker 5>a design choice, although no right design choices that doesn't exist.

753
00:46:32.920 --> 00:46:35.039
<v Speaker 5>What you have is a design choice that walks and

754
00:46:35.159 --> 00:46:38.840
<v Speaker 5>works well enough, and you know that reality is going

755
00:46:38.880 --> 00:46:42.639
<v Speaker 5>to change, you know, whether or not because computers change,

756
00:46:42.800 --> 00:46:45.800
<v Speaker 5>or technology changes, or the users change their mind or whatever,

757
00:46:45.840 --> 00:46:48.280
<v Speaker 5>it doesn't matter. It's going to change. At some point

758
00:46:49.000 --> 00:46:52.280
<v Speaker 5>you will have to change the system. And good protocols

759
00:46:52.320 --> 00:46:55.400
<v Speaker 5>and good systems adapt, but there's a limit to how

760
00:46:55.440 --> 00:46:57.480
<v Speaker 5>much you can adapt. Like at some point the basic

761
00:46:58.880 --> 00:47:00.960
<v Speaker 5>assumptions that you made but the system are going to

762
00:47:01.000 --> 00:47:04.239
<v Speaker 5>be invalidated. And at that point, you know, the system

763
00:47:04.280 --> 00:47:07.119
<v Speaker 5>is going to start hitting limits. And you can live

764
00:47:07.159 --> 00:47:08.760
<v Speaker 5>with it for some time, but at some point you

765
00:47:08.800 --> 00:47:11.599
<v Speaker 5>will have to replace it. So when we build systems,

766
00:47:12.599 --> 00:47:14.079
<v Speaker 5>you know, back in the day in the seventies, we

767
00:47:14.119 --> 00:47:17.719
<v Speaker 5>didn't think about, you know, future proofing it, and we

768
00:47:17.760 --> 00:47:20.599
<v Speaker 5>didn't think about sunsetting it and how you replace it

769
00:47:20.639 --> 00:47:23.360
<v Speaker 5>with the next generation. Now we'll smallter. We already know

770
00:47:23.400 --> 00:47:25.800
<v Speaker 5>it's going to happen, because you know, we had this

771
00:47:25.960 --> 00:47:28.880
<v Speaker 5>experience of a system that became very successful, the Internet,

772
00:47:29.239 --> 00:47:32.239
<v Speaker 5>and we actually got to be old enough to see

773
00:47:32.280 --> 00:47:34.880
<v Speaker 5>it hit the limits. So we are now a well

774
00:47:34.960 --> 00:47:36.920
<v Speaker 5>of this problem and we know that the next generation

775
00:47:37.039 --> 00:47:40.960
<v Speaker 5>has to be future poofed. But you know, we'll learn

776
00:47:41.000 --> 00:47:41.880
<v Speaker 5>it to holdway.

777
00:47:42.239 --> 00:47:44.599
<v Speaker 3>Is it, though, we will only know when we get there.

778
00:47:46.480 --> 00:47:49.039
<v Speaker 5>I'm pretty sure that we will have to replace everything

779
00:47:49.079 --> 00:47:51.119
<v Speaker 5>again in like thirty forty years, if not soon.

780
00:47:52.599 --> 00:47:54.840
<v Speaker 3>By the way, this is, I think we could talk

781
00:47:54.880 --> 00:47:57.599
<v Speaker 3>on about this. You know, we can keep on talking

782
00:47:57.599 --> 00:47:59.280
<v Speaker 3>about this, but I think this is an actually an

783
00:47:59.320 --> 00:48:02.559
<v Speaker 3>opportunity to kind of pivot to one of the articles

784
00:48:02.599 --> 00:48:04.840
<v Speaker 3>you wrote, because it really ties into a lot of

785
00:48:04.920 --> 00:48:08.599
<v Speaker 3>what you're saying, which is the article with this amazing name,

786
00:48:09.440 --> 00:48:13.639
<v Speaker 3>which is Don't Paint the Roses, which is a reference

787
00:48:13.760 --> 00:48:19.000
<v Speaker 3>to u a part in Alice in Wonderland. Can you

788
00:48:19.239 --> 00:48:21.400
<v Speaker 3>can you explain where this came from and kind of

789
00:48:21.440 --> 00:48:23.199
<v Speaker 3>how it ties into what we're talking about.

790
00:48:23.719 --> 00:48:25.760
<v Speaker 2>The song of the Disney movie keeps playing in my

791
00:48:25.840 --> 00:48:28.239
<v Speaker 2>head every time we Yeah, it's.

792
00:48:28.079 --> 00:48:32.280
<v Speaker 5>A great scene. Anyway, Yeah, so those scene in Alice

793
00:48:32.280 --> 00:48:35.800
<v Speaker 5>in Wonderland, this version from I think the forties, right,

794
00:48:35.880 --> 00:48:39.719
<v Speaker 5>all the fifties. Yeah, by the way, painted, they actually

795
00:48:39.800 --> 00:48:44.519
<v Speaker 5>painted all the friends by hand. And in the scene

796
00:48:44.920 --> 00:48:49.280
<v Speaker 5>you see the cord soldiers, you know, painting the rose bushes.

797
00:48:50.079 --> 00:48:54.360
<v Speaker 5>They're painting in them red because they accidentally planted the

798
00:48:54.880 --> 00:48:58.039
<v Speaker 5>white roses and the queen wants them to be read,

799
00:48:58.239 --> 00:49:00.800
<v Speaker 5>so they just paint all the roses. And the problem

800
00:49:00.840 --> 00:49:03.079
<v Speaker 5>with this is that, you know, at some point the

801
00:49:03.880 --> 00:49:10.039
<v Speaker 5>queen comes and she discovers that those bushes were painted,

802
00:49:10.199 --> 00:49:13.599
<v Speaker 5>and she you know, goes off of their heads and

803
00:49:14.079 --> 00:49:18.440
<v Speaker 5>all the cards lose their heads, which is very unfortunate

804
00:49:18.480 --> 00:49:19.880
<v Speaker 5>to them, and.

805
00:49:21.519 --> 00:49:23.559
<v Speaker 3>What never happened in a modern Disney movie.

806
00:49:27.880 --> 00:49:30.039
<v Speaker 5>So the thing is that we actually have a lot

807
00:49:30.119 --> 00:49:33.159
<v Speaker 5>of painted oil bushes around us. In reality, it's like

808
00:49:34.199 --> 00:49:39.960
<v Speaker 5>something that we try to fall into a form, even

809
00:49:40.039 --> 00:49:43.400
<v Speaker 5>though the COVID like the essence of it is very different.

810
00:49:45.360 --> 00:49:47.920
<v Speaker 5>And this is you know, a lot to do with

811
00:49:48.000 --> 00:49:52.360
<v Speaker 5>the industrial mindset of the design of mindset versus the

812
00:49:52.519 --> 00:49:57.039
<v Speaker 5>organic mindset or the agriculture mindset. If you're trying to

813
00:49:57.280 --> 00:50:01.239
<v Speaker 5>growth something something that is organic, actually control what it

814
00:50:01.320 --> 00:50:05.719
<v Speaker 5>will grow into. You can you know, kind of try

815
00:50:05.840 --> 00:50:11.280
<v Speaker 5>to to direct and influence it. You can influence it,

816
00:50:11.480 --> 00:50:12.280
<v Speaker 5>you can direct it.

817
00:50:12.559 --> 00:50:13.039
<v Speaker 3>You know you can.

818
00:50:13.119 --> 00:50:17.079
<v Speaker 5>You have like for example, Bonsaie is a very good example,

819
00:50:17.119 --> 00:50:20.039
<v Speaker 5>where you trim the roots to make it and the

820
00:50:20.360 --> 00:50:23.360
<v Speaker 5>tree to make it in certain shape and size, so

821
00:50:23.519 --> 00:50:27.559
<v Speaker 5>you can constrain it somewhat and direct the growth, but

822
00:50:27.679 --> 00:50:30.360
<v Speaker 5>you can't actually change the essence of it. A bonesie

823
00:50:30.360 --> 00:50:32.960
<v Speaker 5>tree will always look like a tree no matter what

824
00:50:33.039 --> 00:50:38.960
<v Speaker 5>you do to it. And the industrial mindset is a

825
00:50:39.039 --> 00:50:41.599
<v Speaker 5>designer mindset where you design something and you can actually

826
00:50:41.679 --> 00:50:44.199
<v Speaker 5>force it to be that thing, and if it doesn't

827
00:50:44.280 --> 00:50:46.360
<v Speaker 5>work that way, you can just destroy it and start over.

828
00:50:47.320 --> 00:50:50.519
<v Speaker 5>So the problem we have in mode of society is

829
00:50:50.599 --> 00:50:53.639
<v Speaker 5>that we are an industrial society and when we get

830
00:50:53.639 --> 00:50:56.679
<v Speaker 5>to organic situations, we try to handle them into a

831
00:50:56.760 --> 00:50:59.480
<v Speaker 5>sort of form, even though you know it's the organic

832
00:50:59.559 --> 00:51:02.760
<v Speaker 5>and the very So the example of this is organization building.

833
00:51:03.159 --> 00:51:07.039
<v Speaker 5>Organizations are organic. You can't just decide that you know

834
00:51:07.079 --> 00:51:10.000
<v Speaker 5>they're going to be in a certain way. But you know,

835
00:51:10.119 --> 00:51:13.599
<v Speaker 5>if you've been in corporate and you've lived through you

836
00:51:13.639 --> 00:51:18.119
<v Speaker 5>know one of those organizational restructuring programs, you know what

837
00:51:18.159 --> 00:51:18.880
<v Speaker 5>I'm talking about.

838
00:51:21.440 --> 00:51:23.559
<v Speaker 3>Uh, and it kind of has to do with with

839
00:51:23.719 --> 00:51:26.280
<v Speaker 3>what we were talking about before about legacy systems and

840
00:51:26.360 --> 00:51:30.320
<v Speaker 3>legacy protocols, where certainly you can say that a lot

841
00:51:30.400 --> 00:51:33.679
<v Speaker 3>of the Web has evolved more than it was designed.

842
00:51:33.800 --> 00:51:36.440
<v Speaker 3>I think there's an excellent quote that I love in

843
00:51:36.599 --> 00:51:40.519
<v Speaker 3>the HTP spec which basically says, we recognize that a

844
00:51:40.599 --> 00:51:43.119
<v Speaker 3>lot of what is written here is kind of doesn't

845
00:51:43.159 --> 00:51:47.159
<v Speaker 3>make sense, and it's even nonsensical. But that's the because

846
00:51:47.280 --> 00:51:51.320
<v Speaker 3>it evolved more than it was designed, and a lot

847
00:51:51.400 --> 00:51:55.840
<v Speaker 3>of discrete teams were working on it and working without

848
00:51:56.599 --> 00:51:59.679
<v Speaker 3>proper synchronization and stuff like that, so it kind of

849
00:51:59.760 --> 00:52:04.679
<v Speaker 3>grew organically rather than being designed, certainly not top down.

850
00:52:05.599 --> 00:52:08.760
<v Speaker 5>A lot of seas actually described the factor protocols which

851
00:52:08.800 --> 00:52:12.599
<v Speaker 5>will later qualify the ol seas. Rather than having them,

852
00:52:12.880 --> 00:52:16.159
<v Speaker 5>you know, designing the protocols, documenting them in our season

853
00:52:16.239 --> 00:52:19.000
<v Speaker 5>and then implementing them. It was actually backwards.

854
00:52:19.800 --> 00:52:23.280
<v Speaker 3>Well, if you think about what RFC stands for, it's

855
00:52:23.400 --> 00:52:28.159
<v Speaker 3>a request for what is it comment for comment? It's

856
00:52:28.199 --> 00:52:32.119
<v Speaker 3>basically it's not here's the spec. It's basically, I've got

857
00:52:32.159 --> 00:52:34.639
<v Speaker 3>an idea, what do you think about it? And you know,

858
00:52:34.960 --> 00:52:40.079
<v Speaker 3>this request becomes codified as as the actual specification.

859
00:52:41.239 --> 00:52:44.320
<v Speaker 5>Yeah, so it turns out that basically the web is

860
00:52:44.760 --> 00:52:48.480
<v Speaker 5>a network of consensus. It's not so much design network

861
00:52:48.679 --> 00:52:51.880
<v Speaker 5>as it is an organic network that evolved and we

862
00:52:52.480 --> 00:52:55.000
<v Speaker 5>somehow got to a consensus about how it should walk.

863
00:52:55.840 --> 00:52:58.400
<v Speaker 5>A few years back, you had an incident. Well, cloud

864
00:52:58.480 --> 00:53:02.079
<v Speaker 5>flowed actually did something according to the LFCI, according to

865
00:53:02.159 --> 00:53:05.920
<v Speaker 5>the spec but everybody else was using it differently, and

866
00:53:06.039 --> 00:53:11.960
<v Speaker 5>this created basically an outage in total services. And after

867
00:53:12.039 --> 00:53:14.840
<v Speaker 5>they discovered it, they fixed it in the sense that

868
00:53:15.119 --> 00:53:18.159
<v Speaker 5>they now conformed to everybody else, which means that they

869
00:53:18.320 --> 00:53:21.360
<v Speaker 5>violate the spec So this is basically how they entered

870
00:53:21.360 --> 00:53:24.280
<v Speaker 5>the walks. We walks the consensus. It doesn't work by specification.

871
00:53:25.360 --> 00:53:29.480
<v Speaker 3>Anyone who's ever wondered why user agents look the way

872
00:53:29.559 --> 00:53:36.320
<v Speaker 3>that they do. I remember when Microsoft released a new

873
00:53:36.480 --> 00:53:41.880
<v Speaker 3>version of what was it, a certain version of what's

874
00:53:41.920 --> 00:53:48.039
<v Speaker 3>their browser's name, Edge, and they broke off a three

875
00:53:48.119 --> 00:53:52.599
<v Speaker 3>sixty five on Edge because they actually used a proper

876
00:53:53.320 --> 00:53:58.280
<v Speaker 3>user agent, but that confused their detection protocol, so they

877
00:53:58.360 --> 00:54:01.320
<v Speaker 3>had to put in a wrong user agent yet again,

878
00:54:01.800 --> 00:54:03.559
<v Speaker 3>just in order to get things to work right.

879
00:54:06.840 --> 00:54:09.679
<v Speaker 4>The wheel of time keeps coming around and around.

880
00:54:12.159 --> 00:54:14.519
<v Speaker 3>But how do you deal with it? I mean, you know,

881
00:54:14.679 --> 00:54:16.840
<v Speaker 3>at the end of the day, we are very often

882
00:54:17.039 --> 00:54:20.480
<v Speaker 3>forced to paint the roses because we need to deliver

883
00:54:20.719 --> 00:54:25.159
<v Speaker 3>something on time, within budget, and we don't have the

884
00:54:25.280 --> 00:54:30.800
<v Speaker 3>time to grow a new solution and make it conformed

885
00:54:30.840 --> 00:54:32.000
<v Speaker 3>to whatever we already have.

886
00:54:33.719 --> 00:54:37.920
<v Speaker 5>So it's it's it's a mindset actually, first all conversation

887
00:54:38.079 --> 00:54:40.519
<v Speaker 5>you want to have with you know, the product manager

888
00:54:40.719 --> 00:54:45.000
<v Speaker 5>and the business people because it's it's optimizing for the

889
00:54:45.079 --> 00:54:48.760
<v Speaker 5>long age. Really, So even if you are forced to

890
00:54:48.840 --> 00:54:52.039
<v Speaker 5>paint all of those bushes, you want to have some

891
00:54:52.239 --> 00:54:55.960
<v Speaker 5>kind of an escape patch. You want to be propelled

892
00:54:56.199 --> 00:54:59.559
<v Speaker 5>to eventuality. Well, you know someone will find out this

893
00:54:59.719 --> 00:55:04.079
<v Speaker 5>is that really painted ball bush you because once someone

894
00:55:04.119 --> 00:55:06.800
<v Speaker 5>discovers this, there will be consequences and there will not

895
00:55:06.920 --> 00:55:09.400
<v Speaker 5>be nice. You know, it can be off with your

896
00:55:09.440 --> 00:55:15.119
<v Speaker 5>head at some point. So if you adopt this mindset

897
00:55:15.800 --> 00:55:20.239
<v Speaker 5>of organic growth and you understand that as a designer,

898
00:55:20.480 --> 00:55:25.920
<v Speaker 5>you're actually looking for experimentation, you're looking for a future

899
00:55:25.960 --> 00:55:29.400
<v Speaker 5>pool things, you're looking for escape passing hatches, you're looking

900
00:55:29.679 --> 00:55:34.039
<v Speaker 5>for minimalistic design. So a good design is one that

901
00:55:34.639 --> 00:55:36.760
<v Speaker 5>doesn't make decisions that it doesn't have to.

902
00:55:37.719 --> 00:55:43.920
<v Speaker 3>You can examples going either way. For what, can you

903
00:55:44.000 --> 00:55:50.679
<v Speaker 3>give concrete examples of either where painting the roses ended

904
00:55:50.719 --> 00:55:56.239
<v Speaker 3>in disaster or or converse or conversely was done successfully.

905
00:55:58.159 --> 00:56:00.400
<v Speaker 5>Yeah, so I can give actually a lot of examples this,

906
00:56:02.840 --> 00:56:12.079
<v Speaker 5>So okay, let me actually if we won't go into

907
00:56:12.159 --> 00:56:21.719
<v Speaker 5>that specific so you know how we can talk about

908
00:56:21.719 --> 00:56:23.960
<v Speaker 5>the develops for example, develops is a very good example.

909
00:56:24.920 --> 00:56:30.840
<v Speaker 5>Develops is a classic painted doll bush because it started

910
00:56:30.880 --> 00:56:34.239
<v Speaker 5>out as something organic. You know, we had this movement

911
00:56:34.400 --> 00:56:37.480
<v Speaker 5>that you know, said, look, we have this problem between

912
00:56:37.519 --> 00:56:40.840
<v Speaker 5>operations and then developers. They don't understand each other. There's

913
00:56:40.960 --> 00:56:44.360
<v Speaker 5>like a structural problem in organizations. There's a structured problem

914
00:56:44.480 --> 00:56:47.400
<v Speaker 5>in the software stack where we have parts that don't

915
00:56:47.960 --> 00:56:54.119
<v Speaker 5>you know, connect to each other. And then we, you know,

916
00:56:54.199 --> 00:56:58.400
<v Speaker 5>we started trying to solve this problem. And then someone says, okay,

917
00:56:58.719 --> 00:57:01.800
<v Speaker 5>you know what, let's invent a new profession. You can

918
00:57:01.840 --> 00:57:05.360
<v Speaker 5>call it DevOps. Let's invent devlops tooling, let's invent the

919
00:57:05.440 --> 00:57:08.719
<v Speaker 5>DevOps team, the devils engineer, blah blah blah. And now

920
00:57:08.760 --> 00:57:11.119
<v Speaker 5>we have a painted close bush because we tried to

921
00:57:11.159 --> 00:57:16.000
<v Speaker 5>design the solutions that are growing organically and it got

922
00:57:16.360 --> 00:57:22.199
<v Speaker 5>so bad that now people talk about DevOps, you know,

923
00:57:23.159 --> 00:57:26.599
<v Speaker 5>not interacting with ops all devs. So we have the

924
00:57:26.840 --> 00:57:30.679
<v Speaker 5>like DevOps problem you can call it, and you have

925
00:57:31.159 --> 00:57:33.880
<v Speaker 5>tools that are trying to solve the problem. Well, DevOps

926
00:57:33.920 --> 00:57:37.920
<v Speaker 5>tools don't communicate well with depth tools or tools, which

927
00:57:37.960 --> 00:57:39.599
<v Speaker 5>is like, yeah, ridiculous.

928
00:57:40.760 --> 00:57:46.480
<v Speaker 4>Yeah, it's like it's it's it. It's like it was

929
00:57:46.559 --> 00:57:50.400
<v Speaker 4>a buzzword that was created to sell aws certificates, and

930
00:57:50.559 --> 00:57:53.800
<v Speaker 4>you end up with all these people who create these

931
00:57:53.960 --> 00:57:57.559
<v Speaker 4>layers of infrastructure that don't help the developers. Developers now

932
00:57:57.639 --> 00:57:59.760
<v Speaker 4>have to wait, you know, fifteen minutes for their deployees

933
00:57:59.800 --> 00:58:00.280
<v Speaker 4>to get through.

934
00:58:01.400 --> 00:58:01.599
<v Speaker 5>Yeah.

935
00:58:01.760 --> 00:58:04.559
<v Speaker 4>Oh oh, this is I'll shut up now because this

936
00:58:04.719 --> 00:58:06.199
<v Speaker 4>is one of my Yeah.

937
00:58:06.280 --> 00:58:12.920
<v Speaker 1>But as point, it was originally this movement to bridge

938
00:58:12.960 --> 00:58:16.960
<v Speaker 1>the gap between like infrastructure and code and make it

939
00:58:17.079 --> 00:58:19.519
<v Speaker 1>manageable so that you could communicate about this stuff and

940
00:58:19.559 --> 00:58:21.400
<v Speaker 1>the way you communicated about the stuff and the way

941
00:58:21.440 --> 00:58:24.119
<v Speaker 1>you set up your your your people and your processes.

942
00:58:24.920 --> 00:58:27.360
<v Speaker 1>And that's what it got co opted into, right.

943
00:58:27.360 --> 00:58:32.519
<v Speaker 4>That's yeah, sorry, I think the Phoenix project still used

944
00:58:32.559 --> 00:58:36.079
<v Speaker 4>it in the sense in which it was intended. The

945
00:58:36.159 --> 00:58:40.440
<v Speaker 4>book the it's called the is it. The Phoenix project

946
00:58:40.519 --> 00:58:42.679
<v Speaker 4>is the name of the book. I think that that

947
00:58:42.840 --> 00:58:46.159
<v Speaker 4>one talks about DevOps in the actual terms of what

948
00:58:46.280 --> 00:58:51.079
<v Speaker 4>DevOps is supposed to be, like partnering with the development

949
00:58:51.159 --> 00:58:55.000
<v Speaker 4>team and the operation team to to understand both sides

950
00:58:55.119 --> 00:59:00.599
<v Speaker 4>and provide tools that facilitate quicker and more efficient Yeah,

951
00:59:01.280 --> 00:59:02.599
<v Speaker 4>agile development.

952
00:59:04.400 --> 00:59:05.159
<v Speaker 5>Very good example.

953
00:59:07.360 --> 00:59:10.800
<v Speaker 3>Another interesting example I'm saying and running into is the

954
00:59:10.880 --> 00:59:14.800
<v Speaker 3>whole concept of shift left and development, where you say,

955
00:59:14.960 --> 00:59:19.159
<v Speaker 3>instead of having dedicated QA and automation teams, we let

956
00:59:19.280 --> 00:59:23.400
<v Speaker 3>the developers do the automation and be responsible for the testing,

957
00:59:23.840 --> 00:59:25.800
<v Speaker 3>which is great on the one hand, but on the

958
00:59:25.880 --> 00:59:29.320
<v Speaker 3>other hand, results in a situation where nobody owns or

959
00:59:29.440 --> 00:59:34.039
<v Speaker 3>is responsible for the automations, and then when something breaks,

960
00:59:34.159 --> 00:59:35.440
<v Speaker 3>nobody knows how to fix it.

961
00:59:36.239 --> 00:59:38.599
<v Speaker 5>And it's also very weird because you know, if you

962
00:59:38.679 --> 00:59:42.519
<v Speaker 5>have a process and you shift everything left, you know,

963
00:59:42.639 --> 00:59:45.360
<v Speaker 5>you still end up with something in the right. You know,

964
00:59:46.360 --> 00:59:48.119
<v Speaker 5>you shift on the dominos left, you still have a

965
00:59:48.440 --> 00:59:51.159
<v Speaker 5>serious dominoes like something is going to be on the

966
00:59:51.199 --> 00:59:55.039
<v Speaker 5>other side. Yeah.

967
00:59:55.880 --> 01:00:00.800
<v Speaker 3>Yeah, before we're done, I really you want to touch

968
01:00:00.880 --> 01:00:04.360
<v Speaker 3>on the other posts as well. We are running, We're

969
01:00:04.440 --> 01:00:06.679
<v Speaker 3>starting to run towards the end, but I really like

970
01:00:06.840 --> 01:00:09.039
<v Speaker 3>to spend a few words on that. And that's another

971
01:00:09.559 --> 01:00:12.760
<v Speaker 3>post with a great name, and it's called the marshmallow effect.

972
01:00:13.800 --> 01:00:17.519
<v Speaker 5>Oh yeah, So the marshmallow effect basically is stuff that

973
01:00:18.199 --> 01:00:21.800
<v Speaker 5>has the you know, the original name, but it doesn't

974
01:00:21.800 --> 01:00:24.960
<v Speaker 5>actually have any of the original ingredients. So most people

975
01:00:25.039 --> 01:00:28.159
<v Speaker 5>don't know. But marshmallow was originally made from a marshmallow

976
01:00:28.239 --> 01:00:35.559
<v Speaker 5>plantallow wood, and obviously you know nowadays marshmallows made from coal, silk,

977
01:00:36.440 --> 01:00:41.360
<v Speaker 5>and sugar basically, and it doesn't actually have the taste. Yeah,

978
01:00:42.039 --> 01:00:44.960
<v Speaker 5>and it doesn't actually have the taste of actually marshmallows.

979
01:00:46.199 --> 01:00:47.840
<v Speaker 5>Some places in New Rope you can still get the

980
01:00:47.880 --> 01:00:51.400
<v Speaker 5>original stuff. It's very hard, but you can still get it.

981
01:00:52.119 --> 01:00:55.760
<v Speaker 5>But those in the food industry, it's actually very common.

982
01:00:55.800 --> 01:00:58.159
<v Speaker 5>A lot of the stuff that the industrial stuff we

983
01:00:58.320 --> 01:01:00.840
<v Speaker 5>today like still has the same names as the vigils

984
01:01:00.880 --> 01:01:03.159
<v Speaker 5>from one hundred years ago because it's actually but it's

985
01:01:03.199 --> 01:01:05.119
<v Speaker 5>not the same thing, doesn't even taste the same.

986
01:01:05.440 --> 01:01:09.079
<v Speaker 3>I remember growing up they never ate it. I remember

987
01:01:09.199 --> 01:01:12.719
<v Speaker 3>growing up in in the in the what was it

988
01:01:12.880 --> 01:01:16.400
<v Speaker 3>like in the eighties and in the States, there was

989
01:01:16.719 --> 01:01:22.039
<v Speaker 3>this leon lemonade called Old fashioned country lemonade or something

990
01:01:22.079 --> 01:01:25.599
<v Speaker 3>like that, which had zero lemons in it. Uh And

991
01:01:26.000 --> 01:01:28.360
<v Speaker 3>and yeah, I remember how shocked I was by that.

992
01:01:29.039 --> 01:01:30.519
<v Speaker 2>I thought you were going to say that you used

993
01:01:30.519 --> 01:01:32.280
<v Speaker 2>to drink cocaine in your Coca cola.

994
01:01:35.760 --> 01:01:40.280
<v Speaker 5>Wonder bread, wonder blood. Another good one. And if we

995
01:01:40.360 --> 01:01:43.599
<v Speaker 5>have something called sacla which is like a torkash drink

996
01:01:44.119 --> 01:01:47.679
<v Speaker 5>which was made from safa plant, but obviously now it's not.

997
01:01:48.079 --> 01:01:52.199
<v Speaker 5>And like, yeah, I still remember the vigilal saclub. But

998
01:01:52.360 --> 01:01:55.719
<v Speaker 5>people who like you know, grow up now, they never

999
01:01:55.760 --> 01:01:59.440
<v Speaker 5>actually tasted. They think that what they're drinking now safa

1000
01:01:59.679 --> 01:02:03.239
<v Speaker 5>it's not. But you also say this in technology, and

1001
01:02:03.440 --> 01:02:05.280
<v Speaker 5>I think the cloud is a very good example. You know,

1002
01:02:05.360 --> 01:02:10.079
<v Speaker 5>people talk about like discs. It is it's not a disc.

1003
01:02:11.280 --> 01:02:13.920
<v Speaker 5>It looks like yeah, I mean it looks like a disc.

1004
01:02:14.400 --> 01:02:16.920
<v Speaker 5>It has you know, some fake blocks and stuff, but

1005
01:02:17.000 --> 01:02:20.000
<v Speaker 5>it's it's not actually a disc. It's not magnetic or

1006
01:02:20.119 --> 01:02:22.599
<v Speaker 5>SSD or anything like it. It's just a name that

1007
01:02:23.440 --> 01:02:26.320
<v Speaker 5>puts on to tell you that this has certain eye

1008
01:02:26.360 --> 01:02:27.800
<v Speaker 5>ops and certain speed and buildings.

1009
01:02:27.960 --> 01:02:31.840
<v Speaker 3>That's kind of intentional. With virtualization, the whole concept of

1010
01:02:31.920 --> 01:02:35.760
<v Speaker 3>virtualization virtual memory. Going back to virtual memory is the

1011
01:02:35.880 --> 01:02:38.440
<v Speaker 3>fact that you know, virtual memory is not memory. It's

1012
01:02:38.519 --> 01:02:42.039
<v Speaker 3>files on a disc, but it's it's it's one thing

1013
01:02:42.159 --> 01:02:46.519
<v Speaker 3>that's intentionally created to look like another for very exactly.

1014
01:02:46.599 --> 01:02:50.199
<v Speaker 5>So it's backwards compatibility. But that creates a lot of

1015
01:02:50.320 --> 01:02:53.440
<v Speaker 5>interesting problems because first of all, it impacts how people

1016
01:02:53.480 --> 01:02:57.000
<v Speaker 5>think about the system. So I'll give you an example.

1017
01:02:57.039 --> 01:03:00.679
<v Speaker 5>People often debate whether they should use A or e

1018
01:03:00.800 --> 01:03:03.199
<v Speaker 5>B S or e f S, which is like NFS,

1019
01:03:04.360 --> 01:03:06.840
<v Speaker 5>and then they're like, oh, but discs A, you know,

1020
01:03:07.000 --> 01:03:09.920
<v Speaker 5>have these features or have this speed or whatever, And

1021
01:03:10.280 --> 01:03:13.840
<v Speaker 5>it's all long because actually S three and EBS, you know,

1022
01:03:14.000 --> 01:03:17.679
<v Speaker 5>they actually the same machines doing the storage. E f

1023
01:03:17.800 --> 01:03:21.440
<v Speaker 5>S is basically like the same with the VBS, except

1024
01:03:21.480 --> 01:03:24.280
<v Speaker 5>the protocol that you use to communicate with it. And

1025
01:03:24.639 --> 01:03:27.400
<v Speaker 5>so the real question is not, you know, if it's

1026
01:03:27.519 --> 01:03:29.760
<v Speaker 5>like discs or something else, it's like how many eye

1027
01:03:29.840 --> 01:03:32.000
<v Speaker 5>ups are getting and do you like this protocol that

1028
01:03:32.079 --> 01:03:35.440
<v Speaker 5>you're using to to talk to this storage. So though

1029
01:03:35.760 --> 01:03:38.440
<v Speaker 5>that's what you should be you know, talking about, really,

1030
01:03:40.000 --> 01:03:43.119
<v Speaker 5>but session people have because they don't understand that this

1031
01:03:43.239 --> 01:03:45.920
<v Speaker 5>is actually all the same storage, just presented in a

1032
01:03:45.960 --> 01:03:49.599
<v Speaker 5>different way, and you have a similar problem with VPC

1033
01:03:50.440 --> 01:03:53.519
<v Speaker 5>because you know it's again Beckward's compatibility, which you don't

1034
01:03:53.519 --> 01:03:54.599
<v Speaker 5>actually needed the cloud.

1035
01:03:54.960 --> 01:03:55.119
<v Speaker 4>You know.

1036
01:03:56.039 --> 01:03:58.719
<v Speaker 5>I had this conversation with one of my clients, well,

1037
01:03:58.760 --> 01:04:02.199
<v Speaker 5>they consulted me about out network design, like, okay, so

1038
01:04:02.320 --> 01:04:04.119
<v Speaker 5>how many subnets do we need to do and do

1039
01:04:04.199 --> 01:04:07.440
<v Speaker 5>we need to put all the application on the same subnet?

1040
01:04:07.920 --> 01:04:12.079
<v Speaker 5>And I was like, but you know, it's not just

1041
01:04:12.159 --> 01:04:14.599
<v Speaker 5>because you have the same subject doesn't actually mean everything

1042
01:04:14.679 --> 01:04:17.920
<v Speaker 5>the subjet is physically close. It's not going to have

1043
01:04:18.559 --> 01:04:22.639
<v Speaker 5>better latency or anything like it. You know, it's all

1044
01:04:22.719 --> 01:04:25.880
<v Speaker 5>public network the entire zone. You know, It's like, it

1045
01:04:25.920 --> 01:04:27.760
<v Speaker 5>doesn't matter if you if you use like one stub

1046
01:04:27.840 --> 01:04:29.920
<v Speaker 5>at twenty subnets, it's still going to be the same,

1047
01:04:30.360 --> 01:04:33.119
<v Speaker 5>the same, you know, under like structures that you have

1048
01:04:33.199 --> 01:04:33.920
<v Speaker 5>no idea about.

1049
01:04:34.480 --> 01:04:38.000
<v Speaker 3>So if if I'm understanding correctly, what you're saying or

1050
01:04:38.039 --> 01:04:41.199
<v Speaker 3>even lamenting is the fact that we create these sorts

1051
01:04:41.239 --> 01:04:44.920
<v Speaker 3>of virtualization layers that are kind of lies, and we

1052
01:04:45.079 --> 01:04:50.119
<v Speaker 3>do that to ease transitions, that say, between systems, but

1053
01:04:50.320 --> 01:04:53.239
<v Speaker 3>at the end we end up lying to ourselves because

1054
01:04:53.320 --> 01:04:57.960
<v Speaker 3>we're carrying over mindset and certain assumptions of how things work.

1055
01:04:58.400 --> 01:05:01.599
<v Speaker 3>When they don't actually worked that way at all anymore.

1056
01:05:02.440 --> 01:05:06.360
<v Speaker 5>Yes, and hills would get interesting because I'm through the

1057
01:05:06.440 --> 01:05:09.760
<v Speaker 5>generation that actually used data centers. I installed data centers,

1058
01:05:09.920 --> 01:05:12.000
<v Speaker 5>and I worked in data centers, and I know that

1059
01:05:12.079 --> 01:05:15.159
<v Speaker 5>stuff very well because I actually interacted with the machines.

1060
01:05:15.760 --> 01:05:18.639
<v Speaker 5>But now you have a generation that started the careers

1061
01:05:19.159 --> 01:05:25.320
<v Speaker 5>in the cloud with virtualization, and now though basically eating marshmallows,

1062
01:05:25.519 --> 01:05:27.440
<v Speaker 5>and they never actually tasted the new stuff.

1063
01:05:28.400 --> 01:05:29.599
<v Speaker 2>You're making me feel old.

1064
01:05:29.840 --> 01:05:33.440
<v Speaker 1>My first full time tech job, or not full time,

1065
01:05:33.519 --> 01:05:35.800
<v Speaker 1>it was part time, but I was when I was

1066
01:05:35.840 --> 01:05:38.239
<v Speaker 1>a student at BYU, I was working in the data center,

1067
01:05:38.800 --> 01:05:42.239
<v Speaker 1>and the server was a server, it was a machine, right.

1068
01:05:42.360 --> 01:05:44.199
<v Speaker 2>Some of those machines were like they take up a

1069
01:05:44.239 --> 01:05:45.239
<v Speaker 2>whole freaking cabinet.

1070
01:05:45.920 --> 01:05:46.400
<v Speaker 4>And then.

1071
01:05:48.440 --> 01:05:51.320
<v Speaker 2>Right by the time I left, now.

1072
01:05:51.199 --> 01:05:53.719
<v Speaker 1>We had servers that were we had these servers with

1073
01:05:53.880 --> 01:05:58.400
<v Speaker 1>blade servers in them, right, and so it was it

1074
01:05:58.559 --> 01:06:00.719
<v Speaker 1>was a box that had a bunch of computers in it.

1075
01:06:01.159 --> 01:06:03.559
<v Speaker 1>But then we had dmware installed on those, and so

1076
01:06:03.719 --> 01:06:07.039
<v Speaker 1>then a server was this virtual thing that lived on

1077
01:06:07.320 --> 01:06:11.760
<v Speaker 1>this right, but you still knew which server your server

1078
01:06:12.320 --> 01:06:17.760
<v Speaker 1>ran on, right, And yeah, anyway, and then talking.

1079
01:06:17.920 --> 01:06:22.679
<v Speaker 3>Volved and then VMware introduced v motion, which allowed them

1080
01:06:22.800 --> 01:06:27.199
<v Speaker 3>to move those vms between machines without ye without time.

1081
01:06:28.079 --> 01:06:30.800
<v Speaker 3>And then we got to the cloud, to the actual

1082
01:06:30.880 --> 01:06:34.079
<v Speaker 3>cloud where you literally have no idea where your lambdads

1083
01:06:34.079 --> 01:06:34.800
<v Speaker 3>are running.

1084
01:06:35.519 --> 01:06:39.000
<v Speaker 5>Right, and also have very interesting discussions between people about

1085
01:06:39.079 --> 01:06:42.239
<v Speaker 5>the same like containers more efficient, vms the more efficient,

1086
01:06:42.320 --> 01:06:44.480
<v Speaker 5>and it's like very little discussion because it's all the

1087
01:06:44.519 --> 01:06:45.000
<v Speaker 5>same stuff.

1088
01:06:46.039 --> 01:06:50.719
<v Speaker 4>Yeah, and we've got this problem, like docer is recreating

1089
01:06:50.760 --> 01:06:54.800
<v Speaker 4>the very problem that it was intended to solve. So

1090
01:06:55.039 --> 01:07:00.559
<v Speaker 4>for example, uh, the blue Sky self hosted installer choirs

1091
01:07:00.599 --> 01:07:03.880
<v Speaker 4>that you run on Ubuntu so that it can install

1092
01:07:04.000 --> 01:07:06.320
<v Speaker 4>all the things that need to be installed to install

1093
01:07:06.400 --> 01:07:12.199
<v Speaker 4>and configure Docker so that you install the packages in

1094
01:07:12.360 --> 01:07:16.480
<v Speaker 4>the container in a predictable way. It's like, well, why

1095
01:07:16.519 --> 01:07:20.039
<v Speaker 4>didn't you just say blue Sky only runs on Ubuntu

1096
01:07:21.039 --> 01:07:23.239
<v Speaker 4>or you need to follow you need to install these

1097
01:07:23.599 --> 01:07:26.400
<v Speaker 4>ten packages on your own right. But now, but now

1098
01:07:26.440 --> 01:07:29.000
<v Speaker 4>it's like I have to so in my container, I

1099
01:07:29.119 --> 01:07:32.199
<v Speaker 4>have to have nesting so that I can run debians

1100
01:07:32.239 --> 01:07:34.159
<v Speaker 4>so that I can run the Docker so that I

1101
01:07:34.199 --> 01:07:35.119
<v Speaker 4>could run Debian.

1102
01:07:36.400 --> 01:07:36.559
<v Speaker 5>Yeah.

1103
01:07:38.000 --> 01:07:43.199
<v Speaker 4>Machine, well yeah, yeah, yeah, yeah. We can't ship your

1104
01:07:43.280 --> 01:07:46.159
<v Speaker 4>machine to to the client, but we ship a clone

1105
01:07:46.440 --> 01:07:49.280
<v Speaker 4>and still nobody knows what's going like that. This is

1106
01:07:49.320 --> 01:07:51.880
<v Speaker 4>the thing I always say, so that, but that you know,

1107
01:07:51.960 --> 01:07:54.280
<v Speaker 4>the problem with Docker is not docer. Docker is a

1108
01:07:54.360 --> 01:07:57.719
<v Speaker 4>great technology, is a technology the doc The problem with

1109
01:07:57.840 --> 01:07:59.880
<v Speaker 4>Docker is that it just moved the goalpost to no.

1110
01:08:00.000 --> 01:08:03.400
<v Speaker 4>No one understands why my machine works, will ship a

1111
01:08:03.480 --> 01:08:06.639
<v Speaker 4>clone of the machine to no one understands why the

1112
01:08:06.880 --> 01:08:10.960
<v Speaker 4>Docker file works will ship well. And then you don't

1113
01:08:10.960 --> 01:08:13.039
<v Speaker 4>even get it because it's hosted on Docker Hub, so

1114
01:08:13.119 --> 01:08:14.880
<v Speaker 4>you don't even get to see the Docker file. So

1115
01:08:14.960 --> 01:08:17.600
<v Speaker 4>you don't even know how to recreate the container at all.

1116
01:08:18.039 --> 01:08:21.079
<v Speaker 4>So we're actually worse off because at least before you

1117
01:08:21.159 --> 01:08:23.199
<v Speaker 4>could kind of like look at the history on the machine.

1118
01:08:23.239 --> 01:08:25.279
<v Speaker 4>Now you get a container where all the history is

1119
01:08:25.319 --> 01:08:26.279
<v Speaker 4>stripped out and you don't.

1120
01:08:26.159 --> 01:08:26.880
<v Speaker 5>Know how it got there.

1121
01:08:27.880 --> 01:08:29.680
<v Speaker 1>Well, they do have the layers and things like that,

1122
01:08:29.840 --> 01:08:32.800
<v Speaker 1>but what's fascinating about it is that and it should

1123
01:08:32.880 --> 01:08:36.479
<v Speaker 1>work anywhere, but yeah, you know, it does make assumptions

1124
01:08:36.479 --> 01:08:38.880
<v Speaker 1>about how your Docker set up on your machine.

1125
01:08:40.439 --> 01:08:40.760
<v Speaker 5>Twist.

1126
01:08:41.239 --> 01:08:43.239
<v Speaker 4>Then it's a go binary and it didn't need any

1127
01:08:43.279 --> 01:08:43.840
<v Speaker 4>of it anyway.

1128
01:08:44.680 --> 01:08:47.560
<v Speaker 3>I'm ashamed to say that I've managed to have a

1129
01:08:47.600 --> 01:08:51.920
<v Speaker 3>pretty good engineering career without you know, truly understanding the

1130
01:08:52.159 --> 01:08:53.479
<v Speaker 3>finer details of Docker.

1131
01:08:54.600 --> 01:08:58.800
<v Speaker 4>It's just a Linux process group. It's just a process groups.

1132
01:08:58.880 --> 01:09:01.880
<v Speaker 4>It's just like forking from process but with more kernel

1133
01:09:01.920 --> 01:09:02.560
<v Speaker 4>level security.

1134
01:09:04.119 --> 01:09:07.000
<v Speaker 5>I want to make a shameless plug. Like about a

1135
01:09:07.119 --> 01:09:11.960
<v Speaker 5>decade ago, Nati Cohen and myself had a workshop called

1136
01:09:12.760 --> 01:09:16.479
<v Speaker 5>Rabo docer or docer from scratch. Will you write your

1137
01:09:16.479 --> 01:09:20.760
<v Speaker 5>own docer clone in Python and you basically implement docer

1138
01:09:21.239 --> 01:09:25.800
<v Speaker 5>using you know, Linux system calls like a clone folk

1139
01:09:25.920 --> 01:09:29.960
<v Speaker 5>and like over the fight system and the name spaces

1140
01:09:30.000 --> 01:09:31.720
<v Speaker 5>and c groups and all that stuff. So it actually

1141
01:09:31.760 --> 01:09:33.640
<v Speaker 5>gives you a pretty good idea of how doker works

1142
01:09:33.720 --> 01:09:36.680
<v Speaker 5>under the hood. It's all open source. It's in GitHub.

1143
01:09:37.399 --> 01:09:39.840
<v Speaker 5>You can put links that you want. Yeah, I would

1144
01:09:39.880 --> 01:09:40.079
<v Speaker 5>love it.

1145
01:09:40.680 --> 01:09:43.720
<v Speaker 3>Nat is great he even though he's moved over to

1146
01:09:43.800 --> 01:09:46.479
<v Speaker 3>the dark side. I think he's working at AWS now.

1147
01:09:47.960 --> 01:09:51.760
<v Speaker 3>We should probably have him on the show as well. Also, Karen,

1148
01:09:53.039 --> 01:09:57.079
<v Speaker 3>his wife, is presy amazing as well. Anyway, I'm digressing.

1149
01:09:58.000 --> 01:10:00.880
<v Speaker 5>Yeah, I just wanted to say about the doctor. It's

1150
01:10:00.880 --> 01:10:04.039
<v Speaker 5>a very good example of like how the discussion kind

1151
01:10:04.039 --> 01:10:08.039
<v Speaker 5>of trailed off like in the community because we had

1152
01:10:08.079 --> 01:10:11.279
<v Speaker 5>this tool. Because really the problem is that doctors that containers.

1153
01:10:11.479 --> 01:10:13.920
<v Speaker 5>It's reproducible bills mm.

1154
01:10:13.880 --> 01:10:19.680
<v Speaker 1>Hmm yep, which when you think about it, yeah, then

1155
01:10:19.840 --> 01:10:22.920
<v Speaker 1>then you start you start, like my brain started going

1156
01:10:22.960 --> 01:10:25.199
<v Speaker 1>to other places. Right, these are the other tools that

1157
01:10:25.239 --> 01:10:27.560
<v Speaker 1>I've used to solve similar problems.

1158
01:10:28.239 --> 01:10:28.640
<v Speaker 5>Mm hmm.

1159
01:10:28.800 --> 01:10:29.000
<v Speaker 3>Yeah.

1160
01:10:29.119 --> 01:10:34.600
<v Speaker 1>Yeah, all right, Well, is there anything else that we

1161
01:10:34.680 --> 01:10:39.479
<v Speaker 1>want to kind of kick around? Different marshmallows to kick around,

1162
01:10:39.640 --> 01:10:42.399
<v Speaker 1>or conversations to paint red before.

1163
01:10:42.119 --> 01:10:44.600
<v Speaker 3>We now, now you really want you You got me

1164
01:10:44.680 --> 01:10:47.000
<v Speaker 3>to really want to try out real marshmallows.

1165
01:10:48.439 --> 01:10:49.720
<v Speaker 2>I know I'm curious too.

1166
01:10:49.800 --> 01:10:57.079
<v Speaker 5>Now, yeah, it's not the fine, but then you find them. Yeah.

1167
01:10:57.760 --> 01:10:59.520
<v Speaker 3>The funny thing is when you find one of the

1168
01:10:59.600 --> 01:11:02.079
<v Speaker 3>original of things and then you discover you don't, you

1169
01:11:02.159 --> 01:11:05.640
<v Speaker 3>don't actually like it. I think our current model, Yeah,

1170
01:11:05.760 --> 01:11:08.319
<v Speaker 3>our current modern ketchup, for example, has nothing to do

1171
01:11:08.439 --> 01:11:09.600
<v Speaker 3>with the original ketchup.

1172
01:11:11.399 --> 01:11:13.319
<v Speaker 5>Do you know the story about ketch Peninsula, right.

1173
01:11:14.479 --> 01:11:17.000
<v Speaker 3>Yeah, yes I do, But you can tell it. It's

1174
01:11:17.039 --> 01:11:20.199
<v Speaker 3>a really weird one that shows up bureaucracies work and

1175
01:11:20.279 --> 01:11:23.800
<v Speaker 3>how business interesting bureaucracies can go hand in hand.

1176
01:11:24.079 --> 01:11:24.680
<v Speaker 5>Yeah, tell it.

1177
01:11:25.720 --> 01:11:29.600
<v Speaker 3>So. Basically, in Israel, we have a local brand of ketchup.

1178
01:11:30.520 --> 01:11:34.159
<v Speaker 3>And at a certain point in time, they started to

1179
01:11:34.439 --> 01:11:38.640
<v Speaker 3>if somebody started to import Heinz Ketchup and so, and

1180
01:11:38.920 --> 01:11:42.359
<v Speaker 3>that was starting to eat into their market share. So

1181
01:11:42.640 --> 01:11:45.880
<v Speaker 3>what they did is they changed the legislature on what

1182
01:11:46.119 --> 01:11:50.079
<v Speaker 3>can be legally termed as being ketchup. That's the way

1183
01:11:50.760 --> 01:11:54.359
<v Speaker 3>that Heinz Ketchup could no longer be called ketchup in Israel.

1184
01:11:55.079 --> 01:12:01.079
<v Speaker 3>So instead it's called sweetened the tomato sauce or something.

1185
01:12:03.279 --> 01:12:06.439
<v Speaker 3>And they got to keep the term ketchup for themselves,

1186
01:12:07.079 --> 01:12:10.199
<v Speaker 3>but it didn't really help them anyway, because people just

1187
01:12:10.359 --> 01:12:14.479
<v Speaker 3>bought hinds regardless of what it was. What it said

1188
01:12:14.560 --> 01:12:16.319
<v Speaker 3>below the Heinz Moniker.

1189
01:12:17.800 --> 01:12:22.079
<v Speaker 2>Oh that's so funny. Points for creativity.

1190
01:12:21.520 --> 01:12:25.960
<v Speaker 3>Though, Yeah, looking to the point where Heinz Ketchup can't

1191
01:12:26.000 --> 01:12:26.760
<v Speaker 3>be called ketchup.

1192
01:12:28.720 --> 01:12:31.800
<v Speaker 2>Yeah, well I found a thread on Reddit. But yeah,

1193
01:12:34.520 --> 01:12:38.399
<v Speaker 2>all right, well I'm gonna push us into picks a

1194
01:12:38.520 --> 01:12:40.000
<v Speaker 2>j Do you want to start us off with picks?

1195
01:12:42.640 --> 01:12:42.880
<v Speaker 3>Ah?

1196
01:12:43.560 --> 01:12:46.800
<v Speaker 4>Goodness, I don't know. Sorry, I actually today don't have

1197
01:12:46.920 --> 01:12:51.920
<v Speaker 4>anything top of mind. I'm going to need a minute myself.

1198
01:12:52.000 --> 01:12:56.600
<v Speaker 3>All right, Dan, Okay, so I actually have a pick

1199
01:12:56.680 --> 01:13:00.399
<v Speaker 3>I'm really happy about and it's this new TV show

1200
01:13:00.600 --> 01:13:07.000
<v Speaker 3>called The Penguin. It's about this Batman character, one of

1201
01:13:07.039 --> 01:13:12.920
<v Speaker 3>the Batman's villains, and what can I say, It's just

1202
01:13:13.039 --> 01:13:16.399
<v Speaker 3>an amazing show. And so far, by the way, Batman

1203
01:13:16.640 --> 01:13:21.199
<v Speaker 3>makes zero appearances. There's no mention of superpowers or anything

1204
01:13:21.359 --> 01:13:25.840
<v Speaker 3>like that. They do make occasional references to the latest

1205
01:13:25.880 --> 01:13:32.520
<v Speaker 3>Batman movie, but it's really subtle. Colin Farrell is absolutely

1206
01:13:32.920 --> 01:13:40.319
<v Speaker 3>amazing as the Penguin. He's totally unrecognizable. The makeup, the prosthetics,

1207
01:13:40.359 --> 01:13:42.439
<v Speaker 3>I understand, even shaved his head for the role in

1208
01:13:42.880 --> 01:13:47.399
<v Speaker 3>a certain way. But his acting is just it's James

1209
01:13:47.479 --> 01:13:52.319
<v Speaker 3>Gandolfini level. Really, he's giving the performance of his life.

1210
01:13:52.359 --> 01:13:58.159
<v Speaker 3>I think highly, highly recommended. So that would be my

1211
01:13:58.680 --> 01:14:02.079
<v Speaker 3>first pick. Everybody else there, by the way, is the

1212
01:14:02.159 --> 01:14:05.680
<v Speaker 3>acting is good all around, but he's he's just he

1213
01:14:05.880 --> 01:14:10.279
<v Speaker 3>just stands out. I really hope they're able to maintain

1214
01:14:11.199 --> 01:14:13.640
<v Speaker 3>this quality all the way through. I'm kind of halfway

1215
01:14:13.840 --> 01:14:16.199
<v Speaker 3>through the first season. I think it's the only season

1216
01:14:16.279 --> 01:14:18.680
<v Speaker 3>so far, and I really hope it doesn't get canceled

1217
01:14:18.760 --> 01:14:23.119
<v Speaker 3>or anything like that. So that would be my first pick.

1218
01:14:23.880 --> 01:14:27.840
<v Speaker 3>The second pick is I created an account on Blue

1219
01:14:27.880 --> 01:14:31.039
<v Speaker 3>Sky so if you for some reason have left X

1220
01:14:31.840 --> 01:14:34.279
<v Speaker 3>and are on blue Sky, then you can follow me

1221
01:14:34.479 --> 01:14:37.359
<v Speaker 3>now there as well, even part of a pack. There's

1222
01:14:37.399 --> 01:14:42.560
<v Speaker 3>a web performance pack, and I'm on there, and it's

1223
01:14:42.840 --> 01:14:45.920
<v Speaker 3>it's very much like X, you know. It's if anything,

1224
01:14:45.960 --> 01:14:47.920
<v Speaker 3>it's kind of like what X kind of used to

1225
01:14:47.960 --> 01:14:54.640
<v Speaker 3>be in a lot of ways. The algorithm feels less intrusive,

1226
01:14:54.920 --> 01:14:58.560
<v Speaker 3>which is a plus. The weird thing to me, especially

1227
01:14:58.720 --> 01:15:01.560
<v Speaker 3>is in kind of in an out to us politics,

1228
01:15:01.720 --> 01:15:04.600
<v Speaker 3>is the interesting fact that there's kind of a political

1229
01:15:04.680 --> 01:15:09.000
<v Speaker 3>divide between those people who stayed on X versus those

1230
01:15:09.039 --> 01:15:12.880
<v Speaker 3>people who went over to Bluesky. They're kind of saying

1231
01:15:13.039 --> 01:15:15.119
<v Speaker 3>that they went over to blue Sky because they were

1232
01:15:15.239 --> 01:15:19.000
<v Speaker 3>thick of the politics and wanted more pure technical stuff.

1233
01:15:19.079 --> 01:15:22.199
<v Speaker 3>But the politics really still find through. It's just a

1234
01:15:22.319 --> 01:15:26.359
<v Speaker 3>certain aspect of politics. And I'm not criticizing either ones,

1235
01:15:26.640 --> 01:15:31.800
<v Speaker 3>you know, but I'm just it's just a shame that people, really,

1236
01:15:31.920 --> 01:15:34.199
<v Speaker 3>you've gotten to the point where they can't talk with

1237
01:15:34.279 --> 01:15:36.159
<v Speaker 3>each other to the extent that they feel that they

1238
01:15:36.239 --> 01:15:41.000
<v Speaker 3>need to be on different social networks. But I'm still

1239
01:15:41.039 --> 01:15:44.079
<v Speaker 3>on both and you can find me either place. It's

1240
01:15:44.159 --> 01:15:46.920
<v Speaker 3>kind of annoying to have to post things twice. I

1241
01:15:47.039 --> 01:15:49.439
<v Speaker 3>think there are tools that should make it easier for me,

1242
01:15:49.560 --> 01:15:53.079
<v Speaker 3>and probably need to adopt one, but right now I'm

1243
01:15:53.159 --> 01:15:58.479
<v Speaker 3>still kind of posting on at both places, and those

1244
01:15:58.560 --> 01:15:59.600
<v Speaker 3>are marks for today.

1245
01:16:01.479 --> 01:16:05.279
<v Speaker 2>Awesome, AYJ did you want to jump in or should

1246
01:16:05.319 --> 01:16:05.439
<v Speaker 2>I go?

1247
01:16:06.399 --> 01:16:06.560
<v Speaker 5>Oh?

1248
01:16:06.640 --> 01:16:07.840
<v Speaker 4>I'll just come up with something.

1249
01:16:08.000 --> 01:16:08.560
<v Speaker 3>I think.

1250
01:16:08.640 --> 01:16:11.560
<v Speaker 4>I mentioned before that i'd played Portal a few weekends

1251
01:16:11.600 --> 01:16:14.039
<v Speaker 4>ago and got all the way through it for the

1252
01:16:14.119 --> 01:16:17.479
<v Speaker 4>first time, And actually most of the quotes that I

1253
01:16:17.600 --> 01:16:20.520
<v Speaker 4>remember were from Portal two, not Portal, So that's still

1254
01:16:20.560 --> 01:16:24.279
<v Speaker 4>to come. But if you haven't played Portal and you

1255
01:16:24.399 --> 01:16:26.520
<v Speaker 4>want a game you can just sit down and play

1256
01:16:27.039 --> 01:16:32.600
<v Speaker 4>in a matter of a few hours. The Companion que

1257
01:16:33.000 --> 01:16:37.800
<v Speaker 4>Bundle is available on Nintendo right now until December. We're

1258
01:16:37.840 --> 01:16:40.359
<v Speaker 4>not even gonna release by that anyway. Check Deco deals

1259
01:16:40.399 --> 01:16:42.680
<v Speaker 4>dot com. Keep your eye on Deco deals dot com

1260
01:16:42.800 --> 01:16:45.760
<v Speaker 4>and find out when games you love go on sale

1261
01:16:45.800 --> 01:16:48.560
<v Speaker 4>and get them there. But Portal is it's definitely worth

1262
01:16:48.600 --> 01:16:50.079
<v Speaker 4>it if you haven't. If you haven't played it and

1263
01:16:50.119 --> 01:16:52.439
<v Speaker 4>you just know the references, the cake is lie, that

1264
01:16:52.560 --> 01:16:55.640
<v Speaker 4>sort of stuff. It's a little bit morbid to play

1265
01:16:55.680 --> 01:16:58.359
<v Speaker 4>with a five year old, Like the first ten levels

1266
01:16:58.399 --> 01:17:01.039
<v Speaker 4>are fine, and then all of a sudden, there's blood

1267
01:17:01.079 --> 01:17:04.079
<v Speaker 4>on the wall. And my daughters, why is the blood

1268
01:17:04.119 --> 01:17:09.119
<v Speaker 4>on the wall, that's all?

1269
01:17:09.760 --> 01:17:12.159
<v Speaker 3>How does she recognize blood? Can't you just tell her

1270
01:17:12.199 --> 01:17:17.520
<v Speaker 3>it's ketchup? And so.

1271
01:17:19.479 --> 01:17:19.840
<v Speaker 5>I don't.

1272
01:17:19.960 --> 01:17:22.520
<v Speaker 4>I don't lie to my kids and I don't baby

1273
01:17:22.600 --> 01:17:27.520
<v Speaker 4>down explanations. When my three year old it's red pixels, yeah,

1274
01:17:28.119 --> 01:17:33.359
<v Speaker 4>but okay, fair, but it's representing it is It is

1275
01:17:33.439 --> 01:17:35.239
<v Speaker 4>not representing ketchup. It's representing blood.

1276
01:17:35.399 --> 01:17:37.880
<v Speaker 3>It's white roses painted red.

1277
01:17:39.800 --> 01:17:43.119
<v Speaker 4>Well with with my kids, even my three year old,

1278
01:17:43.960 --> 01:17:46.560
<v Speaker 4>when he asks a question, I will answer his question

1279
01:17:47.199 --> 01:17:49.079
<v Speaker 4>like an adult. And sometimes he will then ask, well,

1280
01:17:49.079 --> 01:17:50.720
<v Speaker 4>what does this word mean? Or what does that word mean?

1281
01:17:50.760 --> 01:17:53.039
<v Speaker 4>And our daughter, you know, she asked what does this

1282
01:17:53.159 --> 01:17:55.279
<v Speaker 4>word mean? What does that word mean? I am waiting

1283
01:17:55.479 --> 01:17:58.319
<v Speaker 4>for her to ask where do babies come from? It's

1284
01:17:58.560 --> 01:18:03.159
<v Speaker 4>it's got to come soon. But that's going to be

1285
01:18:03.199 --> 01:18:05.800
<v Speaker 4>a very I don't I don't know how to that what.

1286
01:18:05.920 --> 01:18:07.600
<v Speaker 4>I'm not gonna say it like I would to an adult.

1287
01:18:07.600 --> 01:18:09.560
<v Speaker 4>I don't think, but I'll.

1288
01:18:09.399 --> 01:18:13.159
<v Speaker 3>Say I'll tell you this story from my childhood. When

1289
01:18:13.199 --> 01:18:16.800
<v Speaker 3>I was like seven or something years old, somebody used

1290
01:18:16.840 --> 01:18:20.359
<v Speaker 3>the word prostitute around me. So I went home and

1291
01:18:20.479 --> 01:18:23.520
<v Speaker 3>I asked my mother, Mom, what does the word prostitute mean?

1292
01:18:24.319 --> 01:18:27.840
<v Speaker 3>And she, being having the similar mindset to yours, said

1293
01:18:28.000 --> 01:18:31.399
<v Speaker 3>it's a woman who sleeps with men for money. And

1294
01:18:31.600 --> 01:18:34.119
<v Speaker 3>I couldn't figure out for the life of me why

1295
01:18:34.239 --> 01:18:36.800
<v Speaker 3>somebody would pay someone to sleep with them, because it's

1296
01:18:36.840 --> 01:18:39.279
<v Speaker 3>all comfortable to have to share a bed with somebody,

1297
01:18:40.079 --> 01:18:44.239
<v Speaker 3>you know, you don't have as much space. And yeah,

1298
01:18:44.279 --> 01:18:45.439
<v Speaker 3>I just couldn't figure it out.

1299
01:18:47.119 --> 01:18:50.399
<v Speaker 4>Anyway, Well, when I was five, I asked my dad,

1300
01:18:50.680 --> 01:18:54.720
<v Speaker 4>and my dad told me and as as least graphic

1301
01:18:54.880 --> 01:18:57.760
<v Speaker 4>terms as he could, and I just thought that sounds

1302
01:18:57.800 --> 01:19:00.479
<v Speaker 4>so weird and gross. But then when I was about thirteen,

1303
01:19:00.520 --> 01:19:01.840
<v Speaker 4>I was like, got it.

1304
01:19:06.279 --> 01:19:08.560
<v Speaker 1>All right, I'm gonna throw in some picks. I always

1305
01:19:08.600 --> 01:19:13.079
<v Speaker 1>do a board game pick. I don't think I'm trying

1306
01:19:13.119 --> 01:19:15.680
<v Speaker 1>to remember if I picked this game last week or not.

1307
01:19:16.439 --> 01:19:19.680
<v Speaker 1>Maybe I'll just pick a different one. So not this

1308
01:19:19.800 --> 01:19:22.960
<v Speaker 1>last Saturday, but the Saturday before. I was helping teach

1309
01:19:23.039 --> 01:19:25.079
<v Speaker 1>games at the Board Game Convention. Right, so I have

1310
01:19:25.159 --> 01:19:28.079
<v Speaker 1>five or six games that we taught. I've already picked

1311
01:19:28.159 --> 01:19:32.600
<v Speaker 1>Challengers on here because I picked that. I played that

1312
01:19:32.720 --> 01:19:36.279
<v Speaker 1>game at SaltCON in March, and that was one of

1313
01:19:36.319 --> 01:19:39.159
<v Speaker 1>the games we taught. And there's another version of the

1314
01:19:39.239 --> 01:19:43.399
<v Speaker 1>game called Challenger's Beach Cup, which is the same rules

1315
01:19:43.840 --> 01:19:47.359
<v Speaker 1>with different cards that have different abilities. So I feel

1316
01:19:47.399 --> 01:19:49.800
<v Speaker 1>a little bit funny just pick in either of those

1317
01:19:49.840 --> 01:19:53.399
<v Speaker 1>because you guys can go pick them up and it's

1318
01:19:53.479 --> 01:19:54.359
<v Speaker 1>it's plenty fun.

1319
01:19:54.680 --> 01:19:58.399
<v Speaker 2>It's you know, the tournament war flag thing. You can

1320
01:19:58.439 --> 01:20:03.079
<v Speaker 2>go listen to the previous. So I'm hoping I didn't

1321
01:20:03.079 --> 01:20:04.479
<v Speaker 2>pick this last week, and if I did.

1322
01:20:04.399 --> 01:20:08.079
<v Speaker 1>I apologize, But probably one of my favorite games that

1323
01:20:08.159 --> 01:20:15.199
<v Speaker 1>we taught this time is called Gnome Hollow. You guys

1324
01:20:15.199 --> 01:20:17.039
<v Speaker 1>aren't looking at me like I picked this last week,

1325
01:20:17.159 --> 01:20:18.119
<v Speaker 1>so I'm gonna go with it.

1326
01:20:18.640 --> 01:20:20.399
<v Speaker 2>So effectively, it's.

1327
01:20:21.760 --> 01:20:25.880
<v Speaker 1>You're playing a game where you're placing hexagonal pieces on

1328
01:20:26.000 --> 01:20:28.840
<v Speaker 1>the board, you know, so you push them together and

1329
01:20:29.439 --> 01:20:31.800
<v Speaker 1>they create a path, and if the path creates a

1330
01:20:31.880 --> 01:20:34.359
<v Speaker 1>circle or a complete circuit, because a lot of them

1331
01:20:34.359 --> 01:20:37.880
<v Speaker 1>aren't circles, right, they curve at dif front angles.

1332
01:20:38.119 --> 01:20:39.479
<v Speaker 2>But you have to get them all to a line.

1333
01:20:39.560 --> 01:20:43.439
<v Speaker 1>You can't create anywhere it dead ends on another piece,

1334
01:20:43.880 --> 01:20:46.439
<v Speaker 1>so if you put it down, it has to continue

1335
01:20:46.880 --> 01:20:51.279
<v Speaker 1>any paths that it crosses. But you make these circuits,

1336
01:20:51.800 --> 01:20:54.840
<v Speaker 1>and then as you create the circles, what happens is

1337
01:20:55.479 --> 01:20:57.880
<v Speaker 1>you move markers on your board that's in front of

1338
01:20:57.960 --> 01:21:00.159
<v Speaker 1>you down and you get a reward for it. Now,

1339
01:21:00.239 --> 01:21:02.920
<v Speaker 1>the threes and the fours you don't get rewards. For

1340
01:21:03.079 --> 01:21:05.399
<v Speaker 1>the fives you get rewards. Six as you get rewards,

1341
01:21:05.680 --> 01:21:07.960
<v Speaker 1>and the sevens you get rewards, and two of the

1342
01:21:08.039 --> 01:21:11.720
<v Speaker 1>spots on the sevens, two of those rewards are you

1343
01:21:11.800 --> 01:21:13.640
<v Speaker 1>get to move another marker down and then you get

1344
01:21:13.680 --> 01:21:17.800
<v Speaker 1>something else with it. The game ends when all of

1345
01:21:17.840 --> 01:21:21.560
<v Speaker 1>your markers move down, or when you run out of tiles,

1346
01:21:21.920 --> 01:21:24.720
<v Speaker 1>and then you to add up your points, and whatever

1347
01:21:24.800 --> 01:21:27.560
<v Speaker 1>points you have you win. So you get points for

1348
01:21:27.680 --> 01:21:30.840
<v Speaker 1>each marker you've moved down right, and it's just you know,

1349
01:21:31.600 --> 01:21:33.279
<v Speaker 1>you get all all of them down, it's worth twenty

1350
01:21:33.319 --> 01:21:33.760
<v Speaker 1>five points.

1351
01:21:35.159 --> 01:21:36.960
<v Speaker 2>As you complete circles, you.

1352
01:21:37.079 --> 01:21:40.479
<v Speaker 1>Discover wildflowers and you automatically get one of those wild flowers,

1353
01:21:40.520 --> 01:21:42.399
<v Speaker 1>and you get a wild token that you can use

1354
01:21:42.800 --> 01:21:43.840
<v Speaker 1>anytime on your turn.

1355
01:21:44.319 --> 01:21:46.159
<v Speaker 2>And then what some of the rewards are.

1356
01:21:46.239 --> 01:21:49.319
<v Speaker 1>You get the wildflowers that other people discovered, and those

1357
01:21:49.399 --> 01:21:53.439
<v Speaker 1>tally up you get so many unique ones right, and

1358
01:21:53.560 --> 01:21:57.079
<v Speaker 1>so if however, many flowers, you get your points for that.

1359
01:21:57.640 --> 01:22:00.520
<v Speaker 1>And then as you complete the circles, you get the

1360
01:22:00.640 --> 01:22:03.399
<v Speaker 1>mushrooms that are on the circles, or there are other

1361
01:22:03.439 --> 01:22:05.560
<v Speaker 1>ways to get mushrooms, but you get those mushrooms, and

1362
01:22:05.640 --> 01:22:07.199
<v Speaker 1>then you can go to the market and sell them

1363
01:22:07.239 --> 01:22:11.279
<v Speaker 1>back and you get points in return, and that's essentially

1364
01:22:11.359 --> 01:22:13.560
<v Speaker 1>the game. There are a few other nuances, but it

1365
01:22:13.800 --> 01:22:17.119
<v Speaker 1>is really a fun game. It takes about forty five

1366
01:22:17.159 --> 01:22:17.800
<v Speaker 1>minutes to play.

1367
01:22:18.840 --> 01:22:20.760
<v Speaker 2>And board game.

1368
01:22:20.720 --> 01:22:25.079
<v Speaker 1>Geek waits it at let's see it's coming up two

1369
01:22:25.079 --> 01:22:28.319
<v Speaker 1>point two to oh, so casual gamers is pretty approachable.

1370
01:22:30.479 --> 01:22:30.640
<v Speaker 3>You know.

1371
01:22:30.880 --> 01:22:35.680
<v Speaker 1>It's really just visualizing how your tiles get you the

1372
01:22:35.920 --> 01:22:41.359
<v Speaker 1>size of the the circle you want, and you move

1373
01:22:41.439 --> 01:22:44.840
<v Speaker 1>the gnomes around to claim circles or to you know,

1374
01:22:45.000 --> 01:22:47.119
<v Speaker 1>get mushrooms or go to market. And that's the other

1375
01:22:47.159 --> 01:22:50.239
<v Speaker 1>piece to it. You have two nomes that you move.

1376
01:22:50.319 --> 01:22:51.199
<v Speaker 1>You can move each turn.

1377
01:22:51.439 --> 01:22:55.239
<v Speaker 2>So that's I mean, that's it. That's the game. It was,

1378
01:22:55.520 --> 01:22:56.560
<v Speaker 2>like I said, really fun.

1379
01:22:57.840 --> 01:23:02.239
<v Speaker 1>When I was teaching people, that take an hour, but honestly,

1380
01:23:02.319 --> 01:23:04.920
<v Speaker 1>with three or four people we were still you know,

1381
01:23:05.319 --> 01:23:06.199
<v Speaker 1>was people knew how to play.

1382
01:23:06.199 --> 01:23:08.600
<v Speaker 2>It was like forty five minutes because the turn order

1383
01:23:08.680 --> 01:23:09.279
<v Speaker 2>is real quick.

1384
01:23:09.920 --> 01:23:13.319
<v Speaker 1>You put down two tiles, you collect any rewards, move yournme,

1385
01:23:13.920 --> 01:23:16.239
<v Speaker 1>do whatever is involved to move in the nome next

1386
01:23:16.319 --> 01:23:21.239
<v Speaker 1>person's turn. So anyway, so yeah, so I enjoyed that.

1387
01:23:22.239 --> 01:23:25.439
<v Speaker 1>It's one that I kind of want to buy. So

1388
01:23:25.479 --> 01:23:32.880
<v Speaker 1>I'm going to go ahead and pick that. The other

1389
01:23:33.000 --> 01:23:36.079
<v Speaker 1>thing that I'm gonna pick here. So I am actually

1390
01:23:36.239 --> 01:23:41.720
<v Speaker 1>on my new computer, the my laptop. It's funny, we

1391
01:23:41.800 --> 01:23:44.720
<v Speaker 1>were talking about Docker, the Docker engine on the Mac.

1392
01:23:45.640 --> 01:23:47.880
<v Speaker 1>When I was running it one of my clients apps

1393
01:23:47.920 --> 01:23:48.359
<v Speaker 1>on it, it just.

1394
01:23:48.399 --> 01:23:49.560
<v Speaker 2>Got to the point where it just wasn't.

1395
01:23:50.560 --> 01:23:55.640
<v Speaker 1>It worked, but it was super slow, and so I

1396
01:23:55.960 --> 01:23:59.760
<v Speaker 1>determined that I needed, you know, the laptop six years old,

1397
01:24:00.520 --> 01:24:03.199
<v Speaker 1>and it just yeah, it just wasn't keeping up. And

1398
01:24:03.239 --> 01:24:05.039
<v Speaker 1>no matter what I did to kind try and clear

1399
01:24:05.079 --> 01:24:06.960
<v Speaker 1>stuff off or not run as many things, it just

1400
01:24:07.640 --> 01:24:12.279
<v Speaker 1>didn't quite hack it. So I looked around a new

1401
01:24:12.479 --> 01:24:15.079
<v Speaker 1>Mac at the level that I wanted because I'm starting

1402
01:24:15.079 --> 01:24:17.720
<v Speaker 1>to do AI stuff and I want to I want

1403
01:24:17.760 --> 01:24:19.039
<v Speaker 1>it to be able to run that stuff.

1404
01:24:19.119 --> 01:24:23.920
<v Speaker 2>And then it really bogged down the laptop did I'm like, okay,

1405
01:24:24.119 --> 01:24:26.800
<v Speaker 2>so the machine at the level I wanted a new

1406
01:24:26.880 --> 01:24:29.159
<v Speaker 2>Mac was going to cost me like nine grand, So.

1407
01:24:29.279 --> 01:24:32.119
<v Speaker 3>You wanted something like an M four something.

1408
01:24:34.399 --> 01:24:35.279
<v Speaker 2>Yeah, something.

1409
01:24:35.399 --> 01:24:37.439
<v Speaker 1>So what I wound up doing was I looked around

1410
01:24:37.479 --> 01:24:39.880
<v Speaker 1>and I thought, Okay, well, a lot of folks in

1411
01:24:39.960 --> 01:24:42.479
<v Speaker 1>the rails community are talking about these Linux machines that

1412
01:24:42.479 --> 01:24:45.079
<v Speaker 1>they're picking up. So the laptop brand that a lot

1413
01:24:45.119 --> 01:24:48.279
<v Speaker 1>of people are going with is Framework laptops, and they

1414
01:24:48.399 --> 01:24:53.039
<v Speaker 1>run a Buntu or whatever whatever you want. Really, and

1415
01:24:53.159 --> 01:24:57.680
<v Speaker 1>then for the desktops, they've been going with System seventy six,

1416
01:24:58.199 --> 01:24:59.960
<v Speaker 1>and so that's who I'm gonna pick is System seven.

1417
01:25:00.479 --> 01:25:03.479
<v Speaker 2>I got a desktop from them. It cost me about

1418
01:25:03.600 --> 01:25:07.279
<v Speaker 2>three grand, and.

1419
01:25:09.159 --> 01:25:12.960
<v Speaker 1>Yeah, but it I can't remember all the specs on it,

1420
01:25:13.079 --> 01:25:16.720
<v Speaker 1>but it's it's it's a pretty serious machine.

1421
01:25:18.840 --> 01:25:21.760
<v Speaker 4>And you got more than just one terabyte of storage

1422
01:25:21.800 --> 01:25:23.680
<v Speaker 4>for that three grand, unlike on Apple.

1423
01:25:24.600 --> 01:25:31.439
<v Speaker 2>Right, So I got the the Thelio model.

1424
01:25:32.199 --> 01:25:33.319
<v Speaker 3>What's it for you? Does it have?

1425
01:25:33.520 --> 01:25:36.359
<v Speaker 2>By the way, I'm looking it up right now, So

1426
01:25:39.399 --> 01:25:42.760
<v Speaker 2>it has I can probably just pull up my order.

1427
01:25:43.159 --> 01:25:44.760
<v Speaker 3>There'll be some AMD or something.

1428
01:25:45.319 --> 01:25:47.640
<v Speaker 2>Yeah, it does have an am D. Let's see.

1429
01:25:51.319 --> 01:25:54.439
<v Speaker 1>I got the Thelio Mirr Elite as a twenty four

1430
01:25:54.600 --> 01:25:57.199
<v Speaker 1>core fourteenth gen Intel.

1431
01:25:57.279 --> 01:26:00.039
<v Speaker 3>Nine, Intel Cool Interesting.

1432
01:26:00.800 --> 01:26:03.199
<v Speaker 1>Has one hundred and twenty eight gigs of RAM, four

1433
01:26:03.399 --> 01:26:10.359
<v Speaker 1>terabytes of storage, AMD radion Rix seventy nine hundred gre.

1434
01:26:13.640 --> 01:26:13.880
<v Speaker 2>Yeah.

1435
01:26:14.239 --> 01:26:18.359
<v Speaker 1>So I've been pretty happy running stuff on it, and

1436
01:26:18.439 --> 01:26:21.960
<v Speaker 1>it you don't avoid the warranty if you have to

1437
01:26:22.039 --> 01:26:23.920
<v Speaker 1>repair it or add cards.

1438
01:26:23.640 --> 01:26:24.520
<v Speaker 2>To it or anything.

1439
01:26:26.159 --> 01:26:26.800
<v Speaker 3>It's not Apple.

1440
01:26:27.600 --> 01:26:28.680
<v Speaker 2>No, it's not Apple.

1441
01:26:28.760 --> 01:26:30.760
<v Speaker 1>And it cost me about seven grand lesson it would

1442
01:26:30.760 --> 01:26:33.399
<v Speaker 1>have cost me to get a comparable Apple machine that

1443
01:26:33.560 --> 01:26:37.560
<v Speaker 1>did you know, that had mostly similar.

1444
01:26:37.239 --> 01:26:39.960
<v Speaker 3>Specs and you're running Ubuntu on it.

1445
01:26:40.479 --> 01:26:41.680
<v Speaker 2>I'm running a Buntu on it.

1446
01:26:42.600 --> 01:26:43.000
<v Speaker 3>Interesting.

1447
01:26:44.079 --> 01:26:47.680
<v Speaker 1>I wanted to run the omacube setup, which is what

1448
01:26:47.840 --> 01:26:50.920
<v Speaker 1>DHH runs, but I would have had to reinstall Ubuntu

1449
01:26:51.000 --> 01:26:52.399
<v Speaker 1>and I'm lazy and I didn't want to do that,

1450
01:26:53.239 --> 01:26:56.319
<v Speaker 1>so I'm not doing that. But I also switched my

1451
01:26:56.960 --> 01:27:00.359
<v Speaker 1>development environment back to Emacs and I've been pretty happy

1452
01:27:00.439 --> 01:27:06.840
<v Speaker 1>doing that. So anyway, it's it's been super cool. Oh yeah,

1453
01:27:07.039 --> 01:27:10.760
<v Speaker 1>I love me some Emacs. I had the Emacs key

1454
01:27:10.800 --> 01:27:14.640
<v Speaker 1>bindings running on vs code, so it really wasn't too

1455
01:27:14.720 --> 01:27:16.840
<v Speaker 1>much of a switch. The biggest switch is remembering to

1456
01:27:16.920 --> 01:27:18.560
<v Speaker 1>hit control instead of command.

1457
01:27:18.640 --> 01:27:20.880
<v Speaker 3>And running and writing scripts and listen.

1458
01:27:22.319 --> 01:27:22.560
<v Speaker 5>Yeah.

1459
01:27:22.880 --> 01:27:28.079
<v Speaker 1>Well so that's that's my third pick. So I part

1460
01:27:28.119 --> 01:27:30.720
<v Speaker 1>of getting an AI, I kind of on a lark,

1461
01:27:30.880 --> 01:27:34.279
<v Speaker 1>started asking chat GPT to help me write code, right.

1462
01:27:34.640 --> 01:27:37.439
<v Speaker 1>And before what I would do is I would ask it, hey,

1463
01:27:38.000 --> 01:27:42.319
<v Speaker 1>like when I was trying to write an audio player, right,

1464
01:27:43.119 --> 01:27:46.239
<v Speaker 1>and so I would ask it to help me. Okay,

1465
01:27:46.600 --> 01:27:50.760
<v Speaker 1>how do I you know, what's the web audio API for?

1466
01:27:51.159 --> 01:27:52.439
<v Speaker 1>You know, if I click a button to have it

1467
01:27:52.520 --> 01:27:55.560
<v Speaker 1>play the audio, because you could just put the audio

1468
01:27:55.680 --> 01:27:57.920
<v Speaker 1>tag in, tell it to show controls and you get

1469
01:27:57.960 --> 01:28:01.760
<v Speaker 1>an audio player. But it's not a very nice audio player, right,

1470
01:28:01.840 --> 01:28:03.600
<v Speaker 1>and it doesn't have all the features that I wanted,

1471
01:28:04.119 --> 01:28:06.279
<v Speaker 1>And so you know, I started.

1472
01:28:06.000 --> 01:28:07.319
<v Speaker 2>Asking it how do I get this? How do I

1473
01:28:07.359 --> 01:28:07.560
<v Speaker 2>get that?

1474
01:28:07.920 --> 01:28:10.239
<v Speaker 1>And then on a lark, I said, can you write

1475
01:28:10.279 --> 01:28:14.479
<v Speaker 1>me an audio player? I'm using Stimulus jas and it

1476
01:28:14.760 --> 01:28:16.159
<v Speaker 1>wrote it for me. And then it was like, okay,

1477
01:28:16.199 --> 01:28:17.960
<v Speaker 1>I want this feature, in this feature, in this feature,

1478
01:28:17.960 --> 01:28:20.159
<v Speaker 1>and it added them in. And then I asked it

1479
01:28:20.439 --> 01:28:22.279
<v Speaker 1>what features isn't missing, and it told me a whole

1480
01:28:22.279 --> 01:28:24.199
<v Speaker 1>bunch of features I could ask for, and so I

1481
01:28:24.239 --> 01:28:26.359
<v Speaker 1>asked it for those and then I copied and pasted

1482
01:28:26.359 --> 01:28:27.319
<v Speaker 1>the whole thing into my app.

1483
01:28:27.359 --> 01:28:28.560
<v Speaker 2>But wouldn't you know it? It just worked.

1484
01:28:29.560 --> 01:28:31.560
<v Speaker 3>So you know, as a spoiler, we're going to have

1485
01:28:31.960 --> 01:28:33.960
<v Speaker 3>Uncle Bob as a guest on the show, and in

1486
01:28:34.000 --> 01:28:37.119
<v Speaker 3>the near future, maybe we should also get Richard Stillman

1487
01:28:37.359 --> 01:28:39.479
<v Speaker 3>if he asked him, if he's willing to come with

1488
01:28:39.560 --> 01:28:39.920
<v Speaker 3>the show.

1489
01:28:41.239 --> 01:28:44.560
<v Speaker 2>I'm open to that. I think it'd be great. But

1490
01:28:44.920 --> 01:28:48.039
<v Speaker 2>the other thing that I've been doing with chat GPT

1491
01:28:48.279 --> 01:28:48.560
<v Speaker 2>is just.

1492
01:28:50.520 --> 01:28:52.720
<v Speaker 1>Sometimes I just need a little bit of direction here

1493
01:28:52.800 --> 01:28:55.159
<v Speaker 1>or there with stuff, and it's it's been great there too,

1494
01:28:55.720 --> 01:28:59.640
<v Speaker 1>So I'm going to pick chat GPT as well. I

1495
01:28:59.760 --> 01:29:01.359
<v Speaker 1>might be a little late to the game there, but

1496
01:29:01.520 --> 01:29:06.840
<v Speaker 1>it has been this amazing tool. It's helped me with

1497
01:29:06.960 --> 01:29:10.199
<v Speaker 1>layout stuff. One thing that I'm working through right now

1498
01:29:10.279 --> 01:29:13.760
<v Speaker 1>for my client is they have a report essentially this

1499
01:29:14.000 --> 01:29:17.439
<v Speaker 1>generated every every time a new transactions added to their

1500
01:29:17.560 --> 01:29:22.039
<v Speaker 1>ledger and it takes forever to run. And so I've

1501
01:29:22.079 --> 01:29:25.199
<v Speaker 1>been playing with it on how do I run this?

1502
01:29:27.199 --> 01:29:29.720
<v Speaker 1>How do I run this report? Just in post gris

1503
01:29:29.800 --> 01:29:33.840
<v Speaker 1>QO and so, I mean it's been a lot of

1504
01:29:33.920 --> 01:29:36.239
<v Speaker 1>there's a lot of refining, right It's like, Okay, I

1505
01:29:36.399 --> 01:29:38.279
<v Speaker 1>need it to do this now, and I need it

1506
01:29:38.319 --> 01:29:41.239
<v Speaker 1>to this, you know, I need it to operate in

1507
01:29:41.319 --> 01:29:43.840
<v Speaker 1>this way, and it's it's been pretty awesome. I mean

1508
01:29:44.079 --> 01:29:46.079
<v Speaker 1>I've had to tweak a few things, but it's been.

1509
01:29:47.720 --> 01:29:52.039
<v Speaker 2>Yeah, it's been wild. So if it's not a tool

1510
01:29:52.119 --> 01:29:54.840
<v Speaker 2>you're using, I understand that Claude is another tool that

1511
01:29:54.880 --> 01:29:55.319
<v Speaker 2>you can use.

1512
01:29:55.359 --> 01:29:58.079
<v Speaker 1>We just recorded an episode on Ruby Rogues where we

1513
01:29:58.159 --> 01:29:59.760
<v Speaker 1>were talking about how to do a lot of this,

1514
01:30:01.079 --> 01:30:02.760
<v Speaker 1>and a lot of the things that we talked about

1515
01:30:02.760 --> 01:30:06.600
<v Speaker 1>are applicable to JavaScript as well, just on how the

1516
01:30:06.680 --> 01:30:08.640
<v Speaker 1>tools work and what some of the tools are. Some

1517
01:30:08.760 --> 01:30:10.359
<v Speaker 1>of them are Ruby specific, but a lot of them

1518
01:30:10.399 --> 01:30:17.319
<v Speaker 1>really aren't. So anyway, Yeah, I'm really really happy with

1519
01:30:17.399 --> 01:30:23.880
<v Speaker 1>all that. And I am working on the AI dev

1520
01:30:23.960 --> 01:30:27.319
<v Speaker 1>boot camp that's going to be an AIDEV bootcamp dot com.

1521
01:30:28.439 --> 01:30:30.319
<v Speaker 2>I'm redeploying, I'm reworking a.

1522
01:30:30.399 --> 01:30:32.319
<v Speaker 1>Ton of stuff on top end devs and getting that

1523
01:30:32.439 --> 01:30:34.920
<v Speaker 1>deployed and so you'll be able to sign up as

1524
01:30:34.920 --> 01:30:35.319
<v Speaker 1>soon as I.

1525
01:30:35.359 --> 01:30:37.560
<v Speaker 2>Get that deployed, is essentially what we're looking at.

1526
01:30:37.640 --> 01:30:41.960
<v Speaker 1>So right around Black Friday or Cyber Monday, and I

1527
01:30:42.119 --> 01:30:43.920
<v Speaker 1>kind of have a number of people that I want

1528
01:30:44.840 --> 01:30:47.560
<v Speaker 1>in the first cohort, and so I think I'm going

1529
01:30:47.600 --> 01:30:50.039
<v Speaker 1>to offer a Black Friday deal that's going to be

1530
01:30:50.279 --> 01:30:52.399
<v Speaker 1>just considerably less than what I'm going to charge for

1531
01:30:52.520 --> 01:30:55.840
<v Speaker 1>it in the long run, just so that I know, Hey,

1532
01:30:55.880 --> 01:30:58.319
<v Speaker 1>I've got about twenty people in that are going through

1533
01:30:58.359 --> 01:31:00.199
<v Speaker 1>the boot camp starting in January.

1534
01:31:00.239 --> 01:31:01.319
<v Speaker 2>So keep an eye out.

1535
01:31:02.960 --> 01:31:05.000
<v Speaker 1>If you want to, you can just email me Chuck

1536
01:31:05.000 --> 01:31:06.640
<v Speaker 1>at top endepth dot com and I can just tell

1537
01:31:06.680 --> 01:31:09.119
<v Speaker 1>you when it's up or you know, however you want

1538
01:31:09.159 --> 01:31:13.560
<v Speaker 1>to do that. But yeah, just just some way awesome

1539
01:31:13.960 --> 01:31:17.319
<v Speaker 1>stuff there, all right, Avashi, what are your picks?

1540
01:31:20.119 --> 01:31:25.199
<v Speaker 6>I'm going to go with recently discovered Animal Manimal is

1541
01:31:25.520 --> 01:31:30.479
<v Speaker 6>like the next generation replacement for julipital notebook.

1542
01:31:31.239 --> 01:31:34.720
<v Speaker 5>So it's like a kind of an interactive Python environment

1543
01:31:34.960 --> 01:31:40.720
<v Speaker 5>that is also graphical, so you basically value yourselves or

1544
01:31:41.159 --> 01:31:45.359
<v Speaker 5>you can combine markdown and graphics and then and buy

1545
01:31:45.479 --> 01:31:47.760
<v Speaker 5>on output and stuff like that. It's very handy to

1546
01:31:47.800 --> 01:31:51.399
<v Speaker 5>build a widgets or calculators of what I built with it.

1547
01:31:51.760 --> 01:31:56.960
<v Speaker 5>I build like que Filly calculators and like various assistant

1548
01:31:57.039 --> 01:32:00.720
<v Speaker 5>design things that basically you can put like the balls

1549
01:32:00.800 --> 01:32:05.079
<v Speaker 5>and inputs and then just runs the Python thing. So

1550
01:32:05.199 --> 01:32:08.960
<v Speaker 5>it's very easy for doing interactive, interactive stuff, especially that

1551
01:32:09.079 --> 01:32:14.880
<v Speaker 5>involves graphing and mathematics and stuff. Previously, I used vis

1552
01:32:14.960 --> 01:32:18.119
<v Speaker 5>Coode in Jupiter Notebooks for this, but animals like it's

1553
01:32:18.159 --> 01:32:19.960
<v Speaker 5>really cool, so check it out.

1554
01:32:21.600 --> 01:32:21.880
<v Speaker 2>Nice.

1555
01:32:22.720 --> 01:32:24.920
<v Speaker 1>Yeah, a lot of people doing interesting stuff in Ai

1556
01:32:25.079 --> 01:32:29.760
<v Speaker 1>with Jupiter notebooks, so that sounds interesting, all right, Avishai.

1557
01:32:29.760 --> 01:32:32.520
<v Speaker 1>If people want to find you on the internet, I

1558
01:32:32.640 --> 01:32:34.439
<v Speaker 1>see that your handles on your video.

1559
01:32:34.600 --> 01:32:36.720
<v Speaker 2>But for the people who aren't getting this on video,

1560
01:32:36.920 --> 01:32:37.560
<v Speaker 2>how do they find you?

1561
01:32:38.640 --> 01:32:42.800
<v Speaker 5>So Nukemberg on Twitter that's n u k E m

1562
01:32:42.960 --> 01:32:47.680
<v Speaker 5>b e LG mostly there. Also I have a YouTube

1563
01:32:47.760 --> 01:32:50.560
<v Speaker 5>channel which is not very active, but it does contain

1564
01:32:50.640 --> 01:32:52.359
<v Speaker 5>like a playlist of a lot of talks that have

1565
01:32:52.520 --> 01:32:56.319
<v Speaker 5>given videos. Or if you just google a visa Shadom

1566
01:32:56.439 --> 01:32:59.199
<v Speaker 5>or youtubele Google and you can find that stuff.

1567
01:33:00.640 --> 01:33:01.039
<v Speaker 2>Awesome.

1568
01:33:02.119 --> 01:33:04.159
<v Speaker 1>All right, Well let's go ahead and wrap it up

1569
01:33:04.399 --> 01:33:06.199
<v Speaker 1>until next time, folks max out
