WEBVTT

1
00:00:05.280 --> 00:00:09.160
<v Speaker 1>Hey, folks, welcome back to another JavaScript jabber. This week

2
00:00:09.199 --> 00:00:10.359
<v Speaker 1>on our panel, we have Dan.

3
00:00:10.320 --> 00:00:12.919
<v Speaker 2>Shapier, Hello from Tel Aviv.

4
00:00:13.720 --> 00:00:15.080
<v Speaker 1>We also have Aj O'Neill.

5
00:00:15.759 --> 00:00:18.960
<v Speaker 3>Yo, yeah, y'oa coming at your live from Pneumonia or

6
00:00:19.039 --> 00:00:20.359
<v Speaker 3>Corona or something.

7
00:00:22.199 --> 00:00:26.719
<v Speaker 1>Wow. Man, I'm Charles max Bood from Top End Devs.

8
00:00:26.760 --> 00:00:30.600
<v Speaker 1>I'm just gonna shout out about AI dev bootcamp page

9
00:00:30.640 --> 00:00:34.960
<v Speaker 1>will be up today. We often also have a special guest.

10
00:00:35.000 --> 00:00:37.679
<v Speaker 1>This week it is Uncle Bob Martin. Bob, how are

11
00:00:37.679 --> 00:00:38.119
<v Speaker 1>you doing.

12
00:00:38.759 --> 00:00:42.520
<v Speaker 4>I'm pretty good right now. Life is treating me very well.

13
00:00:43.119 --> 00:00:48.399
<v Speaker 1>Yeah, we've we've chatted a bunch and yeah, Dan tossed

14
00:00:48.399 --> 00:00:52.280
<v Speaker 1>a video over to me where you were let's say

15
00:00:52.320 --> 00:00:55.079
<v Speaker 1>this as controversially as possible, you were bagging on all

16
00:00:55.079 --> 00:01:00.640
<v Speaker 1>our favorite frameworks and so yeah, he asked if we

17
00:01:00.640 --> 00:01:02.640
<v Speaker 1>can invite you on, and I'm like, yeah, Bob's always

18
00:01:02.679 --> 00:01:03.600
<v Speaker 1>game for that kind of thing.

19
00:01:03.679 --> 00:01:09.319
<v Speaker 5>So you're here, I'm here, fire away when when ready?

20
00:01:10.519 --> 00:01:13.640
<v Speaker 2>Yeah, and maybe it's worthwhile. But before we start, I

21
00:01:13.719 --> 00:01:16.519
<v Speaker 2>just need to tell Aj. You know, Aj, that pneumonia

22
00:01:16.599 --> 00:01:21.000
<v Speaker 2>has one distinct advantage over you know, COVID or the cold.

23
00:01:21.879 --> 00:01:27.480
<v Speaker 2>You know what that is. No, it's usually well, we've

24
00:01:27.480 --> 00:01:30.879
<v Speaker 2>got met exactly, We've got medicines for pneumonia, so.

25
00:01:30.799 --> 00:01:32.799
<v Speaker 1>You can usually take an antibiotic and get rid of it.

26
00:01:33.920 --> 00:01:35.079
<v Speaker 3>I mean, I don't want to turn this to a

27
00:01:35.120 --> 00:01:38.599
<v Speaker 3>health episode, but pneumonia is a symptom that means fluid

28
00:01:38.640 --> 00:01:40.680
<v Speaker 3>in the lungs and can be caused either virally or

29
00:01:40.760 --> 00:01:41.200
<v Speaker 3>back toia.

30
00:01:41.280 --> 00:01:42.959
<v Speaker 1>That's fair, that's true.

31
00:01:43.640 --> 00:01:50.959
<v Speaker 2>Then get the bacterial kind and then okay, so.

32
00:01:51.000 --> 00:01:53.280
<v Speaker 1>Take it back to Walmart and get the other brand.

33
00:01:53.840 --> 00:01:56.879
<v Speaker 3>Since we're here. Since we're already here. So one of

34
00:01:56.920 --> 00:01:59.000
<v Speaker 3>the things that happened that I think set me back

35
00:01:59.239 --> 00:02:03.200
<v Speaker 3>was I took some cough medicine and I coughed while

36
00:02:03.280 --> 00:02:05.719
<v Speaker 3>taking the cough medicine, and you know, the cough goes

37
00:02:05.760 --> 00:02:09.319
<v Speaker 3>like who right, and so then the cough medicine went

38
00:02:09.360 --> 00:02:15.400
<v Speaker 3>into my lungs and then it got way worse. So

39
00:02:16.000 --> 00:02:19.599
<v Speaker 3>I might still be recovering from the actual inhaling coughs.

40
00:02:22.000 --> 00:02:24.960
<v Speaker 1>I'm always surprised with you know, my kids. I have

41
00:02:25.000 --> 00:02:28.400
<v Speaker 1>a kid in elementary school that I'm always surprised I'm

42
00:02:28.400 --> 00:02:31.439
<v Speaker 1>not sick like every other week. And then I was thinking, well,

43
00:02:31.520 --> 00:02:33.719
<v Speaker 1>I only have one in elementary school anymore. But my

44
00:02:33.800 --> 00:02:37.919
<v Speaker 1>wife is the lunch lady, So yeah, I am surprised.

45
00:02:37.960 --> 00:02:41.319
<v Speaker 1>I'm not sick every other week. But anyway, what.

46
00:02:41.240 --> 00:02:44.879
<v Speaker 2>Doesn't kill, what doesn't kill you makes your stronger chuck.

47
00:02:45.840 --> 00:02:48.159
<v Speaker 1>Yeah, well we're going to see how close we can

48
00:02:48.159 --> 00:02:49.879
<v Speaker 1>get to that one of these days. I'm pretty sure.

49
00:02:51.400 --> 00:02:53.520
<v Speaker 1>All right, Well, let's let's talk about framework.

50
00:02:53.639 --> 00:02:58.520
<v Speaker 2>So Dan, we need to introduce uncle Bob first, though.

51
00:02:58.479 --> 00:03:01.319
<v Speaker 1>Yeah, he goes to it, doesn't he needs no introduction,

52
00:03:01.400 --> 00:03:04.039
<v Speaker 1>but yeah, we did call him out, Bob. Is there

53
00:03:04.039 --> 00:03:05.840
<v Speaker 1>anything you want people to know about? Are you working

54
00:03:05.879 --> 00:03:06.840
<v Speaker 1>on anything coming up?

55
00:03:07.560 --> 00:03:11.599
<v Speaker 5>Oh? Hex, Yeah, I just finished a book and it

56
00:03:11.639 --> 00:03:13.759
<v Speaker 5>should be out in time for Christmas.

57
00:03:13.840 --> 00:03:18.439
<v Speaker 4>I hope. It's called We Programmers and it's a history.

58
00:03:18.159 --> 00:03:23.120
<v Speaker 5>Of programmers, going back to Charles Babbage and then working

59
00:03:23.159 --> 00:03:28.479
<v Speaker 5>forward in time Grace Hopper and and.

60
00:03:27.639 --> 00:03:32.439
<v Speaker 4>The trio that did see.

61
00:03:31.400 --> 00:03:34.599
<v Speaker 2>I'm so looking forward to this book. You don't know

62
00:03:34.879 --> 00:03:36.719
<v Speaker 2>how much I'm looking forward to that book.

63
00:03:37.080 --> 00:03:39.560
<v Speaker 1>I was going to say, come out by Christmas. So

64
00:03:39.800 --> 00:03:41.840
<v Speaker 1>are you coming back on in January? Please?

65
00:03:41.919 --> 00:03:42.199
<v Speaker 2>Sure?

66
00:03:42.360 --> 00:03:45.120
<v Speaker 4>Sure, I'm glad to talk about that book.

67
00:03:45.240 --> 00:03:46.960
<v Speaker 1>That stuff is so fascinating.

68
00:03:47.080 --> 00:03:49.759
<v Speaker 4>It it was a fun book that was that was

69
00:03:49.840 --> 00:03:51.439
<v Speaker 4>just a giant entertainment for me.

70
00:03:52.039 --> 00:03:54.120
<v Speaker 2>I would love to know, for example, how you did

71
00:03:54.199 --> 00:03:56.240
<v Speaker 2>the research, but I guess we could save it for

72
00:03:56.319 --> 00:03:59.199
<v Speaker 2>a future episode. I do have the one question about it,

73
00:03:59.520 --> 00:04:02.000
<v Speaker 2>you know, do the readers on Amazon confuse you with

74
00:04:02.039 --> 00:04:02.759
<v Speaker 2>George Martin?

75
00:04:03.759 --> 00:04:06.000
<v Speaker 4>No one has ever confused me with George Mark.

76
00:04:06.400 --> 00:04:08.560
<v Speaker 1>His books are almost long enough Bob's are.

77
00:04:13.000 --> 00:04:13.439
<v Speaker 2>Anyway.

78
00:04:16.040 --> 00:04:19.120
<v Speaker 1>Yeah, I always love talking to Bob, So let's dive

79
00:04:19.160 --> 00:04:21.879
<v Speaker 1>into the framework thing. Dan, you're the one that brought

80
00:04:21.959 --> 00:04:24.480
<v Speaker 1>this video to me, so I'm gonna let you kind

81
00:04:24.480 --> 00:04:27.519
<v Speaker 1>of set the stage and then Bob can defend himself

82
00:04:27.600 --> 00:04:29.199
<v Speaker 1>vigorously from our onslaught.

83
00:04:30.079 --> 00:04:33.439
<v Speaker 2>So to be honest, I don't even know how I

84
00:04:33.560 --> 00:04:36.600
<v Speaker 2>found the video. Maybe it just popped up in my timeline.

85
00:04:36.720 --> 00:04:40.639
<v Speaker 2>I was watching some of Bob's other talks, and to

86
00:04:40.720 --> 00:04:43.680
<v Speaker 2>be honest, it's not really a talk. It's more of

87
00:04:43.720 --> 00:04:46.720
<v Speaker 2>a snippet from a talk. I was looking for the

88
00:04:46.920 --> 00:04:49.879
<v Speaker 2>full talk, but I just couldn't find it. You know,

89
00:04:50.040 --> 00:04:54.240
<v Speaker 2>for some reason, that particular YouTube channel basically sliced upped

90
00:04:54.279 --> 00:04:57.439
<v Speaker 2>the talk into a lot of little parts, and, like

91
00:04:57.480 --> 00:05:00.360
<v Speaker 2>Bob said, put some background music behind it to make

92
00:05:00.399 --> 00:05:05.519
<v Speaker 2>it more exciting. I guess but specifically that particular video

93
00:05:05.839 --> 00:05:12.680
<v Speaker 2>was Bob warning the audience against using frameworks. And that's

94
00:05:12.720 --> 00:05:16.399
<v Speaker 2>an interesting take in the context of web development these days.

95
00:05:16.480 --> 00:05:20.759
<v Speaker 2>Let me put it this way, I don't think I've

96
00:05:20.839 --> 00:05:27.240
<v Speaker 2>seen a vanilla JS implementation of something significant in a

97
00:05:27.519 --> 00:05:28.560
<v Speaker 2>long time.

98
00:05:30.720 --> 00:05:33.560
<v Speaker 1>Hang on, I just looked up Bob's book on Amazon

99
00:05:33.560 --> 00:05:34.759
<v Speaker 1>and it says it's available.

100
00:05:34.759 --> 00:05:34.959
<v Speaker 2>Now.

101
00:05:35.000 --> 00:05:38.680
<v Speaker 1>I'm going to put the link into the comments and

102
00:05:38.759 --> 00:05:41.399
<v Speaker 1>that way people can go and devour it over Christmas.

103
00:05:41.800 --> 00:05:42.600
<v Speaker 1>All right, go ahead.

104
00:05:44.360 --> 00:05:51.360
<v Speaker 2>So basically my opinion is a bit different than Bob's

105
00:05:51.399 --> 00:05:57.279
<v Speaker 2>on this, potentially and interestingly to some extent, based on

106
00:05:57.600 --> 00:06:03.800
<v Speaker 2>Bob's own clean code principle. So I was kind of

107
00:06:03.879 --> 00:06:08.199
<v Speaker 2>interested to hear, you know, what he actually thinks of frameworks,

108
00:06:08.759 --> 00:06:13.360
<v Speaker 2>even if his definition of framework matches what you know

109
00:06:13.560 --> 00:06:15.680
<v Speaker 2>more or less the way that what we define to

110
00:06:15.720 --> 00:06:18.319
<v Speaker 2>be a framework in the context of web development, like,

111
00:06:18.480 --> 00:06:21.160
<v Speaker 2>maybe he means something else. So I'm really glad that

112
00:06:21.240 --> 00:06:27.199
<v Speaker 2>you've got Bob, and so hi, Bob, Hi, So I.

113
00:06:27.519 --> 00:06:29.439
<v Speaker 4>Can go into this right now if you'd like, Yeah,

114
00:06:29.519 --> 00:06:29.839
<v Speaker 4>do it.

115
00:06:30.040 --> 00:06:32.480
<v Speaker 1>So Frank Hurt called.

116
00:06:32.279 --> 00:06:35.399
<v Speaker 5>The definition of framework. The definition of framework that I'm

117
00:06:35.480 --> 00:06:39.439
<v Speaker 5>using here is some piece of software written by someone

118
00:06:39.480 --> 00:06:44.040
<v Speaker 5>else that takes a very large amount of control away

119
00:06:44.160 --> 00:06:48.120
<v Speaker 5>from you, the programmer. You have to surrender in some

120
00:06:48.319 --> 00:06:51.920
<v Speaker 5>way to it. You have to adopt its conventions, you

121
00:06:52.000 --> 00:06:55.480
<v Speaker 5>have to integrate with its modules. If it's an object

122
00:06:55.560 --> 00:06:59.240
<v Speaker 5>oriented program, you have to derive from its base classes

123
00:06:59.680 --> 00:07:03.079
<v Speaker 5>that kind of thing. A framework like that requires the

124
00:07:03.199 --> 00:07:07.639
<v Speaker 5>programmer to make a very large commitment to the framework.

125
00:07:08.720 --> 00:07:13.040
<v Speaker 5>The problem with that is that it's an asymmetric relationship.

126
00:07:13.399 --> 00:07:17.600
<v Speaker 5>The framework author makes no commitment at all to those

127
00:07:17.720 --> 00:07:23.279
<v Speaker 5>who must commit to them, So there's this very uneven

128
00:07:23.360 --> 00:07:26.439
<v Speaker 5>relationship there. The framework author can do anything he wants

129
00:07:26.800 --> 00:07:29.959
<v Speaker 5>or she, whoever this person is, They can do anything

130
00:07:29.959 --> 00:07:31.959
<v Speaker 5>they want. They can make a change to the framework

131
00:07:31.959 --> 00:07:34.720
<v Speaker 5>in any way they feel like it, and drag a

132
00:07:34.759 --> 00:07:38.839
<v Speaker 5>whole host of people kicking and screaming along with them

133
00:07:39.240 --> 00:07:43.279
<v Speaker 5>because they have bound themselves so tightly to the framework.

134
00:07:43.839 --> 00:07:47.839
<v Speaker 5>There is a very famous image of a person whom

135
00:07:47.879 --> 00:07:51.160
<v Speaker 5>I have a very high regard for, David Hannameier Hansen,

136
00:07:52.120 --> 00:07:56.959
<v Speaker 5>who several years ago at a rails conference, objecting to

137
00:07:57.199 --> 00:08:02.360
<v Speaker 5>all of his users. Man's against him put up on

138
00:08:02.399 --> 00:08:06.519
<v Speaker 5>the screen towards the first one starts with f and

139
00:08:06.600 --> 00:08:09.879
<v Speaker 5>the second one starts with Y and that's kind of

140
00:08:11.160 --> 00:08:12.480
<v Speaker 5>a good symbol.

141
00:08:16.600 --> 00:08:19.160
<v Speaker 2>Well, he is the more or less the definition of

142
00:08:19.199 --> 00:08:22.319
<v Speaker 2>a benevolent dictator, almost as much as Linus is.

143
00:08:24.160 --> 00:08:27.360
<v Speaker 5>Well, I have right, you've got a benevolent dictator. And

144
00:08:27.480 --> 00:08:30.240
<v Speaker 5>if you go away that the dictator doesn't like, you're

145
00:08:30.279 --> 00:08:30.959
<v Speaker 5>out in the cold.

146
00:08:32.000 --> 00:08:36.080
<v Speaker 2>So that wasn't the only point you made, but I

147
00:08:36.120 --> 00:08:39.559
<v Speaker 2>want to address this particular one. No, you made several points,

148
00:08:39.559 --> 00:08:41.879
<v Speaker 2>but I think that was one of the core points

149
00:08:41.879 --> 00:08:45.960
<v Speaker 2>that you made. And what you said is obviously true.

150
00:08:46.559 --> 00:08:50.919
<v Speaker 2>But it's also true when you consider the programming language

151
00:08:50.919 --> 00:08:54.799
<v Speaker 2>you use, when you consider the platform you're running on,

152
00:08:55.559 --> 00:08:58.600
<v Speaker 2>when you consider some of maybe even some of the

153
00:08:58.639 --> 00:09:03.440
<v Speaker 2>core libraries that you're using. So no code runs in

154
00:09:03.480 --> 00:09:07.759
<v Speaker 2>a vacuum. You're always dependent on something, you know, even

155
00:09:07.799 --> 00:09:13.480
<v Speaker 2>the hardware. So how is that really different than any

156
00:09:13.519 --> 00:09:15.639
<v Speaker 2>of those other things, Because at the end of the day,

157
00:09:15.720 --> 00:09:18.480
<v Speaker 2>your software is going to be running on something.

158
00:09:20.919 --> 00:09:25.080
<v Speaker 5>Well, there's a there's a difference in that. So the

159
00:09:25.080 --> 00:09:28.480
<v Speaker 5>the asymmetry of the relationship in the case of a

160
00:09:28.600 --> 00:09:33.480
<v Speaker 5>framework is greater than the asymmetry when, for example, with

161
00:09:33.519 --> 00:09:39.159
<v Speaker 5>a programming language, let yarnistry, strip right makes the C

162
00:09:39.279 --> 00:09:43.519
<v Speaker 5>plus plus programming language. His success depends on him being

163
00:09:43.519 --> 00:09:47.000
<v Speaker 5>able to satisfy a very large number of people right at,

164
00:09:47.000 --> 00:09:49.000
<v Speaker 5>which he's worked very hard at on the C plus

165
00:09:49.000 --> 00:09:52.440
<v Speaker 5>plus Standards Committee until recently, has been doing a great

166
00:09:52.559 --> 00:09:53.639
<v Speaker 5>job with that.

167
00:09:57.320 --> 00:10:02.559
<v Speaker 4>You know why I'm laughing, it's a pretty open secret.

168
00:10:02.799 --> 00:10:08.919
<v Speaker 2>It's an interesting question. Why i'm laughing. Well, you know

169
00:10:09.039 --> 00:10:09.919
<v Speaker 2>the word question.

170
00:10:10.559 --> 00:10:18.360
<v Speaker 5>Yeah, we're not allowed to say that word anymore. He's

171
00:10:18.399 --> 00:10:23.320
<v Speaker 5>not in the C plus plus community. Oh those guys,

172
00:10:24.000 --> 00:10:28.679
<v Speaker 5>what what? I'm not going to go into it here.

173
00:10:29.840 --> 00:10:36.200
<v Speaker 5>But someone can put up a framework, and in the

174
00:10:36.240 --> 00:10:38.799
<v Speaker 5>case of dhh Rails is a really.

175
00:10:38.720 --> 00:10:41.600
<v Speaker 4>Good example of this. He did that for himself.

176
00:10:41.720 --> 00:10:44.639
<v Speaker 5>He did that for himself and for thirty seven Signal,

177
00:10:45.039 --> 00:10:47.559
<v Speaker 5>and then he opened it up to the world and said, hey, guys,

178
00:10:47.600 --> 00:10:48.879
<v Speaker 5>you want to use it, that's.

179
00:10:48.759 --> 00:10:53.480
<v Speaker 4>Great, but don't bother me. Okay, that's perfectly fair.

180
00:10:53.679 --> 00:10:57.440
<v Speaker 5>On the other hand, if you're the user caveat emptor

181
00:10:57.600 --> 00:11:01.480
<v Speaker 5>and you use that at your own risk. If you're

182
00:11:01.559 --> 00:11:04.480
<v Speaker 5>using C plus plus, well that's not quite at your

183
00:11:04.480 --> 00:11:05.039
<v Speaker 5>own risk.

184
00:11:05.240 --> 00:11:07.559
<v Speaker 4>There's a difference in the relationship there.

185
00:11:07.799 --> 00:11:11.639
<v Speaker 5>If you're using a platform like os X, right, They've

186
00:11:11.639 --> 00:11:14.480
<v Speaker 5>got a commitment to you, a small one. But but

187
00:11:14.600 --> 00:11:17.360
<v Speaker 5>you know, Dha, no commitment to me if I'm using Rails.

188
00:11:17.480 --> 00:11:20.000
<v Speaker 2>Really, I think Apple more or less has only only

189
00:11:20.039 --> 00:11:23.440
<v Speaker 2>has a commitment to their shareholders. I think that's about it.

190
00:11:23.720 --> 00:11:26.919
<v Speaker 1>When you're talking about Swift or their frameworks in particular.

191
00:11:26.759 --> 00:11:29.759
<v Speaker 2>Everything Yeah, Apple does.

192
00:11:30.240 --> 00:11:33.240
<v Speaker 1>Well, it's interesting too, right because you know, you bring

193
00:11:33.360 --> 00:11:35.919
<v Speaker 1>up David Heinemeier Hansen. But I mean, this is a

194
00:11:35.960 --> 00:11:39.559
<v Speaker 1>JavaScript podcast. I can I can argue both sides of

195
00:11:39.600 --> 00:11:43.240
<v Speaker 1>anything with Rails. But and and it it's true a

196
00:11:43.279 --> 00:11:45.399
<v Speaker 1>lot of the stuff that they put into the framework

197
00:11:45.440 --> 00:11:48.080
<v Speaker 1>or things that they need for base Camp or something else,

198
00:11:48.120 --> 00:11:52.000
<v Speaker 1>and so that that's what goes in the reality is

199
00:11:52.000 --> 00:11:55.639
<v Speaker 1>is that you know, they recently form the Rails Foundation

200
00:11:56.919 --> 00:12:00.440
<v Speaker 1>and they get input from some of them now. But again,

201
00:12:00.480 --> 00:12:03.200
<v Speaker 1>you know a lot of times it's stuff that Shopify needs,

202
00:12:03.200 --> 00:12:05.919
<v Speaker 1>and that's stuff that I'm never going to touch. But

203
00:12:06.240 --> 00:12:09.320
<v Speaker 1>let's switch gears here for a little bit, because you know,

204
00:12:09.679 --> 00:12:13.120
<v Speaker 1>Dan brought up Apple. You know a lot of the

205
00:12:13.120 --> 00:12:15.320
<v Speaker 1>frameworks that a lot of people are using these days

206
00:12:15.360 --> 00:12:19.440
<v Speaker 1>are frameworks like React and Angular, which are both sponsored

207
00:12:19.480 --> 00:12:23.600
<v Speaker 1>and supported by large companies like Facebook and Google and

208
00:12:23.679 --> 00:12:27.200
<v Speaker 1>they're solving the problems that they have, right, I mean

209
00:12:27.759 --> 00:12:28.279
<v Speaker 1>a great.

210
00:12:29.120 --> 00:12:32.799
<v Speaker 2>It's actually interesting because I recently heard on a podcast

211
00:12:33.279 --> 00:12:39.240
<v Speaker 2>that was on the JAS party I think podcasts they

212
00:12:39.320 --> 00:12:43.720
<v Speaker 2>interviewed some of the React creators at the React con

213
00:12:43.879 --> 00:12:47.440
<v Speaker 2>for something like that, the recent React conference, and they

214
00:12:47.440 --> 00:12:50.320
<v Speaker 2>said something very interesting, and I think it also appears

215
00:12:50.720 --> 00:12:53.639
<v Speaker 2>in the React documentary, which actually is pretty good and

216
00:12:53.679 --> 00:12:59.080
<v Speaker 2>I mostly recommended. I'm kind of annoyed with them that

217
00:12:59.080 --> 00:13:03.480
<v Speaker 2>they didn't mention Wix, but that's an assign No, we

218
00:13:03.480 --> 00:13:06.360
<v Speaker 2>were like the biggest implementation out of the first big

219
00:13:06.399 --> 00:13:10.039
<v Speaker 2>implementation outside Meta, and you know, somehow it's totally missing.

220
00:13:10.080 --> 00:13:17.440
<v Speaker 2>But anyway, the point they made actually totally matches what

221
00:13:17.519 --> 00:13:23.120
<v Speaker 2>Bob said, which is they created React initially for internal

222
00:13:23.240 --> 00:13:26.559
<v Speaker 2>use and then they thought, hey, it's interesting, so they

223
00:13:26.639 --> 00:13:29.720
<v Speaker 2>decided to open source it and let it out. And

224
00:13:29.799 --> 00:13:33.759
<v Speaker 2>it was never a profit center for Facebook, so they

225
00:13:33.799 --> 00:13:38.200
<v Speaker 2>didn't really care about their users as customers, and they

226
00:13:38.279 --> 00:13:42.679
<v Speaker 2>mostly much of their motivation about what to do or

