WEBVTT

1
00:00:04.639 --> 00:00:08.919
<v Speaker 1>Hey folks, welcome back to another Ruby Rogues episode. This

2
00:00:08.960 --> 00:00:11.800
<v Speaker 1>week on a panel, we have Valentino Stole and now

3
00:00:12.439 --> 00:00:15.640
<v Speaker 1>I'm Charles Maxwood from Top End Devs. And yeah, we

4
00:00:15.640 --> 00:00:17.839
<v Speaker 1>were talking before the show. We had our guest canceled

5
00:00:17.839 --> 00:00:19.960
<v Speaker 1>on this last minute. So if you're trying to watch

6
00:00:20.000 --> 00:00:22.120
<v Speaker 1>this on YouTube and you're like, you're not talking about

7
00:00:22.120 --> 00:00:27.719
<v Speaker 1>solid cash, no we are not. We were chatting and

8
00:00:28.079 --> 00:00:29.359
<v Speaker 1>just to give a little bit of context, and I

9
00:00:29.359 --> 00:00:32.840
<v Speaker 1>explained this to Valentino before the show. You know, I've

10
00:00:32.880 --> 00:00:34.759
<v Speaker 1>been using some of these AI tools that are out

11
00:00:34.759 --> 00:00:37.119
<v Speaker 1>there for a while, but just kind of at a

12
00:00:37.159 --> 00:00:41.560
<v Speaker 1>low level. And what I had essentially figured out a

13
00:00:41.600 --> 00:00:46.159
<v Speaker 1>while back was that like co pilot will suggest snippets

14
00:00:46.159 --> 00:00:50.320
<v Speaker 1>and stuff in visual studio code, which is handy, right

15
00:00:50.359 --> 00:00:53.039
<v Speaker 1>because a lot of times it suggests stuff that it's like, yeah,

16
00:00:53.079 --> 00:00:55.799
<v Speaker 1>that's what I want, and if I'm doing the same

17
00:00:56.119 --> 00:00:59.280
<v Speaker 1>structure in a couple of places, it was really good

18
00:00:59.280 --> 00:01:02.039
<v Speaker 1>at figuring that out right, It's like, oh, okay, same structure,

19
00:01:02.119 --> 00:01:08.000
<v Speaker 1>different variables with But I'd also use like chat, GPT

20
00:01:08.239 --> 00:01:10.200
<v Speaker 1>and some other tools for some of this stuff. And

21
00:01:10.239 --> 00:01:15.040
<v Speaker 1>so one thing that I wound up doing was last night,

22
00:01:15.159 --> 00:01:19.400
<v Speaker 1>I was working on adding a new audio player to

23
00:01:19.680 --> 00:01:23.040
<v Speaker 1>the member area of top end Devs because I'm basically

24
00:01:23.040 --> 00:01:25.760
<v Speaker 1>revamping it because it's it's not what I wanted, and

25
00:01:25.840 --> 00:01:29.480
<v Speaker 1>I found I figured out how to get at least

26
00:01:29.840 --> 00:01:32.079
<v Speaker 1>much more close to what I want. So I was

27
00:01:32.120 --> 00:01:34.000
<v Speaker 1>putting that in there right so that it you know,

28
00:01:34.000 --> 00:01:35.640
<v Speaker 1>it kind of floats at the bottom of the screen

29
00:01:35.719 --> 00:01:38.000
<v Speaker 1>and does a bunch of stuff. And I'd already done

30
00:01:38.040 --> 00:01:40.480
<v Speaker 1>all the styling for that, and so I was telling,

31
00:01:40.599 --> 00:01:42.280
<v Speaker 1>you know, I was using it that basically as a

32
00:01:42.319 --> 00:01:44.079
<v Speaker 1>look up. So it's like, hey, what are the audio

33
00:01:44.200 --> 00:01:47.640
<v Speaker 1>APIs in the browser that I can use right to

34
00:01:48.760 --> 00:01:51.480
<v Speaker 1>put a nice looking player in controls. And I was

35
00:01:51.519 --> 00:01:56.920
<v Speaker 1>just kind of, you know, putting it together. And just

36
00:01:57.000 --> 00:02:00.439
<v Speaker 1>on a whim, I had been listening to a and

37
00:02:00.439 --> 00:02:02.159
<v Speaker 1>I can't remember which one it was. It was one

38
00:02:02.159 --> 00:02:06.120
<v Speaker 1>of the AI podcasts that I've recently picked up, but

39
00:02:06.159 --> 00:02:08.960
<v Speaker 1>they were talking about how they were using it to

40
00:02:09.039 --> 00:02:11.479
<v Speaker 1>actually either generate code or get checks on their code,

41
00:02:11.479 --> 00:02:14.639
<v Speaker 1>and I was like, I wonder if I can just

42
00:02:14.680 --> 00:02:17.680
<v Speaker 1>tell it to write me an audio player right, like

43
00:02:17.840 --> 00:02:19.800
<v Speaker 1>just boom. I want an audio player that I can

44
00:02:19.800 --> 00:02:23.000
<v Speaker 1>put in my browser. And so I tell it that,

45
00:02:23.120 --> 00:02:27.120
<v Speaker 1>and it it writes one right, and I'm like, okay, well,

46
00:02:27.199 --> 00:02:29.800
<v Speaker 1>let's see how good this is. So I turn around, right,

47
00:02:29.840 --> 00:02:32.479
<v Speaker 1>because in chat GPT you can tell it to refine

48
00:02:32.840 --> 00:02:34.879
<v Speaker 1>the answer, right, So I tell it, okay, well, I'm

49
00:02:34.919 --> 00:02:40.039
<v Speaker 1>using stimulus. I want the play and pause button to

50
00:02:40.039 --> 00:02:42.960
<v Speaker 1>toggle to play or pause when I hit play or pause,

51
00:02:45.280 --> 00:02:47.520
<v Speaker 1>you know, I want I want the progress bar to

52
00:02:48.120 --> 00:02:48.479
<v Speaker 1>you know.

53
00:02:48.520 --> 00:02:49.919
<v Speaker 2>To change as it plays.

54
00:02:50.800 --> 00:02:52.599
<v Speaker 1>I can't remember what else I told it, but I

55
00:02:52.639 --> 00:02:56.120
<v Speaker 1>also told it I wanted it to be controlled through stimulus,

56
00:02:56.680 --> 00:02:59.800
<v Speaker 1>and that I was using tailwind, and that I wanted

57
00:02:59.800 --> 00:03:02.199
<v Speaker 1>the play and pause buttons to not have words in them.

58
00:03:02.240 --> 00:03:06.840
<v Speaker 2>I wanted to use font awesome for the icons, and

59
00:03:07.080 --> 00:03:08.479
<v Speaker 2>it spit the whole thing out.

60
00:03:09.000 --> 00:03:12.080
<v Speaker 1>So then what I did is I was like, I know,

61
00:03:12.120 --> 00:03:14.039
<v Speaker 1>there are more features than I want on this, I

62
00:03:14.080 --> 00:03:16.520
<v Speaker 1>just can't think of what they are. And so I

63
00:03:16.560 --> 00:03:18.439
<v Speaker 1>asked it, I said, what other features should I be

64
00:03:18.520 --> 00:03:20.879
<v Speaker 1>putting in this thing? And it turns around and it

65
00:03:20.879 --> 00:03:23.400
<v Speaker 1>gives me a list of like sixteen things, right, and

66
00:03:23.520 --> 00:03:26.879
<v Speaker 1>like ten of them were features that I might want

67
00:03:27.240 --> 00:03:30.800
<v Speaker 1>if I wasn't just playing one episode. But there were

68
00:03:30.840 --> 00:03:32.360
<v Speaker 1>like four or five of them that I was like,

69
00:03:32.439 --> 00:03:35.000
<v Speaker 1>oh yeah, I want that too, I forgot and so

70
00:03:35.039 --> 00:03:38.199
<v Speaker 1>I put all those in and you know, and so

71
00:03:38.280 --> 00:03:40.039
<v Speaker 1>it's giving me a player. So I put it into

72
00:03:40.080 --> 00:03:42.240
<v Speaker 1>the page and it was like it was a big

73
00:03:42.280 --> 00:03:44.719
<v Speaker 1>square that took up like half the screen. And so

74
00:03:44.800 --> 00:03:48.240
<v Speaker 1>I said, hey, I'm putting this into a bottom banner

75
00:03:48.240 --> 00:03:51.240
<v Speaker 1>that has to fit into an H dash thirty two

76
00:03:52.080 --> 00:03:56.120
<v Speaker 1>sized space in the you know, in the page. And

77
00:03:56.159 --> 00:04:00.319
<v Speaker 1>so it condensed it and so I picked it up

78
00:04:00.360 --> 00:04:05.319
<v Speaker 1>and I put it into my Rails app, and you know,

79
00:04:05.439 --> 00:04:08.159
<v Speaker 1>I'm thinking, okay, you know, I you know, I had

80
00:04:08.159 --> 00:04:12.759
<v Speaker 1>my developer tools open with the console and I'm already

81
00:04:12.800 --> 00:04:18.480
<v Speaker 1>to to you know, to debug it right, and you know,

82
00:04:18.600 --> 00:04:22.000
<v Speaker 1>because it probably got something wrong. And would you believe it,

83
00:04:22.040 --> 00:04:24.519
<v Speaker 1>the thing just worked like it literally like I tested

84
00:04:24.519 --> 00:04:26.680
<v Speaker 1>every feature and it did exactly what it was supposed

85
00:04:26.680 --> 00:04:26.879
<v Speaker 1>to do.

86
00:04:27.480 --> 00:04:30.160
<v Speaker 2>So then so then I had to tweak the layout

87
00:04:30.199 --> 00:04:30.439
<v Speaker 2>on it a.

88
00:04:30.439 --> 00:04:32.120
<v Speaker 1>Little bit because it did look a little bit weird.

89
00:04:33.120 --> 00:04:35.399
<v Speaker 1>But I mean literally, it was just came, move this

90
00:04:35.519 --> 00:04:39.360
<v Speaker 1>up here, make that wider. You know, Okay, now it

91
00:04:39.399 --> 00:04:42.439
<v Speaker 1>looks now, it looks decent. Right, I'm not sure I'm

92
00:04:42.439 --> 00:04:44.920
<v Speaker 1>completely satisfied with the layout on it, but it works

93
00:04:44.920 --> 00:04:46.279
<v Speaker 1>and it looks it looks fine.

94
00:04:47.079 --> 00:04:52.879
<v Speaker 2>So now I'm thinking, Okay, what else is out there? Right?

95
00:04:52.920 --> 00:04:54.800
<v Speaker 2>And I've picked up some other tips and tricks.

96
00:04:55.240 --> 00:04:58.399
<v Speaker 1>But we were talking before the show and I kind

97
00:04:58.399 --> 00:05:00.839
<v Speaker 1>of told this to Valentino and he's going, oh, yeah,

98
00:05:00.879 --> 00:05:02.879
<v Speaker 1>I've got all kinds of tricks that I use, And

99
00:05:02.959 --> 00:05:06.600
<v Speaker 1>so this is probably gonna be more me picking your brain,

100
00:05:06.720 --> 00:05:11.519
<v Speaker 1>Valentino than offering any you know, awesome ideas or solutions.

101
00:05:12.079 --> 00:05:14.959
<v Speaker 1>But it seems like there's a whole breadth of things

102
00:05:15.439 --> 00:05:17.439
<v Speaker 1>that I'm just kind of opening up my mind to

103
00:05:17.519 --> 00:05:23.160
<v Speaker 1>at this point. So so yeah, So, I mean, I

104
00:05:23.199 --> 00:05:26.079
<v Speaker 1>guess my first question is is did you already know

105
00:05:26.160 --> 00:05:28.360
<v Speaker 1>that chat GPT would do this kind of a thing?

106
00:05:28.560 --> 00:05:32.000
<v Speaker 2>And what else am I not even.

107
00:05:31.800 --> 00:05:34.480
<v Speaker 1>Seeing in the wide world of hey, make my code

108
00:05:34.519 --> 00:05:35.279
<v Speaker 1>process better?

109
00:05:37.240 --> 00:05:41.040
<v Speaker 3>Yeah? There's so many things here. Yeah, I guess like

110
00:05:42.160 --> 00:05:45.279
<v Speaker 3>if we take a step back and just like focus

111
00:05:45.319 --> 00:05:49.639
<v Speaker 3>on like what we're trying to accomplish as like software developers, right,

112
00:05:49.800 --> 00:05:53.160
<v Speaker 3>Like it kind of like breaks down into two things,

113
00:05:53.199 --> 00:05:58.240
<v Speaker 3>like one like abstractly thinking about concepts and how to

114
00:05:58.279 --> 00:06:02.279
<v Speaker 3>like design things, and the second would be like implementation

115
00:06:02.399 --> 00:06:06.600
<v Speaker 3>detail and so like there's two like avenues that I

116
00:06:06.600 --> 00:06:09.600
<v Speaker 3>always like break things down to based off of that,

117
00:06:10.399 --> 00:06:13.160
<v Speaker 3>and so like we just focus on like the design aspects.

118
00:06:13.199 --> 00:06:17.920
<v Speaker 3>Like that's just great as like a GPT like and

119
00:06:18.000 --> 00:06:20.000
<v Speaker 3>for those that don't know, it's like a plugin for

120
00:06:20.199 --> 00:06:24.959
<v Speaker 3>chat GPT even like I have one based on the

121
00:06:25.000 --> 00:06:28.680
<v Speaker 3>stack that I use, which is Rails specific with Ruby

122
00:06:28.759 --> 00:06:32.360
<v Speaker 3>and like x y z design books that I've just

123
00:06:32.360 --> 00:06:36.199
<v Speaker 3>like uploaded to the GPT, right, so like I have

124
00:06:36.319 --> 00:06:41.519
<v Speaker 3>like ninety nine bottles from Sandy Mets and like some

125
00:06:41.639 --> 00:06:42.920
<v Speaker 3>AI specific ones.

126
00:06:44.279 --> 00:06:47.720
<v Speaker 1>Hang on, so what when you're saying like design books

127
00:06:47.759 --> 00:06:51.639
<v Speaker 1>and you're you're talking about like kind of it sounds

128
00:06:51.639 --> 00:06:54.199
<v Speaker 1>like you're kind of setting up the context for where

129
00:06:54.240 --> 00:06:55.160
<v Speaker 1>you're asking your question.

130
00:06:55.279 --> 00:06:58.399
<v Speaker 3>Yeah yeah, so like yeah, maybe we should apreciate that.

131
00:06:58.519 --> 00:07:02.720
<v Speaker 3>Like what is a GPT YEA And honestly, like I'm

132
00:07:02.759 --> 00:07:07.319
<v Speaker 3>surprised this is totally like open a eyes like miss

133
00:07:07.319 --> 00:07:11.759
<v Speaker 3>here in marketing, Right, It's because gpds are incredible, right,

134
00:07:11.879 --> 00:07:15.399
<v Speaker 3>Like it's like a way of like encapsulating a purpose

135
00:07:15.839 --> 00:07:19.079
<v Speaker 3>to all of the to chat GPT, right, so you

136
00:07:19.120 --> 00:07:23.079
<v Speaker 3>get your like blanket features of chat GPT of being

137
00:07:23.120 --> 00:07:26.120
<v Speaker 3>able to be a general purpose utility to do anything.

138
00:07:27.199 --> 00:07:29.800
<v Speaker 3>And so it's great at code related stuff. But if

139
00:07:29.920 --> 00:07:34.399
<v Speaker 3>like let's say, like you want to like make super

140
00:07:34.600 --> 00:07:40.360
<v Speaker 3>object oriented Ruby and Rail's work, like that's prime candidate

141
00:07:40.399 --> 00:07:43.399
<v Speaker 3>for making a very specific plug in the chat GPT,

142
00:07:44.199 --> 00:07:48.600
<v Speaker 3>and you can basically give it context like documents that

143
00:07:48.639 --> 00:07:52.759
<v Speaker 3>it can use as reference, and you can also give

144
00:07:52.800 --> 00:07:56.360
<v Speaker 3>it like custom instructions to follow so you don't have

145
00:07:56.439 --> 00:07:59.120
<v Speaker 3>to like re say those things over and over again.

146
00:07:59.199 --> 00:08:01.759
<v Speaker 3>So like, let's you have a prompt that you always

147
00:08:01.800 --> 00:08:05.480
<v Speaker 3>go to that's like, hey, like pretend you're an expert

148
00:08:05.600 --> 00:08:11.639
<v Speaker 3>in object oriented design and Ruby, right, and I want

149
00:08:11.680 --> 00:08:15.639
<v Speaker 3>you to follow these principles. You know, if you're generating

150
00:08:16.360 --> 00:08:23.879
<v Speaker 3>Ruby code, follow this like you know, like linter related thing.

151
00:08:24.680 --> 00:08:27.000
<v Speaker 3>And you can like reuse these prompts over and over

152
00:08:27.040 --> 00:08:29.439
<v Speaker 3>again to get get it to output the things how

153
00:08:29.439 --> 00:08:33.200
<v Speaker 3>you want it to rather than just like chatting through it.

154
00:08:33.480 --> 00:08:35.960
<v Speaker 3>And so with a GPT, you can like frontload all

155
00:08:36.039 --> 00:08:38.399
<v Speaker 3>that work and just have something reusable that you can

156
00:08:38.440 --> 00:08:42.360
<v Speaker 3>go back to. And so I have this open GPT

157
00:08:42.759 --> 00:08:46.679
<v Speaker 3>called the Software architect Mentor, and I use it all

158
00:08:46.720 --> 00:08:49.679
<v Speaker 3>the time, and it's like my abstract go to for

159
00:08:49.879 --> 00:08:54.960
<v Speaker 3>just like, Okay, I'm designing something in Ruby sometimes rails,

160
00:08:56.000 --> 00:08:59.559
<v Speaker 3>doing AI stuff like, use all of that context to

161
00:08:59.720 --> 00:09:04.559
<v Speaker 3>just help me design something or refactor something or do

162
00:09:04.799 --> 00:09:07.840
<v Speaker 3>these things in an abstract way so that way I

163
00:09:07.840 --> 00:09:10.320
<v Speaker 3>don't have to worry about the implementation. I can focus

164
00:09:10.320 --> 00:09:10.879
<v Speaker 3>on design.

165
00:09:11.879 --> 00:09:16.840
<v Speaker 1>So how do you get that into chat GPT? And

166
00:09:16.919 --> 00:09:19.679
<v Speaker 1>maybe I'm just you know, I haven't played with it enough.

167
00:09:21.799 --> 00:09:25.919
<v Speaker 3>So they know they have. There's like an explorer GPTs

168
00:09:26.240 --> 00:09:30.519
<v Speaker 3>okay sidebar, and you could just like start a chat

169
00:09:30.559 --> 00:09:31.440
<v Speaker 3>with any one of those.

170
00:09:32.840 --> 00:09:35.279
<v Speaker 1>Oh okay, so I could actually instead of because I'm

171
00:09:35.320 --> 00:09:39.480
<v Speaker 1>just using the generic chat GPT. I mean that's what

172
00:09:39.600 --> 00:09:41.759
<v Speaker 1>built my player for me. You're telling me I could

173
00:09:41.759 --> 00:09:43.240
<v Speaker 1>have because I clicked on it and I'm seeing like

174
00:09:43.960 --> 00:09:47.639
<v Speaker 1>a website generator or a code copilot. So I could

175
00:09:47.799 --> 00:09:50.679
<v Speaker 1>used the code code pilot and what would have been

176
00:09:50.759 --> 00:09:52.879
<v Speaker 1>faster or better or.

177
00:09:53.320 --> 00:09:55.840
<v Speaker 3>Yeah, it would be more focused. So I guess like