227
00:13:42.720 --> 00:13:46.279
<v Speaker 2>not to do in that framework derived from Facebook's own needs.

228
00:13:46.840 --> 00:13:52.039
<v Speaker 2>So I'm totally in agreement with Bob about that. That

229
00:13:52.240 --> 00:13:56.320
<v Speaker 2>being said, that's actually kind of changing now because a

230
00:13:56.360 --> 00:14:00.440
<v Speaker 2>lot of what's driving innovation in the React world is

231
00:14:00.519 --> 00:14:05.440
<v Speaker 2>kind of moving from React to next JS, and next

232
00:14:05.519 --> 00:14:10.320
<v Speaker 2>JS is heavily associated with oursells, and much of ourselves

233
00:14:10.440 --> 00:14:14.879
<v Speaker 2>business is based on their need for next JS to

234
00:14:14.919 --> 00:14:20.320
<v Speaker 2>be successful. So it's changing now. I mean, it's starting

235
00:14:20.399 --> 00:14:23.399
<v Speaker 2>to become a two way street. And in fact, they

236
00:14:23.480 --> 00:14:26.600
<v Speaker 2>actually said on the podcast that they're happy about the

237
00:14:26.639 --> 00:14:33.200
<v Speaker 2>fact because they're now driven more by actual customer needs

238
00:14:33.879 --> 00:14:38.080
<v Speaker 2>then by whatever somebody just says that should be done

239
00:14:38.080 --> 00:14:39.360
<v Speaker 2>within Meta.

240
00:14:40.360 --> 00:14:44.759
<v Speaker 1>So I understand, and I agree with everything you just said.

241
00:14:45.279 --> 00:14:49.759
<v Speaker 1>But back to Bob's point, and I'm kind of poking

242
00:14:49.759 --> 00:14:51.840
<v Speaker 1>things both ways because I'm kind of curious where the

243
00:14:51.879 --> 00:14:53.799
<v Speaker 1>balance is and I haven't made up my mind yet, right,

244
00:14:53.840 --> 00:14:55.360
<v Speaker 1>so I kind of want to hear the arguments on

245
00:14:55.399 --> 00:15:01.080
<v Speaker 1>both sides. But Meta could, right to React core team

246
00:15:01.200 --> 00:15:04.720
<v Speaker 1>and their ownership over React decide to do something that

247
00:15:04.879 --> 00:15:08.639
<v Speaker 1>people don't want, or decide not to implement features that

248
00:15:08.679 --> 00:15:12.720
<v Speaker 1>people do want, and actively work against certain movements within

249
00:15:12.720 --> 00:15:15.639
<v Speaker 1>the community. Should they decide to Now I'm not saying

250
00:15:15.639 --> 00:15:17.799
<v Speaker 1>they will, and I don't know why they would, but

251
00:15:17.879 --> 00:15:20.720
<v Speaker 1>it could happen, right, you know.

252
00:15:21.759 --> 00:15:24.759
<v Speaker 2>But it's open source, and then somebody could theoretically fork

253
00:15:24.799 --> 00:15:26.440
<v Speaker 2>it and do whatever they want with it.

254
00:15:27.039 --> 00:15:28.960
<v Speaker 1>Yeah, but most of the other frameworks we're talking about

255
00:15:28.960 --> 00:15:29.440
<v Speaker 1>our two.

256
00:15:31.000 --> 00:15:34.559
<v Speaker 2>Well, the big difference is that React is more or

257
00:15:34.639 --> 00:15:38.159
<v Speaker 2>less the only really successful framework, maybe also View to

258
00:15:38.200 --> 00:15:43.279
<v Speaker 2>an extent, but probably also View. The other frameworks really

259
00:15:43.360 --> 00:15:51.360
<v Speaker 2>need to incite or elicit elicit would be the better word,

260
00:15:51.440 --> 00:15:55.720
<v Speaker 2>elicit to people to actually use them. So there the

261
00:15:55.759 --> 00:15:59.080
<v Speaker 2>two way street is much more active. And I would

262
00:15:59.159 --> 00:16:02.039
<v Speaker 2>argue that it's kind of the same thing with programming languages.

263
00:16:02.080 --> 00:16:05.559
<v Speaker 2>I mean, you know, once a programming language becomes super

264
00:16:05.600 --> 00:16:09.759
<v Speaker 2>mainstream and used widely a lot of people, are the

265
00:16:09.799 --> 00:16:13.279
<v Speaker 2>people who are using it use it really without a choice.

266
00:16:13.639 --> 00:16:17.240
<v Speaker 2>Basically whatever job they got basically said you need to

267
00:16:17.360 --> 00:16:20.799
<v Speaker 2>use language, acts, you need to use framework. Why. But

268
00:16:22.039 --> 00:16:24.679
<v Speaker 2>when you're talking about a new programming language or a

269
00:16:24.679 --> 00:16:28.759
<v Speaker 2>new framework that's like the up and coming thing, like

270
00:16:28.879 --> 00:16:33.559
<v Speaker 2>you know, the then it's you're trying to convince people

271
00:16:33.600 --> 00:16:36.440
<v Speaker 2>to use what you're providing. And then it's much more

272
00:16:36.519 --> 00:16:40.519
<v Speaker 2>of you know, trying to sell your benefits, like I

273
00:16:40.559 --> 00:16:42.799
<v Speaker 2>think or would you disagree, Bob.

274
00:16:43.440 --> 00:16:44.720
<v Speaker 4>Oh No, I don't disagree at all.

275
00:16:44.840 --> 00:16:47.000
<v Speaker 5>You are trying to sell your benefits and everybody is

276
00:16:47.039 --> 00:16:49.960
<v Speaker 5>trying to do that. That's what all the framework guys

277
00:16:49.960 --> 00:16:54.720
<v Speaker 5>are trying to do. So my my position on frameworks

278
00:16:55.039 --> 00:16:58.759
<v Speaker 5>is that you should be careful with them, right that

279
00:16:59.000 --> 00:17:03.960
<v Speaker 5>you should understand relationship, understand that it is asymmetric, and

280
00:17:04.119 --> 00:17:08.720
<v Speaker 5>weigh the costs and benefits. So, for example, it's very

281
00:17:08.759 --> 00:17:12.880
<v Speaker 5>easy to get a Rubyon Rails application up and running

282
00:17:12.880 --> 00:17:15.400
<v Speaker 5>in a matter of a few days, just trivial.

283
00:17:15.880 --> 00:17:18.599
<v Speaker 1>Yeah, I get ridiculous amounts of things done with Rails.

284
00:17:18.680 --> 00:17:20.920
<v Speaker 1>I get ridiculous amounts of things done with some of

285
00:17:20.960 --> 00:17:23.400
<v Speaker 1>the other frameworks I use on the front end. Right.

286
00:17:23.559 --> 00:17:26.359
<v Speaker 5>Then, as as time goes by and you want to

287
00:17:26.400 --> 00:17:30.920
<v Speaker 5>start doing things that the framework doesn't support, well, all

288
00:17:30.960 --> 00:17:35.039
<v Speaker 5>of a sudden the framework starts to fight against you.

289
00:17:34.839 --> 00:17:37.880
<v Speaker 5>Then you're in this funny mode because you've already made

290
00:17:37.920 --> 00:17:40.599
<v Speaker 5>this commitment and now the next thing you want to

291
00:17:40.640 --> 00:17:42.920
<v Speaker 5>do is going to get hard, and the one after

292
00:17:42.960 --> 00:17:44.880
<v Speaker 5>that is going to be even harder, and you have

293
00:17:44.960 --> 00:17:49.119
<v Speaker 5>to violate the framework in ways that it doesn't care about.

294
00:17:49.519 --> 00:17:51.559
<v Speaker 5>It didn't make it easy for you, and now you

295
00:17:51.599 --> 00:17:55.519
<v Speaker 5>have to subvert it in bizarre ways. So you need

296
00:17:55.559 --> 00:17:59.960
<v Speaker 5>to know that going in. One of the problems that

297
00:18:00.160 --> 00:18:02.119
<v Speaker 5>I see with frameworks is that they do a great

298
00:18:02.200 --> 00:18:04.440
<v Speaker 5>job of selling just as you're saying, right, they'll do

299
00:18:04.480 --> 00:18:07.200
<v Speaker 5>a terrific job, and they'll show you these lovely little

300
00:18:07.240 --> 00:18:11.079
<v Speaker 5>applications on a YouTube video or something. Oh, look, you

301
00:18:11.240 --> 00:18:13.759
<v Speaker 5>just have to write these seventeen lines of code and

302
00:18:13.839 --> 00:18:18.119
<v Speaker 5>life will be glorious for you, and you're not really

303
00:18:18.160 --> 00:18:20.519
<v Speaker 5>looking down the road next year.

304
00:18:20.359 --> 00:18:22.480
<v Speaker 4>When life is not going to be so glorious.

305
00:18:22.720 --> 00:18:28.400
<v Speaker 5>So my advice to people is to be careful with

306
00:18:28.519 --> 00:18:33.880
<v Speaker 5>frameworks and to the extent possible, try to isolate yourself

307
00:18:33.920 --> 00:18:34.359
<v Speaker 5>from them.

308
00:18:34.720 --> 00:18:37.799
<v Speaker 4>Not that you shouldn't use them, but.

309
00:18:37.839 --> 00:18:40.400
<v Speaker 5>You should use them in a way that is careful,

310
00:18:41.000 --> 00:18:43.799
<v Speaker 5>so that if the framework turns around and invites you,

311
00:18:43.799 --> 00:18:45.720
<v Speaker 5>you've got some options.

312
00:18:47.079 --> 00:18:50.880
<v Speaker 2>So before asking you about how to implement that type

313
00:18:50.880 --> 00:18:54.240
<v Speaker 2>of isolation, I'll go one step back and ask you

314
00:18:55.160 --> 00:18:58.039
<v Speaker 2>when if I'm in the process where if I'm in

315
00:18:58.039 --> 00:19:01.400
<v Speaker 2>a situation where I can actually get to select the

316
00:19:01.400 --> 00:19:04.079
<v Speaker 2>framework that I use rather than having it thrust on

317
00:19:04.240 --> 00:19:06.960
<v Speaker 2>me by you know, the previous developers who worked at

318
00:19:06.960 --> 00:19:12.599
<v Speaker 2>the company, any advice on how I should go about

319
00:19:13.039 --> 00:19:15.480
<v Speaker 2>choosing the most appropriate framework for me.

320
00:19:16.799 --> 00:19:19.400
<v Speaker 5>Well, so that gets into the other discussion we were having,

321
00:19:19.480 --> 00:19:23.680
<v Speaker 5>how how much of this how much of the attitude

322
00:19:23.720 --> 00:19:27.880
<v Speaker 5>of the authors is geared towards the user community as

323
00:19:27.880 --> 00:19:31.160
<v Speaker 5>opposed to their own community. You know, In the case

324
00:19:31.200 --> 00:19:33.960
<v Speaker 5>of Rails, that was an interesting one because that just started.

325
00:19:34.440 --> 00:19:36.480
<v Speaker 5>I keep going back to Rails, but that just started

326
00:19:36.519 --> 00:19:39.039
<v Speaker 5>as a nice little framework for those guys, and then

327
00:19:39.079 --> 00:19:41.880
<v Speaker 5>it leaked out into the community and everyone started using it.

328
00:19:42.240 --> 00:19:44.119
<v Speaker 4>And that's a bit of a warning sign, right.

329
00:19:44.119 --> 00:19:47.000
<v Speaker 5>You look at that and think, well, are they going

330
00:19:47.079 --> 00:19:49.240
<v Speaker 5>to take this in some direction that I don't like.

331
00:19:49.920 --> 00:19:51.480
<v Speaker 5>On the other hand, if you've got a very large

332
00:19:51.559 --> 00:19:54.559
<v Speaker 5>organization and they're trying to keep you know, one hundred

333
00:19:54.640 --> 00:19:59.160
<v Speaker 5>thousand programmers happy and their reputation hangs on that framework

334
00:19:59.599 --> 00:20:02.799
<v Speaker 5>like versus, well, for example, that's a slightly better relationship.

335
00:20:02.880 --> 00:20:05.519
<v Speaker 5>You can take a little more confidence in that. And

336
00:20:05.519 --> 00:20:08.680
<v Speaker 5>that gets into the programming language argument.

337
00:20:08.759 --> 00:20:08.920
<v Speaker 4>Right.

338
00:20:08.960 --> 00:20:13.240
<v Speaker 5>If they're really trying to, you know, give programmers the

339
00:20:13.319 --> 00:20:15.880
<v Speaker 5>language of the Internet, well then they're going to have

340
00:20:15.960 --> 00:20:18.240
<v Speaker 5>to keep an awful lot of programmers happy and it's

341
00:20:18.279 --> 00:20:20.440
<v Speaker 5>not quite as risky.

342
00:20:21.359 --> 00:20:24.599
<v Speaker 2>Interesting story though, is what happened with the Angular like

343
00:20:24.720 --> 00:20:28.720
<v Speaker 2>Angular one and two kept a lot of developers really happy,

344
00:20:28.720 --> 00:20:34.880
<v Speaker 2>and then they kind of broke that contract, and you know,

345
00:20:34.960 --> 00:20:41.000
<v Speaker 2>and that's when React happened. But React, why are you

346
00:20:41.119 --> 00:20:42.039
<v Speaker 2>making a face, Bob?

347
00:20:42.559 --> 00:20:45.160
<v Speaker 5>Well, the face I'm making has nothing to do with

348
00:20:45.160 --> 00:20:48.240
<v Speaker 5>the Angular or React. It has to do with a

349
00:20:48.319 --> 00:20:54.000
<v Speaker 5>meta issue, which is that frameworks are popularity fads. They

350
00:20:54.079 --> 00:20:58.720
<v Speaker 5>come and go. This month it's going to be framework X.

351
00:20:59.039 --> 00:21:02.000
<v Speaker 5>But next month somebody's going to say, oh, framework why

352
00:21:02.119 --> 00:21:05.319
<v Speaker 5>is so much better? And so that's another one of

353
00:21:05.359 --> 00:21:09.079
<v Speaker 5>these risk factors of a framework. You don't know if

354
00:21:09.160 --> 00:21:12.240
<v Speaker 5>the framework you choose is going to be popular next year,

355
00:21:13.039 --> 00:21:15.799
<v Speaker 5>or you may have to convert everything over to the

356
00:21:15.839 --> 00:21:18.960
<v Speaker 5>next new framework, or all your programmers may quit because

357
00:21:18.960 --> 00:21:21.480
<v Speaker 5>they don't like this framework and they want to go

358
00:21:21.519 --> 00:21:23.720
<v Speaker 5>to a company where they're using that framework.

359
00:21:24.519 --> 00:21:27.400
<v Speaker 4>So we wind up in this very strange.

360
00:21:28.480 --> 00:21:35.839
<v Speaker 5>Popularity contest which has almost no substance to it, almost no.

361
00:21:36.440 --> 00:21:38.720
<v Speaker 2>Well, so go ahead, Chuck. Sorry.

362
00:21:38.920 --> 00:21:41.440
<v Speaker 1>So the thing that I'm seeing that both kind of

363
00:21:41.480 --> 00:21:45.000
<v Speaker 1>illustrates this but doesn't quite line up with it, is

364
00:21:45.680 --> 00:21:48.440
<v Speaker 1>I've spoken with a whole bunch of people who still

365
00:21:48.480 --> 00:21:51.480
<v Speaker 1>have apps that are running things like backbone JS, right,

366
00:21:52.000 --> 00:21:55.640
<v Speaker 1>And so they want to move into something like React JS. Right.

367
00:21:56.079 --> 00:21:59.680
<v Speaker 1>But it's not so much the fad cycle that's driving

368
00:21:59.720 --> 00:22:03.480
<v Speaker 1>it so much as just the technology and the standards

369
00:22:03.519 --> 00:22:06.319
<v Speaker 1>and things like that that are available today and that

370
00:22:06.359 --> 00:22:09.200
<v Speaker 1>have been built into React that haven't been maintained into

371
00:22:09.240 --> 00:22:11.680
<v Speaker 1>something like backbone. And there's some very good reasons for that.

372
00:22:12.279 --> 00:22:14.319
<v Speaker 1>So what they're looking to switch to is they're looking

373
00:22:14.359 --> 00:22:17.400
<v Speaker 1>to switch to something that gives them the advantages that

374
00:22:17.440 --> 00:22:20.799
<v Speaker 1>React has because Backbone no longer has them as opposed

375
00:22:20.799 --> 00:22:22.119
<v Speaker 1>to a bad cycle.

376
00:22:23.079 --> 00:22:28.920
<v Speaker 2>I significantly disagree. I think the most significant consideration that

377
00:22:29.039 --> 00:22:34.680
<v Speaker 2>developers have when thinking about switching frameworks is their higher ability.

378
00:22:35.640 --> 00:22:39.559
<v Speaker 1>No, that's true, but but my point is is typically

379
00:22:39.599 --> 00:22:42.200
<v Speaker 1>the argument they're making is the technological one.

380
00:22:42.440 --> 00:22:45.960
<v Speaker 2>Oh, they might make a technological argument, but the real

381
00:22:46.039 --> 00:22:49.480
<v Speaker 2>motivation is I don't want Backbone on my resume. I

382
00:22:49.519 --> 00:22:52.319
<v Speaker 2>want React on my resume. That's the real reason.

383
00:22:52.319 --> 00:22:56.640
<v Speaker 3>It's true that they're so no to me, though. That's

384
00:22:56.640 --> 00:23:01.000
<v Speaker 3>a sea of mediocrity. I mean, you're fighting against because nobody,

385
00:23:01.680 --> 00:23:04.920
<v Speaker 3>nobody can identify who's a good React developer, right, Like,

386
00:23:04.920 --> 00:23:08.079
<v Speaker 3>how would you even interview to find out which React

387
00:23:08.119 --> 00:23:12.480
<v Speaker 3>developer is actually good because there's so much noise, how

388
00:23:12.519 --> 00:23:15.680
<v Speaker 3>do you find the signal in that? I agree, it

389
00:23:15.680 --> 00:23:16.880
<v Speaker 3>seems weird, weird to me.

390
00:23:17.240 --> 00:23:19.920
<v Speaker 2>I agree with what you said, Aj, but that still

391
00:23:20.039 --> 00:23:23.279
<v Speaker 2>doesn't change the fact that the React that a person

392
00:23:23.599 --> 00:23:27.519
<v Speaker 2>with React experience on their resume is more hirable than

393
00:23:27.559 --> 00:23:30.559
<v Speaker 2>a person without React experience in their resume.

394
00:23:30.920 --> 00:23:35.519
<v Speaker 4>And that's just that's just insane.

395
00:23:36.240 --> 00:23:38.839
<v Speaker 5>It's you don't want to hire programmers based on their

396
00:23:39.079 --> 00:23:42.480
<v Speaker 5>familiar familiarity with the framework, Bob.

397
00:23:42.640 --> 00:23:46.559
<v Speaker 1>Everybody does it, I know, and everybody does it.

398
00:23:46.279 --> 00:23:49.119
<v Speaker 3>It's more like a meme than it's not like a

399
00:23:49.559 --> 00:23:52.000
<v Speaker 3>it doesn't seem like a conscious rational decision.

400
00:23:52.079 --> 00:23:57.240
<v Speaker 2>It's like, I'll take it even a step back. It

401
00:23:57.240 --> 00:24:01.000
<v Speaker 2>doesn't even matter if it's true. It matters that the

402
00:24:01.160 --> 00:24:05.079
<v Speaker 2>the developers picking the framework think that it's true.

403
00:24:07.759 --> 00:24:10.160
<v Speaker 4>Okay, and there's a bunch of HR guys that think

404
00:24:10.160 --> 00:24:10.799
<v Speaker 4>it's true too.

405
00:24:11.480 --> 00:24:14.559
<v Speaker 3>Yeah, yeah, I think that in the in the age

406
00:24:14.599 --> 00:24:19.400
<v Speaker 3>of AI hiring where you just have to stuff your

407
00:24:19.400 --> 00:24:20.759
<v Speaker 3>resume with a bunch.

408
00:24:20.519 --> 00:24:25.279
<v Speaker 1>Of no it's so true. It is so true. If

409
00:24:25.319 --> 00:24:26.480
<v Speaker 1>you want a resume.

410
00:24:26.319 --> 00:24:28.200
<v Speaker 4>Is going to get you an interview where they can

411
00:24:28.240 --> 00:24:29.480
<v Speaker 4>see through this nonsense.

412
00:24:29.559 --> 00:24:29.759
<v Speaker 2>Yep.

413
00:24:30.599 --> 00:24:32.920
<v Speaker 1>If you want no, seriously, if you want to get

414
00:24:32.960 --> 00:24:35.759
<v Speaker 1>an interview, you take the resume you wrote and you

415
00:24:35.880 --> 00:24:38.599
<v Speaker 1>hand it off to an AI system and say, I

416
00:24:38.640 --> 00:24:41.359
<v Speaker 1>want to get this job, and it'll you have to

417
00:24:41.400 --> 00:24:44.559
<v Speaker 1>optimize it because people don't read your resume. They hand

418
00:24:44.599 --> 00:24:47.519
<v Speaker 1>it off to an AI system that tells you, tells

419
00:24:47.519 --> 00:24:50.400
<v Speaker 1>them how good a match you are. And you're cracking

420
00:24:50.519 --> 00:24:54.319
<v Speaker 1>up because yeah, you could be a crappy developer that

421
00:24:54.480 --> 00:24:58.039
<v Speaker 1>has a true the optimize resume. It's like SEO for

422
00:24:58.200 --> 00:24:58.759
<v Speaker 1>job search.

423
00:24:59.200 --> 00:25:01.480
<v Speaker 2>Yeah, but it just through the door. At the end

424
00:25:01.480 --> 00:25:03.960
<v Speaker 2>of the day, there is I've yet to see a

425
00:25:04.039 --> 00:25:06.799
<v Speaker 2>job when there was no actual technical.

426
00:25:06.720 --> 00:25:10.920
<v Speaker 1>In fair but but they're there in my opinion, and

427
00:25:10.920 --> 00:25:12.559
<v Speaker 1>I think a j is making this point. They're screening

428
00:25:12.559 --> 00:25:18.519
<v Speaker 1>out a bunch of competent, really terrific people who didn't

429
00:25:18.519 --> 00:25:20.440
<v Speaker 1>optimize their thing for the AI system.

430
00:25:20.920 --> 00:25:24.880
<v Speaker 2>Oh you know, that's what happens when the job market

431
00:25:25.039 --> 00:25:29.039
<v Speaker 2>is weaker. When when the job market is is such

432
00:25:29.119 --> 00:25:32.200
<v Speaker 2>that developers and high in high demand that there's not

433
00:25:32.599 --> 00:25:35.599
<v Speaker 2>enough supply, then you can, you know, get by with

434
00:25:35.720 --> 00:25:38.480
<v Speaker 2>whatever crap you happen to have in your resume. But

435
00:25:39.440 --> 00:25:43.880
<v Speaker 2>when when the situation is reversed. You're absolutely correct, it's

436
00:25:44.000 --> 00:25:45.480
<v Speaker 2>s CEO for getting a job.

437
00:25:45.880 --> 00:25:48.039
<v Speaker 1>Yeah. Now I want to divert us back to the

438
00:25:48.079 --> 00:25:51.480
<v Speaker 1>discussion on you know, the frameworks and whether it's hype

439
00:25:51.599 --> 00:25:54.200
<v Speaker 1>or not hype and things like that. I guess I

440
00:25:54.200 --> 00:25:56.519
<v Speaker 1>guess the real thing that I'm wondering, and you know,

441
00:25:56.559 --> 00:25:58.000
<v Speaker 1>I'm curious to see what you think, Bob.

442
00:25:58.559 --> 00:26:04.000
<v Speaker 2>But so but Chuck, I'm sorry, Bob did not answer

443
00:26:04.079 --> 00:26:04.599
<v Speaker 2>my question.

444
00:26:05.680 --> 00:26:07.960
<v Speaker 1>Okay, well I think I'm asking you the same question

445
00:26:08.039 --> 00:26:09.000
<v Speaker 1>another way, but go ahead.

446
00:26:09.720 --> 00:26:13.359
<v Speaker 2>Well, my question was how do you pick a framework?

447
00:26:13.839 --> 00:26:16.400
<v Speaker 1>Yeah, that's what I was going to go for, was, Yeah,

448
00:26:16.559 --> 00:26:18.559
<v Speaker 1>if you're if you're looking at these frameworks and it's

449
00:26:19.000 --> 00:26:22.680
<v Speaker 1>you know, you're you're worried about stability, You're worried about

450
00:26:22.720 --> 00:26:24.440
<v Speaker 1>the team. You know, whether or not they're going to

451
00:26:24.519 --> 00:26:26.079
<v Speaker 1>change stuff, whether or not they're going to implement the

452
00:26:26.119 --> 00:26:29.119
<v Speaker 1>things you need. You know, what you're giving up versus

453
00:26:29.119 --> 00:26:31.039
<v Speaker 1>what you're getting. Yeah, how do you pick.

454
00:26:32.559 --> 00:26:32.880
<v Speaker 4>Or do you know?

455
00:26:33.279 --> 00:26:35.200
<v Speaker 5>I mean you look at you look at the framework

456
00:26:35.240 --> 00:26:39.319
<v Speaker 5>technically first to see if it's technically compatible. Right, you

457
00:26:39.400 --> 00:26:43.680
<v Speaker 5>make sure that it's not just surface compatibility. Yeah, Oh,

458
00:26:43.720 --> 00:26:44.559
<v Speaker 5>it's gonna help me for.

459
00:26:44.480 --> 00:26:47.119
<v Speaker 2>The next one weeks, compatible with.

460
00:26:47.119 --> 00:26:49.400
<v Speaker 4>What whatever your application is.

461
00:26:49.680 --> 00:26:53.160
<v Speaker 5>If you're if you're writing a, uh, I don't know,

462
00:26:53.519 --> 00:26:55.759
<v Speaker 5>some kind of a desktop application or some kind of

463
00:26:55.759 --> 00:26:59.039
<v Speaker 5>a handheld application, and you're you're trying to figure out

464
00:26:59.279 --> 00:27:01.039
<v Speaker 5>is this frame are going to help me?

465
00:27:02.079 --> 00:27:03.519
<v Speaker 4>How much is it going to help me?

466
00:27:03.720 --> 00:27:05.440
<v Speaker 5>Is it just going to help me in the first

467
00:27:05.480 --> 00:27:08.640
<v Speaker 5>two weeks or is it going to help me long term?

468
00:27:08.759 --> 00:27:11.200
<v Speaker 5>That's one thing to look at, And then the other

469
00:27:11.240 --> 00:27:13.799
<v Speaker 5>thing to look at is what's the user base? How

470
00:27:13.839 --> 00:27:18.440
<v Speaker 5>many people are using this? Are they putting demands on

471
00:27:18.640 --> 00:27:22.599
<v Speaker 5>the framework authors? And are the framework authors meeting those demands?

472
00:27:23.279 --> 00:27:26.359
<v Speaker 5>And who are these framework authors anyway? Is it one

473
00:27:26.400 --> 00:27:29.640
<v Speaker 5>guy in his basement or is it a group of

474
00:27:29.680 --> 00:27:33.119
<v Speaker 5>people who have made a commitment to the community. Those

475
00:27:33.160 --> 00:27:35.119
<v Speaker 5>are the kinds of things you want to be looking at.

476
00:27:35.200 --> 00:27:39.160
<v Speaker 5>And then even then, even then, you want to put

477
00:27:39.200 --> 00:27:42.720
<v Speaker 5>that framework in your system and isolate yourself from it.

478
00:27:43.279 --> 00:27:46.039
<v Speaker 4>As much as you can. It's hard to do, but

479
00:27:46.119 --> 00:27:46.799
<v Speaker 4>as much as you.

480
00:27:46.759 --> 00:27:49.400
<v Speaker 5>Can so that when they screw you, and they will

481
00:27:49.440 --> 00:27:51.640
<v Speaker 5>screw you, you will have some options.

482
00:27:52.359 --> 00:27:54.960
<v Speaker 1>So I have a question, a follow up question on

483
00:27:55.000 --> 00:27:59.000
<v Speaker 1>your first point, which is is it compatible with your application? Yeah,

484
00:28:01.119 --> 00:28:03.039
<v Speaker 1>A lot of people that I talked to about their

485
00:28:03.079 --> 00:28:07.039
<v Speaker 1>applications they don't have the depth of understanding of either

486
00:28:07.079 --> 00:28:10.440
<v Speaker 1>the framework or the application to make a good call there.

487
00:28:10.680 --> 00:28:13.720
<v Speaker 1>So what kinds of questions, Like, let's say that I'm building,

488
00:28:14.079 --> 00:28:17.039
<v Speaker 1>you know, the dream app that does the podcast of

489
00:28:17.079 --> 00:28:21.200
<v Speaker 1>all podcasting podcast stuff, Right, what kinds of questions do

490
00:28:21.240 --> 00:28:22.720
<v Speaker 1>I need to be asking about my app? And what

491
00:28:22.799 --> 00:28:24.440
<v Speaker 1>kinds of questions do I need to be asking about

492
00:28:24.440 --> 00:28:26.799
<v Speaker 1>the framework so that I can make at least a

493
00:28:26.960 --> 00:28:30.960
<v Speaker 1>somewhat informed decision on this, knowing that my requirements may change.

494
00:28:31.599 --> 00:28:35.279
<v Speaker 5>So tell you a story. Twenty some add years ago,

495
00:28:35.319 --> 00:28:37.960
<v Speaker 5>my son and I built an application. You're probably aware

496
00:28:37.960 --> 00:28:41.880
<v Speaker 5>of it. It's called Fitness, and it's a web based application, right,

497
00:28:42.000 --> 00:28:46.000
<v Speaker 5>so it puts up web pages. And the first decision

498
00:28:46.079 --> 00:28:49.440
<v Speaker 5>you would make, the first framework decision you would make

499
00:28:49.480 --> 00:28:51.559
<v Speaker 5>if you had to do a web app, is what

500
00:28:51.640 --> 00:28:56.920
<v Speaker 5>web server should I use? Okay, well, we didn't use wouch.

501
00:28:57.480 --> 00:29:01.279
<v Speaker 5>We wrote one. Why did we write a webserver? Well,

502
00:29:01.400 --> 00:29:03.599
<v Speaker 5>it turns out that a web server is about three

503
00:29:03.680 --> 00:29:06.400
<v Speaker 5>hundred lines of code if you get rid of all

504
00:29:06.440 --> 00:29:08.920
<v Speaker 5>the crap that the framework is going to put in

505
00:29:08.960 --> 00:29:10.559
<v Speaker 5>there that you'd.

506
00:29:10.279 --> 00:29:11.400
<v Speaker 4>Have to carry with you.

507
00:29:11.519 --> 00:29:16.000
<v Speaker 5>A nice framework for doing web serving is three hundred

508
00:29:16.039 --> 00:29:19.200
<v Speaker 5>lines of code. It's almost a trivial piece of work.

509
00:29:20.079 --> 00:29:22.519
<v Speaker 5>And so we thought, and this is one of the

510
00:29:22.519 --> 00:29:24.799
<v Speaker 5>ways you would do this decision right. You would look

511
00:29:24.839 --> 00:29:27.559
<v Speaker 5>at what the framework gives you, and you'd have to

512
00:29:27.599 --> 00:29:30.160
<v Speaker 5>look in some depth, and then you have to ask

513
00:29:30.200 --> 00:29:33.559
<v Speaker 5>yourself the question, what would it take for me to

514
00:29:33.640 --> 00:29:37.440
<v Speaker 5>write that? And in some cases it's not a lot.

515
00:29:38.200 --> 00:29:40.519
<v Speaker 5>In some cases it's more so. I'll tell you another story.

516
00:29:42.400 --> 00:29:45.079
<v Speaker 5>About two years ago, maybe three years ago, I started

517
00:29:45.119 --> 00:29:53.599
<v Speaker 5>writing a desktop application for a social network protocol called Noster.

518
00:29:53.720 --> 00:29:57.640
<v Speaker 5>It's one of those federated social networking stuff that nobody

519
00:29:57.680 --> 00:30:01.440
<v Speaker 5>can censor. I had it up on my screen and

520
00:30:01.480 --> 00:30:03.920
<v Speaker 5>I was writing the code. I was writing it all inclosure.

521
00:30:03.960 --> 00:30:06.240
<v Speaker 5>It's lots of fun, and I thought, I'm not using

522
00:30:06.279 --> 00:30:07.000
<v Speaker 5>any framework.

523
00:30:07.000 --> 00:30:08.680
<v Speaker 4>I'm just gonna muscle through this thing.

524
00:30:09.359 --> 00:30:13.039
<v Speaker 5>And I picked up one little framework called processing, which

525
00:30:13.079 --> 00:30:14.960
<v Speaker 5>is a nice little thing. It doesn't get in your

526
00:30:14.960 --> 00:30:17.440
<v Speaker 5>way very much. And I fiddled around with that for

527
00:30:17.480 --> 00:30:20.759
<v Speaker 5>a while, and it started to get hard because I

528
00:30:20.759 --> 00:30:23.839
<v Speaker 5>had to implement all of the text editing stuff and

529
00:30:23.920 --> 00:30:26.839
<v Speaker 5>all of the you know, double clicking and all that

530
00:30:27.119 --> 00:30:28.119
<v Speaker 5>drag and drop.

531
00:30:27.960 --> 00:30:31.319
<v Speaker 4>Crud, and I thought, you know, I really need a framework.

532
00:30:31.680 --> 00:30:35.160
<v Speaker 5>Eh So I said, Okay, I'm gonna use a good

533
00:30:35.160 --> 00:30:36.359
<v Speaker 5>old standard swing.

534
00:30:37.160 --> 00:30:39.000
<v Speaker 4>No, that was the worst decision I ever made in

535
00:30:39.000 --> 00:30:39.920
<v Speaker 4>my life. Let me tell you.

536
00:30:43.000 --> 00:30:46.880
<v Speaker 1>I started against some sympathy on this podcast saying that.

537
00:30:48.720 --> 00:30:51.440
<v Speaker 5>I started an integrating swing into this thing, and I, God,

538
00:30:51.559 --> 00:30:54.319
<v Speaker 5>it's up and running. It works, it's fine. It's just

539
00:30:54.519 --> 00:30:58.480
<v Speaker 5>a hellhole. It's awful, and I'm thinking, now what I

540
00:30:58.559 --> 00:31:03.960
<v Speaker 5>need to do is just rewrite the whole. That's there's

541
00:31:04.039 --> 00:31:07.599
<v Speaker 5>two different stories with two different outcomes, right. I thought, oh,

542
00:31:07.680 --> 00:31:10.200
<v Speaker 5>you know, I can probably make it with Swing. It's old,

543
00:31:10.279 --> 00:31:12.960
<v Speaker 5>it's it's reliable, lots of people have used it.

544
00:31:13.279 --> 00:31:15.359
<v Speaker 4>Nah, it's just it's a nightmare.

545
00:31:15.759 --> 00:31:22.680
<v Speaker 2>So so go ahead, So go ahead, you go ahead. AJ.

546
00:31:23.680 --> 00:31:24.880
<v Speaker 2>My question is than to be long.

547
00:31:27.000 --> 00:31:29.000
<v Speaker 3>The question I want to pose is what is the

548
00:31:29.079 --> 00:31:31.640
<v Speaker 3>alternative to a framework?

549
00:31:31.960 --> 00:31:32.160
<v Speaker 2>Then?

550
00:31:32.359 --> 00:31:35.759
<v Speaker 3>Because the reason people choose frameworks they want a shortcut,

551
00:31:35.839 --> 00:31:39.359
<v Speaker 3>They want some layer of abstraction that if you get

552
00:31:39.440 --> 00:31:43.640
<v Speaker 3>chose the way problems stuff. Sure, So what's what's the

553
00:31:43.720 --> 00:31:46.480
<v Speaker 3>alternative to a framework? Because I don't think that it's

554
00:31:46.759 --> 00:31:48.400
<v Speaker 3>well you just write everything by hand.

555
00:31:48.839 --> 00:31:52.079
<v Speaker 5>Well, sometimes the alternative is to do it by hand.

556
00:31:52.680 --> 00:31:56.640
<v Speaker 5>Sometimes right some Sometimes the benefit that the framework offers

557
00:31:56.720 --> 00:32:02.319
<v Speaker 5>you offers you appears large but actually not. And that's

558
00:32:02.160 --> 00:32:05.400
<v Speaker 5>that was the case with Fitness, right. The very idea

559
00:32:05.440 --> 00:32:08.839
<v Speaker 5>that we would write our own web server had you know,

560
00:32:08.920 --> 00:32:11.480
<v Speaker 5>had us going, oh my god, were and then we

561
00:32:11.519 --> 00:32:14.079
<v Speaker 5>actually wrote the things three hundred lines of code. I

562
00:32:14.079 --> 00:32:16.519
<v Speaker 5>can get stuff on a web on a website pretty

563
00:32:16.559 --> 00:32:20.559
<v Speaker 5>dog oneasy, it's a little bit of socket manipulation, sore.

564
00:32:20.640 --> 00:32:24.720
<v Speaker 5>That's one case where you you overestimate the value of

565
00:32:24.759 --> 00:32:28.640
<v Speaker 5>the framework compared to the effort to do it yourself.

566
00:32:29.359 --> 00:32:31.720
<v Speaker 4>Then the the the noster one that I did.

567
00:32:31.759 --> 00:32:36.240
<v Speaker 5>That's the opposite case where I underestimated the value of

568
00:32:36.279 --> 00:32:39.160
<v Speaker 5>a framework and in the end I decided I had

569
00:32:39.200 --> 00:32:44.000
<v Speaker 5>to have one, and then I chose the wrong one. Right,

570
00:32:44.319 --> 00:32:47.839
<v Speaker 5>So there's there's no way out of this dilemma. We

571
00:32:48.000 --> 00:32:51.759
<v Speaker 5>don't want to write everything from scratch. We do want

572
00:32:51.799 --> 00:32:54.400
<v Speaker 5>to use what people have done. We want to build

573
00:32:54.440 --> 00:32:57.599
<v Speaker 5>on the good work of others. But it's not a

574
00:32:57.640 --> 00:33:01.519
<v Speaker 5>free lunch. You have to be really careful about the

575
00:33:01.559 --> 00:33:04.680
<v Speaker 5>frameworks you used. You don't want that decision to be

576
00:33:04.799 --> 00:33:06.920
<v Speaker 5>a quickie. You don't want it to be one based

577
00:33:06.960 --> 00:33:09.279
<v Speaker 5>on popularity. You don't want to do it because all

578
00:33:09.319 --> 00:33:12.079
<v Speaker 5>your friends are doing it. You want to look at

579
00:33:12.119 --> 00:33:14.119
<v Speaker 5>it good and hard, and you want to do some

580
00:33:14.160 --> 00:33:18.160
<v Speaker 5>of the experiments. You know, how far can I get

581
00:33:18.319 --> 00:33:19.799
<v Speaker 5>without the framework?

582
00:33:20.880 --> 00:33:23.799
<v Speaker 2>So you, in one of your talks might have been

583
00:33:23.880 --> 00:33:27.319
<v Speaker 2>this one. You mentioned that in one of your projects.

584
00:33:27.359 --> 00:33:29.079
<v Speaker 2>I think it was you. I'm pretty sure that it

585
00:33:29.160 --> 00:33:33.680
<v Speaker 2>was you. You deferred the database decision to the very

586
00:33:33.920 --> 00:33:39.359
<v Speaker 2>end of the project. Yep. Unfortunately, from my experience, that's

587
00:33:39.400 --> 00:33:42.559
<v Speaker 2>not really something that you can do with the framework.

588
00:33:43.279 --> 00:33:45.680
<v Speaker 2>And the problem is that you kind of need to

589
00:33:45.759 --> 00:33:49.079
<v Speaker 2>choose a framework more or less upfront. And when you

590
00:33:49.160 --> 00:33:52.000
<v Speaker 2>do that, like you said about that database selection, you

591
00:33:52.079 --> 00:33:55.599
<v Speaker 2>have the least amount of information. So, unless you happen

592
00:33:55.680 --> 00:33:59.400
<v Speaker 2>to be rewriting an existing app, which you know is

593
00:33:59.759 --> 00:34:03.799
<v Speaker 2>done but is fairly rare in our industry, for good

594
00:34:04.039 --> 00:34:08.039
<v Speaker 2>or bad, you are making the decision about the framework

595
00:34:08.480 --> 00:34:11.960
<v Speaker 2>while you have the least amount of information about what

596
00:34:12.000 --> 00:34:13.199
<v Speaker 2>you're actually developing.

597
00:34:13.400 --> 00:34:17.400
<v Speaker 5>So what can you do to get more information before

598
00:34:17.440 --> 00:34:21.280
<v Speaker 5>you make the framework decision? So, for example, most of

599
00:34:21.320 --> 00:34:24.599
<v Speaker 5>the frameworks out there are some kind of UI framework.

600
00:34:24.920 --> 00:34:29.360
<v Speaker 5>They help you manage the user interface, react Angular, all

601
00:34:29.360 --> 00:34:32.800
<v Speaker 5>these things, right, it's all some way for all the

602
00:34:32.840 --> 00:34:36.400
<v Speaker 5>little gestures on the user user interface to make sense.

603
00:34:37.119 --> 00:34:40.079
<v Speaker 5>What if you did not do the UI first. What

604
00:34:40.199 --> 00:34:43.320
<v Speaker 5>if you focused on business rules first? What if you

605
00:34:43.400 --> 00:34:46.480
<v Speaker 5>wrote the core of the application without a user interface

606
00:34:47.239 --> 00:34:51.800
<v Speaker 5>so that you had information about what this application actually does.

607
00:34:52.000 --> 00:34:54.400
<v Speaker 4>And then you can back away from that and say, Okay,

608
00:34:54.400 --> 00:34:58.239
<v Speaker 4>what kind of user interface do I really need? What

609
00:34:58.360 --> 00:35:02.039
<v Speaker 4>features are really going to be necessary here? And you

610
00:35:02.079 --> 00:35:05.719
<v Speaker 4>can make an informed decision about what kind of framework

611
00:35:05.960 --> 00:35:06.719
<v Speaker 4>you're going to need.

612
00:35:07.360 --> 00:35:13.039
<v Speaker 2>Yeah, except that most product managers start with FIGMA.

613
00:35:13.239 --> 00:35:15.360
<v Speaker 4>Well, yeah, here's a problem for you.

614
00:35:16.159 --> 00:35:17.960
<v Speaker 1>I was going to make the joke that if everybody

615
00:35:18.000 --> 00:35:20.880
<v Speaker 1>follows Bob's methodology here, no one would use react.

616
00:35:20.960 --> 00:35:24.199
<v Speaker 2>But well, I'm actually not sure.

617
00:35:24.639 --> 00:35:26.880
<v Speaker 1>I think a lot of people would opt for not

618
00:35:27.039 --> 00:35:28.639
<v Speaker 1>something so heavy on the front end.

619
00:35:29.679 --> 00:35:33.519
<v Speaker 2>Well, I'll put it differently though. So when in the

620
00:35:33.599 --> 00:35:37.239
<v Speaker 2>past when people ask me, I actually even we spoke

621
00:35:37.280 --> 00:35:40.239
<v Speaker 2>about Quora before the recording started. I once answered a

622
00:35:40.360 --> 00:35:43.199
<v Speaker 2>question of you know, frameworks, what are they good for?

623
00:35:43.320 --> 00:35:46.840
<v Speaker 2>On Quorra and back in the day, back when I

624
00:35:46.880 --> 00:35:50.679
<v Speaker 2>wrote that answer several years ago, what I said was

625
00:35:50.760 --> 00:35:53.360
<v Speaker 2>that at the end of the day, most web applications

626
00:35:53.440 --> 00:35:55.519
<v Speaker 2>do more or less the same thing. You know, we

627
00:35:55.639 --> 00:35:58.280
<v Speaker 2>all like to think that we're very original, but at

628
00:35:58.280 --> 00:36:01.079
<v Speaker 2>the end of the day, like a significant portion of

629
00:36:01.119 --> 00:36:03.199
<v Speaker 2>what we develop is more or less the same as

630
00:36:03.199 --> 00:36:06.320
<v Speaker 2>what everybody else does. It's like, you know, filling forms,

631
00:36:06.320 --> 00:36:11.719
<v Speaker 2>basically posting forms, stuff like that, and therefore it's it's

632
00:36:11.800 --> 00:36:14.639
<v Speaker 2>kind of repetitive to write it again and again from scratch.

633
00:36:14.719 --> 00:36:19.079
<v Speaker 2>And frameworks, like you said, like provide a box solution

634
00:36:19.199 --> 00:36:21.159
<v Speaker 2>that does a lot of the heavy lifting for you

635
00:36:21.280 --> 00:36:23.599
<v Speaker 2>that you kind of you don't need to repeat yourself.

636
00:36:24.639 --> 00:36:26.760
<v Speaker 2>And that's true, and I still think that's true. But

637
00:36:27.039 --> 00:36:30.679
<v Speaker 2>my focus on what the frameworks provide has kind of

638
00:36:30.719 --> 00:36:34.559
<v Speaker 2>shifted since then because I've been interacting a lot with

639
00:36:34.679 --> 00:36:39.880
<v Speaker 2>a lot of framework creators and designers. So Ryan Carniato

640
00:36:40.000 --> 00:36:45.280
<v Speaker 2>is a friend, Mishigo, hevery is a friend, you know.

641
00:36:48.960 --> 00:36:54.719
<v Speaker 2>So so I've been thinking about what it is that

642
00:36:54.800 --> 00:36:59.400
<v Speaker 2>they're thinking, like when they explain to me their considerations

643
00:36:59.440 --> 00:37:04.440
<v Speaker 2>and their desig decisions. What I came to the conclusion

644
00:37:04.599 --> 00:37:08.000
<v Speaker 2>is that The core difference between the frameworks is actually

645
00:37:08.039 --> 00:37:15.039
<v Speaker 2>the mental model that they promote, and the different frameworks

646
00:37:15.599 --> 00:37:22.119
<v Speaker 2>like React versus Solid, versus SVELT, versus View versus Angular,

647
00:37:22.559 --> 00:37:27.480
<v Speaker 2>all have really different mental models of how applications in

648
00:37:27.599 --> 00:37:38.159
<v Speaker 2>general and user interfaces in particular should be architected and consequently,

649
00:37:38.360 --> 00:37:42.800
<v Speaker 2>to a great extent, ideally, when you choose a framework,

650
00:37:43.360 --> 00:37:47.360
<v Speaker 2>I think you should choose the framework that best matches

651
00:37:48.199 --> 00:37:50.719
<v Speaker 2>your own particular mental model.

652
00:37:53.320 --> 00:37:55.800
<v Speaker 4>Now, how do you determine that mental model?

653
00:37:56.719 --> 00:38:01.239
<v Speaker 5>If you don't understand the details of the application, if

654
00:38:01.280 --> 00:38:04.920
<v Speaker 5>you're working on a particular kind of application, and do.

655
00:38:04.880 --> 00:38:08.440
<v Speaker 4>You focus on the business rules, you may come to.

656
00:38:08.440 --> 00:38:11.840
<v Speaker 5>A very different decision about the mental model that you

657
00:38:11.960 --> 00:38:15.599
<v Speaker 5>need for your user interface. If you've chosen a framework

658
00:38:15.679 --> 00:38:18.639
<v Speaker 5>up front, that framework will drive you into a mental

659
00:38:18.679 --> 00:38:23.079
<v Speaker 5>model that will then have incompatibility with the business rules themselves,

660
00:38:23.159 --> 00:38:26.239
<v Speaker 5>or at least the ideal state of those business rules.

661
00:38:26.800 --> 00:38:29.320
<v Speaker 5>That's the argument that you know, do you go inside

662
00:38:29.360 --> 00:38:30.559
<v Speaker 5>out or do you go outside in?

663
00:38:30.960 --> 00:38:33.079
<v Speaker 4>And I like going inside out.

664
00:38:34.519 --> 00:38:37.519
<v Speaker 2>For sure, and I totally agree with what you're saying.

665
00:38:38.039 --> 00:38:43.039
<v Speaker 2>I'm just thinking that understanding the mental model or even

666
00:38:43.079 --> 00:38:52.719
<v Speaker 2>the philosophy of a framework requires less initial investment that

667
00:38:53.360 --> 00:38:57.719
<v Speaker 2>what you might then what most people might expect that

668
00:38:57.840 --> 00:39:00.880
<v Speaker 2>even if you that you can devot up a fairly

669
00:39:01.159 --> 00:39:06.119
<v Speaker 2>simple sample application, like a throwaway application, in order to

670
00:39:06.239 --> 00:39:12.199
<v Speaker 2>kind of gauge the frameworks, philosophy and mental model and

671
00:39:12.519 --> 00:39:16.079
<v Speaker 2>see not necessarily if it fits your needs in the

672
00:39:16.119 --> 00:39:19.679
<v Speaker 2>context of that particular application you want to implement, but

673
00:39:19.880 --> 00:39:24.000
<v Speaker 2>rather your own personal preferences in general, and I would

674
00:39:24.039 --> 00:39:30.519
<v Speaker 2>contend that your personal preferences supersede like the details of

675
00:39:31.039 --> 00:39:32.639
<v Speaker 2>a particular application.

676
00:39:36.079 --> 00:39:38.320
<v Speaker 5>That one makes me a little nervous. First of all,

677
00:39:38.360 --> 00:39:40.559
<v Speaker 5>you're probably working in a team. I mean, some of

678
00:39:40.639 --> 00:39:43.000
<v Speaker 5>us don't, but probably you're working in a team, and

679
00:39:43.039 --> 00:39:46.320
<v Speaker 5>everybody is going to have their own mental model preferences.

680
00:39:47.440 --> 00:39:53.119
<v Speaker 5>I would hope that the application would focus that, and

681
00:39:53.159 --> 00:39:55.639
<v Speaker 5>that you could have a reasonable debate about, Okay, what

682
00:39:55.840 --> 00:39:58.800
<v Speaker 5>of our mental rules, which one of our mental models

683
00:39:59.320 --> 00:40:02.199
<v Speaker 5>is most applicable to this particular application.

684
00:40:03.360 --> 00:40:03.880
<v Speaker 4>I would help.

685
00:40:04.639 --> 00:40:06.679
<v Speaker 2>Yeah, you're correct, but at the end of the day,

686
00:40:06.800 --> 00:40:09.920
<v Speaker 2>there's a person. At the end of the day, it's

687
00:40:09.960 --> 00:40:14.639
<v Speaker 2>a person that makes the decision. Yeah, and everybody else