178
00:09:55.960 --> 00:10:02.039
<v Speaker 3>faster and better are you know, kind of dependent on

179
00:10:02.080 --> 00:10:04.399
<v Speaker 3>the use case, but it might narrow the scope of

180
00:10:04.399 --> 00:10:08.360
<v Speaker 3>the scope. Like as an example, if like, okay, well

181
00:10:08.440 --> 00:10:11.039
<v Speaker 3>let's say you're working on you know, I don't know,

182
00:10:11.080 --> 00:10:13.799
<v Speaker 3>go code or something like that. Like, you know, there

183
00:10:13.799 --> 00:10:17.200
<v Speaker 3>may be some conventions that could be useful, like using

184
00:10:17.200 --> 00:10:21.159
<v Speaker 3>a very ghost specific GBT in the same way that

185
00:10:21.279 --> 00:10:26.159
<v Speaker 3>using a ghost specific prompt can help guide the generation

186
00:10:26.279 --> 00:10:28.840
<v Speaker 3>of that. Right, Like if you just say, hey, like

187
00:10:28.919 --> 00:10:34.840
<v Speaker 3>chat GPT, generate a you know program that like shows

188
00:10:34.840 --> 00:10:38.679
<v Speaker 3>me a calendar, It'll just like use whatever its preference

189
00:10:38.799 --> 00:10:41.960
<v Speaker 3>is based on your chat history with it. So like

190
00:10:43.600 --> 00:10:46.279
<v Speaker 3>that could be any number of languages, could be any

191
00:10:46.399 --> 00:10:49.120
<v Speaker 3>number of implementations. But if you like, open up a

192
00:10:49.120 --> 00:10:50.679
<v Speaker 3>go GPT, it's going to use go.

193
00:10:51.440 --> 00:10:59.399
<v Speaker 2>Right, Right, So do they have a Ruby GPT in here.

194
00:10:59.360 --> 00:11:06.080
<v Speaker 3>Or did you There's a lot of people that that

195
00:11:06.200 --> 00:11:08.840
<v Speaker 3>have gpds published there kind of just have to search

196
00:11:08.879 --> 00:11:12.559
<v Speaker 3>through stuff. I just have my own because I found

197
00:11:12.559 --> 00:11:13.440
<v Speaker 3>it very useful.

198
00:11:13.799 --> 00:11:15.519
<v Speaker 2>Uh, yeah, there are a bunch in here.

199
00:11:15.960 --> 00:11:22.519
<v Speaker 3>Yeah, you can you basically can give it knowledge and

200
00:11:22.559 --> 00:11:26.720
<v Speaker 3>that knowledge will be used to generate stuff with and

201
00:11:26.759 --> 00:11:30.919
<v Speaker 3>so like I personally have very specific like resources that

202
00:11:31.000 --> 00:11:34.200
<v Speaker 3>I like to like have it reference. Uh and I

203
00:11:34.200 --> 00:11:37.080
<v Speaker 3>imagine other people do too, Right, Like you have your

204
00:11:37.159 --> 00:11:41.480
<v Speaker 3>books that you favored the design principles from, or how

205
00:11:41.519 --> 00:11:46.279
<v Speaker 3>you like code implemented in specific ways, uh, based on.

206
00:11:46.759 --> 00:11:48.639
<v Speaker 3>You know, it doesn't have to be books. It could

207
00:11:48.679 --> 00:11:53.200
<v Speaker 3>be websites. Uh, you know, whatever resources that you use

208
00:11:53.279 --> 00:11:57.840
<v Speaker 3>the code with, you can use it can use.

209
00:11:58.559 --> 00:12:05.240
<v Speaker 1>So when you're pulling them in, because my mind's already blown, right,

210
00:12:05.360 --> 00:12:07.360
<v Speaker 1>it's like, Okay, I'm gonna go down the rabbit hole

211
00:12:07.399 --> 00:12:08.200
<v Speaker 1>on this stuff real.

212
00:12:08.120 --> 00:12:10.360
<v Speaker 2>Hard here after we're done.

213
00:12:10.480 --> 00:12:14.320
<v Speaker 1>But because because I could see, you know, you create

214
00:12:14.399 --> 00:12:16.360
<v Speaker 1>GPTs for other things, it sounds like that.

215
00:12:17.879 --> 00:12:18.559
<v Speaker 2>In a way.

216
00:12:18.600 --> 00:12:20.639
<v Speaker 1>That's kind of what when we talk to Obie what

217
00:12:20.720 --> 00:12:23.159
<v Speaker 1>he was talking about with Ray right, where you're essentially

218
00:12:23.600 --> 00:12:26.600
<v Speaker 1>you're giving it all that context and then yeah, you're

219
00:12:26.600 --> 00:12:27.840
<v Speaker 1>doing some prompt engineering too.

220
00:12:27.879 --> 00:12:29.600
<v Speaker 2>I want to response to books like this or something

221
00:12:29.639 --> 00:12:29.799
<v Speaker 2>like that.

222
00:12:29.919 --> 00:12:33.720
<v Speaker 1>But I mean the rest of it is, you know, yeah,

223
00:12:33.759 --> 00:12:36.279
<v Speaker 1>then you ask it a question and from everything that

224
00:12:36.320 --> 00:12:40.679
<v Speaker 1>you've told it, it gives you the focused or more

225
00:12:40.679 --> 00:12:45.519
<v Speaker 1>correct answer. So when you're telling it, hey, I favor

226
00:12:45.679 --> 00:12:48.440
<v Speaker 1>ideas from I don't know, you know, ninety nine bottles

227
00:12:49.120 --> 00:12:52.480
<v Speaker 1>or you know, maybe it's the Pewter book the What

228
00:12:52.639 --> 00:12:55.960
<v Speaker 1>Principles of Object Oriented Design and Ruby or something like that.

229
00:12:57.000 --> 00:12:58.240
<v Speaker 2>How do you reference that in?

230
00:12:59.480 --> 00:13:02.039
<v Speaker 3>Do you just give it a r L or I

231
00:13:02.080 --> 00:13:07.440
<v Speaker 3>just upload the document. Okay, right, you just yeah, you know,

232
00:13:08.360 --> 00:13:11.879
<v Speaker 3>you go, I buy the book and then I get

233
00:13:11.919 --> 00:13:15.720
<v Speaker 3>the PDF from it and I upload it, right, and

234
00:13:15.759 --> 00:13:19.960
<v Speaker 3>then I can have it generating based off of that, right, Like.

235
00:13:20.200 --> 00:13:23.080
<v Speaker 1>Okay, so how big is its brain? How much stuff

236
00:13:23.080 --> 00:13:23.919
<v Speaker 1>can I cram in there?

237
00:13:24.039 --> 00:13:28.600
<v Speaker 3>I honestly haven't tested that, although I have gone through

238
00:13:28.639 --> 00:13:31.759
<v Speaker 3>and just uploaded all the books that I've read, like

239
00:13:31.879 --> 00:13:37.240
<v Speaker 3>from like my programming experience, and that I've found does

240
00:13:37.360 --> 00:13:43.000
<v Speaker 3>not help. Giving it more context doesn't help it. And

241
00:13:43.039 --> 00:13:45.639
<v Speaker 3>to be honest, like that makes a lot of sense

242
00:13:45.679 --> 00:13:47.960
<v Speaker 3>to me, because like the whole point of of like

243
00:13:48.000 --> 00:13:51.360
<v Speaker 3>this honed agent is like you know that it's narrow

244
00:13:51.360 --> 00:13:55.000
<v Speaker 3>in scope, right, right, And so like the more that

245
00:13:55.039 --> 00:13:57.320
<v Speaker 3>you can narrow that scope to like the very specific

246
00:13:57.360 --> 00:13:59.080
<v Speaker 3>tasks that you plan to use it for, like the

247
00:13:59.120 --> 00:14:01.919
<v Speaker 3>better and I like, you know, going back to OBI

248
00:14:02.080 --> 00:14:04.320
<v Speaker 3>when we had them on like that narrowing of the

249
00:14:04.399 --> 00:14:07.559
<v Speaker 3>path is like the best way to think about like

250
00:14:08.480 --> 00:14:12.480
<v Speaker 3>programming or like designing things with AI is like, yeah,

251
00:14:12.519 --> 00:14:15.159
<v Speaker 3>creating the very specific thing that you want it to do,

252
00:14:15.600 --> 00:14:18.480
<v Speaker 3>and like all of your instructions and knowledge and things

253
00:14:18.480 --> 00:14:20.240
<v Speaker 3>that you're giving it are like honed in on that.

254
00:14:21.360 --> 00:14:25.840
<v Speaker 1>Yeah, it seems like, Yeah, when we were talking to Obi,

255
00:14:26.519 --> 00:14:28.240
<v Speaker 1>the thing that kind of stood out to me was

256
00:14:28.759 --> 00:14:32.200
<v Speaker 1>because the Chat GPT, you know, the GPT model that

257
00:14:32.200 --> 00:14:36.320
<v Speaker 1>you're using, it has everything in it, right, So it

258
00:14:36.360 --> 00:14:40.799
<v Speaker 1>does baking, it does auto repair, and it does it

259
00:14:40.840 --> 00:14:44.200
<v Speaker 1>has Ruby stuff in it, right. And so if I

260
00:14:44.279 --> 00:14:46.320
<v Speaker 1>tell it, hey, I need you to help me write

261
00:14:46.360 --> 00:14:49.039
<v Speaker 1>better code, then if I use a term that is

262
00:14:49.080 --> 00:14:51.960
<v Speaker 1>also used in baking, me narrowing the path is just

263
00:14:52.000 --> 00:14:54.480
<v Speaker 1>telling it I only want the stuff that's relevant to

264
00:14:54.480 --> 00:15:00.840
<v Speaker 1>programming in Ruby and so, right, and then and then

265
00:15:00.879 --> 00:15:03.639
<v Speaker 1>there's other training in there too that might be and

266
00:15:03.720 --> 00:15:06.039
<v Speaker 1>I'm looking for things formatted this way, and I'm looking for,

267
00:15:06.480 --> 00:15:08.759
<v Speaker 1>you know, ideas in this vein or things like that.

268
00:15:11.799 --> 00:15:15.519
<v Speaker 1>I've also heard from people the idea that essentially you

269
00:15:15.879 --> 00:15:18.919
<v Speaker 1>can and I've seen some other people do this where

270
00:15:19.039 --> 00:15:21.639
<v Speaker 1>they have they've like uploaded all the content that they've

271
00:15:21.679 --> 00:15:25.360
<v Speaker 1>made about a topic, and then they essentially have a

272
00:15:26.200 --> 00:15:29.399
<v Speaker 1>like I could create a Chuck GPT right, and it

273
00:15:29.440 --> 00:15:32.440
<v Speaker 1>would be you know, hey, this is all the knowledge

274
00:15:32.480 --> 00:15:35.279
<v Speaker 1>that Chuck has ever put out about whatever. And I've

275
00:15:35.279 --> 00:15:37.399
<v Speaker 1>thought about doing that for like a Ruby rogues, right,

276
00:15:37.480 --> 00:15:40.240
<v Speaker 1>and so I could upload the audio and you know,

277
00:15:40.519 --> 00:15:44.399
<v Speaker 1>or upload transcription transcriptions or something. But my worry is

278
00:15:44.399 --> 00:15:46.480
<v Speaker 1>is we've been doing this show for like thirteen years,

279
00:15:47.159 --> 00:15:49.399
<v Speaker 1>and so some of the stuff we talked about thirteen

280
00:15:49.480 --> 00:15:51.679
<v Speaker 1>years is very relevant, and some of the stuff we

281
00:15:51.720 --> 00:15:55.240
<v Speaker 1>talked about thirteen years ago is not very relevant. And

282
00:15:55.320 --> 00:15:58.360
<v Speaker 1>so I worry that then it's going to go, oh, well,

283
00:15:59.320 --> 00:16:02.360
<v Speaker 1>I consider, you know, the thirteen year old content is

284
00:16:02.399 --> 00:16:06.720
<v Speaker 1>relevant as the right, and so maybe I can tell it, hey,

285
00:16:07.000 --> 00:16:09.679
<v Speaker 1>favor the newer stuff over the older stuff and put

286
00:16:09.679 --> 00:16:13.399
<v Speaker 1>that into the context. But yeah, I've kind of hesitated

287
00:16:13.440 --> 00:16:15.440
<v Speaker 1>on doing that just for that reason.

288
00:16:16.960 --> 00:16:22.200
<v Speaker 3>Yeah, you know, we're like we're edging very very close

289
00:16:22.320 --> 00:16:26.320
<v Speaker 3>to like the retrieval aspect of like AI design, which

290
00:16:26.600 --> 00:16:28.960
<v Speaker 3>maybe off topic a little bit because it's there's so

291
00:16:29.039 --> 00:16:35.879
<v Speaker 3>much there, but yeah, I mean I think we're if

292
00:16:35.879 --> 00:16:38.320
<v Speaker 3>we circle back to like the tools that we're using here,

293
00:16:38.480 --> 00:16:41.480
<v Speaker 3>like there's so much like that you can use out

294
00:16:41.720 --> 00:16:44.879
<v Speaker 3>off the shelf that like if you just use them

295
00:16:45.200 --> 00:16:48.600
<v Speaker 3>in the specific ways, like you can skirt around those issues.

296
00:16:48.720 --> 00:16:48.879
<v Speaker 2>Right.

297
00:16:48.919 --> 00:16:54.720
<v Speaker 3>So, Like as an example, there, there's somebody just released

298
00:16:54.759 --> 00:17:03.639
<v Speaker 3>this rails app called Nausea NSI a dot Ai. Yeah,

299
00:17:03.679 --> 00:17:07.079
<v Speaker 3>and it's like super awesome, runs on a Lama locally

300
00:17:07.599 --> 00:17:10.680
<v Speaker 3>and you can like upload whatever documents you want it

301
00:17:11.279 --> 00:17:14.519
<v Speaker 3>to use and run your own chat sept in a

302
00:17:14.599 --> 00:17:18.440
<v Speaker 3>reals context with all that stuff built in.

303
00:17:18.839 --> 00:17:21.359
<v Speaker 2>Really French or am I looking at the wrong thing?

304
00:17:22.160 --> 00:17:24.680
<v Speaker 3>Yeah? I mean the site I think is in French,

305
00:17:24.759 --> 00:17:26.079
<v Speaker 3>but the repo is in English.

306
00:17:26.480 --> 00:17:34.319
<v Speaker 2>Okay, well in Google translate it. It's it's good at that.

307
00:17:33.759 --> 00:17:37.119
<v Speaker 3>That's right. But yeah, I mean this idea is like

308
00:17:37.200 --> 00:17:39.359
<v Speaker 3>not new, right, Like, there's lots of other tools out

309
00:17:39.400 --> 00:17:42.400
<v Speaker 3>there as well that you can use to kind of

310
00:17:42.440 --> 00:17:46.799
<v Speaker 3>just get a local version of chatchipt running so that

311
00:17:46.880 --> 00:17:50.680
<v Speaker 3>you can do this with like if you have, for example,

312
00:17:50.720 --> 00:17:54.759
<v Speaker 3>you want to narrow the retrieval aspects to only relevant

313
00:17:54.799 --> 00:17:58.359
<v Speaker 3>stuff based on timestamp or something like that, Like that's

314
00:17:58.400 --> 00:18:04.160
<v Speaker 3>gonna require some like alteration. There's not anything built in

315
00:18:04.200 --> 00:18:07.480
<v Speaker 3>the chat GBT to allow that kind of granularity without

316
00:18:07.599 --> 00:18:09.400
<v Speaker 3>like building something on top of its.

317
00:18:09.240 --> 00:18:09.839
<v Speaker 2>A p I S.

318
00:18:12.960 --> 00:18:16.079
<v Speaker 3>But there's a lot more stuff coming out that I like,

319
00:18:16.480 --> 00:18:21.559
<v Speaker 3>uh that's revolves revolves around like the command line aspect

320
00:18:22.200 --> 00:18:28.440
<v Speaker 3>mm HM, where it'll like basically use your current working

321
00:18:28.480 --> 00:18:35.680
<v Speaker 3>directory as like a test bed two like scan for

322
00:18:35.799 --> 00:18:41.759
<v Speaker 3>relevant documents and also like uh, you know, build up.

323
00:18:41.839 --> 00:18:44.079
<v Speaker 3>It's like task at hand.

324
00:18:44.640 --> 00:18:44.799
<v Speaker 2>Uh.

325
00:18:44.880 --> 00:18:47.599
<v Speaker 3>So like one that immediate immediately comes to mind. As

326
00:18:47.599 --> 00:18:51.079
<v Speaker 3>a tool called eight er A I D E R

327
00:18:53.119 --> 00:18:59.720
<v Speaker 3>also runs fully mean to help. Yeah a lot, yeah,

328
00:18:59.759 --> 00:19:02.200
<v Speaker 3>a lot of the French in the AI space. Uh

329
00:19:02.400 --> 00:19:07.200
<v Speaker 3>you know hugging face as an example, definitely French yah

330
00:19:07.720 --> 00:19:11.319
<v Speaker 3>mixedtro right. So so many great AI things come out

331
00:19:11.319 --> 00:19:16.839
<v Speaker 3>of France. Uh. But you know with a tool like

332
00:19:16.839 --> 00:19:20.720
<v Speaker 3>eighter like h it basically uses tree sitter and like

333
00:19:20.839 --> 00:19:22.119
<v Speaker 3>scans through EU repo.

334
00:19:22.400 --> 00:19:22.559
<v Speaker 2>Right.

335
00:19:22.640 --> 00:19:25.759
<v Speaker 3>So if you're like, oh, I want to you know,

336
00:19:26.000 --> 00:19:31.240
<v Speaker 3>like change the you know, contact page to uh, you know,

337
00:19:31.319 --> 00:19:33.960
<v Speaker 3>add another field for this specific thing in my reils app,

338
00:19:34.240 --> 00:19:37.720
<v Speaker 3>it'll go through and it'll scan the rails app locally

339
00:19:38.440 --> 00:19:42.759
<v Speaker 3>and then find what files that it needs to include

340
00:19:42.799 --> 00:19:46.759
<v Speaker 3>as contexts and then walk through like a step by

341
00:19:46.759 --> 00:19:50.079
<v Speaker 3>step process of Okay, what files do we need to touch?

342
00:19:50.720 --> 00:19:52.440
<v Speaker 3>What changes do we need to make to make that

343
00:19:53.119 --> 00:19:53.920
<v Speaker 3>request happen?

344
00:19:54.519 --> 00:19:54.640
<v Speaker 2>Uh?

345
00:19:54.799 --> 00:19:57.400
<v Speaker 3>And you it could even like you know, alter these

346
00:19:57.440 --> 00:20:06.359
<v Speaker 3>files h which is really really exciting because ultimately that's

347
00:20:06.359 --> 00:20:09.359
<v Speaker 3>what that's what I would you know, I'd rather part

348
00:20:09.400 --> 00:20:12.039
<v Speaker 3>of the problem with like just using chat cheapt for

349
00:20:12.240 --> 00:20:17.319
<v Speaker 3>like you know, code generation in general, like it doesn't

350
00:20:17.359 --> 00:20:20.279
<v Speaker 3>have context, and it also like uh, you know, it

351
00:20:20.319 --> 00:20:23.079
<v Speaker 3>makes mistakes like all the time, and then you're like

352
00:20:23.519 --> 00:20:26.359
<v Speaker 3>stuck trying to figure out well, okay, well you know

353
00:20:26.400 --> 00:20:28.559
<v Speaker 3>what mistake is this? Like why is there about here?

354
00:20:28.759 --> 00:20:28.920
<v Speaker 2>Right?