688
00:40:14.760 --> 00:40:16.000
<v Speaker 2>kind of has to live with it.

689
00:40:16.039 --> 00:40:19.159
<v Speaker 5>The benevolent dictator arises again, yes.

690
00:40:19.280 --> 00:40:21.320
<v Speaker 2>Yeah, but it might just be the first person on

691
00:40:21.360 --> 00:40:25.280
<v Speaker 2>the team, you know, the original developer on the project.

692
00:40:25.559 --> 00:40:26.679
<v Speaker 4>If there was only one.

693
00:40:26.800 --> 00:40:32.320
<v Speaker 2>Yes, well, in a lot of startups there usually is one.

694
00:40:32.760 --> 00:40:37.039
<v Speaker 2>And you know, I've worked at various you know, large

695
00:40:38.280 --> 00:40:42.679
<v Speaker 2>organizations where I ask why are we using technology X?

696
00:40:42.840 --> 00:40:45.519
<v Speaker 2>And the answer is this guy who worked here eight

697
00:40:45.639 --> 00:40:47.480
<v Speaker 2>years ago, that's what he chose.

698
00:40:48.280 --> 00:40:48.960
<v Speaker 1>Yeah.

699
00:40:49.239 --> 00:40:52.880
<v Speaker 5>Yeah, I have joined startups and thrown away the work

700
00:40:52.920 --> 00:40:54.119
<v Speaker 5>of the early developers.

701
00:40:56.039 --> 00:40:58.280
<v Speaker 1>I did this on a way to go forward part

702
00:40:58.320 --> 00:41:00.960
<v Speaker 1>of our test framework on the I'm working on for

703
00:41:00.960 --> 00:41:04.280
<v Speaker 1>a client literally on Friday. Why are we doing it

704
00:41:04.320 --> 00:41:07.199
<v Speaker 1>this way? Well, the other developer couldn't figure out how

705
00:41:07.239 --> 00:41:09.559
<v Speaker 1>to do it the normal way. I figured out how

706
00:41:09.559 --> 00:41:10.599
<v Speaker 1>to do it the normal way.

707
00:41:13.079 --> 00:41:16.360
<v Speaker 5>Now another story, and this long, long time ago, I

708
00:41:16.400 --> 00:41:24.480
<v Speaker 5>was working at a startup and.

709
00:41:21.000 --> 00:41:23.719
<v Speaker 4>We needed to store a bunch of data on disc.

710
00:41:23.800 --> 00:41:26.119
<v Speaker 5>And of course everybody says, well, you've got to get

711
00:41:26.119 --> 00:41:29.400
<v Speaker 5>a relational database. This is like nineteen eighty five, right,

712
00:41:29.880 --> 00:41:31.599
<v Speaker 5>You've got to get a relational database.

713
00:41:31.639 --> 00:41:34.400
<v Speaker 4>And I thought, we don't need a relational database.

714
00:41:34.440 --> 00:41:36.039
<v Speaker 5>All we need to do is store a couple of

715
00:41:36.039 --> 00:41:38.719
<v Speaker 5>things on disc and that's fairly easy.

716
00:41:38.760 --> 00:41:41.000
<v Speaker 4>And we did. We just stored a real simple, little

717
00:41:41.320 --> 00:41:42.880
<v Speaker 4>little thing that we cobbled together.

718
00:41:43.559 --> 00:41:47.079
<v Speaker 5>Long comes the marketing guy who joined the company about

719
00:41:47.079 --> 00:41:47.920
<v Speaker 5>six months later.

720
00:41:48.199 --> 00:41:50.639
<v Speaker 4>You don't have a relational database in your system. Yeah,

721
00:41:50.679 --> 00:41:51.639
<v Speaker 4>that's right, we don't need it.

722
00:41:52.280 --> 00:41:53.880
<v Speaker 5>Well, we can't even sell it if you don't have

723
00:41:53.880 --> 00:41:55.599
<v Speaker 5>a relational database in your system.

724
00:41:55.639 --> 00:42:00.400
<v Speaker 4>It was the most absurd argument to.

725
00:42:00.360 --> 00:42:03.519
<v Speaker 5>Make to a bunch of technical people that the marketing

726
00:42:03.519 --> 00:42:06.679
<v Speaker 5>guy said he could not sell the application if it

727
00:42:06.719 --> 00:42:09.840
<v Speaker 5>did not have a relational database in it. And in

728
00:42:09.880 --> 00:42:12.320
<v Speaker 5>the end they had to put a relational database in

729
00:42:12.480 --> 00:42:15.880
<v Speaker 5>because the marketing guy was absolutely adamant and overrode all

730
00:42:15.920 --> 00:42:16.880
<v Speaker 5>the technical people.

731
00:42:17.119 --> 00:42:18.840
<v Speaker 4>I didn't stay at that company.

732
00:42:21.880 --> 00:42:25.639
<v Speaker 1>Well on, Bob, So what you're saying is is if

733
00:42:25.679 --> 00:42:30.639
<v Speaker 1>the framework doesn't implement AI and blockchain, and it's worthless.

734
00:42:31.840 --> 00:42:34.440
<v Speaker 2>I just want to mention that a few years ago

735
00:42:34.599 --> 00:42:40.159
<v Speaker 2>we had Norm Honing on this show talking about their

736
00:42:40.360 --> 00:42:43.800
<v Speaker 2>kind of framework called Remote. It's not a UI framework.

737
00:42:43.840 --> 00:42:48.920
<v Speaker 2>It's more of a database or something like database connectivity

738
00:42:49.000 --> 00:42:51.320
<v Speaker 2>layer that can work either from the back end or

739
00:42:51.320 --> 00:42:57.039
<v Speaker 2>from the front end. And interestingly, when you install their thing,

740
00:42:57.679 --> 00:43:01.679
<v Speaker 2>it comes with the built in flat file based implementation

741
00:43:02.639 --> 00:43:05.480
<v Speaker 2>that because they don't know what database you're you you're

742
00:43:05.480 --> 00:43:07.840
<v Speaker 2>going to use and you know so, and but they

743
00:43:07.880 --> 00:43:09.599
<v Speaker 2>want you to be able to play with it out

744
00:43:09.639 --> 00:43:12.760
<v Speaker 2>of the box. And what he told us told me

745
00:43:12.800 --> 00:43:15.280
<v Speaker 2>at least that in a lot of cases, companies just

746
00:43:15.280 --> 00:43:22.039
<v Speaker 2>stick with their flat five based Yeah, mm hmmm, because

747
00:43:22.079 --> 00:43:25.440
<v Speaker 2>it works for the amounts of data that they might have,

748
00:43:25.519 --> 00:43:26.599
<v Speaker 2>it might be good enough.

749
00:43:29.159 --> 00:43:29.360
<v Speaker 1>You know.

750
00:43:29.679 --> 00:43:34.079
<v Speaker 2>Interesting what I'm but the point I'm trying to make

751
00:43:34.159 --> 00:43:37.400
<v Speaker 2>is this, So for example, let's let's consider React and

752
00:43:37.440 --> 00:43:41.239
<v Speaker 2>the reality. Interestingly, a lot of people who are using

753
00:43:41.360 --> 00:43:47.639
<v Speaker 2>React are not actually aware or sufficiently cognizant of the

754
00:43:47.719 --> 00:43:52.199
<v Speaker 2>React way, and and when they develop using reacts, they

755
00:43:52.239 --> 00:43:56.960
<v Speaker 2>don't actually develop according to the way in which the

756
00:43:57.079 --> 00:44:00.840
<v Speaker 2>React designers intended them to actually work.

757
00:44:01.920 --> 00:44:05.039
<v Speaker 3>They don't even do this on their documentation, by the way,

758
00:44:05.559 --> 00:44:08.800
<v Speaker 3>like because there is the document, the React Rationale or

759
00:44:08.840 --> 00:44:12.199
<v Speaker 3>whatever it is, and and like they're like, that's where

760
00:44:12.239 --> 00:44:15.880
<v Speaker 3>things bugs me is the documentation goes against their own

761
00:44:16.280 --> 00:44:19.360
<v Speaker 3>principles because they give examples to give the examples in

762
00:44:19.440 --> 00:44:22.960
<v Speaker 3>the fewest lines, rather than to give examples that follow

763
00:44:23.039 --> 00:44:25.559
<v Speaker 3>the patterns that they're prescribing. People use.

764
00:44:26.960 --> 00:44:29.639
<v Speaker 2>Anyway, what I'm trying to say, so, React, for example,

765
00:44:29.840 --> 00:44:34.480
<v Speaker 2>is very much about the idea, the ideal of state

766
00:44:34.719 --> 00:44:41.480
<v Speaker 2>in UI out like UI as a stateless functions. And

767
00:44:41.519 --> 00:44:43.679
<v Speaker 2>you know, you can debate about how well they've been

768
00:44:43.719 --> 00:44:47.400
<v Speaker 2>able to achieve it and some of the caveats that

769
00:44:47.440 --> 00:44:50.440
<v Speaker 2>they have, and and so on and so forth, because

770
00:44:50.440 --> 00:44:52.440
<v Speaker 2>at the end of the day, you know, UI just

771
00:44:52.719 --> 00:44:59.519
<v Speaker 2>can't be totally pure functions. And but that's kind of

772
00:44:59.519 --> 00:45:04.480
<v Speaker 2>the React way, and if you choose React, that needs

773
00:45:04.519 --> 00:45:07.119
<v Speaker 2>to be kind of your design philosophy. And you know,

774
00:45:07.239 --> 00:45:12.800
<v Speaker 2>people ask like, why doesn't React have signals? And we

775
00:45:12.960 --> 00:45:16.159
<v Speaker 2>had the people from React. They had Joe Savona from React,

776
00:45:16.360 --> 00:45:19.320
<v Speaker 2>from the React core team on the show, and he

777
00:45:19.400 --> 00:45:24.440
<v Speaker 2>basically said, because that's not React. That is contradictory to

778
00:45:24.480 --> 00:45:29.639
<v Speaker 2>the React philosophy. On the other hand, if you want signals,

779
00:45:29.719 --> 00:45:33.280
<v Speaker 2>then you've got solid or now you've got spelt. So

780
00:45:33.480 --> 00:45:37.880
<v Speaker 2>really you can create a fairly small application and see

781
00:45:38.519 --> 00:45:42.599
<v Speaker 2>do I like the React way or do I like

782
00:45:42.679 --> 00:45:46.039
<v Speaker 2>the Solid way? And if you actually start by thinking

783
00:45:46.079 --> 00:45:49.800
<v Speaker 2>about what is the core philosophy of this framework and

784
00:45:49.920 --> 00:45:53.760
<v Speaker 2>work from there, my assertion is that you'll probably make

785
00:45:53.840 --> 00:45:59.360
<v Speaker 2>a better decision then, you know, trying to go based

786
00:45:59.400 --> 00:46:03.039
<v Speaker 2>off of of your yet not yet fully formed understanding

787
00:46:03.079 --> 00:46:05.039
<v Speaker 2>of what your application is going to be and what

788
00:46:05.159 --> 00:46:06.239
<v Speaker 2>exactly it's going to need.

789
00:46:09.360 --> 00:46:10.679
<v Speaker 4>I'm not going to disagree with that.

790
00:46:10.719 --> 00:46:13.519
<v Speaker 5>I think the more experience you have with frameworks, the

791
00:46:13.559 --> 00:46:16.480
<v Speaker 5>better information you're going to have to make a decision.

792
00:46:20.000 --> 00:46:24.719
<v Speaker 2>The problem, though, is you said to separate as much

793
00:46:24.760 --> 00:46:28.440
<v Speaker 2>of the business logic out of the framework itself. I

794
00:46:28.440 --> 00:46:30.960
<v Speaker 2>guess that means that if you've got some sort of

795
00:46:31.079 --> 00:46:35.559
<v Speaker 2>business logic, you know, encapsulated in some pure function, and

796
00:46:35.639 --> 00:46:38.000
<v Speaker 2>then you can call that function get the values, and

797
00:46:38.039 --> 00:46:42.239
<v Speaker 2>you don't really care what you're calling it from. The

798
00:46:42.400 --> 00:46:46.159
<v Speaker 2>problem is that, from what I've seen in reality, is

799
00:46:46.199 --> 00:46:51.559
<v Speaker 2>that frameworks tend to seep into those functions. You look

800
00:46:51.599 --> 00:46:54.800
<v Speaker 2>at what should have been a pure function without any

801
00:46:54.840 --> 00:46:57.079
<v Speaker 2>framework code, and then all of a sudden you find

802
00:46:57.119 --> 00:46:59.039
<v Speaker 2>a lot of framework related code in it.

803
00:46:59.320 --> 00:47:02.559
<v Speaker 5>You're making my argument for me.

804
00:47:05.000 --> 00:47:10.639
<v Speaker 3>Earlier you were saying that people, you know, basically people

805
00:47:10.639 --> 00:47:14.199
<v Speaker 3>ought to discover their business rules and then go into

806
00:47:14.239 --> 00:47:18.960
<v Speaker 3>the UI afterwards. And I think an industry that's very rare. Yeah,

807
00:47:18.960 --> 00:47:22.280
<v Speaker 3>it's kind of like the waterfall development got rebranded as agile,

808
00:47:22.400 --> 00:47:24.840
<v Speaker 3>so you see the same you know charts in the

809
00:47:24.920 --> 00:47:29.639
<v Speaker 3>you know, twelve month timeline, but it's agile. Now. I

810
00:47:29.639 --> 00:47:33.880
<v Speaker 3>think it's really really dangerous to start with the design

811
00:47:34.119 --> 00:47:36.199
<v Speaker 3>and try to work backwards, because you would need to

812
00:47:36.199 --> 00:47:39.599
<v Speaker 3>start with what business problem are you trying to solve,

813
00:47:40.480 --> 00:47:43.000
<v Speaker 3>and then move forwards from there. I wish that every

814
00:47:43.039 --> 00:47:47.639
<v Speaker 3>application the engineers created the super ugly prototype first, so

815
00:47:47.679 --> 00:47:49.840
<v Speaker 3>that the designers knew what they had to work with.

816
00:47:50.559 --> 00:47:54.960
<v Speaker 5>So the alternate to that is you take an application

817
00:47:55.119 --> 00:47:59.719
<v Speaker 5>with really significant business rules. So for example, some kind

818
00:47:59.760 --> 00:48:05.960
<v Speaker 5>of insurance application. Uh, and and there's just a lot

819
00:48:06.000 --> 00:48:08.199
<v Speaker 5>of number crunching that you're gonna have to do, and

820
00:48:08.239 --> 00:48:11.480
<v Speaker 5>a lot of data lookups and all kinds of stuff

821
00:48:11.519 --> 00:48:17.440
<v Speaker 5>with a relatively simple amount of incoming information. And the

822
00:48:17.519 --> 00:48:21.000
<v Speaker 5>temptation there would be to show a nice little desktop

823
00:48:21.079 --> 00:48:23.719
<v Speaker 5>app and and oh, here's the form, and look you

824
00:48:23.800 --> 00:48:26.360
<v Speaker 5>click on these things and you isn't it wonderful? And

825
00:48:26.400 --> 00:48:29.840
<v Speaker 5>everybody's applotting and then and then you know, then you

826
00:48:29.920 --> 00:48:33.360
<v Speaker 5>actually have to write the business rules. And the business

827
00:48:33.400 --> 00:48:36.159
<v Speaker 5>rules it turns out completely thwart that whole idea of

828
00:48:36.199 --> 00:48:38.719
<v Speaker 5>the user interface, right, So wait a minute. We can't

829
00:48:38.719 --> 00:48:40.679
<v Speaker 5>do it that way, We got to do it a

830
00:48:40.719 --> 00:48:43.800
<v Speaker 5>completely different way. It would be in my view, it

831
00:48:43.840 --> 00:48:48.199
<v Speaker 5>would be better to start inside, get some feel for

832
00:48:48.320 --> 00:48:51.079
<v Speaker 5>what the business rules look like, and then and then

833
00:48:51.159 --> 00:48:54.039
<v Speaker 5>you can start to project outwards. You don't have to

834
00:48:54.039 --> 00:48:57.039
<v Speaker 5>finish all the business rules, but you start to project

835
00:48:57.039 --> 00:48:59.280
<v Speaker 5>outwards that way, as long as you've got some idea

836
00:48:59.360 --> 00:49:03.480
<v Speaker 5>of how you're going to manipulate all this data that's.

837
00:49:03.320 --> 00:49:07.199
<v Speaker 4>Going to be on the stream. So now, sometimes it's trivial.

838
00:49:07.280 --> 00:49:09.800
<v Speaker 5>Sometimes there's just nothing to do with The data goes

839
00:49:09.800 --> 00:49:12.679
<v Speaker 5>into a database, it comes out of a database, nothing else,

840
00:49:12.679 --> 00:49:14.079
<v Speaker 5>and you've got a credit application.

841
00:49:14.159 --> 00:49:15.719
<v Speaker 4>And okay, if all.

842
00:49:15.559 --> 00:49:17.960
<v Speaker 5>You've got is a credit application, you can probably make

843
00:49:18.199 --> 00:49:19.800
<v Speaker 5>the framework decision pretty early.

844
00:49:20.880 --> 00:49:23.559
<v Speaker 3>So do you have any suggestions for because most people

845
00:49:23.599 --> 00:49:27.039
<v Speaker 3>were just peons, right, we just like there's some sort

846
00:49:27.079 --> 00:49:30.599
<v Speaker 3>of project manager and they're making all those decisions. How

847
00:49:30.599 --> 00:49:33.639
<v Speaker 3>do you like if you've got this great wisdom, which

848
00:49:33.719 --> 00:49:37.320
<v Speaker 3>I like, it's like product managers. I don't think that

849
00:49:37.400 --> 00:49:40.519
<v Speaker 3>they learned that, right, how do you communicate that upstream

850
00:49:40.679 --> 00:49:43.079
<v Speaker 3>to say, hey, to develop the best product.

851
00:49:42.920 --> 00:49:47.559
<v Speaker 1>You're triggering the AJA, you're triggering me. I've worked in

852
00:49:47.599 --> 00:49:48.800
<v Speaker 1>those salt mines before.

853
00:49:49.760 --> 00:49:52.159
<v Speaker 3>But that's like most of the salt mines though, is that?

854
00:49:52.280 --> 00:49:53.679
<v Speaker 3>Is it not? I mean that it's.

855
00:49:53.519 --> 00:49:57.760
<v Speaker 1>True you have the not technical, non expert people making

856
00:49:57.800 --> 00:50:00.599
<v Speaker 1>these deep decisions on how you put your app together.

857
00:50:02.800 --> 00:50:05.840
<v Speaker 3>So, but what's what's your solution or what's a way,

858
00:50:06.039 --> 00:50:09.079
<v Speaker 3>what's a way to bring some of this knowledge forward

859
00:50:10.000 --> 00:50:13.280
<v Speaker 3>to help the development process, because I think I think

860
00:50:13.480 --> 00:50:15.480
<v Speaker 3>many many people have been on a team where their

861
00:50:15.519 --> 00:50:18.599
<v Speaker 3>intuition says, hey, this doesn't seem right. Maybe they don't

862
00:50:18.639 --> 00:50:20.840
<v Speaker 3>feel like they've got the confidence to speak up because

863
00:50:21.280 --> 00:50:23.199
<v Speaker 3>obvious people above them must know what they're doing.

864
00:50:23.719 --> 00:50:25.559
<v Speaker 1>So I believe in miracles.

865
00:50:26.239 --> 00:50:28.440
<v Speaker 2>I do. I do want to say to two things

866
00:50:28.480 --> 00:50:31.960
<v Speaker 2>about this though, So like there are two problem there

867
00:50:31.960 --> 00:50:34.719
<v Speaker 2>are two problems that I can that I can see

868
00:50:34.800 --> 00:50:39.079
<v Speaker 2>with I'm just developing my APIs first, will invoke them

869
00:50:39.119 --> 00:50:43.760
<v Speaker 2>from curl, and once we see those work, we'll start

870
00:50:43.760 --> 00:50:49.239
<v Speaker 2>building the UI. The two the two problems are are A,

871
00:50:49.760 --> 00:50:53.800
<v Speaker 2>how are you going to raise money that way? Uh?

872
00:50:54.320 --> 00:51:00.840
<v Speaker 3>Like you the AI generate the commercial and then it's

873
00:51:00.880 --> 00:51:02.719
<v Speaker 3>been that way for decades. When was the last time

874
00:51:02.719 --> 00:51:04.719
<v Speaker 3>that a company that was raising money had a product?

875
00:51:06.079 --> 00:51:07.800
<v Speaker 2>Well, it had a demo of a product.

876
00:51:07.800 --> 00:51:12.280
<v Speaker 3>Though demo it was like Wizard of Ozzie or it

877
00:51:12.320 --> 00:51:15.039
<v Speaker 3>was like completely done by a three D animator.

878
00:51:15.639 --> 00:51:19.559
<v Speaker 2>The other problem the other but the more serious issue though,

879
00:51:20.199 --> 00:51:25.559
<v Speaker 2>is that I'm kind of wary of uys that are

880
00:51:25.599 --> 00:51:31.159
<v Speaker 2>built without any consideration for how they're ultimately going to

881
00:51:31.159 --> 00:51:34.599
<v Speaker 2>be used yep, because then you're trying to build a

882
00:51:34.719 --> 00:51:37.400
<v Speaker 2>user interface on top of them and you discover that

883
00:51:38.639 --> 00:51:43.719
<v Speaker 2>they just don't actually fit your needs. They were great

884
00:51:43.760 --> 00:51:46.159
<v Speaker 2>from the command line, but they they they're not really

885
00:51:46.199 --> 00:51:49.599
<v Speaker 2>appropriate for the UI where we need to support dragon

886
00:51:49.679 --> 00:51:51.079
<v Speaker 2>Drop and I don't know what.

887
00:51:52.480 --> 00:51:57.760
<v Speaker 3>So I I think that people should create UIs just

888
00:51:58.119 --> 00:52:00.679
<v Speaker 3>dumb ones that are ugly to start with, that have

889
00:52:00.760 --> 00:52:04.519
<v Speaker 3>the that have the benefits there like okay, It's it's like,

890
00:52:04.519 --> 00:52:07.320
<v Speaker 3>like I've said before about suck driven development, you don't

891
00:52:07.360 --> 00:52:11.280
<v Speaker 3>need to produce the most complete project with the most features,

892
00:52:11.639 --> 00:52:14.119
<v Speaker 3>And there's an excellent y Combinator series I'll link to

893
00:52:14.239 --> 00:52:16.280
<v Speaker 3>in the in the Picks about this. You need to

894
00:52:16.280 --> 00:52:20.880
<v Speaker 3>produce the product that does one thing significantly better than

895
00:52:20.920 --> 00:52:24.559
<v Speaker 3>all the other products on the market, and you can

896
00:52:24.599 --> 00:52:28.119
<v Speaker 3>do that with really bad UI. In terms of a

897
00:52:28.199 --> 00:52:30.960
<v Speaker 3>test cycle like true agile, right, like you do the

898
00:52:31.000 --> 00:52:36.800
<v Speaker 3>development sprint, you do the design spread, and then so on.

899
00:52:35.239 --> 00:52:41.400
<v Speaker 2>On the other hand, Apple conquered the world with building

900
00:52:41.840 --> 00:52:46.760
<v Speaker 2>amazing UIs on top of products that in many cases

901
00:52:46.880 --> 00:52:50.679
<v Speaker 2>did not provide features that were not available somewhere else before.

902
00:52:50.880 --> 00:52:55.400
<v Speaker 1>With not this great UI, I think you're making an

903
00:52:55.440 --> 00:52:58.679
<v Speaker 1>earlier point that Bob pointed out, just maybe in a

904
00:52:58.719 --> 00:53:00.519
<v Speaker 1>different way, and that is you have to understand your

905
00:53:00.559 --> 00:53:04.280
<v Speaker 1>application of what matters, because I believe that there are

906
00:53:04.440 --> 00:53:09.639
<v Speaker 1>situations where you know, the functionality and the way that

907
00:53:09.679 --> 00:53:14.119
<v Speaker 1>things kind of bolt together and work matters more than

908
00:53:14.320 --> 00:53:17.599
<v Speaker 1>how pretty your UI is. But in other cases, yeah,

909
00:53:17.679 --> 00:53:20.320
<v Speaker 1>the UI not looking great. Just to give an example,

910
00:53:20.920 --> 00:53:23.559
<v Speaker 1>I'm part of an organization. I'm in leadership in this organization,

911
00:53:24.159 --> 00:53:27.639
<v Speaker 1>and you know, we were looking for a solution to

912
00:53:28.079 --> 00:53:31.159
<v Speaker 1>help collaborate, get people to collaborate, and the more we

913
00:53:31.239 --> 00:53:33.679
<v Speaker 1>talked about it, the more it just looked and sounded

914
00:53:33.719 --> 00:53:37.559
<v Speaker 1>and felt like discord. But I'm not. I'm not the

915
00:53:38.119 --> 00:53:40.840
<v Speaker 1>ultimate leader, right, I'm I'm part of leadership, but I'm

916
00:53:40.880 --> 00:53:42.639
<v Speaker 1>not I'm not the one that makes the ultimate call.

917
00:53:43.440 --> 00:53:48.679
<v Speaker 1>And the person was the person no telegram actually, but

918
00:53:49.639 --> 00:53:52.719
<v Speaker 1>the issue was was that the person that made the

919
00:53:52.800 --> 00:53:55.920
<v Speaker 1>ultimate decision, she took one look at the way that

920
00:53:56.000 --> 00:53:58.440
<v Speaker 1>Discord is designed and said, this looks like a video

921
00:53:58.480 --> 00:54:01.559
<v Speaker 1>game platform. No one's going to use it. And so

922
00:54:01.800 --> 00:54:04.719
<v Speaker 1>in that case it mattered. But in other cases, you know,

923
00:54:05.039 --> 00:54:08.480
<v Speaker 1>having the functionality and having people being willing to say,

924
00:54:08.599 --> 00:54:10.719
<v Speaker 1>this doesn't look like what I wanted to look like,

925
00:54:10.760 --> 00:54:12.440
<v Speaker 1>but it does. All the things I wanted to do,

926
00:54:12.880 --> 00:54:15.320
<v Speaker 1>you can do, and so you you have to understand

927
00:54:15.320 --> 00:54:18.119
<v Speaker 1>your application. I guess part of understanding your application is

928
00:54:18.119 --> 00:54:21.760
<v Speaker 1>also understanding the limitations and trade offs that your users

929
00:54:21.760 --> 00:54:22.480
<v Speaker 1>are willing to make.

930
00:54:23.159 --> 00:54:27.880
<v Speaker 5>So the Apple story is a really interesting one because

931
00:54:28.159 --> 00:54:29.679
<v Speaker 5>if you'll go all the way back to the.

932
00:54:29.719 --> 00:54:32.199
<v Speaker 4>Macintosh right nineteen eighty three?

933
00:54:32.840 --> 00:54:33.440
<v Speaker 2>Was that true?

934
00:54:33.719 --> 00:54:35.960
<v Speaker 4>I think something like a good long time ago.

935
00:54:37.039 --> 00:54:40.639
<v Speaker 5>And when that machine came out, it was absolute magic

936
00:54:41.679 --> 00:54:43.079
<v Speaker 5>and I had to have one.

937
00:54:43.199 --> 00:54:44.360
<v Speaker 4>Everybody had to have one.

938
00:54:44.840 --> 00:54:47.039
<v Speaker 5>And you could you could do mach paint, you can

939
00:54:47.119 --> 00:54:50.159
<v Speaker 5>do mac right, you could do MacDraw. They had all

940
00:54:50.159 --> 00:54:53.880
<v Speaker 5>these applications. Nobody had ever seen anything like this before,

941
00:54:54.880 --> 00:54:59.400
<v Speaker 5>and they conquered the world with that UI. Even Microsoft

942
00:54:59.440 --> 00:55:02.679
<v Speaker 5>finally had to bow and go, okay, Windows is great.

943
00:55:02.800 --> 00:55:05.239
<v Speaker 4>Okay, so how did that happen?

944
00:55:06.000 --> 00:55:10.760
<v Speaker 5>And that happened through a series of experiments and iterations

945
00:55:10.800 --> 00:55:13.920
<v Speaker 5>that mostly failed, right and most and a lot of

946
00:55:13.920 --> 00:55:17.000
<v Speaker 5>it happened at Xerox a few years before Xerox Park

947
00:55:18.119 --> 00:55:21.519
<v Speaker 5>mecking around with the Dina book and then eventually they

948
00:55:21.519 --> 00:55:24.320
<v Speaker 5>come up with the small Talk browser, which you know,

949
00:55:24.400 --> 00:55:27.280
<v Speaker 5>they they really had it kind of but not quite.

950
00:55:28.079 --> 00:55:29.039
<v Speaker 4>And then they came.

951
00:55:28.960 --> 00:55:31.360
<v Speaker 5>Up with the Xerox Star, one of the early word

952
00:55:31.480 --> 00:55:35.119
<v Speaker 5>processors back in the day, and Apple said, oh, I'm

953
00:55:35.119 --> 00:55:39.719
<v Speaker 5>going to steal that. Steve Johns literally stole it, said, okay.

954
00:55:39.400 --> 00:55:42.480
<v Speaker 2>I'm gonna I would say that Xerox literally gave it

955
00:55:42.480 --> 00:55:42.880
<v Speaker 2>to him.

956
00:55:42.920 --> 00:55:47.760
<v Speaker 4>But they give away everything. Xerox Park gave away everything.

957
00:55:49.400 --> 00:55:53.519
<v Speaker 5>Just a remarkable story in all of this gold that

958
00:55:53.639 --> 00:55:56.840
<v Speaker 5>came out of Xerox Park that the Xerox company just

959
00:55:57.159 --> 00:56:00.000
<v Speaker 5>apparently had no interest in and gave it away, gave it.

960
00:56:00.679 --> 00:56:03.119
<v Speaker 2>Did you see that movie which wasn't so great? I

961
00:56:03.119 --> 00:56:05.559
<v Speaker 2>think it's called Fire in the Valley or something like that.

962
00:56:05.960 --> 00:56:10.079
<v Speaker 2>They have this amazing scene there where the people from

963
00:56:10.119 --> 00:56:13.159
<v Speaker 2>the West Coast from Xerox Park come to the Xerox

964
00:56:14.079 --> 00:56:18.559
<v Speaker 2>main office in New York, and there's this huge desk

965
00:56:18.760 --> 00:56:22.360
<v Speaker 2>with all the CEO and all the vps and whatnot

966
00:56:22.440 --> 00:56:25.360
<v Speaker 2>sitting there in their suits. And on the other end

967
00:56:25.480 --> 00:56:27.400
<v Speaker 2>you have you've got the guys in their T shirts

968
00:56:27.400 --> 00:56:30.920
<v Speaker 2>and their beards, and there's this amazing scene where the

969
00:56:30.960 --> 00:56:35.960
<v Speaker 2>CEO of Xerox picks up a mouse by the cord

970
00:56:36.039 --> 00:56:39.480
<v Speaker 2>and he's holding it like a dead mouse, and he

971
00:56:39.519 --> 00:56:43.480
<v Speaker 2>says that he goes, you want us to sell something

972
00:56:43.800 --> 00:56:50.679
<v Speaker 2>called a mouse? They just didn't get it. It was

973
00:56:51.280 --> 00:56:54.800
<v Speaker 2>the culture was just too divergent, I guess. And then

974
00:56:54.840 --> 00:56:57.199
<v Speaker 2>they gave it all away to it to Steve Jobs,

975
00:56:57.199 --> 00:57:00.440
<v Speaker 2>who basically heard about them, and you know, and they

976
00:57:00.800 --> 00:57:04.639
<v Speaker 2>literally told the head of that of Park to just

977
00:57:04.679 --> 00:57:07.199
<v Speaker 2>show him, show him around, and you know, you can

978
00:57:07.400 --> 00:57:08.519
<v Speaker 2>look at whatever he wants.

979
00:57:09.639 --> 00:57:11.800
<v Speaker 5>That wasn't the only thing Xerox Park gave away. They

980
00:57:11.800 --> 00:57:15.639
<v Speaker 5>gave away just tons of stuff. But then Jobs takes

981
00:57:15.639 --> 00:57:18.639
<v Speaker 5>it into Apple and their first product is the Lisa,

982
00:57:18.800 --> 00:57:22.079
<v Speaker 5>which is another failure. Right, they couldn't quite get.

983
00:57:21.960 --> 00:57:23.760
<v Speaker 4>The idea that pixels ought to be square.

984
00:57:27.440 --> 00:57:30.519
<v Speaker 5>But they did make a great decision early on, which

985
00:57:30.559 --> 00:57:34.000
<v Speaker 5>was the one button mouse, right, Xerox had the three

986
00:57:34.039 --> 00:57:37.760
<v Speaker 5>button mouse. Apple said no, it should be one button.

987
00:57:37.760 --> 00:57:42.440
<v Speaker 5>There were some very interesting decisions made that led finally

988
00:57:42.480 --> 00:57:46.079
<v Speaker 5>to the Macintosh and then the the rollout of these

989
00:57:46.360 --> 00:57:47.920
<v Speaker 5>very interesting user interfaces.

990
00:57:48.440 --> 00:57:51.480
<v Speaker 4>But it was not a burst of insight.

991
00:57:51.519 --> 00:57:55.920
<v Speaker 5>It came through a whole bunch of iterations, mostly failed iterations.

992
00:57:57.760 --> 00:58:02.599
<v Speaker 2>If I'm dragging us back to frameworks though the current.

993
00:58:02.639 --> 00:58:05.280
<v Speaker 1>The current well, I was thinking about doing the same thing,

994
00:58:05.320 --> 00:58:07.360
<v Speaker 1>but I'm so fascinated by where this is gone.

995
00:58:07.599 --> 00:58:09.800
<v Speaker 2>No I know, but I do want to cover. So

996
00:58:09.880 --> 00:58:14.559
<v Speaker 2>the reality is that for the past fourteen years, it

997
00:58:14.639 --> 00:58:19.119
<v Speaker 2>seems that React rules the framework, the front and framework world,

998
00:58:20.039 --> 00:58:24.440
<v Speaker 2>and that it's not going away. It's the default, it's

999
00:58:24.480 --> 00:58:27.400
<v Speaker 2>the safe choice. It's like you never get fired for

1000
00:58:27.519 --> 00:58:32.239
<v Speaker 2>buying IBM kind of a choice. Now these days it's

1001
00:58:32.280 --> 00:58:35.239
<v Speaker 2>literally no choice at all. And I'm looking at some

1002
00:58:35.400 --> 00:58:39.039
<v Speaker 2>of the other frameworks that have amazing ideas again the

1003
00:58:39.199 --> 00:58:44.280
<v Speaker 2>Spelt or Solid or quick, and they're having and they're

1004
00:58:44.400 --> 00:58:50.000
<v Speaker 2>unable to break through. Like the latest statistics that I've

1005
00:58:50.039 --> 00:58:54.199
<v Speaker 2>seen on the Google Crux website, which kind of analyzes

1006
00:58:54.840 --> 00:59:02.280
<v Speaker 2>websites that Google index indexes, it looks like React is

1007
00:59:02.320 --> 00:59:04.159
<v Speaker 2>like all the other framework. It's more than all the

1008
00:59:04.199 --> 00:59:09.679
<v Speaker 2>other frameworks put together. Second place is view and then

1009
00:59:09.840 --> 00:59:12.360
<v Speaker 2>all the rest are and then all the rest are

1010
00:59:12.519 --> 00:59:20.079
<v Speaker 2>just like you know, minuscule in comparison. So we can

1011
00:59:20.119 --> 00:59:24.039
<v Speaker 2>talk about you know, developers needing to think about picking

1012
00:59:24.119 --> 00:59:26.480
<v Speaker 2>the correct framework all we all day long, at the

1013
00:59:26.559 --> 00:59:28.320
<v Speaker 2>end of the day, they're just gonna pick React.

1014
00:59:30.280 --> 00:59:39.159
<v Speaker 3>Okay, that we could talk about whether or not people

1015
00:59:39.199 --> 00:59:42.719
<v Speaker 3>should build build their website or not, but all day long,

1016
00:59:42.719 --> 00:59:46.000
<v Speaker 3>they're just gonna pick WordPress, right, I mean, like the

1017
00:59:46.039 --> 00:59:50.599
<v Speaker 3>things that the things that React as capturing are not

1018
00:59:51.639 --> 00:59:54.719
<v Speaker 3>the things that are going to be unique in driving

1019
00:59:55.000 --> 01:00:00.400
<v Speaker 3>lots of value. Right Like, if there it is no

1020
01:00:00.719 --> 01:00:03.880
<v Speaker 3>significant benefit to something else and React is fine, then

1021
01:00:03.920 --> 01:00:07.159
<v Speaker 3>React as fine. If there is something where there's a

1022
01:00:07.239 --> 01:00:09.639
<v Speaker 3>new type of value, where there's going to be new

1023
01:00:09.760 --> 01:00:12.760
<v Speaker 3>value driven in a significant way, people are gonna pick

1024
01:00:12.800 --> 01:00:16.960
<v Speaker 3>something else that matches where that value is. But in

1025
01:00:17.000 --> 01:00:19.480
<v Speaker 3>the same way that that, you know, if you were

1026
01:00:19.480 --> 01:00:21.800
<v Speaker 3>to compare React to word Press, you'd say, oh, well,

1027
01:00:21.840 --> 01:00:25.119
<v Speaker 3>you know, React just really isn't gaining any steam. But

1028
01:00:25.280 --> 01:00:27.440
<v Speaker 3>they React is a completely different use case than what

1029
01:00:27.480 --> 01:00:31.519
<v Speaker 3>WordPress is. And I think the same is you know,

1030
01:00:31.599 --> 01:00:35.039
<v Speaker 3>every layer of the industry, right you know, you could

1031
01:00:35.039 --> 01:00:38.199
<v Speaker 3>look at it from Wix and word Press and react

1032
01:00:38.480 --> 01:00:41.840
<v Speaker 3>and you know, take it down the pipe. Where there's

1033
01:00:42.000 --> 01:00:45.599
<v Speaker 3>more unique value, people are going to make more unique choices.

1034
01:00:45.639 --> 01:00:47.880
<v Speaker 3>Where there's less unique value, people are going to make

1035
01:00:47.960 --> 01:00:48.920
<v Speaker 3>less unique choices.

1036
01:00:50.039 --> 01:00:52.920
<v Speaker 1>So this kind of begs the question. And I'm curious,

1037
01:00:53.039 --> 01:00:55.760
<v Speaker 1>you know, AJ, what you think and what Bob thinks. Well,

1038
01:00:55.760 --> 01:01:00.039
<v Speaker 1>I'm curious what Dan things do. But you're making the

1039
01:01:00.079 --> 01:01:05.639
<v Speaker 1>point is, then is it a problem that we necessarily

1040
01:01:05.719 --> 01:01:09.039
<v Speaker 1>have one sort of eight hundred pound gorilla that takes

1041
01:01:09.079 --> 01:01:12.039
<v Speaker 1>over the most of the market, or you know, does

1042
01:01:12.039 --> 01:01:14.079
<v Speaker 1>that stifle some of the innovation that's going to go

1043
01:01:14.119 --> 01:01:17.119
<v Speaker 1>on out there or is it more in the realm

1044
01:01:17.199 --> 01:01:19.320
<v Speaker 1>of kind of what AJ is putting out there, where

1045
01:01:20.000 --> 01:01:22.519
<v Speaker 1>maybe the people with these unique use cases will pick

1046
01:01:22.559 --> 01:01:24.559
<v Speaker 1>something else anyway, and so it doesn't matter.

1047
01:01:25.679 --> 01:01:27.280
<v Speaker 2>Of course, it's going to stifle innovation.

1048
01:01:30.800 --> 01:01:32.760
<v Speaker 1>That's that, that's my instinct.

1049
01:01:33.400 --> 01:01:35.280
<v Speaker 3>But is word press stifling innovation?

1050
01:01:37.000 --> 01:01:42.320
<v Speaker 2>Hmmm, I don't That's an interesting question. I would I

1051
01:01:42.360 --> 01:01:45.719
<v Speaker 2>would argue that the use case is different. The use

1052
01:01:45.760 --> 01:01:49.840
<v Speaker 2>case for WordPress is is basically somebody wants to have

1053
01:01:50.719 --> 01:01:53.760
<v Speaker 2>these days, is somebody wants to have a simple web

1054
01:01:53.800 --> 01:01:58.559
<v Speaker 2>presence as quickly, as as cheaply and ideally as reliably

1055
01:01:58.960 --> 01:02:02.559
<v Speaker 2>as possible, and not really and hopefully not think about

1056
01:02:02.599 --> 01:02:07.000
<v Speaker 2>it at all. Web development is actual development. I would

1057
01:02:07.159 --> 01:02:08.239
<v Speaker 2>argue that that that.

1058
01:02:09.800 --> 01:02:11.960
<v Speaker 3>They're trying to bring it to the level of GPT, right,

1059
01:02:12.000 --> 01:02:13.559
<v Speaker 3>They're trying to get rid of the developer and say

1060
01:02:13.559 --> 01:02:15.239
<v Speaker 3>you're not gonna have a job. GPT is going to

1061
01:02:15.280 --> 01:02:15.760
<v Speaker 3>do it for you.

1062
01:02:15.840 --> 01:02:18.639
<v Speaker 1>Reaction, wup GPT. What do you think, Bob?

1063
01:02:19.639 --> 01:02:19.840
<v Speaker 2>Oh?

1064
01:02:19.960 --> 01:02:23.920
<v Speaker 5>You mean CHETCHYPT taking. I've been writing an awful lot

1065
01:02:23.960 --> 01:02:26.360
<v Speaker 5>of code here. I've been doing the the Advent of

1066
01:02:27.280 --> 01:02:31.440
<v Speaker 5>code exercises, you know, every every December maybe that, and

1067
01:02:31.480 --> 01:02:33.920
<v Speaker 5>I'm reading them all enclosure, and I've got my i

1068
01:02:34.039 --> 01:02:37.679
<v Speaker 5>D set up with with GitHub Copilot, and it's really

1069
01:02:37.760 --> 01:02:41.440
<v Speaker 5>quite remarkable what that that thing puts up on my screen.

1070
01:02:41.920 --> 01:02:43.400
<v Speaker 4>Half of it I have to throw out. More than

1071
01:02:43.440 --> 01:02:44.599
<v Speaker 4>half of it I have to throw away.

1072
01:02:44.639 --> 01:02:46.800
<v Speaker 5>But every once in a while it's like, oh yeah,

1073
01:02:46.840 --> 01:02:49.239
<v Speaker 5>I figured that one out pretty well, So you know,

1074
01:02:49.280 --> 01:02:51.679
<v Speaker 5>I think there's some interesting stuff there.

1075
01:02:51.760 --> 01:02:53.599
<v Speaker 4>I have no fear at.

1076
01:02:53.519 --> 01:02:57.639
<v Speaker 5>All that anyone's job is going to be taken away

1077
01:02:57.719 --> 01:03:01.719
<v Speaker 5>by a large length which model that has been suffused

1078
01:03:01.760 --> 01:03:02.360
<v Speaker 5>with code.

1079
01:03:03.079 --> 01:03:03.400
<v Speaker 4>I don't.

1080
01:03:03.440 --> 01:03:06.320
<v Speaker 1>I want to back up, though, what do you feel

1081
01:03:06.320 --> 01:03:08.880
<v Speaker 1>like we gain or lose by having a kind of

1082
01:03:08.920 --> 01:03:11.119
<v Speaker 1>a dominant player in the framework market.

1083
01:03:11.400 --> 01:03:14.880
<v Speaker 5>That's the VHS versus Betamax argument, right, Okay, So VHS

1084
01:03:15.000 --> 01:03:17.239
<v Speaker 5>is going to dominate for a while until the cvs

1085
01:03:17.280 --> 01:03:23.239
<v Speaker 5>come out. When when when is this model of application

1086
01:03:23.400 --> 01:03:24.079
<v Speaker 5>going to change?

1087
01:03:24.719 --> 01:03:24.920
<v Speaker 1>Yeah?

1088
01:03:24.960 --> 01:03:25.239
<v Speaker 5>Right now?

1089
01:03:25.559 --> 01:03:26.320
<v Speaker 1>A matter of time.

1090
01:03:27.440 --> 01:03:32.480
<v Speaker 2>That's an interesting question because the core thing is that

1091
01:03:32.559 --> 01:03:36.000
<v Speaker 2>in the web world we are kind of tied to

1092
01:03:36.360 --> 01:03:43.360
<v Speaker 2>JavaScript and the dom So because the platform isn't changing,

1093
01:03:43.880 --> 01:03:48.880
<v Speaker 2>that reduces the need of whatever we implement on top

1094
01:03:48.920 --> 01:03:53.800
<v Speaker 2>of the platform to change. Now, if you know, I

1095
01:03:53.800 --> 01:03:56.440
<v Speaker 2>don't know what happens, like if if we all go

1096
01:03:56.880 --> 01:03:59.840
<v Speaker 2>ar VR, then I don't know, there might be a

1097
01:03:59.840 --> 01:04:03.320
<v Speaker 2>new to change that I'm not sure to be honest,

1098
01:04:04.000 --> 01:04:10.039
<v Speaker 2>but I like and at talk I gave like fifteen

1099
01:04:10.119 --> 01:04:13.519
<v Speaker 2>years ago, I said that I'm annoyed with the fact

1100
01:04:13.639 --> 01:04:18.320
<v Speaker 2>that laptops are still the dominant form factor. And you

1101
01:04:18.360 --> 01:04:22.119
<v Speaker 2>know what, fifteen years later, laptops for developers are still

1102
01:04:22.119 --> 01:04:25.719
<v Speaker 2>the dominant or for work are still the dominant form factor.

1103
01:04:26.440 --> 01:04:31.440
<v Speaker 2>So where's the thing that replaces the laptops? It's not here.

1104
01:04:31.880 --> 01:04:35.440
<v Speaker 2>So we are we are on top of the web,

1105
01:04:36.239 --> 01:04:39.760
<v Speaker 2>We are on top of the dom. We don't want

1106
01:04:39.800 --> 01:04:42.280
<v Speaker 2>to use the dom as is, and we can debate

1107
01:04:42.320 --> 01:04:48.239
<v Speaker 2>about why that is. You know, what do you think

1108
01:04:48.320 --> 01:04:50.440
<v Speaker 2>people should be used? I don't know if you're the

1109
01:04:50.480 --> 01:04:53.280
<v Speaker 2>one to ask this question specifically, but do you think

1110
01:04:53.360 --> 01:04:56.920
<v Speaker 2>people should forego frameworks and just use JavaScript in the

1111
01:04:56.960 --> 01:04:57.880
<v Speaker 2>dome instead?

1112
01:04:58.400 --> 01:05:01.599
<v Speaker 5>Oh? No, No, that would be silly. Right, You're going

1113
01:05:01.639 --> 01:05:05.920
<v Speaker 5>to have to get them just you just have to

1114
01:05:06.000 --> 01:05:09.519
<v Speaker 5>be careful, that's all. But yeah, you're going to want

1115
01:05:09.559 --> 01:05:12.320
<v Speaker 5>to have some kind of framework assistance because those problems

1116
01:05:12.360 --> 01:05:15.039
<v Speaker 5>have been solved eighty times by people who know a

1117
01:05:15.079 --> 01:05:15.800
<v Speaker 5>lot more than you.

1118
01:05:16.559 --> 01:05:20.239
<v Speaker 1>Okay, but then the question is, you know, you've got

1119
01:05:20.280 --> 01:05:23.840
<v Speaker 1>the reacts and angulars and views that do a lot

1120
01:05:23.960 --> 01:05:27.679
<v Speaker 1>more then solve some of those problems, right, and then

1121
01:05:27.679 --> 01:05:31.199
<v Speaker 1>you've got like Alpine or you know, jQuery did some

1122
01:05:31.239 --> 01:05:34.119
<v Speaker 1>of this, or you know, I've been using stimulus right

1123
01:05:34.119 --> 01:05:37.400
<v Speaker 1>where it just solves some of the more fundamental issues,

1124
01:05:37.400 --> 01:05:39.800
<v Speaker 1>and then you know you wind up using the tom

1125
01:05:39.840 --> 01:05:43.239
<v Speaker 1>APIs and so there's a sliding scale even there.

1126
01:05:43.320 --> 01:05:47.079
<v Speaker 2>Right, Well, there's a first of all, there's a question

1127
01:05:47.239 --> 01:05:50.360
<v Speaker 2>of again I kind of hinted toward that at the

1128
01:05:50.360 --> 01:05:53.559
<v Speaker 2>beginning of what is a framework? Like is reactive framework?

1129
01:05:53.880 --> 01:05:57.320
<v Speaker 2>Is Angular framework? Is next year as a framework? They're

1130
01:05:57.400 --> 01:05:59.880
<v Speaker 2>kind of really different from one another in what they

1131
01:06:00.079 --> 01:06:01.639
<v Speaker 2>divide and.

1132
01:06:02.400 --> 01:06:04.719
<v Speaker 1>They are hostile takeovers of my UI is what they

1133
01:06:04.719 --> 01:06:06.199
<v Speaker 1>are well and.

1134
01:06:06.559 --> 01:06:09.400
<v Speaker 5>Your your your idea about the mental model is a

1135
01:06:09.480 --> 01:06:11.400
<v Speaker 5>good definition of a framework?

1136
01:06:11.440 --> 01:06:15.199
<v Speaker 4>Does it impose a mental model on you? And frameworks do.

1137
01:06:15.239 --> 01:06:19.440
<v Speaker 2>That in that regard. They all are, but to a

1138
01:06:19.519 --> 01:06:24.480
<v Speaker 2>varying degree, right like and like. For example, next gs

1139
01:06:24.480 --> 01:06:28.400
<v Speaker 2>also tries to impose a certain mental model on how

1140
01:06:28.440 --> 01:06:31.239
<v Speaker 2>you implement the back end, which react in and off

1141
01:06:31.239 --> 01:06:37.159
<v Speaker 2>itself does not so it it it. It's kind of

1142
01:06:37.159 --> 01:06:40.000
<v Speaker 2>a question to the extent to which it invades or

1143
01:06:40.039 --> 01:06:42.760
<v Speaker 2>your your your entire stack as it were.

1144
01:06:43.639 --> 01:06:47.840
<v Speaker 3>Well that that's what I was probing for earlier when

1145
01:06:47.840 --> 01:06:50.039
<v Speaker 3>I was saying, what's the the you know, what's the

1146
01:06:50.079 --> 01:06:53.000
<v Speaker 3>opposite of a framework or what's the what's the alternative choice?