355
00:20:28.960 --> 00:20:31.960
<v Speaker 3>And you can do that in chat cheapt too, but

356
00:20:32.000 --> 00:20:34.359
<v Speaker 3>it's just like it slows things down quite a lot,

357
00:20:35.720 --> 00:20:38.559
<v Speaker 3>and so when you get something that's more like wrapped

358
00:20:38.559 --> 00:20:42.000
<v Speaker 3>around the thing that you're building, it makes it much

359
00:20:42.839 --> 00:20:44.359
<v Speaker 3>like smoother of an experience.

360
00:20:47.440 --> 00:20:52.319
<v Speaker 2>That's awesome. So that that was aider or in French.

361
00:20:52.400 --> 00:20:59.240
<v Speaker 3>DA yeah, yeah, ader. And you know, there's like a

362
00:20:59.240 --> 00:21:01.960
<v Speaker 3>a more pol version of it, if if you will,

363
00:21:02.400 --> 00:21:10.559
<v Speaker 3>called code buff, but you know it's it's expensive, but

364
00:21:10.680 --> 00:21:13.960
<v Speaker 3>you know, uses the more flagship models like from open

365
00:21:14.000 --> 00:21:18.519
<v Speaker 3>ai or you know, anthropic depending on the context. So

366
00:21:18.680 --> 00:21:22.720
<v Speaker 3>like you get better quality outputs from it because of that,

367
00:21:23.480 --> 00:21:26.440
<v Speaker 3>and you could also use you know, open ai for

368
00:21:26.559 --> 00:21:32.359
<v Speaker 3>eight or two, but it's definitely not as polished as

369
00:21:32.359 --> 00:21:33.799
<v Speaker 3>ah as code buff.

370
00:21:34.359 --> 00:21:39.079
<v Speaker 1>Right, yeah, I'm trying to make sure we have all

371
00:21:39.119 --> 00:21:42.880
<v Speaker 1>the links in the like, like folks, if you're looking

372
00:21:42.880 --> 00:21:44.799
<v Speaker 1>for the links there. It's looked it looks like it's

373
00:21:44.799 --> 00:21:50.759
<v Speaker 1>posting it to Facebook, YouTube and Twitch and not Twitter LinkedIn,

374
00:21:51.039 --> 00:21:58.359
<v Speaker 1>so it'll it'll all be in the comments there. So yeah,

375
00:21:58.400 --> 00:22:00.640
<v Speaker 1>I mean that that's helpful just because, yeah, it can

376
00:22:00.680 --> 00:22:04.440
<v Speaker 1>work from the context of the stuff in your actual

377
00:22:04.519 --> 00:22:05.119
<v Speaker 1>code base.

378
00:22:09.559 --> 00:22:12.359
<v Speaker 3>Yeah, and I a lot of the back and forth

379
00:22:12.400 --> 00:22:20.000
<v Speaker 3>stuff with implementation related tasks, right, It's like it can

380
00:22:20.119 --> 00:22:24.920
<v Speaker 3>eat up time, right, Like it just reminds me of like,

381
00:22:28.119 --> 00:22:31.519
<v Speaker 3>you know, some some of the original like code generation stuff,

382
00:22:31.599 --> 00:22:34.799
<v Speaker 3>like even like Reils generators as an example, right, Like

383
00:22:34.839 --> 00:22:37.079
<v Speaker 3>it's just like it'll just dump a ton of code

384
00:22:37.119 --> 00:22:38.799
<v Speaker 3>at you and you're just like, well what do I

385
00:22:38.839 --> 00:22:39.240
<v Speaker 3>do with that?

386
00:22:39.839 --> 00:22:40.079
<v Speaker 2>Right?

387
00:22:40.599 --> 00:22:43.319
<v Speaker 3>Or if like it doesn't do what you want, like

388
00:22:43.519 --> 00:22:45.240
<v Speaker 3>you have to figure out what that is, and like

389
00:22:45.279 --> 00:22:49.160
<v Speaker 3>it doesn't know, right, Like there's no there's no context.

390
00:22:49.240 --> 00:22:52.279
<v Speaker 3>It's not aware of anything, right other than what it's

391
00:22:52.279 --> 00:22:52.880
<v Speaker 3>been trained on.

392
00:22:53.000 --> 00:22:53.440
<v Speaker 2>So, like.

393
00:22:56.599 --> 00:23:01.839
<v Speaker 3>It's definitely a it's a hard experience to like just

394
00:23:01.920 --> 00:23:05.000
<v Speaker 3>go in and I can't imagine like just imagine if

395
00:23:05.039 --> 00:23:07.640
<v Speaker 3>you were like learning reels for the first time, right

396
00:23:07.759 --> 00:23:12.200
<v Speaker 3>or Ruby or like even just like RESTful APIs, right,

397
00:23:12.319 --> 00:23:15.960
<v Speaker 3>Like I just remember those concepts being like, you know,

398
00:23:16.079 --> 00:23:18.519
<v Speaker 3>challenging to understand if you have something like that's just

399
00:23:18.640 --> 00:23:21.920
<v Speaker 3>generating stuff and you don't really understand how it works,

400
00:23:21.960 --> 00:23:25.400
<v Speaker 3>Like you could lose a whole day just like figuring

401
00:23:25.480 --> 00:23:29.920
<v Speaker 3>out a mistake it made. Where if like, you know,

402
00:23:30.000 --> 00:23:34.119
<v Speaker 3>you instead followed some tutorial that somebody wrote, like maybe

403
00:23:34.119 --> 00:23:37.839
<v Speaker 3>you would have a different experience. You know, they still

404
00:23:38.200 --> 00:23:40.559
<v Speaker 3>doing that though you have the same a similar experience

405
00:23:40.599 --> 00:23:43.759
<v Speaker 3>sometimes if you like are missing a package or something

406
00:23:43.799 --> 00:23:48.319
<v Speaker 3>like that, but like definitely more frequent with chat ChiPT.

407
00:23:49.319 --> 00:23:57.720
<v Speaker 1>Yeah so code buff and eight those are on the

408
00:23:57.759 --> 00:23:58.920
<v Speaker 1>command line, right.

409
00:24:01.680 --> 00:24:06.880
<v Speaker 3>Yep, yeah, those are all come in. I mean, you know,

410
00:24:06.880 --> 00:24:11.200
<v Speaker 3>there's so much Ruby stuff out there now, right, we

411
00:24:11.279 --> 00:24:15.440
<v Speaker 3>had Scott Warker from sub Layer. Sub Layer is awesome

412
00:24:15.720 --> 00:24:21.279
<v Speaker 3>like fully Ruby, like developer happiness, like AI helpers, right,

413
00:24:21.400 --> 00:24:24.000
<v Speaker 3>Like you can get it to like watch your file

414
00:24:24.079 --> 00:24:28.279
<v Speaker 3>system and perform actions with AI. You can do all

415
00:24:28.359 --> 00:24:31.279
<v Speaker 3>kinds of crazy stuff with it. I have one where

416
00:24:32.079 --> 00:24:34.319
<v Speaker 3>I'll feed it a Ruby file and it generates a

417
00:24:34.359 --> 00:24:37.839
<v Speaker 3>spec for me. So if I'm like, you know, prototyping

418
00:24:38.480 --> 00:24:41.599
<v Speaker 3>a new module or class or something like that, or

419
00:24:41.640 --> 00:24:44.000
<v Speaker 3>some Ruby code, I could just say if I like

420
00:24:44.039 --> 00:24:45.960
<v Speaker 3>wanted to turn it into something that I wanted to

421
00:24:45.960 --> 00:24:49.640
<v Speaker 3>share with people. I you know, hadn't made a speck yet,

422
00:24:49.759 --> 00:24:52.839
<v Speaker 3>but I was abstracting and just working on design concepts.

423
00:24:52.839 --> 00:24:55.039
<v Speaker 3>And now, all right, I flesh this out, I wanted

424
00:24:55.279 --> 00:24:59.240
<v Speaker 3>like tested, and I'll go and I'll say, hey, here's

425
00:24:59.319 --> 00:25:02.079
<v Speaker 3>a Ruby file, like can you create on our respect

426
00:25:02.119 --> 00:25:05.279
<v Speaker 3>test for this? And I just have a single command

427
00:25:05.279 --> 00:25:07.559
<v Speaker 3>line command and I just feed at the ruby file

428
00:25:07.599 --> 00:25:09.519
<v Speaker 3>and it generates the respect tests for me.

429
00:25:10.680 --> 00:25:14.920
<v Speaker 1>Oh wow, and it's awesome. I've been going through that

430
00:25:15.000 --> 00:25:21.480
<v Speaker 1>with one of my clients deals where like, yeah, they've

431
00:25:21.519 --> 00:25:26.839
<v Speaker 1>got this heinous you know class that has a bunch

432
00:25:26.839 --> 00:25:28.039
<v Speaker 1>of stuff going on in it.

433
00:25:28.799 --> 00:25:31.119
<v Speaker 2>And yeah, it was like, you know, they're.

434
00:25:30.960 --> 00:25:32.599
<v Speaker 1>Like, hey, you got to speed this up, and I'm like,

435
00:25:33.400 --> 00:25:35.480
<v Speaker 1>I am not messing with this thing until I have

436
00:25:35.519 --> 00:25:38.240
<v Speaker 1>a test on it, right, I mean, just just so

437
00:25:38.400 --> 00:25:40.799
<v Speaker 1>that I know that I didn't change the behavior, not

438
00:25:40.839 --> 00:25:45.240
<v Speaker 1>necessarily because the behavior is correct, though I'm sure it's

439
00:25:45.319 --> 00:25:47.079
<v Speaker 1>mostly correct because they've been using it that way for

440
00:25:47.079 --> 00:25:47.519
<v Speaker 1>a while.

441
00:25:49.319 --> 00:25:50.720
<v Speaker 2>So yeah, that sounds really handy.

442
00:25:51.839 --> 00:25:53.759
<v Speaker 3>Yeah, and you know, even two on their I think

443
00:25:53.759 --> 00:25:56.599
<v Speaker 3>on their docks, they have like or maybe it's on YouTube.

444
00:25:57.279 --> 00:26:03.279
<v Speaker 3>Scott has this demo where basically creates a you know,

445
00:26:04.599 --> 00:26:08.720
<v Speaker 3>a tool that like let's tell you can tell it.

446
00:26:09.519 --> 00:26:13.960
<v Speaker 3>Tell the tool. Okay, here's this file. I the tests

447
00:26:13.960 --> 00:26:16.839
<v Speaker 3>are failing, get them to pass, right, and it'll go

448
00:26:16.880 --> 00:26:18.960
<v Speaker 3>through and run through the code and like get the

449
00:26:19.000 --> 00:26:19.680
<v Speaker 3>tests to pass.

450
00:26:20.559 --> 00:26:20.960
<v Speaker 2>Oh wow.

451
00:26:22.400 --> 00:26:25.240
<v Speaker 3>And so like that's a more like advanced kind like

452
00:26:25.559 --> 00:26:29.880
<v Speaker 3>thing you can use it for. But like, yeah, I

453
00:26:29.880 --> 00:26:32.119
<v Speaker 3>mean I feel like we're just kind of starting to

454
00:26:32.160 --> 00:26:33.279
<v Speaker 3>scratch the surface here.

455
00:26:35.319 --> 00:26:35.519
<v Speaker 2>Yeah.

456
00:26:35.519 --> 00:26:40.319
<v Speaker 3>I mean it's hard because like all of these large

457
00:26:40.400 --> 00:26:46.400
<v Speaker 3>language models, they're not trained necessarily on Ruby, right, right,

458
00:26:46.480 --> 00:26:50.960
<v Speaker 3>And so like there there's obviously a small sample in

459
00:26:51.000 --> 00:26:53.400
<v Speaker 3>there or it wouldn't be able to do what it can,

460
00:26:54.599 --> 00:26:57.480
<v Speaker 3>but it definitely will. Like if you're using chat ChiPT heavily,

461
00:26:57.519 --> 00:27:02.640
<v Speaker 3>you'll see it like use Python related standard libraries for Ruby,

462
00:27:03.440 --> 00:27:06.680
<v Speaker 3>right And you're like, wait, that doesn't exist, Like how

463
00:27:06.680 --> 00:27:11.400
<v Speaker 3>did where are you requiring this, like you know, data

464
00:27:11.400 --> 00:27:14.319
<v Speaker 3>frames or something like that, which there are data frames

465
00:27:14.319 --> 00:27:16.799
<v Speaker 3>of Ruby, just not like natively.

466
00:27:16.559 --> 00:27:22.799
<v Speaker 1>Right, Yeah, I asked it to So I basically said, hey,

467
00:27:22.839 --> 00:27:29.920
<v Speaker 1>I want to run whisper locally to get diarized, which

468
00:27:29.960 --> 00:27:32.839
<v Speaker 1>means or a diarized transcript, I should say, so it

469
00:27:32.920 --> 00:27:36.160
<v Speaker 1>transcribes it, but then it assigns, you know, Speaker one

470
00:27:36.200 --> 00:27:42.119
<v Speaker 1>said this, Speaker two said that, and Whisper doesn't do

471
00:27:42.920 --> 00:27:45.319
<v Speaker 1>because I knew that Whisper doesn't do diarization out of

472
00:27:45.319 --> 00:27:48.920
<v Speaker 1>the box. And so yeah, its answer was install these

473
00:27:48.960 --> 00:27:54.880
<v Speaker 1>Python libraries and then call Python for Ruby. Well it's fine,

474
00:27:54.920 --> 00:27:59.160
<v Speaker 1>you know, okay, but you know because because I don't

475
00:27:59.200 --> 00:28:02.160
<v Speaker 1>know that there is a library that'll do it. But yeah,

476
00:28:02.319 --> 00:28:04.440
<v Speaker 1>it was. It was interesting, and in fact, I think

477
00:28:04.440 --> 00:28:09.680
<v Speaker 1>it started out saying, yeah, generating diaries transcripts for a

478
00:28:09.720 --> 00:28:13.319
<v Speaker 1>podcast episode of multiple guests using a local installation of

479
00:28:15.640 --> 00:28:18.680
<v Speaker 1>open ayes Whisper model and Ruby requires the following steps.

480
00:28:18.920 --> 00:28:21.599
<v Speaker 1>Install Whisper locally. Whisper is a Python library, so you

481
00:28:21.640 --> 00:28:25.839
<v Speaker 1>need Python installed and ensure that you have the required dependencies.

482
00:28:25.880 --> 00:28:27.480
<v Speaker 2>So I have to install ffm PEG.

483
00:28:28.119 --> 00:28:31.519
<v Speaker 1>And then it says it doesn't Whisper does not natively

484
00:28:31.519 --> 00:28:34.720
<v Speaker 1>perform speaker diroisation, so you have to use a diroization library,

485
00:28:35.000 --> 00:28:37.680
<v Speaker 1>and it tells you to use piannote dot audio, which

486
00:28:37.720 --> 00:28:41.880
<v Speaker 1>is also a Python library, and then it says integrate

487
00:28:41.920 --> 00:28:45.519
<v Speaker 1>with Ruby and so Yeah, then it's telling you to,

488
00:28:47.559 --> 00:28:50.759
<v Speaker 1>you know, write this quick little Python script and then

489
00:28:51.000 --> 00:28:52.920
<v Speaker 1>call the Python script from Ruby.

490
00:28:53.359 --> 00:28:57.759
<v Speaker 3>When it comes to like doing like larger scale builds, huh.

491
00:28:58.559 --> 00:29:00.559
<v Speaker 3>If you're trying to get chat cheepy t to like

492
00:29:00.880 --> 00:29:05.200
<v Speaker 3>build a full fledged command line application as an example, right, Like,

493
00:29:05.680 --> 00:29:09.000
<v Speaker 3>it's gonna struggle. There's gonna be a lot of back

494
00:29:09.000 --> 00:29:12.279
<v Speaker 3>and forth. You may have multiple chats open. You know,

495
00:29:14.000 --> 00:29:17.839
<v Speaker 3>it's gonna be difficult. The one thing I have us

496
00:29:17.920 --> 00:29:22.160
<v Speaker 3>it's worked well for that kind of thing is honestly

497
00:29:22.359 --> 00:29:27.640
<v Speaker 3>Claud and thropics claud setting up a project for that

498
00:29:27.920 --> 00:29:33.519
<v Speaker 3>specific thing that you're building, creating an overall context with

499
00:29:33.640 --> 00:29:36.400
<v Speaker 3>the purpose that you're using it for to build, and

500
00:29:36.920 --> 00:29:40.119
<v Speaker 3>outlining what all the requirements are in that, and then

501
00:29:40.160 --> 00:29:43.240
<v Speaker 3>you can just start iterating through the chats to implement

502
00:29:43.279 --> 00:29:47.079
<v Speaker 3>the specific features. I use that all the time, and

503
00:29:47.119 --> 00:29:52.400
<v Speaker 3>the code outputs it can like start like building on

504
00:29:52.440 --> 00:29:55.039
<v Speaker 3>top of itself. So it has these things called artifacts,

505
00:29:55.359 --> 00:29:57.599
<v Speaker 3>which are just the files that it generates, and you

506
00:29:57.599 --> 00:30:00.279
<v Speaker 3>can add them to the project as it creates things

507
00:30:00.279 --> 00:30:03.319
<v Speaker 3>that you like, and you can edit in context and

508
00:30:03.400 --> 00:30:05.960
<v Speaker 3>start including it in the project, and it will literally

509
00:30:05.960 --> 00:30:09.759
<v Speaker 3>build the whole application just like in front of you.

510
00:30:11.680 --> 00:30:17.160
<v Speaker 3>And it it's a little funny because there's a there's

511
00:30:17.200 --> 00:30:22.680
<v Speaker 3>this project called e to be Developer where they somebody

512
00:30:22.680 --> 00:30:24.839
<v Speaker 3>has built basically like an open source version of this

513
00:30:25.319 --> 00:30:29.839
<v Speaker 3>of Claude's artifacts. Or again you can like kind of

514
00:30:29.880 --> 00:30:34.519
<v Speaker 3>spin up your own like the last you know, like

515
00:30:34.599 --> 00:30:39.960
<v Speaker 3>a AWS instance and run have like the AI literally

516
00:30:40.359 --> 00:30:43.519
<v Speaker 3>like run files and and create files and run the

517
00:30:43.960 --> 00:30:47.240
<v Speaker 3>scripts and stuff. And so what people do with it

518
00:30:47.400 --> 00:30:49.799
<v Speaker 3>ultimately is like you can you can get it to

519
00:30:50.799 --> 00:30:54.119
<v Speaker 3>literally make like a front end game or like the

520
00:30:54.519 --> 00:30:57.039
<v Speaker 3>if you're building like a web app, it'll like build

521
00:30:57.119 --> 00:30:59.319
<v Speaker 3>the actual app and run it in the browser view.

522
00:31:00.839 --> 00:31:04.759
<v Speaker 2>So I mean this kind of because I mean we talked.

523
00:31:04.799 --> 00:31:07.039
<v Speaker 1>We started talking about, Okay, how do we enhance our

524
00:31:07.119 --> 00:31:13.599
<v Speaker 1>development experience with AI? I talk to people and they're

525
00:31:13.720 --> 00:31:17.559
<v Speaker 1>afraid of AI taking their jobs, and so it sounds

526
00:31:17.640 --> 00:31:21.000
<v Speaker 1>like you're getting real close to saying, you know, somebody

527
00:31:21.039 --> 00:31:24.319
<v Speaker 1>with a minimum level of prompt engineering experience might be

528
00:31:24.359 --> 00:31:26.440
<v Speaker 1>able to do it.

529
00:31:26.519 --> 00:31:31.839
<v Speaker 3>Well, there's a saying in the AI space garbage in,

530
00:31:31.920 --> 00:31:38.640
<v Speaker 3>garbage out, and so there's a yes and note to that, right,

531
00:31:38.759 --> 00:31:43.759
<v Speaker 3>like is it going to take all of our jobs now, right, Like, honestly,

532
00:31:44.000 --> 00:31:49.039
<v Speaker 3>it's like giving people superpowers, right, Like whatever powers you

533
00:31:49.079 --> 00:31:51.559
<v Speaker 3>do have now, like that's all your knowledge and all

534
00:31:51.559 --> 00:31:54.759
<v Speaker 3>your skills that you've accumulated or even if you're just

535
00:31:54.799 --> 00:31:58.240
<v Speaker 3>starting to accumulate them, right, Like, it basically just like

536
00:31:58.279 --> 00:32:03.759
<v Speaker 3>gives it, like amplifies all of that. So like if

537
00:32:04.559 --> 00:32:07.119
<v Speaker 3>if you're you know, if you want to be like

538
00:32:07.160 --> 00:32:11.440
<v Speaker 3>a senior dev, like you can honestly just start today

539
00:32:11.559 --> 00:32:15.759
<v Speaker 3>using AI tools, right, and you'll get pretty close. Right,

540
00:32:15.799 --> 00:32:19.960
<v Speaker 3>Like maybe maybe you know your job won't consider you that,

541
00:32:20.160 --> 00:32:24.759
<v Speaker 3>but like you'll definitely start to see a considerable improvement

542
00:32:24.920 --> 00:32:29.039
<v Speaker 3>in like how quickly you can accomplish things.

543
00:32:29.720 --> 00:32:31.359
<v Speaker 2>Right. I think.

544
00:32:33.400 --> 00:32:35.119
<v Speaker 1>I think the way that I think about it is

545
00:32:35.160 --> 00:32:37.519
<v Speaker 1>more along the lines of like just because you're talking

546
00:32:37.519 --> 00:32:40.440
<v Speaker 1>about it the same way I'm thinking about it, in that, hey,

547
00:32:40.440 --> 00:32:43.599
<v Speaker 1>this is a really really powerful tool, right, and so

548
00:32:43.680 --> 00:32:47.000
<v Speaker 1>it can shortcut a whole bunch of things that we

549
00:32:47.200 --> 00:32:50.039
<v Speaker 1>used to just go and have to kind of reinvent

550
00:32:50.119 --> 00:32:51.640
<v Speaker 1>by hand on a regular basis.

551
00:32:51.920 --> 00:32:52.119
<v Speaker 2>Right.

552
00:32:52.559 --> 00:32:58.319
<v Speaker 3>A perfect example is like the you know, post generator aspect. Right,

553
00:32:58.359 --> 00:33:01.279
<v Speaker 3>Like let's say you do real new and you're really

554
00:33:01.319 --> 00:33:03.680
<v Speaker 3>just trying to like get a page up that's like

555
00:33:04.119 --> 00:33:06.880
<v Speaker 3>let's you see users, right or whatever the resource you

556
00:33:06.920 --> 00:33:10.599
<v Speaker 3>may have. You know, there's a very specific series of

557
00:33:10.640 --> 00:33:12.759
<v Speaker 3>steps you follow just to get to that point where

558
00:33:12.799 --> 00:33:15.279
<v Speaker 3>you can start to crud through. Oh I want to

559
00:33:15.279 --> 00:33:17.400
<v Speaker 3>add this user with this, or I want to add

560
00:33:17.519 --> 00:33:19.680
<v Speaker 3>I want to contact lists, I want to add people.

561
00:33:20.680 --> 00:33:25.440
<v Speaker 3>You know, Like the AI can help like through all

562
00:33:25.440 --> 00:33:27.240
<v Speaker 3>those steps so that you don't have to focus on

563
00:33:27.240 --> 00:33:29.759
<v Speaker 3>all those upfront, right, Like you can just get to

564
00:33:29.799 --> 00:33:32.759
<v Speaker 3>that page and be like okay, great, now, like all

565
00:33:32.799 --> 00:33:36.920
<v Speaker 3>of that initialization configuration aspect which the generators start, but

566
00:33:37.039 --> 00:33:39.920
<v Speaker 3>you have to like finish out. Like that finishing out

567
00:33:40.000 --> 00:33:44.799
<v Speaker 3>portion is done too, right, Like you can sidestep a

568
00:33:44.799 --> 00:33:49.119
<v Speaker 3>lot of the you know, the tidying up that comes

569
00:33:49.160 --> 00:33:51.720
<v Speaker 3>from generators, which is kind of exciting, right because like

570
00:33:52.640 --> 00:33:56.680
<v Speaker 3>that aspect of programming is like widespread, right, Like the

571
00:33:56.759 --> 00:33:59.440
<v Speaker 3>idea of like okay, I have a template that I'm

572
00:33:59.440 --> 00:34:01.839
<v Speaker 3>working off of, and I want to customize it to

573
00:34:01.880 --> 00:34:05.799
<v Speaker 3>get to you know, round zero of my application mm hmm.

574
00:34:06.960 --> 00:34:10.519
<v Speaker 3>And like you have to get through that you know,

575
00:34:10.679 --> 00:34:14.039
<v Speaker 3>series of steps that you're just stepping through, and like

576
00:34:14.519 --> 00:34:17.000
<v Speaker 3>AI is great at that. It's great at stepping through stuff,

577
00:34:17.440 --> 00:34:21.800
<v Speaker 3>especially when all of those requirements are predefined, right like

578
00:34:22.239 --> 00:34:25.719
<v Speaker 3>Reel's new with what right, like you've been reels new

579
00:34:26.039 --> 00:34:28.000
<v Speaker 3>any number of things you could base it off an

580
00:34:28.039 --> 00:34:30.760
<v Speaker 3>existing template you have, you know, if you have a

581
00:34:30.840 --> 00:34:34.760
<v Speaker 3>gem you're building for Ruby, right like bundle gem new,

582
00:34:36.480 --> 00:34:40.119
<v Speaker 3>you know, you have like all of your existing authorships

583
00:34:40.159 --> 00:34:42.679
<v Speaker 3>and like where you're going to publish it to, Like

584
00:34:43.000 --> 00:34:45.639
<v Speaker 3>there's just like a lot of details that you end

585
00:34:45.719 --> 00:34:49.760
<v Speaker 3>up having to add every time that gets old, right,

586
00:34:50.079 --> 00:34:53.480
<v Speaker 3>and it's like repetitive, and like the more things that

587
00:34:53.519 --> 00:34:56.960
<v Speaker 3>you could just like get out of the way and

588
00:34:57.079 --> 00:35:00.280
<v Speaker 3>just start building. Like I bet right now now if

589
00:35:00.280 --> 00:35:02.800
<v Speaker 3>you look at ruby gems dot com, like there would

590
00:35:02.840 --> 00:35:06.639
<v Speaker 3>be a huge spike in published gems. I don't doubt

591
00:35:06.639 --> 00:35:10.920
<v Speaker 3>that right now. And I feel like that's maybe gonna

592
00:35:10.960 --> 00:35:15.960
<v Speaker 3>be where the jobs aspect comes in play here, is

593
00:35:16.000 --> 00:35:18.880
<v Speaker 3>that this is gonna be a lot more maintenance bur right,

594
00:35:19.039 --> 00:35:25.360
<v Speaker 3>Like you know, we can we can create exponentially, and

595
00:35:26.840 --> 00:35:28.760
<v Speaker 3>maintenance is going to drag behind.

596
00:35:28.440 --> 00:35:31.079
<v Speaker 2>There, right. Yeah.

597
00:35:31.119 --> 00:35:33.880
<v Speaker 1>I think the rest of the thought that I was

598
00:35:33.920 --> 00:35:35.480
<v Speaker 1>trying to make, and then I want to kind of

599
00:35:35.519 --> 00:35:38.280
<v Speaker 1>address the other piece that you're talking about here is that, Yeah,

600
00:35:38.400 --> 00:35:43.360
<v Speaker 1>effectively you have these tools that you know, if you're

601
00:35:43.360 --> 00:35:45.159
<v Speaker 1>still going to have to gain experience the same way

602
00:35:45.199 --> 00:35:47.920
<v Speaker 1>the rest of us do. Right, So you're going to

603
00:35:48.079 --> 00:35:52.480
<v Speaker 1>use AI, it's going to generate some stuff and then yeah,

604
00:35:52.519 --> 00:35:54.920
<v Speaker 1>you're you're gonna walk into the same walls that we did.

605
00:35:55.239 --> 00:35:58.000
<v Speaker 1>You just got there a little faster because you didn't

606
00:35:58.000 --> 00:36:00.679
<v Speaker 1>have to go and slog through all the stuff that

607
00:36:00.719 --> 00:36:03.800
<v Speaker 1>you already knew how to do right to get there.

608
00:36:04.000 --> 00:36:07.039
<v Speaker 1>And so I think that's where if you were already

609
00:36:07.079 --> 00:36:10.800
<v Speaker 1>a senior developer and you use these superpowers, then you

610
00:36:10.840 --> 00:36:14.280
<v Speaker 1>can use the tools essentially and say, I need this

611
00:36:14.360 --> 00:36:17.119
<v Speaker 1>refined this way, right, this isn't quite what I'm looking

612
00:36:17.159 --> 00:36:20.280
<v Speaker 1>for because I know that if if it's put together

613
00:36:20.400 --> 00:36:23.159
<v Speaker 1>like this, I'm opening myself up to this problem later.

614
00:36:23.880 --> 00:36:27.480
<v Speaker 1>And so hey, can you handle this too, right? And

615
00:36:27.679 --> 00:36:30.239
<v Speaker 1>and then it can modify the code.

616
00:36:31.000 --> 00:36:32.719
<v Speaker 3>I mean you bring up you bring up a great

617
00:36:32.760 --> 00:36:37.119
<v Speaker 3>point like if you're using AI as a tool and

618
00:36:37.280 --> 00:36:42.760
<v Speaker 3>you're getting hung up on something, then you're using it wrong, right,

619
00:36:42.880 --> 00:36:48.840
<v Speaker 3>Like if uh, if you're using the tool and like

620
00:36:49.480 --> 00:36:52.639
<v Speaker 3>you're kind of banging your head on like getting it

621
00:36:52.679 --> 00:36:56.119
<v Speaker 3>to do what you ask like it's it's more than

622
00:36:56.960 --> 00:37:00.119
<v Speaker 3>likely that it's just like you're you're not using it

623
00:37:00.159 --> 00:37:03.519
<v Speaker 3>the right way. It's like kind of funny because like

624
00:37:03.599 --> 00:37:06.239
<v Speaker 3>that's like a meme, right, Like it's like the holding

625
00:37:06.599 --> 00:37:12.360
<v Speaker 3>you're holding it wrong from Steve Jobs, right, right, But

626
00:37:12.400 --> 00:37:16.719
<v Speaker 3>it's so true, Like you know, like these the AI

627
00:37:16.880 --> 00:37:19.800
<v Speaker 3>tools are built like in very specific ways, and if

628
00:37:19.840 --> 00:37:22.639
<v Speaker 3>like you're not seeing the results you expect, like it's

629
00:37:23.000 --> 00:37:25.760
<v Speaker 3>you're you know, it's not being used in the way

630
00:37:25.760 --> 00:37:26.679
<v Speaker 3>that it should be.

631
00:37:27.000 --> 00:37:29.440
<v Speaker 1>Yeah, you need to give it more context or ask

632
00:37:29.559 --> 00:37:33.000
<v Speaker 1>it in a more specific way or a more appropriate way.

633
00:37:32.920 --> 00:37:35.760
<v Speaker 3>Or approach it completely differently, right, Like there there are

634
00:37:36.119 --> 00:37:38.840
<v Speaker 3>so many ways to get it to do the same thing,

635
00:37:40.039 --> 00:37:44.639
<v Speaker 3>and so like yeah, if you're like that's kind of

636
00:37:44.679 --> 00:37:47.199
<v Speaker 3>like the beauty of AI is like you can literally

637
00:37:47.239 --> 00:37:50.880
<v Speaker 3>scrap everything and start over like pretty quickly, right. And

638
00:37:51.960 --> 00:37:54.800
<v Speaker 3>I would say, if you're like trying trying to explore

639
00:37:55.280 --> 00:37:58.199
<v Speaker 3>the realms of all of this stuff, like use the

640
00:37:59.159 --> 00:38:02.000
<v Speaker 3>interfaces that make the most sense to you, right, because

641
00:38:02.000 --> 00:38:06.880
<v Speaker 3>there are so many and like you're if you're fighting

642
00:38:06.920 --> 00:38:09.000
<v Speaker 3>it early on, you're going to continue to fight it.

643
00:38:09.360 --> 00:38:18.360
<v Speaker 1>Yeah, yep, but I think overall, I guess to a

644
00:38:18.360 --> 00:38:22.400
<v Speaker 1>certain degree, then if it gives developers superpowers, going back

645
00:38:22.400 --> 00:38:26.039
<v Speaker 1>to the idea, is it going to take jobs? If

646
00:38:26.360 --> 00:38:28.519
<v Speaker 1>it gives us superpowers and it makes us that much

647
00:38:28.559 --> 00:38:33.480
<v Speaker 1>more efficient, then and this may be more of a

648
00:38:33.719 --> 00:38:37.360
<v Speaker 1>like a business philosophical question than an actual like practical

649
00:38:38.639 --> 00:38:40.360
<v Speaker 1>you know, are they going to fire developers?

650
00:38:41.360 --> 00:38:42.679
<v Speaker 2>Does that take away jobs?

651
00:38:42.880 --> 00:38:46.000
<v Speaker 1>Or does this just mean that, Hey, look, we've got

652
00:38:46.119 --> 00:38:49.519
<v Speaker 1>ex budget for developers, and so now we if we

653
00:38:49.599 --> 00:38:51.760
<v Speaker 1>train all of our people to use these tools to

654
00:38:51.840 --> 00:38:53.760
<v Speaker 1>enhance what they can do, we can get this much

655
00:38:53.800 --> 00:38:58.480
<v Speaker 1>more done. Right, And so do we actually lose jobs

656
00:38:58.960 --> 00:39:02.679
<v Speaker 1>or maybe do we lose junior developer jobs, which seems

657
00:39:02.760 --> 00:39:06.280
<v Speaker 1>kind of shortsighted because we are going to eventually need

658
00:39:06.320 --> 00:39:10.559
<v Speaker 1>more senior developers. How do you see that shaking out

659
00:39:10.599 --> 00:39:12.800
<v Speaker 1>in the grand scheme of things?

660
00:39:12.840 --> 00:39:13.639
<v Speaker 2>Or do we just not know?

661
00:39:15.360 --> 00:39:17.920
<v Speaker 3>I mean, I see it as more transitional, right, Like

662
00:39:19.480 --> 00:39:24.039
<v Speaker 3>the common analogy that I've heard is like the transition

663
00:39:24.199 --> 00:39:29.480
<v Speaker 3>from horse and buggy to automobiles, right, like very similar

664
00:39:29.840 --> 00:39:34.519
<v Speaker 3>modes of like transport, in that you have wheels right right,

665
00:39:35.199 --> 00:39:39.639
<v Speaker 3>and you have like somebody steering it. It's just a

666
00:39:39.679 --> 00:39:43.159
<v Speaker 3>matter of what's powering it, right, that changes, but the

667
00:39:43.159 --> 00:39:46.239
<v Speaker 3>infrastructure and things related to it and all, like as

668
00:39:46.280 --> 00:39:49.880
<v Speaker 3>an example, whips, Like you know, the accessories around all

669
00:39:49.920 --> 00:39:54.119
<v Speaker 3>of this stuff are just changing shape, right, right, but

670
00:39:54.199 --> 00:39:58.719
<v Speaker 3>the underlying infrastructure around it is still very much the same.

671
00:39:59.239 --> 00:39:59.440
<v Speaker 2>Right.

672
00:40:01.119 --> 00:40:03.400
<v Speaker 1>So we may need less people that shovel poop and

673
00:40:03.440 --> 00:40:07.559
<v Speaker 1>more people that are machinists and auto mechanics exactly.

674
00:40:07.639 --> 00:40:10.960
<v Speaker 3>I think that's ultimately where we're going to get into,

675
00:40:11.159 --> 00:40:16.199
<v Speaker 3>is like more specialized aspects, right, And like that's honestly

676
00:40:16.199 --> 00:40:20.159
<v Speaker 3>what we've been seeing taking shape before AI started, as

677
00:40:20.199 --> 00:40:25.199
<v Speaker 3>like frameworks become more popular, and like Kubernetes as an example, right,

678
00:40:25.280 --> 00:40:28.679
<v Speaker 3>like all of these abstractions, I mean, DH makes a

679
00:40:28.679 --> 00:40:32.679
<v Speaker 3>great point like about abstractions in general. If you get

680
00:40:32.719 --> 00:40:37.960
<v Speaker 3>abstract away like the concepts in a way that you

681
00:40:38.000 --> 00:40:42.199
<v Speaker 3>know makes it so that you have a more straightforward

682
00:40:42.360 --> 00:40:47.519
<v Speaker 3>point of use, right, Like all the details like somebody

683
00:40:47.519 --> 00:40:51.159
<v Speaker 3>else is working on those, right, right, and you can

684
00:40:51.920 --> 00:40:54.679
<v Speaker 3>you know rest assured that you know, those people that

685
00:40:54.719 --> 00:40:57.360
<v Speaker 3>are specialized in it are going to produce you know

686
00:40:57.599 --> 00:41:02.800
<v Speaker 3>that make it easier and more modular and extendable, uh

687
00:41:03.599 --> 00:41:06.119
<v Speaker 3>for your general purpose use right, Right?

688
00:41:07.559 --> 00:41:10.320
<v Speaker 1>So I'm gonna shift gears on you just a little

689
00:41:10.320 --> 00:41:14.880
<v Speaker 1>bit because we've talked about using AI mostly to generate code,

690
00:41:15.280 --> 00:41:17.159
<v Speaker 1>and then you were talking about how you can use

691
00:41:17.280 --> 00:41:25.280
<v Speaker 1>Claude to effectively incrementally generate basically an entire application. Actually,

692
00:41:25.320 --> 00:41:28.039
<v Speaker 1>I'm gonna change my question because it came into my

693
00:41:28.079 --> 00:41:30.239
<v Speaker 1>head as I was talking about this. So if if

694
00:41:30.239 --> 00:41:33.480
<v Speaker 1>you've got something like Claude that can generate pretty much

695
00:41:33.519 --> 00:41:36.719
<v Speaker 1>an entire application, I mean, are there limitations to that?

696
00:41:37.000 --> 00:41:38.920
<v Speaker 2>Like? Are there are there areas.

697
00:41:38.519 --> 00:41:40.920
<v Speaker 1>Where you may tell it you want it to generate

698
00:41:41.960 --> 00:41:44.960
<v Speaker 1>a thing, and it's just not you know, it's not

699
00:41:45.000 --> 00:41:46.639
<v Speaker 1>going to be good at that, or it's good at

700
00:41:46.639 --> 00:41:48.760
<v Speaker 1>to it up, good at it up to a certain point,

701
00:41:48.800 --> 00:41:49.440
<v Speaker 1>and then after that.

702
00:41:50.679 --> 00:41:53.280
<v Speaker 3>Yeah, I mean I definitely see the limitations, right, Like, uh,

703
00:41:53.800 --> 00:41:56.320
<v Speaker 3>it's good up to a point. It's good at like

704
00:41:56.880 --> 00:42:00.880
<v Speaker 3>cobbling together like uh, you know, MVP or like a