1147
01:06:53.280 --> 01:06:55.000
<v Speaker 3>Because the way that the way that I would describe

1148
01:06:55.000 --> 01:06:57.480
<v Speaker 3>a framework is a framework is something where you put

1149
01:06:57.559 --> 01:07:02.559
<v Speaker 3>your code in the framework, like you implement the abstract

1150
01:07:02.599 --> 01:07:06.880
<v Speaker 3>class of the framework, whereas a library would be something

1151
01:07:06.960 --> 01:07:11.199
<v Speaker 3>where you use the library like your code is on

1152
01:07:11.360 --> 01:07:14.599
<v Speaker 3>top and the library is in the middle, whereas a framework,

1153
01:07:14.800 --> 01:07:20.199
<v Speaker 3>the framework is the shaster control and your code is

1154
01:07:20.239 --> 01:07:22.320
<v Speaker 3>the little functions that fill out the gaps.

1155
01:07:24.280 --> 01:07:27.199
<v Speaker 2>I would argue that at the end of the day,

1156
01:07:27.639 --> 01:07:29.880
<v Speaker 2>if it's not going to be the framework, then it's

1157
01:07:29.920 --> 01:07:32.960
<v Speaker 2>going to be the platform that does it for you.

1158
01:07:33.039 --> 01:07:35.239
<v Speaker 2>So at the end of the day, you are using

1159
01:07:35.360 --> 01:07:38.079
<v Speaker 2>some sort of framework, and if you think you're not,

1160
01:07:38.239 --> 01:07:41.760
<v Speaker 2>what I've seen happen is and I'm kind of quoting

1161
01:07:41.840 --> 01:07:44.360
<v Speaker 2>Tages who we've had on the show several times to

1162
01:07:44.519 --> 01:07:47.960
<v Speaker 2>talk about similar topics, is that if you don't use

1163
01:07:47.960 --> 01:07:51.639
<v Speaker 2>a framework, you end up implementing your own framework and

1164
01:07:51.719 --> 01:07:53.000
<v Speaker 2>it will likely be worse.

1165
01:07:55.480 --> 01:07:59.159
<v Speaker 5>Yep, that's the old argument, right, that every every every

1166
01:07:59.199 --> 01:08:02.599
<v Speaker 5>application of mentally implements some bad version of Lisp.

1167
01:08:06.320 --> 01:08:09.639
<v Speaker 1>Yeah. But the thing is is, again it's going back

1168
01:08:09.639 --> 01:08:10.760
<v Speaker 1>to the argument.

1169
01:08:10.480 --> 01:08:15.159
<v Speaker 2>Of your JavaScript. By the way, sorry to interrupt.

1170
01:08:15.440 --> 01:08:19.960
<v Speaker 1>True JavaScript Lisp, but my point is is that you know,

1171
01:08:19.960 --> 01:08:23.840
<v Speaker 1>if you have a really really simple application and you

1172
01:08:23.840 --> 01:08:28.600
<v Speaker 1>you know, it's a fairly well understood system, and you

1173
01:08:28.600 --> 01:08:30.560
<v Speaker 1>can get away with using the domain pis on it,

1174
01:08:31.159 --> 01:08:34.760
<v Speaker 1>and that's it right, and it's not going to grow

1175
01:08:34.800 --> 01:08:38.880
<v Speaker 1>in complexity or you know, it's need it's not a

1176
01:08:38.920 --> 01:08:42.319
<v Speaker 1>common use case. But my point is is you can

1177
01:08:42.399 --> 01:08:45.640
<v Speaker 1>get away in a lot of cases with not having

1178
01:08:45.680 --> 01:08:48.520
<v Speaker 1>the framework or having a framework as we talk about

1179
01:08:48.560 --> 01:08:50.920
<v Speaker 1>it on the front end, as opposed to the more

1180
01:08:50.920 --> 01:08:53.520
<v Speaker 1>complicated things where yeah, you need some of these problems solved.

1181
01:08:53.840 --> 01:08:56.560
<v Speaker 2>So the core question you need to ask these days

1182
01:08:56.680 --> 01:08:59.279
<v Speaker 2>in the front end world, in front end web dot

1183
01:08:59.279 --> 01:09:02.279
<v Speaker 2>world is do I really need this to be a

1184
01:09:02.319 --> 01:09:09.640
<v Speaker 2>single page application? And if the answer is yes, because

1185
01:09:09.680 --> 01:09:15.319
<v Speaker 2>sometimes you do, then you probably have to be using

1186
01:09:15.359 --> 01:09:20.520
<v Speaker 2>a framework. If the answer is no, If the answer

1187
01:09:20.600 --> 01:09:24.560
<v Speaker 2>is it can be a multi page application, then you're

1188
01:09:24.680 --> 01:09:29.560
<v Speaker 2>correct that there's a good chance that you either don't

1189
01:09:30.039 --> 01:09:33.479
<v Speaker 2>really need a framework, or you can use a fairly

1190
01:09:33.560 --> 01:09:38.039
<v Speaker 2>minimalistic framework, or you can segregate the framework used to

1191
01:09:38.319 --> 01:09:47.439
<v Speaker 2>very specific parts. The reality, though, is that for some

1192
01:09:47.600 --> 01:09:50.159
<v Speaker 2>reason or reasons, it might have to do with what

1193
01:09:50.199 --> 01:09:53.640
<v Speaker 2>boot camps are teaching, it might be have to do

1194
01:09:53.720 --> 01:09:58.239
<v Speaker 2>with what VC is like to invest in. Whatever the

1195
01:09:58.279 --> 01:10:00.760
<v Speaker 2>reason it might be have to do with what developers

1196
01:10:00.840 --> 01:10:03.439
<v Speaker 2>like to have in their resume. The reality is that

1197
01:10:03.520 --> 01:10:07.159
<v Speaker 2>these days a lot of web apps are being built

1198
01:10:07.199 --> 01:10:10.079
<v Speaker 2>a single page applications, whether they need to be or not.

1199
01:10:10.840 --> 01:10:16.680
<v Speaker 2>I had hoped that something like astro would reverse that trend,

1200
01:10:17.680 --> 01:10:20.399
<v Speaker 2>but it doesn't seem to be the case.

1201
01:10:22.479 --> 01:10:26.399
<v Speaker 5>So what fascinates me about that, dan is is the

1202
01:10:26.479 --> 01:10:29.319
<v Speaker 5>vocabulary that we've all been using. That we've all mentioned

1203
01:10:29.359 --> 01:10:32.520
<v Speaker 5>the DOM, we've all mentioned JavaScript, We've all and you

1204
01:10:32.640 --> 01:10:37.439
<v Speaker 5>started mentioning single page applications as though that were some

1205
01:10:37.560 --> 01:10:40.760
<v Speaker 5>kind of fundamental constraint.

1206
01:10:41.920 --> 01:10:45.000
<v Speaker 4>Why are we talking? Why are we using that vocabulary?

1207
01:10:45.840 --> 01:10:46.239
<v Speaker 4>The web?

1208
01:10:46.439 --> 01:10:51.520
<v Speaker 5>The Web has imposed these vocabularies on us that create

1209
01:10:51.560 --> 01:10:55.720
<v Speaker 5>a mental model of how applications.

1210
01:10:54.880 --> 01:10:59.000
<v Speaker 4>Ought to be. And I wonder if we aren't on

1211
01:10:59.039 --> 01:11:01.520
<v Speaker 4>the verge of leaving that mental model.

1212
01:11:03.399 --> 01:11:07.239
<v Speaker 2>I remember an interesting thing I've tried to look for.

1213
01:11:07.279 --> 01:11:10.960
<v Speaker 2>It's an old video that I watched like probably like

1214
01:11:11.119 --> 01:11:13.800
<v Speaker 2>fifteen or something years ago. I've tried to search for

1215
01:11:13.840 --> 01:11:16.439
<v Speaker 2>it on YouTube. I can't seem to find it. It's

1216
01:11:16.479 --> 01:11:20.479
<v Speaker 2>a video of Alan Kay, who I really admire, and

1217
01:11:20.920 --> 01:11:24.479
<v Speaker 2>apparently he got really annoyed with the Web when the

1218
01:11:24.520 --> 01:11:27.960
<v Speaker 2>web was gaining a lot of popularity because and he

1219
01:11:28.520 --> 01:11:33.399
<v Speaker 2>tried to build an alternative to the web using well surprise, surprise,

1220
01:11:33.479 --> 01:11:38.159
<v Speaker 2>small talk and it had like agents communicating with each other,

1221
01:11:38.439 --> 01:11:43.520
<v Speaker 2>sending small talk snippets and you know, like and the

1222
01:11:43.560 --> 01:11:45.880
<v Speaker 2>co group propagate where it needed to go. It was

1223
01:11:45.960 --> 01:11:49.680
<v Speaker 2>really beautiful. And the way that he demoed it is

1224
01:11:49.720 --> 01:11:52.760
<v Speaker 2>he built the same application using web technologies and I'm

1225
01:11:52.760 --> 01:11:55.359
<v Speaker 2>talking about the web technologies from something like fifteen or

1226
01:11:55.359 --> 01:11:58.279
<v Speaker 2>maybe even twenty years ago, and he built the same

1227
01:11:58.319 --> 01:12:04.279
<v Speaker 2>application using his own platform and the interesting and like,

1228
01:12:04.359 --> 01:12:07.880
<v Speaker 2>he achieved parity in terms of functionality. And then he

1229
01:12:07.960 --> 01:12:10.680
<v Speaker 2>ran them both on his laptop and measured the temperature

1230
01:12:10.680 --> 01:12:16.920
<v Speaker 2>of the laptop and he showed that his that the

1231
01:12:16.960 --> 01:12:21.560
<v Speaker 2>web was running very hot, whereas his application was running

1232
01:12:21.680 --> 01:12:28.840
<v Speaker 2>really cool. Yeah, exactly. And guess what. And I'm sure

1233
01:12:29.159 --> 01:12:32.520
<v Speaker 2>you know, given knowing Alan k and what he is

1234
01:12:32.560 --> 01:12:36.560
<v Speaker 2>and what he's done and and everything, and we were

1235
01:12:36.600 --> 01:12:41.439
<v Speaker 2>talking about Xerox park and whatnot, I'm sure that his

1236
01:12:41.600 --> 01:12:46.159
<v Speaker 2>solution was beautiful. But look what's one And and I

1237
01:12:46.279 --> 01:12:50.119
<v Speaker 2>considered the web to be the modern web, to be

1238
01:12:50.239 --> 01:12:54.680
<v Speaker 2>one of the greatest achievements of humankind, despite its inefficiencies.

1239
01:12:55.479 --> 01:12:59.039
<v Speaker 2>So yes, it has created the vocabulary for developers. But

1240
01:12:59.079 --> 01:13:03.840
<v Speaker 2>the same was true for Unix, and for CE and

1241
01:13:03.920 --> 01:13:07.520
<v Speaker 2>C plus plus and for Windows and all the various

1242
01:13:07.560 --> 01:13:09.920
<v Speaker 2>platforms that we've had over the years, and for mobile

1243
01:13:09.960 --> 01:13:13.359
<v Speaker 2>platforms these days. You know, we didn't talk about apps

1244
01:13:13.399 --> 01:13:18.960
<v Speaker 2>before the mobile platforms and the app store, you know,

1245
01:13:19.119 --> 01:13:21.359
<v Speaker 2>the de abomination that is the app store.

1246
01:13:23.920 --> 01:13:27.760
<v Speaker 1>Well, the other thing is is that, I guess the

1247
01:13:27.760 --> 01:13:30.239
<v Speaker 1>point you're making is that the metric we used to

1248
01:13:30.319 --> 01:13:33.640
<v Speaker 1>just to talk about how good something is is not

1249
01:13:34.920 --> 01:13:37.760
<v Speaker 1>process or temperature, right, I mean, there were other things

1250
01:13:37.800 --> 01:13:40.079
<v Speaker 1>that people wanted from the web, and that's that's why

1251
01:13:40.079 --> 01:13:43.039
<v Speaker 1>we got what we got. The other thing, though, is that,

1252
01:13:43.439 --> 01:13:46.680
<v Speaker 1>you know, as things have innovated, a lot of those

1253
01:13:46.720 --> 01:13:50.000
<v Speaker 1>things have changed, right, you know, the web has become

1254
01:13:50.000 --> 01:13:52.239
<v Speaker 1>more efficient, or at least in a lot of ways

1255
01:13:52.239 --> 01:13:56.039
<v Speaker 1>it has. It has, I think in some ways it has.

1256
01:13:56.079 --> 01:13:58.680
<v Speaker 1>I mean it's gotten faster and easier to use. I

1257
01:13:58.720 --> 01:14:02.199
<v Speaker 1>don't know if that's like you measure the temperature of

1258
01:14:02.239 --> 01:14:02.960
<v Speaker 1>your no.

1259
01:14:03.039 --> 01:14:05.960
<v Speaker 2>I mean, if you measure load the websites loading times,

1260
01:14:06.000 --> 01:14:07.800
<v Speaker 2>have they gotten faster? Really?

1261
01:14:10.840 --> 01:14:13.239
<v Speaker 4>Ten megabytes of JavaScript to get anything done?

1262
01:14:14.720 --> 01:14:18.479
<v Speaker 2>Yeah, they've only seemed to be getting faster since Google

1263
01:14:18.600 --> 01:14:22.279
<v Speaker 2>kind of, you know, put their whip over the developer's

1264
01:14:22.359 --> 01:14:25.840
<v Speaker 2>head and started measuring it and telling the developers that

1265
01:14:25.880 --> 01:14:29.279
<v Speaker 2>it's in a ranking factor and whatnot. Then it kind

1266
01:14:29.279 --> 01:14:31.760
<v Speaker 2>of started to improve. But at the end of the day,

1267
01:14:32.159 --> 01:14:35.560
<v Speaker 2>the C plus plus developers who are creating the browsers

1268
01:14:35.920 --> 01:14:39.399
<v Speaker 2>have done more for web performance than all the JavaScript

1269
01:14:39.399 --> 01:14:40.439
<v Speaker 2>developers put together.

1270
01:14:40.840 --> 01:14:44.159
<v Speaker 1>And that's my point is that, you know, it's it's

1271
01:14:44.199 --> 01:14:48.119
<v Speaker 1>the whole of the platform, not necessarily that we're writing

1272
01:14:48.159 --> 01:14:57.399
<v Speaker 1>better JavaScript or better HTML or whatever, right, that's my point.

1273
01:14:57.680 --> 01:14:59.800
<v Speaker 1>But the browsers faster, My machine's faster.

1274
01:15:01.439 --> 01:15:07.199
<v Speaker 3>I'm writing better HTML, I'm sure in brackets and and

1275
01:15:07.279 --> 01:15:10.800
<v Speaker 3>the cool thing is that HTML itself is actually getting better.

1276
01:15:10.920 --> 01:15:13.520
<v Speaker 2>You know, We've got we've got things like pop ups

1277
01:15:13.520 --> 01:15:16.840
<v Speaker 2>built in to the HTML that like, for years we

1278
01:15:16.880 --> 01:15:17.439
<v Speaker 2>didn't have it.

1279
01:15:18.359 --> 01:15:23.039
<v Speaker 1>Nobody knows about it though that's another discussion for another day.

1280
01:15:26.239 --> 01:15:27.119
<v Speaker 4>It makes me shiver?

1281
01:15:31.720 --> 01:15:33.760
<v Speaker 2>Are you developing for the web these days? Bob?

1282
01:15:35.840 --> 01:15:38.279
<v Speaker 4>I try to avoid it when I can.

1283
01:15:38.439 --> 01:15:41.319
<v Speaker 5>I've got a website that I maintain, and you know

1284
01:15:41.359 --> 01:15:44.680
<v Speaker 5>that's really simple rides TML. I wrote it all on closure.

1285
01:15:45.079 --> 01:15:47.800
<v Speaker 5>I've got a little, you know, little very simple framework

1286
01:15:47.840 --> 01:15:50.319
<v Speaker 5>that I use. So if you need to create a

1287
01:15:50.680 --> 01:15:52.560
<v Speaker 5>try to avoid web development if I can.

1288
01:15:53.239 --> 01:15:56.000
<v Speaker 2>So, if you need to create an interface for something,

1289
01:15:56.640 --> 01:15:57.079
<v Speaker 2>what do.

1290
01:15:57.000 --> 01:15:58.800
<v Speaker 4>You use an interface for?

1291
01:15:59.800 --> 01:16:05.319
<v Speaker 2>Like, if you're creating a user facing application, one that

1292
01:16:05.399 --> 01:16:09.760
<v Speaker 2>can't just be a CLI, what do you use.

1293
01:16:11.079 --> 01:16:12.880
<v Speaker 5>So one of the one of the tools that I've

1294
01:16:12.880 --> 01:16:17.119
<v Speaker 5>been using lately is a very simple library. It's a

1295
01:16:17.159 --> 01:16:21.000
<v Speaker 5>graphics library called Processing, and it runs in JavaScript.

1296
01:16:21.000 --> 01:16:21.800
<v Speaker 4>It wants in Java.

1297
01:16:21.920 --> 01:16:25.279
<v Speaker 5>There's a closure shim on top of it that I

1298
01:16:25.439 --> 01:16:29.840
<v Speaker 5>like to use, and it allows me to build applications,

1299
01:16:29.920 --> 01:16:32.760
<v Speaker 5>run them on my laptop without worrying about JavaScript, and

1300
01:16:32.760 --> 01:16:35.840
<v Speaker 5>then compile them into closure script and run them on

1301
01:16:36.000 --> 01:16:37.600
<v Speaker 5>the on the web.

1302
01:16:38.279 --> 01:16:39.840
<v Speaker 4>And that's fairly straightforward.

1303
01:16:39.880 --> 01:16:40.000
<v Speaker 2>Now.

1304
01:16:40.199 --> 01:16:42.720
<v Speaker 5>The problem with it is that it doesn't give me

1305
01:16:42.800 --> 01:16:47.800
<v Speaker 5>all the lovely forms and text capabilities. It's very similar

1306
01:16:47.920 --> 01:16:55.399
<v Speaker 5>to a graphics a graphics library without a lot of

1307
01:16:55.520 --> 01:16:59.479
<v Speaker 5>text editing, and so I don't typically do a lot

1308
01:16:59.520 --> 01:17:03.079
<v Speaker 5>of text. I can draw nice and pretty pictures, I

1309
01:17:03.119 --> 01:17:07.439
<v Speaker 5>can do interactive games that way. It's very easy, and

1310
01:17:07.520 --> 01:17:11.119
<v Speaker 5>I try to avoid all of the more traditional web

1311
01:17:11.159 --> 01:17:11.840
<v Speaker 5>based work.

1312
01:17:13.000 --> 01:17:15.479
<v Speaker 4>Nowadays, I don't really have have to do much of that.

1313
01:17:18.640 --> 01:17:18.920
<v Speaker 2>Cool.

1314
01:17:19.600 --> 01:17:27.399
<v Speaker 1>Yeah, well, there's a bit of mold here. Is there

1315
01:17:27.479 --> 01:17:32.600
<v Speaker 1>anything else we want to talk about.

1316
01:17:34.439 --> 01:17:39.279
<v Speaker 2>I could just talk with Bob forever, but you know, well.

1317
01:17:39.159 --> 01:17:41.399
<v Speaker 1>I really want to do the history of programming thing,

1318
01:17:41.560 --> 01:17:44.119
<v Speaker 1>and I want to read the book, so we'll have

1319
01:17:44.199 --> 01:17:46.960
<v Speaker 1>to have you back. Okay, maybe I have a holiday in.

1320
01:17:48.479 --> 01:17:52.840
<v Speaker 2>You know you you said when talking mentioning that book

1321
01:17:52.880 --> 01:17:54.840
<v Speaker 2>I think you have on the cover it says something

1322
01:17:54.920 --> 01:18:01.359
<v Speaker 2>like from add to what was do AIU? And you

1323
01:18:01.520 --> 01:18:06.760
<v Speaker 2>joked that Amazon, because you're it's a programming book, assumed

1324
01:18:06.760 --> 01:18:09.479
<v Speaker 2>that you were talking about added the programming language. The

1325
01:18:09.560 --> 01:18:12.720
<v Speaker 2>funny thing is, when I saw the title, I initially

1326
01:18:12.760 --> 01:18:15.159
<v Speaker 2>assumed you were talking about the programming language as well,

1327
01:18:15.239 --> 01:18:18.319
<v Speaker 2>and I was thinking, hey, the added programming language is

1328
01:18:18.359 --> 01:18:22.119
<v Speaker 2>not that old, you know. So yeah, it took me

1329
01:18:22.159 --> 01:18:24.199
<v Speaker 2>a minute to realize that you were actually talking about

1330
01:18:24.199 --> 01:18:24.960
<v Speaker 2>Ada Lovelace.

1331
01:18:25.560 --> 01:18:31.000
<v Speaker 1>Yes, yeah, good deal. You want to give us a

1332
01:18:31.079 --> 01:18:32.840
<v Speaker 1>quick pitch on the book, Just let people know what

1333
01:18:32.840 --> 01:18:34.359
<v Speaker 1>they're getting if they go by it.

1334
01:18:34.359 --> 01:18:41.680
<v Speaker 5>It is a history of programmers from Babbage all the

1335
01:18:41.720 --> 01:18:44.960
<v Speaker 5>way up to Dennis Ritchie and Ken Thompson.

1336
01:18:46.279 --> 01:18:47.560
<v Speaker 4>That's the first part of the book.

1337
01:18:48.279 --> 01:18:52.439
<v Speaker 5>And I picked a few very interesting characters, so there's

1338
01:18:52.520 --> 01:18:53.600
<v Speaker 5>there's everybody.

1339
01:18:53.600 --> 01:18:54.159
<v Speaker 4>You gotta do.

1340
01:18:54.239 --> 01:18:59.880
<v Speaker 5>Babbage, and I did the guys who did Simula, you know,

1341
01:19:00.119 --> 01:19:01.279
<v Speaker 5>Christian Nigard and.

1342
01:19:03.119 --> 01:19:05.960
<v Speaker 4>Toole Johan Dal and I did Distra because you've got

1343
01:19:05.960 --> 01:19:10.079
<v Speaker 4>to do Dykstra and several letters along the way. But

1344
01:19:10.239 --> 01:19:12.800
<v Speaker 4>the focus is technical.

1345
01:19:13.239 --> 01:19:15.840
<v Speaker 5>This is a book for programmers, right, So I talk

1346
01:19:15.920 --> 01:19:18.760
<v Speaker 5>about the machines at the bit level. I talk about

1347
01:19:18.800 --> 01:19:21.319
<v Speaker 5>the way they wrote their code. I give examples of

1348
01:19:21.359 --> 01:19:24.239
<v Speaker 5>the code. You know, there's pictures of the machines and

1349
01:19:24.359 --> 01:19:26.960
<v Speaker 5>why the machines were built the way they were built,

1350
01:19:27.279 --> 01:19:31.119
<v Speaker 5>talk about the memory technologies and the computation technologies.

1351
01:19:31.479 --> 01:19:33.359
<v Speaker 4>So it's not a layman's book.

1352
01:19:33.600 --> 01:19:38.079
<v Speaker 5>This is a technical description so that programmers today can

1353
01:19:38.159 --> 01:19:43.039
<v Speaker 5>identify with what these guys were doing because it was

1354
01:19:43.199 --> 01:19:46.840
<v Speaker 5>pretty cool. And so that's the first part of the book,

1355
01:19:47.039 --> 01:19:49.720
<v Speaker 5>just just that. Then the second part of the book

1356
01:19:50.319 --> 01:19:53.920
<v Speaker 5>is it's where I step into the book at that point,

1357
01:19:54.000 --> 01:19:59.279
<v Speaker 5>and it is essentially my history. It's almost autobiographical, except

1358
01:19:59.279 --> 01:20:02.159
<v Speaker 5>that I focus on on the technologies, or almost only

1359
01:20:02.239 --> 01:20:06.319
<v Speaker 5>on the technologies that I saw from starting in the

1360
01:20:06.399 --> 01:20:10.199
<v Speaker 5>late seventies going on into you know, twenty ten or so.

1361
01:20:10.720 --> 01:20:12.399
<v Speaker 5>And then the last part of the book is just

1362
01:20:12.479 --> 01:20:15.199
<v Speaker 5>fantasy that's me saying, well, gee, what's going to happen

1363
01:20:15.239 --> 01:20:17.479
<v Speaker 5>in the next twenty years, Which is why I could

1364
01:20:17.520 --> 01:20:18.640
<v Speaker 5>put Ai in the title.

1365
01:20:22.560 --> 01:20:24.000
<v Speaker 2>I don't know if you put him in the book,

1366
01:20:24.119 --> 01:20:29.439
<v Speaker 2>but an amazing character in the early days of computation

1367
01:20:29.840 --> 01:20:30.640
<v Speaker 2>was a funnyman.

1368
01:20:31.439 --> 01:20:32.840
<v Speaker 4>Van Neuman has his own chapter.

1369
01:20:33.520 --> 01:20:35.079
<v Speaker 2>Okay, well yeah.

1370
01:20:34.840 --> 01:20:42.359
<v Speaker 5>Vanman, Uh, Touring, Van Noyman, and David I can't remember

1371
01:20:42.399 --> 01:20:46.760
<v Speaker 5>the mathematician's name, the one that came up with Hilbert,

1372
01:20:47.039 --> 01:20:47.880
<v Speaker 5>David Hilbert.