705
00:42:00.960 --> 00:42:03.880
<v Speaker 3>first version of something, But as soon as you want

706
00:42:03.920 --> 00:42:06.960
<v Speaker 3>to add something new or make changes to it, it

707
00:42:07.039 --> 00:42:10.880
<v Speaker 3>starts to break down pretty quickly, right, And what you

708
00:42:10.960 --> 00:42:13.000
<v Speaker 3>end up having to do is break it apart. And

709
00:42:13.239 --> 00:42:17.079
<v Speaker 3>I'm honestly very similar to just general software engineering, right

710
00:42:17.199 --> 00:42:19.719
<v Speaker 3>is like you break it apart in the smaller pieces

711
00:42:19.840 --> 00:42:23.920
<v Speaker 3>and then focus on those smaller pieces. Yeah, and I

712
00:42:24.079 --> 00:42:27.719
<v Speaker 3>know Ken Beck has like a great like saying around

713
00:42:27.760 --> 00:42:31.719
<v Speaker 3>this on like, you know, make the change easy and

714
00:42:31.760 --> 00:42:35.159
<v Speaker 3>then make the easy change right, like right, And that's

715
00:42:35.239 --> 00:42:38.360
<v Speaker 3>ultimately what ends up happening as you start to develop

716
00:42:38.800 --> 00:42:42.320
<v Speaker 3>like things with AI on a larger scale.

717
00:42:42.920 --> 00:42:44.880
<v Speaker 1>So you kind of answered the other question I was

718
00:42:44.920 --> 00:42:48.320
<v Speaker 1>going to ask, which was, so, let's say I have

719
00:42:48.880 --> 00:42:50.519
<v Speaker 1>like a bunch of code. I don't want to say

720
00:42:50.599 --> 00:42:53.599
<v Speaker 1>legacy code, because people take that to mean different things. Right,

721
00:42:53.639 --> 00:42:56.480
<v Speaker 1>if you read Michael Feathers, it's just code without tests.

722
00:42:57.800 --> 00:43:01.199
<v Speaker 1>But you know, so you've got this older code that

723
00:43:01.480 --> 00:43:03.719
<v Speaker 1>you know was written I don't know, five years ago

724
00:43:03.840 --> 00:43:08.039
<v Speaker 1>or something that still works, but you find, hey, maybe

725
00:43:08.079 --> 00:43:11.159
<v Speaker 1>I want to refactor it so that it's easier to maintain,

726
00:43:11.239 --> 00:43:13.719
<v Speaker 1>or I want to I want to add a feature

727
00:43:13.719 --> 00:43:18.760
<v Speaker 1>to it. Right, And so I was going to say,

728
00:43:18.800 --> 00:43:21.760
<v Speaker 1>mostly we were talking about generating code, but yeah, what

729
00:43:21.800 --> 00:43:25.960
<v Speaker 1>about modifying code or refactoring code or rethinking code. And

730
00:43:26.039 --> 00:43:28.559
<v Speaker 1>it sounds like the answer to that is, yeah, you

731
00:43:28.559 --> 00:43:32.639
<v Speaker 1>you take the relevant parts out, you tell your large

732
00:43:32.719 --> 00:43:37.199
<v Speaker 1>language model about it. Right here, here's here's my view,

733
00:43:37.280 --> 00:43:40.519
<v Speaker 1>here's my controller, here's my model. You know, here's the

734
00:43:40.559 --> 00:43:44.719
<v Speaker 1>feature that it's supposed to implement. You know, I need

735
00:43:44.760 --> 00:43:46.639
<v Speaker 1>to add this other feature and then see what it

736
00:43:46.679 --> 00:43:47.199
<v Speaker 1>does with it.

737
00:43:47.760 --> 00:43:51.840
<v Speaker 3>Yeah, I mean pretty much. And you know, circling back

738
00:43:51.880 --> 00:43:58.440
<v Speaker 3>to like the more you know, the more point of

739
00:43:58.559 --> 00:44:02.280
<v Speaker 3>use tools like or like code buffer or something like that,

740
00:44:06.079 --> 00:44:09.239
<v Speaker 3>you know, like it can gather that context for you.

741
00:44:09.559 --> 00:44:12.920
<v Speaker 3>Like the most difficult part of the whole were factoring

742
00:44:13.400 --> 00:44:17.440
<v Speaker 3>aspect and making modification. Is like the code, the you

743
00:44:17.440 --> 00:44:21.679
<v Speaker 3>know file spread, right, Like if you have this giant

744
00:44:22.000 --> 00:44:24.519
<v Speaker 3>you know, service class that you've just put everything in

745
00:44:24.639 --> 00:44:28.159
<v Speaker 3>to make the abstraction easier, and it's just becoming too

746
00:44:28.199 --> 00:44:30.400
<v Speaker 3>and wieldly to make changes to it, and you want

747
00:44:30.440 --> 00:44:33.960
<v Speaker 3>to break it apart into smaller pieces so that the

748
00:44:34.000 --> 00:44:38.920
<v Speaker 3>responsibilities are broken out appropriately, right, getting it to extract

749
00:44:38.960 --> 00:44:41.119
<v Speaker 3>those and make new files and things like that, and

750
00:44:41.119 --> 00:44:43.559
<v Speaker 3>getting it to orchestrate all of them, like that kind

751
00:44:43.599 --> 00:44:48.000
<v Speaker 3>of change becomes more difficult, and so like that's where

752
00:44:48.039 --> 00:44:52.440
<v Speaker 3>like again back to the specialists, like you know, that's

753
00:44:52.440 --> 00:44:55.119
<v Speaker 3>why I don't think our jobs are going anywhere necessarily,

754
00:44:56.400 --> 00:45:00.480
<v Speaker 3>is like, you know, it doesn't know how to make

755
00:45:00.719 --> 00:45:06.719
<v Speaker 3>code friendly and easy to read, right, right, and.

756
00:45:05.920 --> 00:45:07.760
<v Speaker 2>It just knows how to make code like what it's

757
00:45:07.800 --> 00:45:08.840
<v Speaker 2>already been trained.

758
00:45:08.960 --> 00:45:12.119
<v Speaker 3>Exactly, and so like let's say even that you get

759
00:45:12.199 --> 00:45:14.320
<v Speaker 3>it to train on a whole bunch of code that

760
00:45:14.320 --> 00:45:17.280
<v Speaker 3>you have that is in a pleasant way, Like it'll

761
00:45:17.320 --> 00:45:20.559
<v Speaker 3>get to a point where, you know, you're trying to

762
00:45:20.639 --> 00:45:24.239
<v Speaker 3>do something novel, You're trying to introduce a new concept,

763
00:45:24.719 --> 00:45:27.079
<v Speaker 3>and like it doesn't know how to break apart the

764
00:45:27.119 --> 00:45:32.480
<v Speaker 3>existing design concepts and apply it to the new novel

765
00:45:32.599 --> 00:45:37.000
<v Speaker 3>approach of implementing something that you're trying to do. So

766
00:45:37.119 --> 00:45:39.719
<v Speaker 3>like it might be able to get like, okay, we

767
00:45:39.760 --> 00:45:44.159
<v Speaker 3>want a service class. We want to you know, encapsulate

768
00:45:44.199 --> 00:45:47.480
<v Speaker 3>this form logic in an object oriented way. It can

769
00:45:47.519 --> 00:45:51.400
<v Speaker 3>do these abstract concepts, but like the actual implementation of

770
00:45:51.480 --> 00:45:54.599
<v Speaker 3>the whole flow starts to break apart, and like it'll

771
00:45:54.639 --> 00:45:57.920
<v Speaker 3>just become messy and like a messy as a human

772
00:45:58.159 --> 00:46:01.480
<v Speaker 3>right to read, where like maybe the code works and

773
00:46:01.519 --> 00:46:05.079
<v Speaker 3>it runs, but you know, the naming conventions may will

774
00:46:05.119 --> 00:46:07.679
<v Speaker 3>start to break down and it won't make sense. It'll

775
00:46:07.679 --> 00:46:10.199
<v Speaker 3>just make sense to like the very specific things that

776
00:46:10.239 --> 00:46:15.360
<v Speaker 3>it's making, right, and it does yeah, I mean it

777
00:46:15.360 --> 00:46:19.119
<v Speaker 3>doesn't have knowledge of the world at every moment, right, Yeah,

778
00:46:19.199 --> 00:46:19.840
<v Speaker 3>that makes sense.

779
00:46:23.000 --> 00:46:24.719
<v Speaker 2>Right, So we go from.

780
00:46:25.960 --> 00:46:29.760
<v Speaker 1>Sort of the you know, like I said, shoveling shoveling

781
00:46:29.800 --> 00:46:33.880
<v Speaker 1>poop right where it's you know, kind of the generic,

782
00:46:34.119 --> 00:46:38.480
<v Speaker 1>easy to pick out cleanups that you know, it may

783
00:46:38.519 --> 00:46:40.679
<v Speaker 1>pick up just because it's got a bunch of code

784
00:46:40.679 --> 00:46:43.679
<v Speaker 1>samples that it was trained on that are reasonably well

785
00:46:43.679 --> 00:46:47.320
<v Speaker 1>written and so it you know, it can adapt a

786
00:46:47.320 --> 00:46:49.840
<v Speaker 1>lot of that stuff out. But yeah, the more involved

787
00:46:49.840 --> 00:46:52.679
<v Speaker 1>re factors and things like that it just does hasn't

788
00:46:52.719 --> 00:46:53.320
<v Speaker 1>been trained on.

789
00:46:53.679 --> 00:46:56.480
<v Speaker 2>I get from here to hear, right, And.

790
00:46:56.480 --> 00:47:00.440
<v Speaker 3>Yeah, I mean it is great for a factor if

791
00:47:00.480 --> 00:47:04.360
<v Speaker 3>you have the narrow enough scope where okay, you have

792
00:47:04.559 --> 00:47:06.800
<v Speaker 3>like even if you have like three files and you're like,

793
00:47:07.199 --> 00:47:09.360
<v Speaker 3>this is just too many files to handle, Like, can

794
00:47:09.440 --> 00:47:12.679
<v Speaker 3>we like reduce the complexity here, Like you can guide

795
00:47:12.719 --> 00:47:15.639
<v Speaker 3>it in a way that it can help you eventually

796
00:47:15.639 --> 00:47:20.599
<v Speaker 3>reach the goal that you're trying to get. But right, like,

797
00:47:20.639 --> 00:47:23.559
<v Speaker 3>if you don't understand how to help it get there,

798
00:47:24.360 --> 00:47:27.320
<v Speaker 3>how to help it help you get there right, right,

799
00:47:29.239 --> 00:47:32.039
<v Speaker 3>then it's going to be more difficult to work with

800
00:47:32.079 --> 00:47:33.920
<v Speaker 3>it than it is. Just you figuring it out.

801
00:47:34.280 --> 00:47:36.239
<v Speaker 1>Right, So so you may be able to handle a

802
00:47:36.320 --> 00:47:39.760
<v Speaker 1>class with five hundred lines in it and say, this

803
00:47:39.840 --> 00:47:42.440
<v Speaker 1>class is too large? What responsibilities do you see here?

804
00:47:42.480 --> 00:47:44.639
<v Speaker 1>And it may may not be able to pick them out,

805
00:47:44.760 --> 00:47:46.920
<v Speaker 1>and then if it does, then maybe you can start

806
00:47:46.960 --> 00:47:51.000
<v Speaker 1>asking it, okay, which methods belong to which responsibility and

807
00:47:51.039 --> 00:47:53.400
<v Speaker 1>then from there you can start to figure out how

808
00:47:53.400 --> 00:47:56.360
<v Speaker 1>to have it help you divvy it up and you know,

809
00:47:56.440 --> 00:47:57.599
<v Speaker 1>extract the class.

810
00:47:58.039 --> 00:48:01.079
<v Speaker 3>Yeah, and I'm hopeful that like all this stuff, like

811
00:48:01.119 --> 00:48:04.480
<v Speaker 3>with these models, a lot of this comes out of there, right,

812
00:48:04.480 --> 00:48:07.719
<v Speaker 3>because like that's ultimately where software like comes in play.

813
00:48:07.840 --> 00:48:12.719
<v Speaker 3>Is like you have these like design you know, buffer

814
00:48:12.840 --> 00:48:16.199
<v Speaker 3>ahead of time that you work through to figure out

815
00:48:16.280 --> 00:48:21.559
<v Speaker 3>ultimately what needs to change or get created, and like

816
00:48:21.639 --> 00:48:27.960
<v Speaker 3>that's very step wise, like and you know that process

817
00:48:28.039 --> 00:48:31.880
<v Speaker 3>is like, okay, I'm thinking about doing this thing. Help

818
00:48:31.960 --> 00:48:36.039
<v Speaker 3>me break out the steps, what approaches are there? And

819
00:48:36.559 --> 00:48:40.840
<v Speaker 3>once you've scattered and then figured out which one pieces

820
00:48:40.880 --> 00:48:45.519
<v Speaker 3>of it that you actually care about, right right, getting

821
00:48:45.559 --> 00:48:51.159
<v Speaker 3>it to identify those things is nice, And then you're

822
00:48:51.199 --> 00:48:54.199
<v Speaker 3>still left with, Okay, well I should make the best

823
00:48:54.280 --> 00:48:58.920
<v Speaker 3>choice in this moment, which you know I'm hopeful that

824
00:48:58.960 --> 00:49:03.559
<v Speaker 3>the future my like focus more around like the selection

825
00:49:04.280 --> 00:49:09.760
<v Speaker 3>aspect of those design choices. But yeah, there's still a

826
00:49:09.800 --> 00:49:13.360
<v Speaker 3>lot of like the reasoning aspect of these things that

827
00:49:14.119 --> 00:49:14.639
<v Speaker 3>is missing.

828
00:49:15.559 --> 00:49:20.119
<v Speaker 2>Right, So are there other tools or approaches that you're using.

829
00:49:22.760 --> 00:49:27.719
<v Speaker 3>Let's see what else is in my toolbox? I mean yeah,

830
00:49:27.760 --> 00:49:31.480
<v Speaker 3>I mean for design stuff, I definitely use that software

831
00:49:31.519 --> 00:49:38.800
<v Speaker 3>architect mentor one. Just to hash through ideas, I use

832
00:49:38.880 --> 00:49:42.719
<v Speaker 3>lane chain a lot. Lange Chain RB has some great

833
00:49:42.760 --> 00:49:52.719
<v Speaker 3>abstractions around working with AI development and integration. We talked

834
00:49:52.719 --> 00:49:56.559
<v Speaker 3>about ray r ai X just great like rails plug

835
00:49:56.559 --> 00:49:59.480
<v Speaker 3>in to just like get your Rails app hooked up

836
00:49:59.519 --> 00:50:03.280
<v Speaker 3>to various AI related design things.

837
00:50:07.039 --> 00:50:10.039
<v Speaker 2>Yeah, and there's Ray and then there's Ray rails. Ye.

838
00:50:10.719 --> 00:50:14.000
<v Speaker 1>So the one is the Ruby extension, the other one

839
00:50:14.039 --> 00:50:14.840
<v Speaker 1>is the race and.

840
00:50:15.199 --> 00:50:17.280
<v Speaker 3>To be honest, lane chain or B they have lane

841
00:50:17.360 --> 00:50:22.320
<v Speaker 3>chain reels which also adds some similar integrations. And then

842
00:50:22.360 --> 00:50:26.440
<v Speaker 3>there's the whole agent side of things too, which.

843
00:50:29.360 --> 00:50:31.360
<v Speaker 1>Isn't that what Ray is kind of focused around, is

844
00:50:31.360 --> 00:50:34.719
<v Speaker 1>building those agents or are you talking about agents that

845
00:50:34.719 --> 00:50:37.440
<v Speaker 1>people have already built for Ruby stuff?

846
00:50:38.480 --> 00:50:41.519
<v Speaker 3>So there's like there's two ways of thinking about it.

847
00:50:41.639 --> 00:50:44.360
<v Speaker 3>Like if you're just like if you want to augment

848
00:50:44.480 --> 00:50:47.280
<v Speaker 3>your applications with AI, like use it as a tool.

849
00:50:47.519 --> 00:50:51.159
<v Speaker 3>Like that's more like Ray or things like that where

850
00:50:51.159 --> 00:50:54.159
<v Speaker 3>you just want to introduce, Hey, I have this model

851
00:50:54.239 --> 00:50:57.239
<v Speaker 3>and I wanted to auto generate stuff based on these

852
00:50:57.320 --> 00:51:00.199
<v Speaker 3>column names, or I have this prompt and I want

853
00:51:00.239 --> 00:51:03.880
<v Speaker 3>to guide through a process and you can create kind

854
00:51:03.920 --> 00:51:06.440
<v Speaker 3>of like these abstractions around those ideas.

855
00:51:07.440 --> 00:51:09.960
<v Speaker 1>That's the level that I'm looking at working in. So,

856
00:51:10.039 --> 00:51:12.920
<v Speaker 1>for example, with what I've built for top end devs,

857
00:51:13.840 --> 00:51:17.079
<v Speaker 1>I'm basically to the point now where I'm starting to

858
00:51:17.119 --> 00:51:20.079
<v Speaker 1>show other people how I run things, and they're telling

859
00:51:20.079 --> 00:51:22.480
<v Speaker 1>me that they want my platform as much as they

860
00:51:22.519 --> 00:51:27.320
<v Speaker 1>want my method, right, and so I'm imagining, yeah, you

861
00:51:27.400 --> 00:51:30.679
<v Speaker 1>have something that you built in Ray, and it's essentially

862
00:51:32.159 --> 00:51:36.000
<v Speaker 1>you know, so like when our guest today almost said

863
00:51:36.039 --> 00:51:37.920
<v Speaker 1>his name, but I don't want to call him out.

864
00:51:37.960 --> 00:51:40.199
<v Speaker 1>He's a great guy and you know that he had

865
00:51:40.199 --> 00:51:43.280
<v Speaker 1>a good reason for canceling today. But right, so if

866
00:51:43.280 --> 00:51:46.079
<v Speaker 1>that happened, right, I would like it to go and

867
00:51:46.119 --> 00:51:49.719
<v Speaker 1>have my agent with has access to the back end,

868
00:51:49.960 --> 00:51:54.480
<v Speaker 1>right say okay, we're gonna we're going to reschedule him

869
00:51:54.639 --> 00:51:58.159
<v Speaker 1>for whenever or you know, we're going to pick another

870
00:51:58.199 --> 00:52:01.039
<v Speaker 1>topic and bring it in right and have it intelligently

871
00:52:01.079 --> 00:52:03.679
<v Speaker 1>do that, but then also have my users be able

872
00:52:03.719 --> 00:52:06.880
<v Speaker 1>to as much as they go in and just modify

873
00:52:06.920 --> 00:52:10.079
<v Speaker 1>stuff in the form right that I built in rails,

874
00:52:10.480 --> 00:52:14.840
<v Speaker 1>but also just say I don't like the title of

875
00:52:14.920 --> 00:52:17.920
<v Speaker 1>episode five hundred and twenty two. I think it needs

876
00:52:17.920 --> 00:52:21.360
<v Speaker 1>to be more focused on this topic or you know,

877
00:52:22.119 --> 00:52:25.159
<v Speaker 1>we use this as an example. So like JavaScript Jabber,

878
00:52:25.679 --> 00:52:28.920
<v Speaker 1>one of the episodes, I kept bringing up examples from

879
00:52:29.000 --> 00:52:33.119
<v Speaker 1>rails to illustrate points, right, And so the AI generated

880
00:52:33.199 --> 00:52:35.599
<v Speaker 1>title that wound up getting put in there without me

881
00:52:35.639 --> 00:52:38.960
<v Speaker 1>catching it had rails in the title, and that wasn't

882
00:52:38.960 --> 00:52:41.519
<v Speaker 1>what the episode was about at all, and so it

883
00:52:41.559 --> 00:52:43.039
<v Speaker 1>would have been nice to be able to just tell

884
00:52:43.079 --> 00:52:46.000
<v Speaker 1>it instead of going in and try and do whatever.

885
00:52:46.119 --> 00:52:49.039
<v Speaker 2>Say I need a title that is less.

886
00:52:48.800 --> 00:52:51.559
<v Speaker 1>Focused on you know, that doesn't include rails and talks

887
00:52:51.559 --> 00:52:54.719
<v Speaker 1>about this topic instead, and then have it smart enough

888
00:52:54.719 --> 00:52:56.920
<v Speaker 1>to go and generate a new title and.

889
00:52:56.840 --> 00:52:58.800
<v Speaker 2>Ask me if that's okay. Kind of thing.

890
00:52:59.800 --> 00:53:02.440
<v Speaker 1>Right where the UI is now, I can either speak

891
00:53:02.440 --> 00:53:04.360
<v Speaker 1>to it or type into a chat and have it

892
00:53:04.400 --> 00:53:07.280
<v Speaker 1>do the right thing. Reschedule this episode Okay, I'm going

893
00:53:07.320 --> 00:53:08.440
<v Speaker 1>to go modify it in the calendar.

894
00:53:08.480 --> 00:53:10.599
<v Speaker 2>I'm gonna go send new invites to the guests.

895
00:53:10.400 --> 00:53:14.159
<v Speaker 1>And the hosts and right do all the other process

896
00:53:14.239 --> 00:53:17.639
<v Speaker 1>things because it has access to the back end of

897
00:53:18.000 --> 00:53:18.599
<v Speaker 1>my system.

898
00:53:18.679 --> 00:53:19.440
<v Speaker 2>Does that make sense?

899
00:53:19.880 --> 00:53:20.840
<v Speaker 3>Yeah, that makes sense.

900
00:53:20.960 --> 00:53:22.880
<v Speaker 1>I get excited about that, And I think that that

901
00:53:23.639 --> 00:53:28.119
<v Speaker 1>is a more intuitive interface for a lot of business

902
00:53:28.159 --> 00:53:31.440
<v Speaker 1>owners that literally just want a content strategy that gets

903
00:53:31.480 --> 00:53:32.199
<v Speaker 1>a business.

904
00:53:32.719 --> 00:53:34.679
<v Speaker 3>Yeah. I mean, if you're just trying to supplement your

905
00:53:34.719 --> 00:53:40.559
<v Speaker 3>existing business, right like using something like ray or lang

906
00:53:40.639 --> 00:53:44.360
<v Speaker 3>Chain or one of these other supplemental libraries, right, Like,

907
00:53:44.559 --> 00:53:46.360
<v Speaker 3>that makes a lot of sense. It just looks right

908
00:53:46.400 --> 00:53:51.400
<v Speaker 3>into it, you know, very minimal modification and like long

909
00:53:51.519 --> 00:53:55.159
<v Speaker 3>term support. Just like it's super easy to modify and

910
00:53:55.519 --> 00:53:57.199
<v Speaker 3>update the prompts pretty easily.

911
00:53:57.400 --> 00:53:57.599
<v Speaker 2>Right.

912
00:53:58.559 --> 00:54:01.079
<v Speaker 3>But if you're trying to get like something more complex

913
00:54:01.199 --> 00:54:04.199
<v Speaker 3>out of like the AI systems, that's kind of where

914
00:54:04.239 --> 00:54:07.280
<v Speaker 3>like agentic system design comes in play.

915
00:54:07.960 --> 00:54:08.199
<v Speaker 2>Uh.

916
00:54:08.239 --> 00:54:11.320
<v Speaker 3>And that's like where you want like, uh, you know,

917
00:54:11.400 --> 00:54:14.199
<v Speaker 3>AI to to do a specific job and like a

918
00:54:14.320 --> 00:54:17.440
<v Speaker 3>chain through a bunch of steps. Uh. And so like

919
00:54:17.480 --> 00:54:22.000
<v Speaker 3>there's tools like active agents as an example, justin Bowen, Uh,

920
00:54:22.039 --> 00:54:26.760
<v Speaker 3>he just released these uh this framework which is pretty

921
00:54:26.760 --> 00:54:34.159
<v Speaker 3>awesome uh for managing agentic system flows like that. And

922
00:54:34.199 --> 00:54:38.519
<v Speaker 3>then there's like you know Alex Rudall, we had him

923
00:54:38.519 --> 00:54:43.199
<v Speaker 3>on He's the Ruby open Ai author, right. He has

924
00:54:43.239 --> 00:54:48.679
<v Speaker 3>AI engine, UH, the AI engine Jim it's with reels

925
00:54:48.679 --> 00:54:51.719
<v Speaker 3>ai dot com uh. And that he has you know

926
00:54:51.800 --> 00:54:57.639
<v Speaker 3>assistance ah, you know framework built in where you can

927
00:54:57.679 --> 00:55:04.800
<v Speaker 3>just hook into uh to get various code like you know,

928
00:55:04.880 --> 00:55:10.199
<v Speaker 3>to do step wise things with there's just like a

929
00:55:10.719 --> 00:55:14.840
<v Speaker 3>it's like if you're looking to cobbled it.

930
00:55:14.960 --> 00:55:15.039
<v Speaker 2>Like.

931
00:55:15.960 --> 00:55:19.239
<v Speaker 3>One of the greatest things I saw was actually from

932
00:55:20.000 --> 00:55:24.719
<v Speaker 3>Toby Luke from Shopify. He gave this like internal like

933
00:55:25.719 --> 00:55:30.800
<v Speaker 3>presentation where it was all developed by AI and he

934
00:55:30.920 --> 00:55:35.960
<v Speaker 3>had basically like made these little agents. He made like

935
00:55:36.000 --> 00:55:39.960
<v Speaker 3>a virtual office and this was the program. And the

936
00:55:40.039 --> 00:55:44.679
<v Speaker 3>virtual office had individual agents, which were basically just people

937
00:55:44.719 --> 00:55:47.679
<v Speaker 3>with a very specific role like a software engineer, a

938
00:55:47.719 --> 00:55:53.599
<v Speaker 3>marketing person, you know, research assistant, you know. And each person,

939
00:55:53.960 --> 00:55:57.679
<v Speaker 3>each agent had a loop and it went through and

940
00:55:57.719 --> 00:56:01.320
<v Speaker 3>it thought about what it had to do. It like

941
00:56:01.599 --> 00:56:04.360
<v Speaker 3>had some tools available to it to perform that task.

942
00:56:05.119 --> 00:56:08.960
<v Speaker 3>And then every periodically all of the agents would get

943
00:56:09.000 --> 00:56:12.119
<v Speaker 3>together and they would like have a meeting, right, and

944
00:56:12.320 --> 00:56:15.440
<v Speaker 3>like they could if they needed information from another agent,

945
00:56:15.719 --> 00:56:17.559
<v Speaker 3>like they could reach out to the other agent and

946
00:56:17.679 --> 00:56:22.639
<v Speaker 3>work together on producing those details. Right. And then you

947
00:56:22.679 --> 00:56:25.119
<v Speaker 3>know what you can do is is you could scale this,

948
00:56:25.360 --> 00:56:29.199
<v Speaker 3>right is you could say, Okay, I want like five

949
00:56:29.280 --> 00:56:33.360
<v Speaker 3>developers agents, right, like I want five marketing people on

950
00:56:33.400 --> 00:56:36.639
<v Speaker 3>this effort, and they would all work together and work

951
00:56:36.639 --> 00:56:42.519
<v Speaker 3>on scaling and then conferring their judgments together for better results.

952
00:56:42.840 --> 00:56:46.559
<v Speaker 3>And if you think about it again, like he basically said, well,

953
00:56:46.559 --> 00:56:49.320
<v Speaker 3>then you can also scale your offices, right Like, so

954
00:56:49.480 --> 00:56:51.320
<v Speaker 3>like let's say I have one office working on this,

955
00:56:51.519 --> 00:56:53.880
<v Speaker 3>I can have many offices working on this, and maybe

956
00:56:54.199 --> 00:56:56.679
<v Speaker 3>they're all working on their own different things, but ultimately

957
00:56:56.679 --> 00:57:00.760
<v Speaker 3>coming together for the business side, like right purpose Uh

958
00:57:00.840 --> 00:57:04.880
<v Speaker 3>And so it's really interesting idea of like these virtualization

959
00:57:05.320 --> 00:57:09.400
<v Speaker 3>like containers of all of these very specific things doing

960
00:57:09.480 --> 00:57:13.360
<v Speaker 3>very specific tasks. And so if you're want to like

961
00:57:14.119 --> 00:57:17.679
<v Speaker 3>build a business around that idea, like you're gonna go

962
00:57:17.920 --> 00:57:23.280
<v Speaker 3>through some kind of agent or assistant p Yeah.

963
00:57:23.400 --> 00:57:25.800
<v Speaker 1>Yeah, And and that's that's what I'm excited about, right.

964
00:57:25.840 --> 00:57:28.960
<v Speaker 1>I just see all kinds of opportunities with that. Was

965
00:57:28.960 --> 00:57:30.840
<v Speaker 1>there anything else that we should dive into here. We've

966
00:57:30.880 --> 00:57:31.800
<v Speaker 1>been talking about an hour.

967
00:57:33.800 --> 00:57:37.280
<v Speaker 3>I mean I could keep going. There's there's so many.

968
00:57:37.199 --> 00:57:38.079
<v Speaker 2>One more things.

969
00:57:38.320 --> 00:57:45.199
<v Speaker 3>Yeah, I mean so the there the Latent Space podcast

970
00:57:45.280 --> 00:57:46.119
<v Speaker 3>is just incredible.

971
00:57:46.400 --> 00:57:48.280
<v Speaker 2>Uh yeah, I just started listening to that.

972
00:57:48.360 --> 00:57:52.559
<v Speaker 3>Oh my gosh. They are just like in it deep right,

973
00:57:52.719 --> 00:57:55.039
<v Speaker 3>Like if you're if you want your mind blown about

974
00:57:55.079 --> 00:57:57.800
<v Speaker 3>like what is happening in the AI space, like they're

975
00:57:57.800 --> 00:57:58.880
<v Speaker 3>exposing it pretty great.

976
00:57:59.119 --> 00:57:59.519
<v Speaker 2>Uh.

977
00:57:59.800 --> 00:58:03.079
<v Speaker 3>And and one one thing that is like frequently talked

978
00:58:03.119 --> 00:58:08.199
<v Speaker 3>about is like the importance of like evaluating the outputs

979
00:58:08.280 --> 00:58:12.679
<v Speaker 3>right and getting benchmarks and so like two of these

980
00:58:12.719 --> 00:58:18.679
<v Speaker 3>concepts are like, uh, you know, the Hugging Face has

981
00:58:18.679 --> 00:58:25.920
<v Speaker 3>a great like library on their evail framework. Let me

982
00:58:25.960 --> 00:58:30.079
<v Speaker 3>see if I can remember what it is. I mean, yeah,

983
00:58:30.199 --> 00:58:35.960
<v Speaker 3>Evail guidebook, and so that they have like basically this like, uh,

984
00:58:37.920 --> 00:58:41.960
<v Speaker 3>you know, how do you get run tests against these

985
00:58:41.960 --> 00:58:45.440
<v Speaker 3>outputs so that you can guarantee that they're doing it

986
00:58:45.480 --> 00:58:48.760
<v Speaker 3>what you what you want of them, right, Because that's

987
00:58:48.800 --> 00:58:50.719
<v Speaker 3>one of the biggest things is like there's so much

988
00:58:50.800 --> 00:58:55.159
<v Speaker 3>variability in their output right, Like uh, it's token by token,

989
00:58:55.280 --> 00:58:57.920
<v Speaker 3>so like if it gets off track at any point,

990
00:58:58.159 --> 00:59:01.639
<v Speaker 3>like it could all of a sudden break down pretty easily.

991
00:59:01.679 --> 00:59:03.840
<v Speaker 3>And if you have that hooked up into a series

992
00:59:03.920 --> 00:59:06.199
<v Speaker 3>of processes that depend on each other, right, like that

993
00:59:06.199 --> 00:59:09.440
<v Speaker 3>falls apart pretty quickly. And so like setting up these

994
00:59:09.480 --> 00:59:13.599
<v Speaker 3>kind of like benchmarks and evaluations is just like there's

995
00:59:13.639 --> 00:59:18.199
<v Speaker 3>a whole industry like focus on this, right, And that's

996
00:59:18.239 --> 00:59:22.599
<v Speaker 3>where you get these like leaderboards that benchmark all of

997
00:59:22.639 --> 00:59:26.480
<v Speaker 3>these models based on different criteria like how well do

998
00:59:26.559 --> 00:59:32.480
<v Speaker 3>they you know one I just saw recently, there's a

999
00:59:32.480 --> 00:59:39.599
<v Speaker 3>an evaluation or a leaderboard for for doing debates, right,

1000
00:59:39.679 --> 00:59:43.280
<v Speaker 3>like how well do the models like argue on a point?

1001
00:59:44.039 --> 00:59:46.920
<v Speaker 3>And so there's like a new leaderboard now where which

1002
00:59:46.960 --> 00:59:49.440
<v Speaker 3>models perform best at this, right, like which which ones

1003
00:59:49.440 --> 00:59:50.239
<v Speaker 3>are most convincing?

1004
00:59:51.239 --> 00:59:51.400
<v Speaker 2>Right?

1005
00:59:52.519 --> 00:59:54.719
<v Speaker 3>And it's it's pretty great. And so like there there

1006
00:59:54.719 --> 00:59:57.039
<v Speaker 3>are a bunch of leaderboards that and that all of

1007
00:59:57.039 --> 00:59:59.719
<v Speaker 3>them are based on these evaluations, right where you have

1008
01:00:00.760 --> 01:00:03.800
<v Speaker 3>output and you give it input and you expected a

1009
01:00:03.920 --> 01:00:10.559
<v Speaker 3>very specific reconstruction of that every time, right. And so

1010
01:00:10.639 --> 01:00:12.599
<v Speaker 3>that's actually something I focus on quite a bit at

1011
01:00:12.599 --> 01:00:17.440
<v Speaker 3>work building stuff for physicians. Right, it's pretty important to

1012
01:00:17.440 --> 01:00:19.800
<v Speaker 3>get it to do exactly what you want.

1013
01:00:20.159 --> 01:00:24.119
<v Speaker 2>Right, That's amazing.

1014
01:00:24.719 --> 01:00:28.119
<v Speaker 1>Yeah, And Layton space is what it swicks or Sean

1015
01:00:28.159 --> 01:00:31.960
<v Speaker 1>Wayne yep and Alesso I can't remember his last.

1016
01:00:31.800 --> 01:00:35.320
<v Speaker 3>Name, but yeah, I mean I would Hugging Face is

1017
01:00:35.360 --> 01:00:39.719
<v Speaker 3>definitely like they are awesome. They're just killing on all

1018
01:00:39.800 --> 01:00:43.039
<v Speaker 3>fronts here, even the robotic stuff. I don't know if

1019
01:00:43.079 --> 01:00:47.159
<v Speaker 3>you play. I have a little They have this thing

1020
01:00:47.239 --> 01:00:51.440
<v Speaker 3>called the robot and it's a robotic arm that you

1021
01:00:51.480 --> 01:00:56.000
<v Speaker 3>can train with AI just like on your MacBook and

1022
01:00:56.039 --> 01:01:01.960
<v Speaker 3>you point a camera at it, and I've built it

1023
01:01:02.119 --> 01:01:04.320
<v Speaker 3>like that. You build two of them, right, like one

1024
01:01:04.599 --> 01:01:07.480
<v Speaker 3>to train it with and one to do things with.

1025
01:01:08.079 --> 01:01:11.599
<v Speaker 3>And it has this thing called telepresence where it repeats

1026
01:01:11.719 --> 01:01:14.199
<v Speaker 3>you know, what you're doing with one robot arm to

1027
01:01:14.280 --> 01:01:18.719
<v Speaker 3>the other, and then it you know, trains and model

1028
01:01:18.760 --> 01:01:20.400
<v Speaker 3>based on that, and so you could train it to

1029
01:01:20.440 --> 01:01:22.280
<v Speaker 3>do different things, so like pick up you know, sort

1030
01:01:22.320 --> 01:01:26.360
<v Speaker 3>Eminem's or sort legos or you know pick up. I'm

1031
01:01:26.360 --> 01:01:28.519
<v Speaker 3>trying to get it to right, like Hello world, right,

1032
01:01:29.280 --> 01:01:30.800
<v Speaker 3>And you could train it to do this just like

1033
01:01:30.880 --> 01:01:35.239
<v Speaker 3>by having it watch itself and repeat those training examples,

1034
01:01:35.280 --> 01:01:37.679
<v Speaker 3>like in a virtual environment. So they have like this

1035
01:01:37.679 --> 01:01:42.440
<v Speaker 3>whole framework they built around that. It's so fascinating. The

1036
01:01:42.519 --> 01:01:45.440
<v Speaker 3>other robotics aspects of all this stuff is pretty wild.

1037
01:01:47.599 --> 01:01:50.239
<v Speaker 2>Yeah, it sounds like a whole different can of worms. Yeah.

1038
01:01:51.679 --> 01:01:53.880
<v Speaker 2>So at the end of the day, if people are

1039
01:01:53.880 --> 01:01:56.760
<v Speaker 2>looking to enhance their.

1040
01:01:58.199 --> 01:02:01.079
<v Speaker 1>You know, their code stuff, and we didn't even get

1041
01:02:01.119 --> 01:02:03.400
<v Speaker 1>into you know, JavaScript in front end, if you're doing

1042
01:02:03.400 --> 01:02:09.320
<v Speaker 1>stuff with that. But you know, beyond kind of the

1043
01:02:09.639 --> 01:02:13.719
<v Speaker 1>stepping stones that we've already talked through, right, are there

1044
01:02:13.760 --> 01:02:15.480
<v Speaker 1>good places for people to just kind of keep an

1045
01:02:15.480 --> 01:02:18.800
<v Speaker 1>eye out and go, you know, see what else kind

1046
01:02:18.800 --> 01:02:19.639
<v Speaker 1>of crops up?

1047
01:02:22.719 --> 01:02:26.559
<v Speaker 3>I mean really just starts small, Like this space is

1048
01:02:26.760 --> 01:02:29.320
<v Speaker 3>always going to change fast, and there's going to be

1049
01:02:29.400 --> 01:02:35.239
<v Speaker 3>new things, but there's like foundational concepts and tools like

1050
01:02:35.760 --> 01:02:40.480
<v Speaker 3>becoming popular, right Like lang chain is like a widely

1051
01:02:40.519 --> 01:02:43.119
<v Speaker 3>popular thing that's just super easy to get set up

1052
01:02:43.119 --> 01:02:43.639
<v Speaker 3>and running with.

1053
01:02:44.480 --> 01:02:44.599
<v Speaker 2>Right.

1054
01:02:44.960 --> 01:02:47.239
<v Speaker 3>Grant is in Python and that's fine, like.

1055
01:02:47.840 --> 01:02:50.840
<v Speaker 2>A yeah, but it looks like, you know, you've got

1056
01:02:50.920 --> 01:02:51.559
<v Speaker 2>link chain RB.

1057
01:02:51.800 --> 01:02:55.440
<v Speaker 1>So it's it's like calling a database or you know,

1058
01:02:55.519 --> 01:02:57.559
<v Speaker 1>another API service or something, right.

1059
01:02:57.639 --> 01:03:00.920
<v Speaker 3>I mean really, it's just like finding those abstractions that