1373
01:20:47.640 --> 01:20:49.640
<v Speaker 2>Oh, David Hilbert, Hilbert Hilbert Space.

1374
01:20:49.920 --> 01:20:52.000
<v Speaker 5>The three of them share a chapter with each other,

1375
01:20:52.399 --> 01:20:54.279
<v Speaker 5>Gilbert Touring and Van Noyman.

1376
01:20:56.640 --> 01:20:58.079
<v Speaker 4>Oh, I have to have this meaning.

1377
01:20:57.920 --> 01:20:59.279
<v Speaker 2>Now, yeah, me too.

1378
01:20:59.399 --> 01:21:02.720
<v Speaker 5>And all of it from those earliest days was driven

1379
01:21:02.760 --> 01:21:03.159
<v Speaker 5>by war.

1380
01:21:03.600 --> 01:21:05.600
<v Speaker 4>We have computers today because of war.

1381
01:21:06.800 --> 01:21:09.760
<v Speaker 2>Well, most of human innovation is because of war. We

1382
01:21:09.800 --> 01:21:11.840
<v Speaker 2>don't like to think about it. We all want peace.

1383
01:21:11.880 --> 01:21:13.600
<v Speaker 2>But at the end of the day, and we have

1384
01:21:13.680 --> 01:21:18.760
<v Speaker 2>penicillain thanks to war. You know, most of human innovation

1385
01:21:18.920 --> 01:21:21.720
<v Speaker 2>is because of war.

1386
01:21:22.199 --> 01:21:24.640
<v Speaker 1>Well, let's face it. I mean wars are won by technology.

1387
01:21:24.720 --> 01:21:28.680
<v Speaker 1>I mean even back to you know, I can ride

1388
01:21:28.760 --> 01:21:31.039
<v Speaker 1>up on a horse and do worse things to you

1389
01:21:31.079 --> 01:21:34.000
<v Speaker 1>than you can do to me. Technology one Wars, so

1390
01:21:35.520 --> 01:21:36.800
<v Speaker 1>you know, germs and steel.

1391
01:21:37.079 --> 01:21:40.399
<v Speaker 2>Yeah, yeah, even though that book has fallen kind of

1392
01:21:40.439 --> 01:21:41.760
<v Speaker 2>fallen out of favor.

1393
01:21:41.520 --> 01:21:45.840
<v Speaker 5>By the way, But Jared Diamond's book, Yeap Guns, it's great.

1394
01:21:45.960 --> 01:21:50.279
<v Speaker 2>Yeah, it's a great book, but people don't prescribe to

1395
01:21:50.319 --> 01:21:52.760
<v Speaker 2>those theories as much as they did. It turns out

1396
01:21:52.800 --> 01:21:57.319
<v Speaker 2>that some evidence contradicting evidence was was. Since it's a

1397
01:21:57.359 --> 01:22:00.399
<v Speaker 2>pretty old book, let's put it in. So it's its

1398
01:22:00.439 --> 01:22:04.720
<v Speaker 2>age in terms of research. Ye, not my area of expertise,

1399
01:22:04.800 --> 01:22:05.680
<v Speaker 2>but I've read.

1400
01:22:06.600 --> 01:22:11.039
<v Speaker 1>Yeah, well, you know, in putting up a risk, I

1401
01:22:11.039 --> 01:22:13.239
<v Speaker 1>guess of throwing something out that I would normally put

1402
01:22:13.239 --> 01:22:14.960
<v Speaker 1>into a pick. But if you go listen to hardcore

1403
01:22:15.039 --> 01:22:18.319
<v Speaker 1>history by Dan Carlin, I mean a lot of it

1404
01:22:18.359 --> 01:22:21.720
<v Speaker 1>where he breaks down different wars and war periods. I

1405
01:22:21.720 --> 01:22:26.319
<v Speaker 1>mean he basically explains this technology helped these guys win

1406
01:22:26.359 --> 01:22:29.079
<v Speaker 1>the war, right, and it was you know, sometimes it

1407
01:22:29.119 --> 01:22:33.079
<v Speaker 1>was just a marginal difference, but it was enough that

1408
01:22:33.319 --> 01:22:37.640
<v Speaker 1>it really tipped the scales. So anyway, I'm going to

1409
01:22:37.880 --> 01:22:41.359
<v Speaker 1>roll us right into the picks and then we'll wrap

1410
01:22:41.479 --> 01:22:44.279
<v Speaker 1>up a j Do you want to start us with picks?

1411
01:22:44.520 --> 01:22:48.119
<v Speaker 3>All right. So I mentioned earlier there's a series from

1412
01:22:48.319 --> 01:22:52.520
<v Speaker 3>y Combinator from twenty fourteen called How to Start a Startup,

1413
01:22:53.159 --> 01:22:57.000
<v Speaker 3>And I just think that anybody who works in development

1414
01:22:57.079 --> 01:23:01.159
<v Speaker 3>and sees it as a craft should watched the whole series.

1415
01:23:02.039 --> 01:23:06.119
<v Speaker 3>I think it's really valuable to understand business perspective, and

1416
01:23:06.239 --> 01:23:08.760
<v Speaker 3>especially anybody that's a product manager. If you have not

1417
01:23:08.840 --> 01:23:12.479
<v Speaker 3>watched this series, you're one of the reasons that Chuck

1418
01:23:12.479 --> 01:23:20.000
<v Speaker 3>and I cry at night. Yeah, it's and I'm not

1419
01:23:20.600 --> 01:23:23.319
<v Speaker 3>I don't necessarily think that Why Combinator is the greatest,

1420
01:23:23.359 --> 01:23:27.520
<v Speaker 3>but when they put this series together, they they pulled

1421
01:23:27.560 --> 01:23:32.359
<v Speaker 3>from a seemingly diverse group of people in terms of

1422
01:23:33.479 --> 01:23:39.439
<v Speaker 3>their you know, businesses and whatnot. But the principles you

1423
01:23:39.520 --> 01:23:44.520
<v Speaker 3>can find them referenced in many other books. There's lots

1424
01:23:44.560 --> 01:23:47.880
<v Speaker 3>of little I don't know, catchphrases, sort of things like

1425
01:23:47.960 --> 01:23:51.960
<v Speaker 3>little one line ringers that are really really good sprinkled

1426
01:23:51.960 --> 01:23:55.159
<v Speaker 3>throughout the series. And I think that it is a

1427
01:23:55.319 --> 01:24:02.960
<v Speaker 3>rare instance of really good, really valuable material that I

1428
01:24:02.960 --> 01:24:07.479
<v Speaker 3>guess was intended to generate some hype around Why Combinator

1429
01:24:07.560 --> 01:24:11.359
<v Speaker 3>or something, but ended up being not hype material. It's

1430
01:24:11.479 --> 01:24:15.680
<v Speaker 3>it's actually really valuable material. So I'm gonna put a

1431
01:24:15.760 --> 01:24:19.520
<v Speaker 3>link to that. Yeah, and I just think every everybody

1432
01:24:19.560 --> 01:24:26.359
<v Speaker 3>ought to avail themselves to to know. There's very few

1433
01:24:26.439 --> 01:24:29.239
<v Speaker 3>things in there that I disagree with. I think that

1434
01:24:29.319 --> 01:24:33.279
<v Speaker 3>it's it's really really high value stuff.

1435
01:24:34.279 --> 01:24:35.039
<v Speaker 1>The other is.

1436
01:24:36.520 --> 01:24:40.760
<v Speaker 3>We got the Dune to film collection. Of course, my

1437
01:24:40.840 --> 01:24:44.560
<v Speaker 3>wife did not like the ending of Dune two, but

1438
01:24:44.720 --> 01:24:47.640
<v Speaker 3>she did like Dune too, and she's now she's trying

1439
01:24:47.640 --> 01:24:50.079
<v Speaker 3>to get one of her girlfriends to watch it, and

1440
01:24:50.239 --> 01:24:55.199
<v Speaker 3>you know that's going over her, Like I forget what

1441
01:24:55.239 --> 01:24:57.359
<v Speaker 3>the idiom is for when something's not going overwhelm.

1442
01:24:57.399 --> 01:25:01.960
<v Speaker 2>But my wife will not sci fi fan or fantasy

1443
01:25:02.840 --> 01:25:04.159
<v Speaker 2>TV shows or movies.

1444
01:25:04.680 --> 01:25:09.399
<v Speaker 3>Well generally mine won't either. Dude. I was just like,

1445
01:25:09.920 --> 01:25:12.079
<v Speaker 3>you know, honey, you're probably not gonna like it, but

1446
01:25:12.079 --> 01:25:12.880
<v Speaker 3>will you watch.

1447
01:25:12.760 --> 01:25:13.279
<v Speaker 1>This with me?

1448
01:25:14.119 --> 01:25:18.600
<v Speaker 3>And she's like, oh okay, and then she's riveted by it.

1449
01:25:19.119 --> 01:25:22.359
<v Speaker 2>Uh Yeah. The closest to my wife has come, I

1450
01:25:22.359 --> 01:25:24.680
<v Speaker 2>think was the movie Gravity.

1451
01:25:24.880 --> 01:25:28.199
<v Speaker 3>Oh okay, Yeah, that was a very emotional. That was

1452
01:25:28.279 --> 01:25:30.159
<v Speaker 3>that that kind of had a chick flick feel to it,

1453
01:25:35.680 --> 01:25:36.520
<v Speaker 3>you know what I'm thinking of?

1454
01:25:38.359 --> 01:25:40.920
<v Speaker 2>No, well, chick flip, I don't think so.

1455
01:25:41.239 --> 01:25:43.760
<v Speaker 3>Oh no, I'm thinking of Interstellar. I'm thinking of Interstellar

1456
01:25:45.479 --> 01:25:48.239
<v Speaker 3>because that that one's all about the relationships and everything,

1457
01:25:48.319 --> 01:25:50.479
<v Speaker 3>and the it's kind of like a rival like.

1458
01:25:50.359 --> 01:25:54.479
<v Speaker 2>A Gravity does have a strong female lead character, but

1459
01:25:54.960 --> 01:26:01.279
<v Speaker 2>she's interesting, let's put it this way, so she's she's

1460
01:26:01.279 --> 01:26:03.800
<v Speaker 2>not well, she's not a merry suit or whatever the

1461
01:26:04.560 --> 01:26:14.640
<v Speaker 2>colloquial term for uninteresting, strong meat female characters is. It's then.

1462
01:26:14.720 --> 01:26:14.920
<v Speaker 5>Yeah.

1463
01:26:15.640 --> 01:26:21.039
<v Speaker 3>The last thing I'll pick is I got a new hat,

1464
01:26:21.279 --> 01:26:23.399
<v Speaker 3>and my wife says, I look really good in a hat.

1465
01:26:23.680 --> 01:26:24.439
<v Speaker 1>It's beautiful.

1466
01:26:24.920 --> 01:26:30.640
<v Speaker 3>I love it, and I was actually inspired by Elon

1467
01:26:31.199 --> 01:26:33.560
<v Speaker 3>I saw him wearing it and I thought, you know,

1468
01:26:34.399 --> 01:26:37.039
<v Speaker 3>I'll get one actually. But the thing is, I'm just

1469
01:26:37.119 --> 01:26:39.880
<v Speaker 3>really glad we're back in a timeline where people can

1470
01:26:39.920 --> 01:26:45.079
<v Speaker 3>be honest again and some of that you know, bsing

1471
01:26:45.600 --> 01:26:48.560
<v Speaker 3>pretending to believe something that you don't believe to appease

1472
01:26:48.600 --> 01:26:51.359
<v Speaker 3>somebody else. Like, I'm glad we get to relax a

1473
01:26:51.399 --> 01:26:54.399
<v Speaker 3>little bit from that. And it's been really it's been

1474
01:26:54.439 --> 01:26:57.399
<v Speaker 3>really great to just be able to wear my new

1475
01:26:57.439 --> 01:27:01.800
<v Speaker 3>hat around and you know, get some compliments and then

1476
01:27:01.800 --> 01:27:04.680
<v Speaker 3>you know, get some dirty looks too occasionally, but you know,

1477
01:27:04.680 --> 01:27:07.000
<v Speaker 3>it's just it's just nice to be like, I'm safe,

1478
01:27:07.039 --> 01:27:10.159
<v Speaker 3>Like America is a safer place again. You are safer

1479
01:27:10.199 --> 01:27:14.680
<v Speaker 3>to believe what you believe, and just like freedom of speech.

1480
01:27:14.880 --> 01:27:18.560
<v Speaker 3>You know, I'm just I'm I feel so much better

1481
01:27:18.600 --> 01:27:20.920
<v Speaker 3>now a lot of it.

1482
01:27:20.079 --> 01:27:24.039
<v Speaker 2>It's interesting from somebody looking from the outside on the

1483
01:27:24.079 --> 01:27:27.479
<v Speaker 2>whole thing, as in ISRAELI, it's interesting to see a

1484
01:27:27.520 --> 01:27:32.560
<v Speaker 2>lot of similarities because there's a very very significant political

1485
01:27:32.600 --> 01:27:36.079
<v Speaker 2>divide in Israel right now. So there are a lot

1486
01:27:36.079 --> 01:27:39.720
<v Speaker 2>of similarities, but there are also a lot of differences,

1487
01:27:40.520 --> 01:27:43.479
<v Speaker 2>Like a lot of the issues that are you know,

1488
01:27:43.680 --> 01:27:49.479
<v Speaker 2>really almost tearing America society apart, are literally non issues

1489
01:27:49.520 --> 01:27:52.560
<v Speaker 2>in Israel. I think we discussed this in the past. Check.

1490
01:27:52.920 --> 01:27:55.439
<v Speaker 1>Yeah, we've we've talked about it. I don't think we've

1491
01:27:55.439 --> 01:27:58.279
<v Speaker 1>done as much of it on the show, and fair enough,

1492
01:27:58.279 --> 01:28:00.600
<v Speaker 1>that's not what the show's about. But yeah, yeah, it's

1493
01:28:00.920 --> 01:28:04.720
<v Speaker 1>always interesting to kind of see. It's also interesting to

1494
01:28:04.760 --> 01:28:07.680
<v Speaker 1>see what filters through, right you know, what you're hearing

1495
01:28:07.720 --> 01:28:10.680
<v Speaker 1>about us in Israel and what we're hearing about you here,

1496
01:28:11.119 --> 01:28:12.960
<v Speaker 1>And then as we talk about it, I find out

1497
01:28:13.000 --> 01:28:17.479
<v Speaker 1>that you know, you're you're seeing things completely differently about

1498
01:28:17.479 --> 01:28:22.359
<v Speaker 1>your situation there and about our situation there, and so anyway, Yeah,

1499
01:28:21.239 --> 01:28:24.199
<v Speaker 1>I love having the conversations with people.

1500
01:28:24.439 --> 01:28:28.600
<v Speaker 2>Also, definitions like you know, what's right what's left are

1501
01:28:28.720 --> 01:28:30.880
<v Speaker 2>very different between different kinds.

1502
01:28:30.960 --> 01:28:34.560
<v Speaker 1>Yes, yeah, absolutely. And if there's anything that I can

1503
01:28:34.720 --> 01:28:37.399
<v Speaker 1>just throw out there in relation to what ajs saying

1504
01:28:37.520 --> 01:28:40.199
<v Speaker 1>is I love talking to people about this stuff, right,

1505
01:28:40.199 --> 01:28:42.359
<v Speaker 1>whether you agree with me or not. By the way,

1506
01:28:42.399 --> 01:28:44.279
<v Speaker 1>I have a hat that looks a lot like AJ's,

1507
01:28:44.279 --> 01:28:46.920
<v Speaker 1>except it's red. And I got it way back in

1508
01:28:46.960 --> 01:28:49.000
<v Speaker 1>the day. I actually took a picture of myself in

1509
01:28:49.039 --> 01:28:50.600
<v Speaker 1>it on Twitter and that got me into trouble.

1510
01:28:50.680 --> 01:28:54.119
<v Speaker 2>But anyway, and now we're going to get into trouble

1511
01:28:54.159 --> 01:28:55.079
<v Speaker 2>because we're on Twitter.

1512
01:28:55.720 --> 01:28:57.279
<v Speaker 1>Yeah Twitter.

1513
01:28:57.640 --> 01:29:01.760
<v Speaker 2>Twitter is different. Yeah, but see that's all the all

1514
01:29:01.760 --> 01:29:04.560
<v Speaker 2>the people, all the people that you guys are upsetting

1515
01:29:04.640 --> 01:29:07.039
<v Speaker 2>right now, are on uh blue sky.

1516
01:29:06.880 --> 01:29:09.600
<v Speaker 1>On blue sky anyway. Yeah, yeah, I guess my pointing

1517
01:29:09.720 --> 01:29:10.319
<v Speaker 1>is though.

1518
01:29:10.399 --> 01:29:12.960
<v Speaker 3>Guy, But I don't I don't really want to upset

1519
01:29:12.960 --> 01:29:16.079
<v Speaker 3>anybody like I just like it's just you know, it's

1520
01:29:16.119 --> 01:29:19.119
<v Speaker 3>been several years of a certain group of people can

1521
01:29:19.199 --> 01:29:21.520
<v Speaker 3>say whatever they want, and wear whatever they want and

1522
01:29:21.560 --> 01:29:24.079
<v Speaker 3>fly whatever they you know, like and and you know,

1523
01:29:24.199 --> 01:29:25.960
<v Speaker 3>and if you say, hey, you know, I'm not really

1524
01:29:26.279 --> 01:29:29.079
<v Speaker 3>I'm not really as comfortable with that, then you know

1525
01:29:29.079 --> 01:29:31.600
<v Speaker 3>you're an infidel. And it's nice to be back in

1526
01:29:31.640 --> 01:29:35.079
<v Speaker 3>a in a society where it's more two sided, where

1527
01:29:35.119 --> 01:29:38.199
<v Speaker 3>we can both say, hey, you know, I don't agree

1528
01:29:38.239 --> 01:29:41.159
<v Speaker 3>with that, but that's okay, you do you, and somebody

1529
01:29:41.159 --> 01:29:42.640
<v Speaker 3>else is gonna say I don't agree with that, but

1530
01:29:42.680 --> 01:29:45.279
<v Speaker 3>it's okay, you do you. You know, That's where I

1531
01:29:45.279 --> 01:29:45.640
<v Speaker 3>want to be.

1532
01:29:46.159 --> 01:29:48.439
<v Speaker 2>And here's one of the key difference is that when

1533
01:29:48.439 --> 01:29:51.239
<v Speaker 2>you say infidel in this part of the world has

1534
01:29:51.279 --> 01:29:53.159
<v Speaker 2>a lot of connotation going on with it.

1535
01:29:53.680 --> 01:29:56.920
<v Speaker 1>Sure, yeah, absolutely. I think the other thing, though, if

1536
01:29:56.960 --> 01:30:01.039
<v Speaker 1>if we're going to discuss this here is I hear

1537
01:30:01.079 --> 01:30:04.319
<v Speaker 1>people basically say, well, you voted for Trump or you

1538
01:30:04.439 --> 01:30:06.960
<v Speaker 1>voted for Harris because of X or why. And the

1539
01:30:07.000 --> 01:30:09.520
<v Speaker 1>reason reality is is I talk to people, and there

1540
01:30:09.560 --> 01:30:10.880
<v Speaker 1>are a whole bunch of people I talk to that

1541
01:30:10.920 --> 01:30:13.760
<v Speaker 1>have the one or two issues they care about, and

1542
01:30:13.800 --> 01:30:16.239
<v Speaker 1>so they voted based on those, and so all of

1543
01:30:16.279 --> 01:30:18.119
<v Speaker 1>the other things you get thrown at people who voted

1544
01:30:18.159 --> 01:30:20.840
<v Speaker 1>that way just are not applicable, and it doesn't make

1545
01:30:20.840 --> 01:30:23.520
<v Speaker 1>a lot of sense to lump people into that basket

1546
01:30:23.640 --> 01:30:26.239
<v Speaker 1>of thinking one way or the other, and then in

1547
01:30:26.279 --> 01:30:28.520
<v Speaker 1>other cases, yeah, there is a bunch of group think

1548
01:30:28.720 --> 01:30:32.159
<v Speaker 1>around certain ideas that drive another group of people. And

1549
01:30:32.199 --> 01:30:35.159
<v Speaker 1>so for me, the fascinating thing is talking to people

1550
01:30:35.199 --> 01:30:38.600
<v Speaker 1>and really understanding why, you know, why do you care

1551
01:30:38.640 --> 01:30:41.439
<v Speaker 1>about this, why are you involved with it, and what

1552
01:30:41.439 --> 01:30:44.279
<v Speaker 1>what's driving your worldview so that you're doing what you're

1553
01:30:44.279 --> 01:30:47.680
<v Speaker 1>doing people to where you get to real people.

1554
01:30:48.840 --> 01:30:52.760
<v Speaker 2>People choose political parties like they choose frameworks somebody.

1555
01:30:55.560 --> 01:30:57.720
<v Speaker 1>A lot of times, You're right, I thought you were.

1556
01:30:57.960 --> 01:31:00.840
<v Speaker 3>Any investigation or understanding what are not in aligns with

1557
01:31:00.880 --> 01:31:01.439
<v Speaker 3>their values?

1558
01:31:02.039 --> 01:31:03.000
<v Speaker 1>Yeah?

1559
01:31:03.079 --> 01:31:07.600
<v Speaker 2>Yeah, mostly mostly mostly they're either going according to what

1560
01:31:07.680 --> 01:31:11.159
<v Speaker 2>their dad voted or intentionally the opposite of what their

1561
01:31:11.239 --> 01:31:11.840
<v Speaker 2>dad voted.

1562
01:31:13.239 --> 01:31:15.840
<v Speaker 1>Truth to that. All right, Dan, what are your picks?

1563
01:31:17.279 --> 01:31:20.279
<v Speaker 2>So I've really got two picks, first of all, both

1564
01:31:20.359 --> 01:31:24.720
<v Speaker 2>of them non political. The first NBA started season has started,

1565
01:31:24.800 --> 01:31:27.880
<v Speaker 2>and I'm really happy about that. It's kind of challenging

1566
01:31:27.880 --> 01:31:30.479
<v Speaker 2>in Israel because the games are really late at nights,

1567
01:31:30.520 --> 01:31:33.279
<v Speaker 2>so usually we don't get up for them. Instead we

1568
01:31:33.399 --> 01:31:35.680
<v Speaker 2>record them and then try not to find out the

1569
01:31:35.720 --> 01:31:38.920
<v Speaker 2>results and watch them during the day. The benefit being

1570
01:31:39.000 --> 01:31:43.600
<v Speaker 2>that we can speed through the timeouts and stuff like that.

1571
01:31:43.680 --> 01:31:46.079
<v Speaker 2>But I'm enjoying myself a lot thanks to the NBA,

1572
01:31:46.680 --> 01:31:49.600
<v Speaker 2>So that would be my first pick. And my second

1573
01:31:49.640 --> 01:31:53.439
<v Speaker 2>pick is a TV show on actually I'm not sure

1574
01:31:53.479 --> 01:31:56.720
<v Speaker 2>where it's airing. It's a British television series. Wherever you

1575
01:31:56.720 --> 01:32:00.199
<v Speaker 2>can get it, you I recommend watching it. It's called well,

1576
01:32:00.439 --> 01:32:05.079
<v Speaker 2>The Day of the Jackal. It's based on the book

1577
01:32:05.560 --> 01:32:08.119
<v Speaker 2>Day of the Jackal and the film Day of the Jackal.

1578
01:32:08.239 --> 01:32:10.560
<v Speaker 2>So maybe I should kind of go back and say

1579
01:32:10.560 --> 01:32:13.159
<v Speaker 2>that if you've not watched the movie Day of the

1580
01:32:13.239 --> 01:32:18.199
<v Speaker 2>Jackal from back in the seventies, you should. It's an amazing,

1581
01:32:18.520 --> 01:32:23.520
<v Speaker 2>excellent movie. But the TV show, the Modern TV Show,

1582
01:32:23.640 --> 01:32:26.760
<v Speaker 2>is pretty good as well, and it's so I recommend

1583
01:32:26.800 --> 01:32:32.119
<v Speaker 2>watching that too. Being that it's a TV series rather

1584
01:32:32.279 --> 01:32:35.079
<v Speaker 2>than a movie, they can kind of take their time

1585
01:32:35.119 --> 01:32:38.720
<v Speaker 2>with it, which is, you know, both an advantage and

1586
01:32:38.760 --> 01:32:43.279
<v Speaker 2>a disadvantage, I guess. But we enjoyed it so and

1587
01:32:43.319 --> 01:32:45.640
<v Speaker 2>it's not science fiction, so my wife will watch it,

1588
01:32:48.840 --> 01:32:51.159
<v Speaker 2>and those would be my picks.

1589
01:32:51.479 --> 01:32:53.760
<v Speaker 1>All right, I'm gonna jump in here with mine. Then

1590
01:32:54.279 --> 01:32:57.640
<v Speaker 1>I'm gonna do a board game pick as I usually

1591
01:32:57.680 --> 01:33:04.479
<v Speaker 1>do this one is called BLEM. It's l M L

1592
01:33:04.520 --> 01:33:07.399
<v Speaker 1>E M. And usually when board games have funny names

1593
01:33:07.439 --> 01:33:08.920
<v Speaker 1>like that, a lot of times there are acronyms. This

1594
01:33:08.960 --> 01:33:10.840
<v Speaker 1>one's not an acronym. I don't know why they called