1060
01:03:01.039 --> 01:03:04.239
<v Speaker 3>just help like get to the point and learn the basics, right,

1061
01:03:04.400 --> 01:03:07.760
<v Speaker 3>Like the best tool you can find to do that

1062
01:03:07.840 --> 01:03:11.119
<v Speaker 3>with is going to be the best one, right, because

1063
01:03:11.159 --> 01:03:13.840
<v Speaker 3>like there's so many concepts to learn, like just break

1064
01:03:13.880 --> 01:03:17.519
<v Speaker 3>down like how you chain it all together, right, right,

1065
01:03:17.920 --> 01:03:22.480
<v Speaker 3>and so like start with the very basic small stuff

1066
01:03:22.519 --> 01:03:24.840
<v Speaker 3>like sub layer. If you're in Ruby, Like sub layer

1067
01:03:24.880 --> 01:03:27.119
<v Speaker 3>is a great starting point. Like you open up a

1068
01:03:27.199 --> 01:03:29.719
<v Speaker 3>Ruby fil and you include sub layer and you can

1069
01:03:29.800 --> 01:03:35.440
<v Speaker 3>perform some LLLM magic right, awesome, awesome tool create different actions,

1070
01:03:35.559 --> 01:03:37.679
<v Speaker 3>Like they have a library you can go and just

1071
01:03:37.760 --> 01:03:41.480
<v Speaker 3>like you know, take all you know, the various actions

1072
01:03:41.480 --> 01:03:44.800
<v Speaker 3>that they publish. Right, So if you want it as

1073
01:03:44.840 --> 01:03:48.920
<v Speaker 3>an example, like red Green tests passing, like there's like

1074
01:03:49.039 --> 01:03:51.519
<v Speaker 3>a you know, an agent for that you can download

1075
01:03:51.559 --> 01:03:53.719
<v Speaker 3>and get running just from a URL.

1076
01:03:53.880 --> 01:03:54.320
<v Speaker 2>So like.

1077
01:03:57.239 --> 01:04:00.079
<v Speaker 3>Yeah, I would say, just like pick one tool and

1078
01:04:00.119 --> 01:04:02.719
<v Speaker 3>that like that will get Now that's going to be

1079
01:04:02.719 --> 01:04:03.480
<v Speaker 3>the fastest way.

1080
01:04:05.559 --> 01:04:09.159
<v Speaker 2>Yeah, I guess at this point we'll go ahead and

1081
01:04:09.239 --> 01:04:13.199
<v Speaker 2>do pics. Yeah.

1082
01:04:13.440 --> 01:04:15.000
<v Speaker 1>I mean, I'm just sitting here kind of thinking through

1083
01:04:15.039 --> 01:04:16.719
<v Speaker 1>all the implications of all the stuff we talked about,

1084
01:04:17.840 --> 01:04:19.679
<v Speaker 1>because you know, I knew, I knew that there was

1085
01:04:19.719 --> 01:04:22.239
<v Speaker 1>a whole level of stuff that I hadn't seen.

1086
01:04:24.599 --> 01:04:27.960
<v Speaker 2>And one thing that I'm really wanting to do or

1087
01:04:27.960 --> 01:04:29.400
<v Speaker 2>thinking about doing here is.

1088
01:04:29.400 --> 01:04:33.920
<v Speaker 1>Just putting together essentially tutorial videos on how to do

1089
01:04:33.960 --> 01:04:36.480
<v Speaker 1>a lot of this stuff. Right, It's like, hey, here's

1090
01:04:36.519 --> 01:04:39.920
<v Speaker 1>how you, you know, work through some of these things

1091
01:04:40.000 --> 01:04:42.199
<v Speaker 1>or use some of these tools, just to give people

1092
01:04:42.199 --> 01:04:46.719
<v Speaker 1>an idea or example. Anyway, Yeah, let's go ahead and

1093
01:04:46.760 --> 01:04:48.679
<v Speaker 1>jump in with picks and then we'll wrap up.

1094
01:04:50.840 --> 01:04:52.480
<v Speaker 2>But yeah, we've we've got all kinds.

1095
01:04:52.239 --> 01:04:56.280
<v Speaker 1>Of links in the on the YouTube broadcast that says

1096
01:04:56.280 --> 01:05:00.440
<v Speaker 1>it's about solid cash.

1097
01:05:00.480 --> 01:05:02.159
<v Speaker 2>But yeah, why don't why don't you go ahead and

1098
01:05:02.159 --> 01:05:03.519
<v Speaker 2>go first? What picks do you have?

1099
01:05:05.880 --> 01:05:08.679
<v Speaker 3>Yeah, I mean I have to, you know, call out

1100
01:05:08.679 --> 01:05:14.239
<v Speaker 3>the Ruby I Builders discord. Like awesome. Honestly, if you're

1101
01:05:14.280 --> 01:05:17.119
<v Speaker 3>looking for one thing to like learn all this stuff,

1102
01:05:17.239 --> 01:05:21.920
<v Speaker 3>like just join that discord. You'll learn plenty and people

1103
01:05:21.960 --> 01:05:23.960
<v Speaker 3>are just like so willing to help out and point

1104
01:05:23.960 --> 01:05:27.000
<v Speaker 3>you to to where you need to go and what

1105
01:05:27.039 --> 01:05:31.800
<v Speaker 3>you're looking for. Super helpful. Sublair also has a discord

1106
01:05:32.440 --> 01:05:36.440
<v Speaker 3>if you're looking to drive into that as well. Yeah,

1107
01:05:36.440 --> 01:05:41.639
<v Speaker 3>I mean next to that. Yeah, I'm just chugging away

1108
01:05:41.679 --> 01:05:50.719
<v Speaker 3>on this, like Ruby laying AI project I started, it's

1109
01:05:50.719 --> 01:05:56.480
<v Speaker 3>like very slow progress. Well, ultimately I'm like trying to

1110
01:05:56.760 --> 01:06:00.599
<v Speaker 3>fine tune a model, a very small model, call him

1111
01:06:01.599 --> 01:06:06.360
<v Speaker 3>you know, SML instead of ll M. But I'm trying

1112
01:06:06.400 --> 01:06:10.199
<v Speaker 3>to like fine tune smaller models that are very purpose

1113
01:06:10.239 --> 01:06:14.440
<v Speaker 3>driven for Ruby generate code generation with the ultimate goal

1114
01:06:14.480 --> 01:06:17.199
<v Speaker 3>of being able to, like, you know, further fine tune

1115
01:06:17.239 --> 01:06:20.000
<v Speaker 3>it on existing code basis so that you can get

1116
01:06:20.000 --> 01:06:23.280
<v Speaker 3>it to generate things based on the context of your

1117
01:06:23.920 --> 01:06:28.320
<v Speaker 3>organization's code. And I'm making some pretty good progress. I'm

1118
01:06:28.360 --> 01:06:31.599
<v Speaker 3>trying to use as much Ruby as I can, and

1119
01:06:31.679 --> 01:06:35.800
<v Speaker 3>so I have, you know, this high call library that

1120
01:06:35.840 --> 01:06:40.239
<v Speaker 3>I'm using to ultimately just shell out to Python for

1121
01:06:40.360 --> 01:06:43.199
<v Speaker 3>the things that Ruby can't do yet. But that gap

1122
01:06:43.280 --> 01:06:48.239
<v Speaker 3>is slowly closing in thanks to Andrew Kane, who's just

1123
01:06:48.280 --> 01:06:51.440
<v Speaker 3>like a monster with all of this machine learning stuff

1124
01:06:51.440 --> 01:06:55.280
<v Speaker 3>in Ruby. Yeah, he is just putting out stuff left

1125
01:06:55.320 --> 01:07:00.880
<v Speaker 3>and right. And I guess on that topic, there is

1126
01:07:01.119 --> 01:07:09.360
<v Speaker 3>a gem called informers that he has that lets you

1127
01:07:09.519 --> 01:07:14.519
<v Speaker 3>run inference for Ruby, and it's really great. You can

1128
01:07:14.559 --> 01:07:18.199
<v Speaker 3>basically just like point a hugging face model at it

1129
01:07:18.480 --> 01:07:22.960
<v Speaker 3>and run imprints using Ruby. Super fun stuff to play with.

1130
01:07:23.199 --> 01:07:26.000
<v Speaker 3>If you're just trying to like summarize something as an example, like,

1131
01:07:26.320 --> 01:07:30.960
<v Speaker 3>there are great smaller models that do specifically that and

1132
01:07:31.239 --> 01:07:34.840
<v Speaker 3>they work great. You don't need like to reach out

1133
01:07:34.880 --> 01:07:37.280
<v Speaker 3>to open Ay every time when you just want something

1134
01:07:37.800 --> 01:07:43.239
<v Speaker 3>small that outputs much faster, right, So check that out.

1135
01:07:43.719 --> 01:07:48.800
<v Speaker 1>Yeah, all right, I'm gonna do some picks. We used

1136
01:07:48.800 --> 01:07:52.519
<v Speaker 1>to do the board game pick lately. So last weekend

1137
01:07:52.719 --> 01:07:55.800
<v Speaker 1>I was teaching games at the Game Board Game Convention

1138
01:07:55.920 --> 01:08:01.400
<v Speaker 1>again and so we had five games we were demoing.

1139
01:08:02.440 --> 01:08:04.599
<v Speaker 1>So I'm going to pick some of those over the

1140
01:08:04.679 --> 01:08:07.760
<v Speaker 1>next four or five weeks. One of the games I've

1141
01:08:07.800 --> 01:08:09.679
<v Speaker 1>already picked on this show because I played it at

1142
01:08:09.679 --> 01:08:12.880
<v Speaker 1>Salt Con in March, and so I'm not going to

1143
01:08:12.880 --> 01:08:15.400
<v Speaker 1>pick that. That's Challengers if you haven't checked it out,

1144
01:08:16.800 --> 01:08:19.359
<v Speaker 1>very fun game. The game that I'm going to pick

1145
01:08:19.439 --> 01:08:25.960
<v Speaker 1>today is called Gnome Hollow, and I have to say so,

1146
01:08:26.000 --> 01:08:28.319
<v Speaker 1>there are different aspects of board games. I haven't really

1147
01:08:28.319 --> 01:08:30.399
<v Speaker 1>discussed this much on the show. There are different aspects

1148
01:08:30.399 --> 01:08:31.960
<v Speaker 1>of board games that make them fun, right, So some

1149
01:08:32.000 --> 01:08:33.439
<v Speaker 1>of it is kind of the flow of the game.

1150
01:08:33.920 --> 01:08:36.800
<v Speaker 1>Some of it's you know, how much you have to

1151
01:08:36.840 --> 01:08:38.680
<v Speaker 1>think about what you're doing and how much you have

1152
01:08:38.720 --> 01:08:40.520
<v Speaker 1>to plan ahead, and whether or not you like that

1153
01:08:40.680 --> 01:08:43.239
<v Speaker 1>kind of a game. And you know, and so that's

1154
01:08:43.279 --> 01:08:46.239
<v Speaker 1>down to like complexity or things like that. Not always

1155
01:08:46.279 --> 01:08:50.079
<v Speaker 1>some of it's like like, for example, nome Hollow has

1156
01:08:50.119 --> 01:08:54.760
<v Speaker 1>a pretty simple cadence to each round. It's just it's

1157
01:08:54.840 --> 01:08:57.399
<v Speaker 1>just the thinking ahead, right, because you're you're going to

1158
01:08:57.479 --> 01:08:59.720
<v Speaker 1>build something out and then you're going to capitalize on it,

1159
01:09:00.159 --> 01:09:02.640
<v Speaker 1>and then there's some movement aspect and you have to

1160
01:09:02.640 --> 01:09:04.800
<v Speaker 1>decide what you're going to do every turn. So the

1161
01:09:04.800 --> 01:09:09.039
<v Speaker 1>way that it's played is you're trying to complete mushroom

1162
01:09:09.079 --> 01:09:13.720
<v Speaker 1>rings in the forest, okay, and you know your mushroom

1163
01:09:13.800 --> 01:09:16.000
<v Speaker 1>rings don't have to be round, but they have to

1164
01:09:16.000 --> 01:09:19.359
<v Speaker 1>be a complete loop. So you know, you can build

1165
01:09:19.359 --> 01:09:22.800
<v Speaker 1>a three, A four, A five, six. It's hex tiles

1166
01:09:22.800 --> 01:09:24.520
<v Speaker 1>and so it's the number of hex tiles that are

1167
01:09:24.560 --> 01:09:27.960
<v Speaker 1>on the on the loop that you made, and you

1168
01:09:28.119 --> 01:09:30.640
<v Speaker 1>get you get to move a marker down when you

1169
01:09:30.680 --> 01:09:35.520
<v Speaker 1>complete a ring, right as long as there's a space

1170
01:09:35.560 --> 01:09:37.640
<v Speaker 1>for it. So you can do one three, you can

1171
01:09:37.680 --> 01:09:40.479
<v Speaker 1>do two fours, and then you can do like four fives,

1172
01:09:40.479 --> 01:09:42.399
<v Speaker 1>four six's and four sevens.

1173
01:09:44.039 --> 01:09:45.760
<v Speaker 2>You don't have that many markers.

1174
01:09:46.079 --> 01:09:49.880
<v Speaker 1>And on the sevens, if you move one down, two

1175
01:09:49.880 --> 01:09:51.439
<v Speaker 1>of the rewards on the sevens is you get to

1176
01:09:51.439 --> 01:09:53.720
<v Speaker 1>move a second marker down and get another reward.

1177
01:09:54.359 --> 01:09:56.359
<v Speaker 2>So anyway, it's pretty cool.

1178
01:09:56.399 --> 01:10:00.439
<v Speaker 1>The different rewards either modified the game board or they

1179
01:10:00.520 --> 01:10:02.920
<v Speaker 1>give you some other reward that gets you points. So

1180
01:10:03.920 --> 01:10:06.840
<v Speaker 1>if you complete a loop, for every two loops you

1181
01:10:06.880 --> 01:10:09.399
<v Speaker 1>complete or every two markers you move down it more appropriately,

1182
01:10:10.560 --> 01:10:14.359
<v Speaker 1>you get to discover a wildflower, and then you get

1183
01:10:14.399 --> 01:10:17.279
<v Speaker 1>the wildflower. You get a wild as part of your

1184
01:10:17.319 --> 01:10:20.159
<v Speaker 1>reward for discovering a wildflower, and then the rest of

1185
01:10:20.199 --> 01:10:22.279
<v Speaker 1>them go up for other people to be able to collect,

1186
01:10:22.640 --> 01:10:24.840
<v Speaker 1>and so you get points for every wildflower you collect.

1187
01:10:25.199 --> 01:10:27.439
<v Speaker 1>You get points for every marker you've moved down into

1188
01:10:27.439 --> 01:10:31.039
<v Speaker 1>the reward space, and then you get points when you

1189
01:10:31.079 --> 01:10:34.920
<v Speaker 1>complete the loop or the ring. You get the mushrooms

1190
01:10:35.079 --> 01:10:37.680
<v Speaker 1>that are on the ring, and so then you can

1191
01:10:37.720 --> 01:10:39.680
<v Speaker 1>go to the market and sell the mushrooms. And those

1192
01:10:39.720 --> 01:10:41.560
<v Speaker 1>are the three ways to get points. You add them

1193
01:10:41.560 --> 01:10:46.039
<v Speaker 1>all up at the end that's how you score. So

1194
01:10:46.119 --> 01:10:48.880
<v Speaker 1>then it's just a matter of getting the you know,

1195
01:10:49.159 --> 01:10:51.560
<v Speaker 1>enough of the right kinds of mushrooms to make your

1196
01:10:51.600 --> 01:10:53.760
<v Speaker 1>trip to the market worth it. And then the other

1197
01:10:53.800 --> 01:10:56.439
<v Speaker 1>thing is is if you say you cash in five

1198
01:10:56.680 --> 01:11:02.039
<v Speaker 1>red mushrooms. You actually fill the spot for five red mushrooms,

1199
01:11:02.119 --> 01:11:03.960
<v Speaker 1>and nobody else can do five, they can do six,

1200
01:11:04.199 --> 01:11:06.600
<v Speaker 1>they can do four, they can't do five. And then

1201
01:11:06.600 --> 01:11:10.399
<v Speaker 1>when somebody does six, right, then that is also gone. Right,

1202
01:11:10.439 --> 01:11:13.520
<v Speaker 1>so maybe you go seven or eight. And so the

1203
01:11:13.520 --> 01:11:17.319
<v Speaker 1>different mushrooms are worth different amounts because you have different

1204
01:11:17.399 --> 01:11:20.640
<v Speaker 1>rarity on the hexes you place. You have place two hexes.

1205
01:11:21.560 --> 01:11:24.680
<v Speaker 1>You collect the rewards for completing your loops, and then

1206
01:11:24.720 --> 01:11:27.159
<v Speaker 1>you move your nome and you move your nome to

1207
01:11:27.439 --> 01:11:31.560
<v Speaker 1>reserve a path that will eventually become a loop, or

1208
01:11:31.640 --> 01:11:33.800
<v Speaker 1>you move your nome to a sign, which is one

1209
01:11:33.800 --> 01:11:35.880
<v Speaker 1>of the rewards you get for completing a loop, or

1210
01:11:35.920 --> 01:11:38.319
<v Speaker 1>you can move it up to the market and you know,

1211
01:11:38.520 --> 01:11:40.720
<v Speaker 1>sell mushrooms, or you can go and collect the flower

1212
01:11:41.920 --> 01:11:43.760
<v Speaker 1>and you know, and so then at the end of

1213
01:11:43.800 --> 01:11:47.640
<v Speaker 1>the game, what if you've accrued in the different kinds

1214
01:11:47.680 --> 01:11:54.359
<v Speaker 1>of flowers and stuff, that's how you win. So, you know,

1215
01:11:54.399 --> 01:11:55.880
<v Speaker 1>I played it like three or four times at the

1216
01:11:55.920 --> 01:11:58.279
<v Speaker 1>game convention because that was one of the games that

1217
01:11:58.600 --> 01:12:01.279
<v Speaker 1>people wanted to learn and and anyway, it's a lot

1218
01:12:01.279 --> 01:12:04.000
<v Speaker 1>of fun board game. Geek waits it at two point

1219
01:12:04.079 --> 01:12:07.520
<v Speaker 1>one seven and so you know, kind of your average

1220
01:12:07.560 --> 01:12:10.520
<v Speaker 1>gamer with enough complexity to make the game interesting is

1221
01:12:10.520 --> 01:12:13.800
<v Speaker 1>about a two. So this is just slightly more complicated

1222
01:12:13.800 --> 01:12:18.560
<v Speaker 1>than that. And the complication really is, you know, what

1223
01:12:18.600 --> 01:12:20.800
<v Speaker 1>do I get for completing the loop? How do I

1224
01:12:20.840 --> 01:12:23.119
<v Speaker 1>make the loop large enough to get the reward I want?

1225
01:12:23.199 --> 01:12:23.399
<v Speaker 2>Right?

1226
01:12:23.600 --> 01:12:25.840
<v Speaker 1>Instead of a four, make it a six or seven?

1227
01:12:26.880 --> 01:12:28.479
<v Speaker 1>You know, and you have to plan ahead to make

1228
01:12:28.479 --> 01:12:29.079
<v Speaker 1>your path.

1229
01:12:28.880 --> 01:12:29.560
<v Speaker 2>Go the right way.

1230
01:12:31.720 --> 01:12:33.720
<v Speaker 1>And then you know, yeah, when you move the gnome,

1231
01:12:34.560 --> 01:12:36.880
<v Speaker 1>do I move it to a sign to get more mushrooms?

1232
01:12:36.960 --> 01:12:38.640
<v Speaker 1>Do I move it to the market? Do I move

1233
01:12:38.680 --> 01:12:41.159
<v Speaker 1>it to the thing? And which ones do I sell back?

1234
01:12:41.199 --> 01:12:42.800
<v Speaker 1>And is somebody going to sell back the eight?

1235
01:12:42.880 --> 01:12:43.560
<v Speaker 2>And I have eight?

1236
01:12:43.640 --> 01:12:45.920
<v Speaker 1>So now I can only sell back seven. So that's

1237
01:12:45.960 --> 01:12:49.000
<v Speaker 1>where the complexity is is it's in that play so

1238
01:12:49.039 --> 01:12:51.680
<v Speaker 1>that you're making the right moves to accrue the most points.

1239
01:12:52.439 --> 01:12:56.079
<v Speaker 1>And anyway, super fun game. Takes about forty five minutes

1240
01:12:56.119 --> 01:12:57.880
<v Speaker 1>to play it, which is also great plays up to

1241
01:12:57.920 --> 01:12:58.439
<v Speaker 1>four people.

1242
01:13:00.319 --> 01:13:02.119
<v Speaker 2>I've played it with two, with three and with four.

1243
01:13:02.560 --> 01:13:04.319
<v Speaker 1>I think with three and four people it's more fun

1244
01:13:04.920 --> 01:13:06.399
<v Speaker 1>because you have a lot more going on on the

1245
01:13:06.399 --> 01:13:08.399
<v Speaker 1>board and you have a lot more options that open.

1246
01:13:08.319 --> 01:13:09.159
<v Speaker 2>Up more quickly.

1247
01:13:10.920 --> 01:13:14.079
<v Speaker 1>But yeah, so no hollow And the artwork on this

1248
01:13:14.119 --> 01:13:18.960
<v Speaker 1>one is awesome. It's fun artwork. There are a million

1249
01:13:19.000 --> 01:13:22.720
<v Speaker 1>little pieces. They give you a whole bunch of bags,

1250
01:13:22.760 --> 01:13:24.439
<v Speaker 1>and it's not really clear how you're supposed to get

1251
01:13:24.439 --> 01:13:25.880
<v Speaker 1>it all back into the box. I mean it all

1252
01:13:25.920 --> 01:13:29.399
<v Speaker 1>fits fine, that's not the problem. But it's like, Okay,

1253
01:13:29.399 --> 01:13:32.000
<v Speaker 1>do I separate all out the different kinds of mushrooms?

1254
01:13:32.000 --> 01:13:35.520
<v Speaker 1>And do I separate all the different markers into different bags?

1255
01:13:36.399 --> 01:13:39.279
<v Speaker 1>If I wind up buying the game, I'm just gonna

1256
01:13:39.359 --> 01:13:41.279
<v Speaker 1>bring in my own bags and I'll keep them all

1257
01:13:41.319 --> 01:13:43.600
<v Speaker 1>separate in that way, I can just parcel them out.

1258
01:13:43.640 --> 01:13:45.960
<v Speaker 1>But yeah, we wound up combining a bunch of stuff

1259
01:13:46.000 --> 01:13:47.439
<v Speaker 1>and you wind up having to sort it back out

1260
01:13:47.439 --> 01:13:50.560
<v Speaker 1>when you pull the game out. But it's fun, very

1261
01:13:50.640 --> 01:13:53.439
<v Speaker 1>very fun. The game ends when somebody moves their last

1262
01:13:53.439 --> 01:13:57.319
<v Speaker 1>marker down. You finish out, tell that everybody's had the

1263
01:13:57.319 --> 01:13:59.920
<v Speaker 1>same number of turns, or if you run out of

1264
01:14:00.319 --> 01:14:02.720
<v Speaker 1>to put on the board, and so what you do

1265
01:14:02.800 --> 01:14:08.880
<v Speaker 1>is you put aside two hexes for every player that's playing,

1266
01:14:10.000 --> 01:14:13.159
<v Speaker 1>and that way, if you run out of the hexes

1267
01:14:13.199 --> 01:14:16.520
<v Speaker 1>to play, you just play off of that stack until

1268
01:14:16.560 --> 01:14:17.800
<v Speaker 1>everybody's had the equal.

1269
01:14:17.640 --> 01:14:18.359
<v Speaker 2>Number of turns.

1270
01:14:18.640 --> 01:14:22.159
<v Speaker 1>I think every time that I've played, somebody moved their

1271
01:14:22.199 --> 01:14:26.279
<v Speaker 1>last marker down before we were out of hexes. So anyway,

1272
01:14:26.560 --> 01:14:31.640
<v Speaker 1>super fun game, Really enjoying that. I am working on

1273
01:14:31.720 --> 01:14:34.880
<v Speaker 1>putting together an AI dev boot camp, and that's more

1274
01:14:34.920 --> 01:14:37.079
<v Speaker 1>in the vein of building out the agents like we

1275
01:14:37.119 --> 01:14:40.800
<v Speaker 1>talked about, as opposed to you know, and using some

1276
01:14:40.840 --> 01:14:44.199
<v Speaker 1>of the other tools like Whisper for transit transcriptions and

1277
01:14:44.840 --> 01:14:48.000
<v Speaker 1>text to speech or speech to text and all that

1278
01:14:48.119 --> 01:14:52.680
<v Speaker 1>stuff right that that's offered out there. I'm looking at

1279
01:14:52.920 --> 01:14:55.119
<v Speaker 1>open AI as kind of a baseline, but I am

1280
01:14:55.159 --> 01:14:57.079
<v Speaker 1>looking at some of the other tools like Claude and

1281
01:14:58.039 --> 01:15:01.279
<v Speaker 1>laying Chain and.

1282
01:15:00.520 --> 01:15:03.720
<v Speaker 2>Olama or you know, Lama three and some.

1283
01:15:03.640 --> 01:15:05.640
<v Speaker 1>Of those other tools that are out there, just to

1284
01:15:05.640 --> 01:15:09.479
<v Speaker 1>give people an idea of what their options are. But yeah,

1285
01:15:09.800 --> 01:15:12.119
<v Speaker 1>it's going to get into how do I bring this

1286
01:15:12.159 --> 01:15:14.760
<v Speaker 1>stuff in and what options and services are out there

1287
01:15:14.800 --> 01:15:15.560
<v Speaker 1>that will let.

1288
01:15:15.399 --> 01:15:16.920
<v Speaker 2>Me do it, And so it's going to be.

1289
01:15:18.960 --> 01:15:23.840
<v Speaker 1>I guess more focused on APIs and prompt engineering than

1290
01:15:23.880 --> 01:15:26.079
<v Speaker 1>it is going to be on like how the models

1291
01:15:26.119 --> 01:15:27.760
<v Speaker 1>actually get built and stuff like that.

1292
01:15:28.039 --> 01:15:29.199
<v Speaker 2>I've had a few people ask me.

1293
01:15:29.239 --> 01:15:32.000
<v Speaker 1>Oh, so we're going to do all the data management

1294
01:15:32.119 --> 01:15:35.439
<v Speaker 1>and training our own models, and we might get into

1295
01:15:35.800 --> 01:15:38.039
<v Speaker 1>some of that if I'm showing you how to like

1296
01:15:38.199 --> 01:15:42.600
<v Speaker 1>enhance what Lama or lane chain give you, but not

1297
01:15:42.840 --> 01:15:46.319
<v Speaker 1>a lot. It's really focused on how do you create

1298
01:15:46.399 --> 01:15:50.079
<v Speaker 1>an awesome AI experience for your customers through an agent.

1299
01:15:50.800 --> 01:15:54.119
<v Speaker 1>So anyway, I'm going to be doing that sometime in

1300
01:15:54.199 --> 01:15:57.239
<v Speaker 1>January and so that's going to be at AIDEV boot

1301
01:15:57.279 --> 01:15:58.079
<v Speaker 1>camp dot com.

1302
01:15:58.640 --> 01:16:03.079
<v Speaker 2>And then I picked up a book on Amazon that.

1303
01:16:05.239 --> 01:16:07.199
<v Speaker 1>And it's again, you know, like I said, you know,

1304
01:16:07.239 --> 01:16:09.840
<v Speaker 1>I'm kind of using open open AI and its offerings

1305
01:16:09.880 --> 01:16:12.840
<v Speaker 1>as a baseline, recognizing that there are other systems and

1306
01:16:12.920 --> 01:16:19.119
<v Speaker 1>models that give you a lot of options for doing

1307
01:16:19.159 --> 01:16:20.880
<v Speaker 1>a lot of the same things and maybe better at

1308
01:16:20.880 --> 01:16:25.640
<v Speaker 1>one thing than another. And so I bought a book

1309
01:16:26.000 --> 01:16:30.319
<v Speaker 1>and it's called Building AI Applications with Chat, GPT APIs

1310
01:16:30.800 --> 01:16:32.479
<v Speaker 1>and it shows you how to use.

1311
01:16:35.439 --> 01:16:37.199
<v Speaker 2>And the the.

1312
01:16:36.720 --> 01:16:42.279
<v Speaker 1>Author is Alexander Petrovitch, and it goes into basically all

1313
01:16:42.319 --> 01:16:50.039
<v Speaker 1>of the different API options. Hang on, it's being funny

1314
01:16:50.039 --> 01:16:54.039
<v Speaker 1>on Amazon, but it shows you how to use Whisper,

1315
01:16:54.680 --> 01:16:56.199
<v Speaker 1>it shows you how to use.

1316
01:16:58.800 --> 01:16:59.079
<v Speaker 2>Boy.

1317
01:16:59.119 --> 01:17:00.920
<v Speaker 1>It does not want to pull it up on Amazon,

1318
01:17:02.039 --> 01:17:04.760
<v Speaker 1>but I bought it for the Kindle, and yeah, it

1319
01:17:05.239 --> 01:17:11.960
<v Speaker 1>goes into Whisper, it goes into chat GPT, Yeah, it

1320
01:17:12.000 --> 01:17:13.720
<v Speaker 1>goes into a couple of the other options that you

1321
01:17:13.800 --> 01:17:21.920
<v Speaker 1>have on the open Ai platform. So anyway, and it

1322
01:17:22.279 --> 01:17:24.960
<v Speaker 1>basically walks you through used in their APIs and then

1323
01:17:24.960 --> 01:17:26.560
<v Speaker 1>how to build your prompts to get what you want.

1324
01:17:27.039 --> 01:17:30.840
<v Speaker 2>And so I'm excited to dive into that. So I'm

1325
01:17:30.840 --> 01:17:32.079
<v Speaker 2>going to pick that. And then.

1326
01:17:33.840 --> 01:17:37.600
<v Speaker 1>The last pick I have is I've been I've been

1327
01:17:37.600 --> 01:17:42.279
<v Speaker 1>doing I've been training for triathlons again, and specifically my

1328
01:17:42.399 --> 01:17:46.279
<v Speaker 1>goal is to either do Iron iron Man Maryland in

1329
01:17:46.319 --> 01:17:51.359
<v Speaker 1>September or iron Man Chattanooga in September, and so I've

1330
01:17:51.399 --> 01:17:53.119
<v Speaker 1>been picking my races leading up to that.

1331
01:17:53.159 --> 01:17:54.279
<v Speaker 2>I'm pretty excited about it.

1332
01:17:55.479 --> 01:17:59.199
<v Speaker 1>The workout regimen that I've been following is twofold. One

1333
01:17:59.239 --> 01:18:01.640
<v Speaker 1>of them, I picked up a training system on training

1334
01:18:01.640 --> 01:18:03.520
<v Speaker 1>peaks dot com. So I'm gonna pick training peaks dot

1335
01:18:03.520 --> 01:18:06.479
<v Speaker 1>com and you can buy workout plans. So mine's a

1336
01:18:06.479 --> 01:18:09.199
<v Speaker 1>forty eight week workout plan, right, So I started it

1337
01:18:09.239 --> 01:18:13.199
<v Speaker 1>last month and you know, I'm on track to finish

1338
01:18:13.239 --> 01:18:17.439
<v Speaker 1>it for Maryland and then if I wind up signing

1339
01:18:17.479 --> 01:18:19.680
<v Speaker 1>up for Chattanooga instead, then I'll just tell it to

1340
01:18:20.359 --> 01:18:24.960
<v Speaker 1>adjust my workout schedule by two weeks so that I'm

1341
01:18:25.039 --> 01:18:29.439
<v Speaker 1>ending on the right day in September. And then the

1342
01:18:29.479 --> 01:18:31.520
<v Speaker 1>other one is I've been using the first Form app

1343
01:18:31.560 --> 01:18:36.520
<v Speaker 1>that's one st p h r M First Form and

1344
01:18:36.800 --> 01:18:44.039
<v Speaker 1>I signed up for Transformation Challenge is what they call it,

1345
01:18:44.680 --> 01:18:47.560
<v Speaker 1>and Transformation is also spelled with a pH right because

1346
01:18:47.600 --> 01:18:51.319
<v Speaker 1>of their branding. And as part of the app, you

1347
01:18:51.439 --> 01:18:55.920
<v Speaker 1>get a coach and so she's been helping me figure

1348
01:18:55.960 --> 01:19:01.840
<v Speaker 1>out my you know, all my stuff, and so I

1349
01:19:01.880 --> 01:19:03.960
<v Speaker 1>have a referral code if you want to use my

1350
01:19:04.079 --> 01:19:06.920
<v Speaker 1>coach and sign up. I don't get any kickbacks for this.

1351
01:19:07.560 --> 01:19:10.399
<v Speaker 1>It's literally just hey, I'm having a great experience with this,

1352
01:19:10.520 --> 01:19:13.840
<v Speaker 1>and so you know, you ought to check it out,

1353
01:19:14.760 --> 01:19:21.119
<v Speaker 1>and so let me just air drop it to my

1354
01:19:21.159 --> 01:19:26.479
<v Speaker 1>computer and then I can put it in the chat.

1355
01:19:26.520 --> 01:19:28.039
<v Speaker 2>But yeah, it's it's been awesome.

1356
01:19:28.079 --> 01:19:32.079
<v Speaker 1>So my trainer's name is Andrea, and like I said,

1357
01:19:32.079 --> 01:19:36.760
<v Speaker 1>so I get an announcement every day where she's essentially saying,

1358
01:19:37.560 --> 01:19:37.840
<v Speaker 1>you know.

1359
01:19:37.920 --> 01:19:40.079
<v Speaker 2>Hey, make sure you're getting enough sleep, or.

1360
01:19:41.760 --> 01:19:45.199
<v Speaker 1>Hey, make sure that you're paying attention to this that

1361
01:19:45.399 --> 01:19:47.159
<v Speaker 1>or the other, or you know, all all kinds of

1362
01:19:47.159 --> 01:19:49.479
<v Speaker 1>different things like that, and it's really really been terrific.

1363
01:19:50.319 --> 01:19:53.159
<v Speaker 1>And then yeah, she checks in, Like every week, I

1364
01:19:53.199 --> 01:19:55.760
<v Speaker 1>send an evaluation where I'm saying, you know, I'm a

1365
01:19:55.760 --> 01:19:57.560
<v Speaker 1>little hungry, I've been a little hungry this week, or

1366
01:19:57.600 --> 01:20:01.439
<v Speaker 1>I've been a little tired this week, or you know whatever,

1367
01:20:01.720 --> 01:20:05.199
<v Speaker 1>and then she'll chat back and say, you know, yeah

1368
01:20:05.680 --> 01:20:08.640
<v Speaker 1>you needed you need to schedule more sleep, right, Or

1369
01:20:10.359 --> 01:20:12.640
<v Speaker 1>she'll look at my eating because I track all my

1370
01:20:12.680 --> 01:20:14.439
<v Speaker 1>calories in there too, and she'll say, hey, you need

1371
01:20:14.439 --> 01:20:15.239
<v Speaker 1>eat more vegetables.

1372
01:20:15.960 --> 01:20:17.039
<v Speaker 2>Some she told me the other day.

1373
01:20:17.079 --> 01:20:19.079
<v Speaker 1>She's like, you need to eat more real food and

1374
01:20:19.319 --> 01:20:21.800
<v Speaker 1>you know, less supplements, which is like the protein powders

1375
01:20:21.800 --> 01:20:24.680
<v Speaker 1>and stuff. And yeah, they have a whole bunch of

1376
01:20:24.680 --> 01:20:30.720
<v Speaker 1>different supplements like the protein powders they have. They have

1377
01:20:30.840 --> 01:20:33.520
<v Speaker 1>like a nootropic caffeine mix pre workout.

1378
01:20:33.600 --> 01:20:36.399
<v Speaker 2>They have what else am I using?

1379
01:20:36.439 --> 01:20:38.880
<v Speaker 1>They have like an opti greens is what they call it,

1380
01:20:38.920 --> 01:20:41.439
<v Speaker 1>and it's it's greens that you know, help with your

1381
01:20:41.479 --> 01:20:46.359
<v Speaker 1>digestion and stuff. I've got a couple here. I've got

1382
01:20:46.479 --> 01:20:51.319
<v Speaker 1>basically omega, which is like fish oil, and then I've

1383
01:20:51.319 --> 01:20:54.920
<v Speaker 1>got another one that's glucose disposal agent is what they

1384
01:20:54.920 --> 01:20:56.680
<v Speaker 1>call it, and it just it just helps regulate my

1385
01:20:56.720 --> 01:21:00.239
<v Speaker 1>blood sugar, which is good because I'm diabetic and I

1386
01:21:00.279 --> 01:21:01.880
<v Speaker 1>just take it with all you know, know, with the

1387
01:21:01.920 --> 01:21:05.159
<v Speaker 1>medications that my doctor has given me, and it's it's

1388
01:21:05.159 --> 01:21:13.239
<v Speaker 1>been awesome. So anyway, I'm just going to pick those.

1389
01:21:14.600 --> 01:21:16.800
<v Speaker 1>If you want to do an Iron Man next year

1390
01:21:16.920 --> 01:21:19.119
<v Speaker 1>and you want, you know, it'd be fun.

1391
01:21:19.159 --> 01:21:21.279
<v Speaker 2>I don't know, you know, I don't.

1392
01:21:21.239 --> 01:21:23.640
<v Speaker 1>Know that I go the whole way with you because

1393
01:21:23.640 --> 01:21:25.600
<v Speaker 1>I might swim faster than you or you might bite

1394
01:21:25.600 --> 01:21:29.800
<v Speaker 1>faster than me, but it it'd be fun. So if

1395
01:21:29.800 --> 01:21:31.880
<v Speaker 1>you're interested and you think you might be there, let

1396
01:21:31.960 --> 01:21:35.000
<v Speaker 1>me know. But yeah, those are my picks. Sorry I

1397
01:21:35.039 --> 01:21:42.479
<v Speaker 1>rambled for a long time. But anyway, I think that's

1398
01:21:42.520 --> 01:21:46.680
<v Speaker 1>all I've got, So Valentino, think thanks for being our

1399
01:21:46.720 --> 01:21:47.560
<v Speaker 1>expert this week.

1400
01:21:49.279 --> 01:21:51.119
<v Speaker 3>Yeah, happy to. I love talking about this though.

1401
01:21:51.199 --> 01:21:54.079
<v Speaker 1>Yeah, it's it's cool stuff. What we need to get into,

1402
01:21:54.119 --> 01:21:55.680
<v Speaker 1>some of the stuff that you know, you and I

1403
01:21:55.720 --> 01:21:57.000
<v Speaker 1>are building with AI.

1404
01:21:58.039 --> 01:22:00.000
<v Speaker 2>But maybe that'll be another episode another time.

1405
01:22:02.079 --> 01:22:07.880
<v Speaker 1>And yeah, the next time, folks max out mm hmm.