1595
01:33:10.840 --> 01:33:13.359
<v Speaker 1>it BLEM, and I don't know where they came up

1596
01:33:13.399 --> 01:33:19.279
<v Speaker 1>with it, but it's uh. Cats in Space is kind

1597
01:33:19.319 --> 01:33:21.640
<v Speaker 1>of the theme. And so what you You have a

1598
01:33:21.720 --> 01:33:24.319
<v Speaker 1>rocket and you roll dice to move the rocket up

1599
01:33:24.359 --> 01:33:27.239
<v Speaker 1>the board. So you each put one of your cats

1600
01:33:27.359 --> 01:33:30.119
<v Speaker 1>on the rocket, and all the cats do different things.

1601
01:33:30.159 --> 01:33:32.479
<v Speaker 1>Most of them are bonuses if if you're you have

1602
01:33:32.560 --> 01:33:36.119
<v Speaker 1>the most cats on a planet, or it doubles your

1603
01:33:36.159 --> 01:33:38.279
<v Speaker 1>score on the planet, or your doubles your score on

1604
01:33:38.319 --> 01:33:41.239
<v Speaker 1>the moon, or doubles your score if you get all

1605
01:33:41.279 --> 01:33:44.079
<v Speaker 1>the way to deep space. But some of them do

1606
01:33:44.159 --> 01:33:46.720
<v Speaker 1>other things to help the dice and stuff like that.

1607
01:33:48.359 --> 01:33:50.800
<v Speaker 1>So you put your cats on the rocket, you roll

1608
01:33:50.840 --> 01:33:54.560
<v Speaker 1>the dice, and then if you have dice that match

1609
01:33:54.680 --> 01:33:58.600
<v Speaker 1>up with whatever the space you're on says will allow

1610
01:33:58.640 --> 01:34:02.399
<v Speaker 1>you to advance, then you can advance based on the rules.

1611
01:34:03.399 --> 01:34:05.880
<v Speaker 1>If you use numbers to advance, you pull all of

1612
01:34:05.920 --> 01:34:07.680
<v Speaker 1>the dice of that number out and you move up

1613
01:34:07.680 --> 01:34:10.720
<v Speaker 1>the number of pip showing if you use boosters, then

1614
01:34:10.760 --> 01:34:12.720
<v Speaker 1>you put the boosters back in and you keep rolling.

1615
01:34:13.119 --> 01:34:16.439
<v Speaker 1>So typically people start bailing out when you start running

1616
01:34:16.439 --> 01:34:18.159
<v Speaker 1>out of dice because you only roll like five or

1617
01:34:18.159 --> 01:34:20.640
<v Speaker 1>six dice to start with, and so if you've pulled

1618
01:34:21.039 --> 01:34:23.760
<v Speaker 1>four dice out and you have to get two's and

1619
01:34:23.840 --> 01:34:26.000
<v Speaker 1>nothing else, then you're looking at it and going the

1620
01:34:26.000 --> 01:34:28.880
<v Speaker 1>odds of them rolling a two are lower than I'm

1621
01:34:28.920 --> 01:34:31.439
<v Speaker 1>comfortable with. And so you get your cat off the

1622
01:34:31.479 --> 01:34:33.520
<v Speaker 1>ship and they go and do their away mission on

1623
01:34:33.560 --> 01:34:37.239
<v Speaker 1>the planet. And at the end of the game, you

1624
01:34:37.439 --> 01:34:40.319
<v Speaker 1>tally up all your points based on where your cat's landed,

1625
01:34:41.720 --> 01:34:43.720
<v Speaker 1>and if not all your cats landed, then you don't

1626
01:34:43.720 --> 01:34:47.600
<v Speaker 1>score all your cats. But you know, that's how you

1627
01:34:47.640 --> 01:34:49.520
<v Speaker 1>win it. It took us about forty five minutes to

1628
01:34:49.520 --> 01:34:53.319
<v Speaker 1>play with four people, and that was the game where

1629
01:34:53.359 --> 01:34:55.920
<v Speaker 1>we actually learned how to play it. So it's a

1630
01:34:56.000 --> 01:34:59.039
<v Speaker 1>fairly quick game. It's something that I think my kids,

1631
01:35:00.119 --> 01:35:02.600
<v Speaker 1>like my nine year old, could, you know, pick up

1632
01:35:02.640 --> 01:35:05.119
<v Speaker 1>and play, and to be perfectly honest, she's nuts about

1633
01:35:05.159 --> 01:35:10.600
<v Speaker 1>cats and so she would very much love this game. Anyway.

1634
01:35:13.079 --> 01:35:17.239
<v Speaker 1>I think there are some expansions or alternate rules to it,

1635
01:35:18.560 --> 01:35:22.800
<v Speaker 1>but yeah, so yeah, we liked it with four players.

1636
01:35:23.800 --> 01:35:26.680
<v Speaker 1>Board game Geek has a weight of one point sixty nine, so,

1637
01:35:26.800 --> 01:35:30.079
<v Speaker 1>like I said, it's a very friendly game for people

1638
01:35:30.079 --> 01:35:33.720
<v Speaker 1>who kind of like a simple but fun game. And

1639
01:35:34.039 --> 01:35:37.600
<v Speaker 1>it has a community rating of eight plus. So, like

1640
01:35:37.640 --> 01:35:39.840
<v Speaker 1>I said, you know your your younger kids could play it.

1641
01:35:41.600 --> 01:35:43.800
<v Speaker 1>If you have kids younger than that, they could probably

1642
01:35:43.800 --> 01:35:46.039
<v Speaker 1>play it. Just might have to help them and they're

1643
01:35:46.079 --> 01:35:48.239
<v Speaker 1>not going to understand all the strategy, but it's simple

1644
01:35:48.359 --> 01:35:49.760
<v Speaker 1>enough to write. Yeah, like I said, I think my

1645
01:35:49.720 --> 01:35:52.960
<v Speaker 1>eight year old could play it and reasonably be able

1646
01:35:52.960 --> 01:35:55.479
<v Speaker 1>to figure out whether or not she wants to use

1647
01:35:55.479 --> 01:35:58.760
<v Speaker 1>a particular cat and how to win it. So anyway,

1648
01:35:59.560 --> 01:36:03.960
<v Speaker 1>really really enjoyed that game. And then a couple of

1649
01:36:04.039 --> 01:36:07.359
<v Speaker 1>other things that I'm gonna pick. One of them is

1650
01:36:08.520 --> 01:36:12.359
<v Speaker 1>the TV show Reacher. So I just finished season two.

1651
01:36:14.079 --> 01:36:15.720
<v Speaker 1>I am going to warn you a couple of the

1652
01:36:16.119 --> 01:36:20.920
<v Speaker 1>episodes have sex, nudity, violence. I mean you kind of

1653
01:36:21.439 --> 01:36:23.600
<v Speaker 1>what expected I think from an action show like that,

1654
01:36:24.039 --> 01:36:25.600
<v Speaker 1>if you want to be able to filter some of

1655
01:36:25.600 --> 01:36:28.880
<v Speaker 1>it out. My other pick is vid angel. You can

1656
01:36:28.960 --> 01:36:32.399
<v Speaker 1>use vid angel to watch shows on Amazon Prime, Netflix,

1657
01:36:33.319 --> 01:36:35.359
<v Speaker 1>and a couple of other places. Plus you get all

1658
01:36:35.359 --> 01:36:39.039
<v Speaker 1>the Angel Studios stuff on the app. So that's the chosen.

1659
01:36:39.439 --> 01:36:41.760
<v Speaker 1>They have a bunch of movies they've made, which are terrific,

1660
01:36:41.800 --> 01:36:45.039
<v Speaker 1>by the way, And so I'm gonna pick Reacher and

1661
01:36:46.239 --> 01:36:49.640
<v Speaker 1>vid Angel. And you can filter curse words too, right,

1662
01:36:49.720 --> 01:36:50.920
<v Speaker 1>so if you don't want to hear the F word,

1663
01:36:51.039 --> 01:36:52.680
<v Speaker 1>then it'll cut the sound.

1664
01:36:53.079 --> 01:36:55.319
<v Speaker 2>I heard Season two was it wasn't as good as

1665
01:36:55.319 --> 01:36:58.680
<v Speaker 2>season one. Do you think that's the case, Yeah, it

1666
01:36:58.760 --> 01:37:01.079
<v Speaker 2>was season one. I watched the one. I haven't yet

1667
01:37:01.119 --> 01:37:03.359
<v Speaker 2>wont season two, so.

1668
01:37:05.880 --> 01:37:10.279
<v Speaker 1>It was it was kind of different. I'm trying to

1669
01:37:10.319 --> 01:37:13.560
<v Speaker 1>think better, not better. It's it's a little hard for

1670
01:37:13.600 --> 01:37:18.560
<v Speaker 1>me to specifically. So in the first season he's in,

1671
01:37:18.840 --> 01:37:23.000
<v Speaker 1>he basically winds up investigating a murder and you know

1672
01:37:24.199 --> 01:37:26.279
<v Speaker 1>a little bit of a spoiler. Within the first couple

1673
01:37:26.319 --> 01:37:27.960
<v Speaker 1>of episodes you figure out that one of the victims

1674
01:37:28.039 --> 01:37:34.279
<v Speaker 1>is his brother. Season two, he's investigating and this comes

1675
01:37:34.279 --> 01:37:38.199
<v Speaker 1>out right in the first episode. He's investigating the death

1676
01:37:38.239 --> 01:37:40.439
<v Speaker 1>of one of the guys that was in his special

1677
01:37:40.439 --> 01:37:47.119
<v Speaker 1>Investigations unit when he was in the army. And anyway,

1678
01:37:47.319 --> 01:37:50.720
<v Speaker 1>it's it's got kind of the same dynamics with he

1679
01:37:50.920 --> 01:37:57.800
<v Speaker 1>he has other characters that he's doing the investigations with. Yeah,

1680
01:37:57.840 --> 01:38:00.279
<v Speaker 1>I would say I probably liked season one better, But

1681
01:38:00.439 --> 01:38:02.800
<v Speaker 1>like I said, it's it's got a bit of a

1682
01:38:02.800 --> 01:38:05.199
<v Speaker 1>different flavor because it's not kind of the small town

1683
01:38:06.439 --> 01:38:12.960
<v Speaker 1>you know, dive into stuff, mystery stuff. But yeah, so

1684
01:38:13.199 --> 01:38:14.840
<v Speaker 1>I I yeah, I don't know if I have a

1685
01:38:14.840 --> 01:38:16.680
<v Speaker 1>good answer for that. I enjoyed them both.

1686
01:38:17.039 --> 01:38:19.560
<v Speaker 2>If you enjoy them both, then do try to find out.

1687
01:38:20.079 --> 01:38:22.560
<v Speaker 2>Try to find the series. I recommend The Dale of

1688
01:38:22.560 --> 01:38:26.239
<v Speaker 2>the Jackal. It's it's it's not the same vibe at all,

1689
01:38:26.680 --> 01:38:27.960
<v Speaker 2>but I think you'll enjoy it.

1690
01:38:29.079 --> 01:38:32.560
<v Speaker 1>Yeah, it's it's interesting to kind of piece some of

1691
01:38:32.600 --> 01:38:36.000
<v Speaker 1>the stuff together. Another thing that I'm gonna pick, I'm

1692
01:38:36.079 --> 01:38:39.960
<v Speaker 1>just picking all kinds of stuff today is a book series.

1693
01:38:40.000 --> 01:38:44.680
<v Speaker 1>So I'm on book seven eight of this series. It's

1694
01:38:44.720 --> 01:38:50.880
<v Speaker 1>called The Sort of Truth by Terry Goodkind. Just awesome books.

1695
01:38:50.920 --> 01:38:54.079
<v Speaker 1>I just finished the I don't know the seventh book

1696
01:38:54.119 --> 01:38:56.920
<v Speaker 1>or the sixth book, I can't remember, but but I'm

1697
01:38:56.960 --> 01:38:59.479
<v Speaker 1>really enjoying them. This last book was kind of interesting

1698
01:38:59.520 --> 01:39:03.640
<v Speaker 1>because the primary protagonists that are in the previous bunch

1699
01:39:03.720 --> 01:39:06.119
<v Speaker 1>of books, they don't even show up in this book.

1700
01:39:06.199 --> 01:39:10.920
<v Speaker 1>Until the end of the book, but I think he's

1701
01:39:10.960 --> 01:39:13.039
<v Speaker 1>it was a setup for some of the things that

1702
01:39:13.079 --> 01:39:14.520
<v Speaker 1>are going to happen later. And I think there are

1703
01:39:14.560 --> 01:39:17.039
<v Speaker 1>like twelve or thirteen books in this series as a whole.

1704
01:39:17.640 --> 01:39:21.760
<v Speaker 2>You'll remind me of how Douglas Adams once referred to

1705
01:39:21.800 --> 01:39:26.640
<v Speaker 2>the Hitchhike Guides to the Galaxy Books as his five

1706
01:39:26.800 --> 01:39:29.279
<v Speaker 2>book trilogy. Yeah.

1707
01:39:29.560 --> 01:39:35.399
<v Speaker 1>Yeah, those books are fun too. I mean, they're hilarious books.

1708
01:39:35.399 --> 01:39:38.359
<v Speaker 1>But anyway, so I'm going to pick those, and then

1709
01:39:39.560 --> 01:39:44.399
<v Speaker 1>the last pick I have is, like I said, if

1710
01:39:44.439 --> 01:39:47.840
<v Speaker 1>you're watching this live, I'm finishing up all the marketing

1711
01:39:47.840 --> 01:39:50.840
<v Speaker 1>materials and you being able to sign up for it

1712
01:39:50.880 --> 01:39:53.039
<v Speaker 1>and stuff like that, And honestly, I kind of want

1713
01:39:53.079 --> 01:39:54.800
<v Speaker 1>to talk to people before they sign up, just so

1714
01:39:54.880 --> 01:39:57.439
<v Speaker 1>that I make sure that I understand what people want

1715
01:39:57.640 --> 01:39:59.560
<v Speaker 1>and make sure that you're a good fit, because it's

1716
01:39:59.560 --> 01:40:03.119
<v Speaker 1>going to be kind of a pricey deal. But I

1717
01:40:03.159 --> 01:40:06.199
<v Speaker 1>am putting on an AI dev boot camp starting the

1718
01:40:06.199 --> 01:40:11.000
<v Speaker 1>middle of January of next year, and so we're gonna

1719
01:40:11.039 --> 01:40:15.239
<v Speaker 1>it's gonna be a three month basically course. You're gonna

1720
01:40:15.239 --> 01:40:18.359
<v Speaker 1>get all the course material upfront as I put it

1721
01:40:18.399 --> 01:40:21.880
<v Speaker 1>together right on this first run. We're gonna have six

1722
01:40:21.880 --> 01:40:24.840
<v Speaker 1>months where you get on you know, weekly or biweekly

1723
01:40:24.960 --> 01:40:28.039
<v Speaker 1>calls and you know, so you'll be able to get

1724
01:40:28.039 --> 01:40:33.720
<v Speaker 1>help as things progress. But yeah, anyway, that'll be at

1725
01:40:33.720 --> 01:40:38.039
<v Speaker 1>AI devboot Camp dot com. I'm also working on putting

1726
01:40:38.079 --> 01:40:42.479
<v Speaker 1>out some podcasts about AI specifically. It's not we have

1727
01:40:42.520 --> 01:40:44.560
<v Speaker 1>adventures in machine learning, which tends to get more into

1728
01:40:44.640 --> 01:40:47.640
<v Speaker 1>data science and machine learning model building things like that.

1729
01:40:48.800 --> 01:40:51.119
<v Speaker 1>These other podcasts are going to be more focused on

1730
01:40:51.640 --> 01:40:54.960
<v Speaker 1>using APIs and open source systems to build your aim

1731
01:40:55.000 --> 01:40:58.439
<v Speaker 1>machine learning stuff. And that's going to be at AI

1732
01:40:58.520 --> 01:41:02.119
<v Speaker 1>for Ruby dot com and AI for JavaScript dot com.

1733
01:41:02.159 --> 01:41:04.439
<v Speaker 1>And so I'm going to get specifically into Okay, how

1734
01:41:04.439 --> 01:41:07.840
<v Speaker 1>do you build these kinds of features into your apps

1735
01:41:07.960 --> 01:41:11.000
<v Speaker 1>using Ruby or JavaScript depending on what you're doing. So,

1736
01:41:11.000 --> 01:41:13.560
<v Speaker 1>so those are my picks, Bob, do you have some

1737
01:41:13.600 --> 01:41:14.479
<v Speaker 1>picks for us?

1738
01:41:14.880 --> 01:41:17.319
<v Speaker 5>Well, I'll just do one and it's it's it goes

1739
01:41:17.359 --> 01:41:23.880
<v Speaker 5>back to the framework discussion in tangentially about about a

1740
01:41:23.960 --> 01:41:28.680
<v Speaker 5>year ago, David Hannamier Hansen did a YouTube video and

1741
01:41:28.720 --> 01:41:29.600
<v Speaker 5>I think the name.

1742
01:41:29.439 --> 01:41:32.359
<v Speaker 4>Of it is the Cloud Fugitive. I think that's the name.

1743
01:41:33.680 --> 01:41:37.359
<v Speaker 5>Uh and and he has he has taken thirty seven

1744
01:41:37.479 --> 01:41:39.680
<v Speaker 5>signaled Off the Cloud, Out of the Cloud.

1745
01:41:39.760 --> 01:41:43.960
<v Speaker 4>Yes, And it's very good video, and he.

1746
01:41:44.039 --> 01:41:47.159
<v Speaker 5>Just walks through the rationale and why it was a

1747
01:41:47.159 --> 01:41:49.479
<v Speaker 5>good idea and why everybody else ought to be thinking

1748
01:41:49.520 --> 01:41:50.000
<v Speaker 5>about it.

1749
01:41:51.079 --> 01:41:53.279
<v Speaker 2>So, you know what, you actually remind me off with that.

1750
01:41:54.079 --> 01:41:57.760
<v Speaker 2>So we've been forced to buy a new car, so

1751
01:41:57.800 --> 01:42:00.279
<v Speaker 2>we're actually buying a used car, but it's a new

1752
01:42:00.319 --> 01:42:04.239
<v Speaker 2>car for us. And they're all trying, all the car

1753
01:42:04.359 --> 01:42:07.920
<v Speaker 2>vendors are trying to sell us on leasing the car. Yea,

1754
01:42:08.199 --> 01:42:11.159
<v Speaker 2>and and we're know, we were like, no, we're gonna

1755
01:42:11.199 --> 01:42:13.880
<v Speaker 2>We're just gonna buy it. We don't want to lease it.

1756
01:42:15.239 --> 01:42:18.720
<v Speaker 2>So yeah, being on the cloud is kind of leasing

1757
01:42:18.920 --> 01:42:21.479
<v Speaker 2>your car.

1758
01:42:22.279 --> 01:42:29.680
<v Speaker 1>Yeah, I'm using advantages. Sorry, No, I'm just saying I'm

1759
01:42:29.840 --> 01:42:31.840
<v Speaker 1>I'm I'm doing what he's doing.

1760
01:42:32.319 --> 01:42:35.520
<v Speaker 2>No, Well, you're paying for comfort, really, or the perception

1761
01:42:35.640 --> 01:42:36.159
<v Speaker 2>of comfort.

1762
01:42:36.960 --> 01:42:39.760
<v Speaker 1>Yeah, but the tooling that they've built around this move

1763
01:42:40.279 --> 01:42:43.159
<v Speaker 1>has made a lot of this stuff really simple.

1764
01:42:46.239 --> 01:42:50.039
<v Speaker 2>Anyway, it's also cappax versus opex and various other similar

1765
01:42:50.119 --> 01:42:53.279
<v Speaker 2>things that are actually very similar to buying versus leasing.

1766
01:42:54.880 --> 01:42:57.119
<v Speaker 1>Anyway, Bob, go ahead, No, that's it.

1767
01:42:57.279 --> 01:42:57.720
<v Speaker 2>That was just.

1768
01:42:59.239 --> 01:43:01.199
<v Speaker 4>I thought that's a good video for folks to watch.

1769
01:43:01.239 --> 01:43:04.640
<v Speaker 5>They can get a different idea of how they could

1770
01:43:04.680 --> 01:43:09.560
<v Speaker 5>get their systems online as opposed to, you know, making

1771
01:43:09.600 --> 01:43:13.640
<v Speaker 5>some big commitment to a company that doesn't care about them.

1772
01:43:13.760 --> 01:43:19.800
<v Speaker 1>Yep, very cool. All right, well let's go ahead and

1773
01:43:19.840 --> 01:43:22.319
<v Speaker 1>wrap it up, Bob. If people want to connect with

1774
01:43:22.359 --> 01:43:25.359
<v Speaker 1>you or find stuff that you're working on these days,

1775
01:43:25.359 --> 01:43:26.119
<v Speaker 1>where do they find you?

1776
01:43:27.600 --> 01:43:29.880
<v Speaker 4>Cleancoder dot com. That's the website.

1777
01:43:31.760 --> 01:43:35.920
<v Speaker 5>Videos are at cleancoders dot com the plural of clean coder.

1778
01:43:36.680 --> 01:43:40.960
<v Speaker 4>That's good enough. Twitter, Uncle Bob Martin, Oh, I should

1779
01:43:41.000 --> 01:43:42.920
<v Speaker 4>say X, shouldn't I actually X?

1780
01:43:43.319 --> 01:43:47.199
<v Speaker 5>I don't have a Blue Sky account, rather not have one.

1781
01:43:49.960 --> 01:43:52.960
<v Speaker 2>To be honest, I told you I actually have both,

1782
01:43:53.079 --> 01:43:55.560
<v Speaker 2>which is really annoying for me, the fact that I

1783
01:43:55.760 --> 01:44:01.560
<v Speaker 2>that I need to Yeah, I actually did for a while,

1784
01:44:01.640 --> 01:44:03.880
<v Speaker 2>but it just, you know, it was too much hassle.

1785
01:44:05.079 --> 01:44:09.640
<v Speaker 2>But it is annoying to have two separate things of

1786
01:44:09.680 --> 01:44:13.319
<v Speaker 2>exactly the same thing, you know, if they were different

1787
01:44:14.359 --> 01:44:19.600
<v Speaker 2>than okay, But it's like, why do I need to

1788
01:44:19.640 --> 01:44:23.960
<v Speaker 2>have this twice? It's it's really annoying in that regard.

1789
01:44:24.479 --> 01:44:26.800
<v Speaker 2>But I do want to connect with some people who

1790
01:44:26.880 --> 01:44:30.039
<v Speaker 2>are only on Blue Sky, so you know, we'll see

1791
01:44:30.039 --> 01:44:31.359
<v Speaker 2>what happens. Yeah.

1792
01:44:31.399 --> 01:44:34.560
<v Speaker 1>Well, the thing that's interesting about it for me, just

1793
01:44:34.720 --> 01:44:37.359
<v Speaker 1>from the platform point of view, is that I've heard

1794
01:44:37.359 --> 01:44:39.439
<v Speaker 1>a few people talk about how Blue Sky is maybe

1795
01:44:39.479 --> 01:44:41.880
<v Speaker 1>cleaner and has less ads and stuff. But if you've

1796
01:44:41.920 --> 01:44:44.760
<v Speaker 1>been watching the discussions they're having around it, they're looking

1797
01:44:44.760 --> 01:44:47.479
<v Speaker 1>to add all of that stuff to Blue Sky. So

1798
01:44:48.720 --> 01:44:52.159
<v Speaker 1>I just yeah, so so it's.

1799
01:44:51.960 --> 01:44:53.680
<v Speaker 2>Money will run out eventually, you know.

1800
01:44:53.960 --> 01:44:57.000
<v Speaker 1>Yeah, the so the decision is not based on the

1801
01:44:57.640 --> 01:45:00.840
<v Speaker 1>what the platform offers, it's other things.

1802
01:45:01.119 --> 01:45:04.720
<v Speaker 2>Look, I'm on social network to connect with Pao, and

1803
01:45:04.800 --> 01:45:06.399
<v Speaker 2>that's that's the bottom line.

1804
01:45:07.159 --> 01:45:09.479
<v Speaker 1>That's what convinced me to go and create an account

1805
01:45:09.479 --> 01:45:12.119
<v Speaker 1>over there. But I'm I'm just as inactive over there

1806
01:45:12.119 --> 01:45:13.000
<v Speaker 1>as I am on Twitter.

1807
01:45:13.079 --> 01:45:18.680
<v Speaker 2>So anyway, anyway, thank you Bob for coming on. This

1808
01:45:18.720 --> 01:45:19.840
<v Speaker 2>has been a pleasure.

1809
01:45:19.920 --> 01:45:22.720
<v Speaker 5>Thank you certainly appreciate it. It's been a lot of fun.

1810
01:45:23.479 --> 01:45:25.279
<v Speaker 1>Yeah, we'll get your schedule to come back and talk

1811
01:45:25.279 --> 01:45:27.359
<v Speaker 1>about the history of programming because that stuff's.

1812
01:45:27.000 --> 01:45:29.479
<v Speaker 2>Say oh man, and I'm a history buff.

1813
01:45:29.960 --> 01:45:34.600
<v Speaker 1>Yeah all right, Well, hang in there for just one

1814
01:45:34.600 --> 01:45:36.560
<v Speaker 1>more second while we end the stream to make sure

1815
01:45:36.560 --> 01:45:39.720
<v Speaker 1>you're uploaded, and until next time everybody max out,
