WEBVTT

1
00:00:00.080 --> 00:00:06.120
Hey folks, welcome to another interview
on the Ruby Dev Summit. Today.

2
00:00:06.120 --> 00:00:12.359
I'm talking to Alex rude Al.
And Alex, we had you on Ruby

3
00:00:12.480 --> 00:00:16.440
Rogues a little bit ago. We
were talking about the open Ai gem,

4
00:00:16.640 --> 00:00:20.960
and I think we talked a little
bit about some of the business stuff that

5
00:00:21.000 --> 00:00:26.039
you're doing as far as like consulting
with companies about using Ai and their Ruby

6
00:00:26.079 --> 00:00:31.559
apps or rails apps. And yeah, I mean there's just there's so much

7
00:00:31.679 --> 00:00:35.560
interesting stuff going on in that space
that I thought, Okay, well,

8
00:00:35.640 --> 00:00:38.119
you know, if I'm going to
be asking people, hey, what's the

9
00:00:38.119 --> 00:00:43.719
future of Ruby, it feels like
this is one area that we really can't

10
00:00:43.719 --> 00:00:48.600
ignore, you know, even though
traditionally Ruby's used sort of in other ways.

11
00:00:48.679 --> 00:00:52.920
Right, it's used in mostly web
development, but you see it in

12
00:00:52.960 --> 00:00:57.159
other places as well. So and
and then I know you're involved in other

13
00:00:57.200 --> 00:01:00.520
areas of the community too. So
I'm just going to start with our major

14
00:01:00.759 --> 00:01:07.519
premise question and we'll see where we
go from there. But what's what what

15
00:01:07.640 --> 00:01:12.359
in your mind is the future Ruby? Yeah? Sure, well, basically

16
00:01:12.480 --> 00:01:17.599
thanks so much for having me on
again. I really enjoyed the last podcast

17
00:01:17.640 --> 00:01:22.040
we did. And yeah, like
you said, like I tend to think

18
00:01:22.079 --> 00:01:26.000
of myself as just a simple Rails
developer, but yeah, I maintained the

19
00:01:26.040 --> 00:01:34.280
open Ai gem and the anthropic Api
gem as well, and I've done quite

20
00:01:34.280 --> 00:01:40.159
a lot of projects recently integrating with
open Ai and Ruby and rails, So

21
00:01:40.200 --> 00:01:45.719
I do have some opinions about that. Yeah. In terms of the future

22
00:01:45.719 --> 00:01:51.319
of Ruby, I did a little
bit of research just before this, kind

23
00:01:51.319 --> 00:01:56.040
of looking at Hacker Rank and they
put out reports on kind of programming language

24
00:01:56.120 --> 00:02:01.280
usage in interviews. I believe it
is, and the picture is not kind

25
00:02:01.280 --> 00:02:06.319
of amazing from Ruby there. Like, I think between twenty twenty one and

26
00:02:06.359 --> 00:02:09.879
twenty twenty three there was something like
sixty percent decline in the number of interviews.

27
00:02:10.120 --> 00:02:13.759
I think they said, I could
be a bit wrong about the exact

28
00:02:13.800 --> 00:02:19.800
numbers, but it's something like that. Yeah, quite significant decline in an

29
00:02:19.840 --> 00:02:27.199
environment where programming usage is increasing and
the number of developers is increasing. So

30
00:02:27.319 --> 00:02:30.759
you know, I think there's this
kind of perennial thing, is like,

31
00:02:30.840 --> 00:02:37.680
is Ruby dead or dying? And
also, yeah, I think AI is

32
00:02:37.719 --> 00:02:40.680
going to be a huge part of
what we do as developers in the future.

33
00:02:43.120 --> 00:02:46.800
Maybe that's obvious at this point,
maybe not. Yeah, like the

34
00:02:46.840 --> 00:02:52.960
reasons that I originally chose to work
with Ruby and rails more than ten years

35
00:02:52.960 --> 00:03:00.560
ago too, really like one is
how human friendly I found it. When

36
00:03:00.599 --> 00:03:05.240
I was learning to code, I
did my Microhurtle's Rails tutorial, which I

37
00:03:05.240 --> 00:03:10.199
think a lot of developers of my
sort of age did. I didn't building

38
00:03:10.199 --> 00:03:15.639
a clone of Twitter and if.
I was also trying to learn c sharp

39
00:03:15.680 --> 00:03:19.680
at that time, and I found
Ruby so much more human friendly, so

40
00:03:19.840 --> 00:03:25.439
much more just like speaking English almost, and I think, yeah, that's

41
00:03:25.439 --> 00:03:28.639
really important. That's one part of
it. And the other side was community.

42
00:03:28.719 --> 00:03:32.240
I found the Ruby community so much
more friendly on kind of forums,

43
00:03:32.439 --> 00:03:37.319
people, I spoke to, conferences, even I just found it so much

44
00:03:37.319 --> 00:03:42.360
more friendly and inclusive. And I
think those two things, like community and

45
00:03:42.400 --> 00:03:46.599
being human friendly, are going to
continue to be super important in the future,

46
00:03:46.639 --> 00:03:51.719
and then maybe one way that Ruby
can kind of take a place for

47
00:03:51.759 --> 00:03:58.560
itself in the future. For example, with AI, it is likely that

48
00:03:58.639 --> 00:04:02.879
it's programming ability. They're going to
get better over time. But my view

49
00:04:02.960 --> 00:04:09.680
is that humans will still kind of
hold the keys to the real world and

50
00:04:10.319 --> 00:04:15.240
control kind of the money and what
work gets done, and therefore I think

51
00:04:15.240 --> 00:04:18.040
there will still be a lot of
value in having a language that is really

52
00:04:18.079 --> 00:04:24.279
nice for humans to use. Yeah, anyway, I've got actually a lot

53
00:04:24.319 --> 00:04:27.800
of those on this book. Yeah, well, let me tease some of

54
00:04:27.839 --> 00:04:31.560
this out, because I think there
are three or four areas that you've touched

55
00:04:31.600 --> 00:04:39.720
on that that I'm kind of curious
about. So I hear people both in

56
00:04:39.759 --> 00:04:45.639
the business space and in the technology
space that have all kinds of ranging opinions

57
00:04:45.720 --> 00:04:50.759
on how big a role AI is
going to play in the future at all.

58
00:04:51.000 --> 00:04:55.839
Right, so some people think that, hey, we've kind of found

59
00:04:55.839 --> 00:05:00.439
this sweet spot with like chat,
GPT or mid journey or things like that,

60
00:05:00.560 --> 00:05:04.560
right where it generates text or it
generates a transcript, or you can

61
00:05:04.720 --> 00:05:10.079
give it a prompt and it'll give
you an image back. But you know,

62
00:05:10.240 --> 00:05:14.920
we're eventually going to exhaust that,
and AI, you know, may

63
00:05:14.959 --> 00:05:20.959
become faster and in some ways more
intelligent, but then you know, we're

64
00:05:20.959 --> 00:05:29.399
not ever going to get to a
artificial general intelligence or that we're not going

65
00:05:29.480 --> 00:05:32.920
to get to you know, we're
going to find the limits of these applications

66
00:05:32.959 --> 00:05:36.120
that we already have for AI,
and so it's not going to be the

67
00:05:36.160 --> 00:05:39.560
big play, right, So it's
going to be the big play for the

68
00:05:39.600 --> 00:05:43.319
next couple of years, and then
after that maybe it peters out, or

69
00:05:43.319 --> 00:05:47.199
maybe we find another usage. So
my question to you is, you know,

70
00:05:47.399 --> 00:05:54.160
how how deeply do you see Ruby
going into that space to use some

71
00:05:54.199 --> 00:05:58.480
of these AI tools or applications,
especially since you're writing the ap or the

72
00:05:59.279 --> 00:06:03.040
Ruby gem that helps you access those
tools, right, is it going to

73
00:06:03.079 --> 00:06:08.040
become a major player or an indispensable
part of your applications going forward on the

74
00:06:08.040 --> 00:06:15.160
web or other places, or and
why do you think that. I think

75
00:06:15.199 --> 00:06:18.639
one thing that happens with a lot
of discourse around AI is a sort of

76
00:06:19.319 --> 00:06:27.120
fatalism or like, and there's kind
of feeling of inevitability. But I think

77
00:06:27.759 --> 00:06:34.519
the reality is that we get to
decide what happens, especially developers. I

78
00:06:34.519 --> 00:06:40.120
think we have such a big influence
on the way a lot of people in

79
00:06:40.160 --> 00:06:44.360
the modern world live their lives,
Like the stuff where we write, especially

80
00:06:44.519 --> 00:06:49.519
what goes on phones gets used so
much. So yeah, obviously I don't

81
00:06:49.519 --> 00:06:55.120
know the future, but I think
the answer is we get to decide.

82
00:06:56.199 --> 00:07:01.120
Like, particularly in the rub community, what makes a language successful is the

83
00:07:01.160 --> 00:07:09.000
open source contributions that people make and
the quality of the community contributions, and

84
00:07:09.040 --> 00:07:15.399
I'm seeing more and more people write
open source libraries and even just API rappers

85
00:07:15.399 --> 00:07:20.199
like I've written and kind of collaborating
on that. And if the open source

86
00:07:20.240 --> 00:07:25.920
software is good enough, then people
will be able to build startups quickly on

87
00:07:25.959 --> 00:07:30.040
top of it, successful businesses,
and then they'll put money into it.

88
00:07:30.120 --> 00:07:34.519
More people will get jobs and that
increases the community. So I don't think

89
00:07:34.519 --> 00:07:39.360
it's a question of like will we
be be a part of it or not.

90
00:07:39.439 --> 00:07:44.000
It's like it's kind of up to
us to decide whether we're committed to

91
00:07:44.040 --> 00:07:47.800
this language and the communities and then
the work that we can put out in

92
00:07:47.839 --> 00:07:56.000
that space. And yeah, talking
about general intelligence, like I would say

93
00:07:56.040 --> 00:08:03.560
that probably artificial general intelligence will will
happen, but my feeling is kind of

94
00:08:03.560 --> 00:08:05.959
optimism optimism around it, like it's
probably quite a long way off still,

95
00:08:07.480 --> 00:08:13.560
and I don't think I think there
will be collaboration rather than opposition. That

96
00:08:13.839 --> 00:08:18.360
would be my guess, right.
Yeah. So, so related to that

97
00:08:18.439 --> 00:08:24.480
then is the ability to integrate with
some of these other systems like open AI.

98
00:08:24.160 --> 00:08:30.480
Is that going to become an indispensable
skill for Ruby developers in the future

99
00:08:30.639 --> 00:08:33.960
or are some people I guess the
majority of people coming into the field,

100
00:08:35.240 --> 00:08:37.159
are they going to be able to
skate by and say I'm not really interested

101
00:08:37.200 --> 00:08:43.399
in doing AI. I would say
it's going to be an indispensable skill.

102
00:08:43.600 --> 00:08:48.519
Like it's third about the integration.
Now, whether that's going to be big

103
00:08:48.559 --> 00:08:54.399
corporations like open AI or open source
models that you can run yourself when you're

104
00:08:54.399 --> 00:09:01.799
server. I suspect it will be
some combination, okay, but to me,

105
00:09:01.000 --> 00:09:07.519
yeah, at least having the ability
to think about how to plug that

106
00:09:07.559 --> 00:09:09.440
in it is going to be huge. And I think there's so much scope

107
00:09:09.919 --> 00:09:16.399
for innovation. Like one client I
worked with showed me a new kind of

108
00:09:16.519 --> 00:09:20.480
UI that they built that it is
something I've never seen anyone do before,

109
00:09:20.639 --> 00:09:26.200
and it's not that difficult using the
open AI API, And I can't tell

110
00:09:26.200 --> 00:09:31.120
you exactly what it was, but
I think there's so much opportunity to innovate

111
00:09:31.600 --> 00:09:37.279
using these tools, which like five
years ago, would have been unbelievable to

112
00:09:37.360 --> 00:09:41.519
most people. And I think rub
rails and javscripts were a really good language

113
00:09:41.559 --> 00:09:48.080
to do that with. Right,
So you kind of alluded to the thing

114
00:09:48.120 --> 00:09:50.440
that I was going to ask next, which is we see a lot of

115
00:09:50.440 --> 00:09:58.840
people writing code in like Python,
or I've seen some stuff in go in

116
00:09:58.039 --> 00:10:03.600
Rust, depending on and how things
are put together, where they're actually building

117
00:10:03.639 --> 00:10:09.720
the engines that power the models that
people use for their AI, and I

118
00:10:09.759 --> 00:10:13.720
don't see a lot of that with
Ruby. What I'm generally seeing is what

119
00:10:13.759 --> 00:10:18.399
you're talking about with like the open
aijam, where you know, I'm plugging

120
00:10:18.399 --> 00:10:22.919
into these existing systems. Is that
where you see Ruby kind of sitting in

121
00:10:22.960 --> 00:10:31.840
the ecosystem of AI going forward?
It seems like Pipeen kind of won that

122
00:10:31.879 --> 00:10:35.120
space by having the best libraries and
having the biggest community, and it kind

123
00:10:35.120 --> 00:10:37.799
of snowballed over, I guess the
last twenty years to get to get to

124
00:10:37.840 --> 00:10:41.559
the place where it is now.
So but no, I think there is

125
00:10:41.879 --> 00:10:48.200
a lot of opportunity for doing more
deeper integrations like that in Ruby, but

126
00:10:48.279 --> 00:10:52.480
you need people to write them.
And like I'm not an mL expert in

127
00:10:52.519 --> 00:10:58.879
that sense, Like that's not something
that I would necessarily know how to do,

128
00:10:58.799 --> 00:11:03.320
right. Yeah, And you know, like I think being able to

129
00:11:03.320 --> 00:11:07.320
build a startup quickly and build a
business quickly is kind of the niche that

130
00:11:07.720 --> 00:11:13.320
Rails really staked out, and that's
a super valuable place and it would be

131
00:11:13.320 --> 00:11:18.720
really good to be one of the
top languages to build an AI startup in.

132
00:11:18.000 --> 00:11:22.639
And I think that's that's feasible for
Ruby and rails. It just needs

133
00:11:22.679 --> 00:11:28.679
that that community and opens urce work
behind it as well. Right, So

134
00:11:31.440 --> 00:11:33.679
yeah, I mean, I guess, I guess what I'm asking is is

135
00:11:35.159 --> 00:11:39.360
Ruby just going to provide tooling for
other Ruby apps within the AI space or

136
00:11:39.679 --> 00:11:43.960
are we going to go and start
creating some of the things that exist in

137
00:11:45.039 --> 00:11:52.399
Python and other areas too, you
know, to have yeah, to play

138
00:11:52.399 --> 00:11:56.360
in the space. I'm not sure. It's be honest, like, it's

139
00:11:56.399 --> 00:12:01.399
not something I've even considered trying,
because you know, it's not in my

140
00:12:01.440 --> 00:12:05.120
area. I've been a web developer
for most of my career and I can

141
00:12:05.120 --> 00:12:07.919
build a good integration. Going that
next level is not something I've done before.

142
00:12:09.080 --> 00:12:11.480
It's something I'm interested in, but
I think there'll be a deep learning

143
00:12:11.559 --> 00:12:16.840
curve and I've seen that some people
doing some things in that space. Yeah,

144
00:12:16.879 --> 00:12:22.399
I don't know, answer, Nope, totally fair. So I'm also

145
00:12:22.480 --> 00:12:31.759
curious as AI continues to advance,
I don't I don't even know if I

146
00:12:31.799 --> 00:12:35.759
want to get into like general intelligence
or super intelligence, just because I feel

147
00:12:35.840 --> 00:12:39.720
like that's an area that we haven't
really cracked, and I don't know if

148
00:12:39.759 --> 00:12:43.440
we have good answers for that.
Maybe maybe you feel different. If you

149
00:12:43.440 --> 00:12:46.320
feel different, tell me otherwise I'll
ask a different question. Mm hmm,

150
00:12:48.519 --> 00:12:52.320
yeah, if you had the everyone's
got an opinion on that, right.

151
00:12:54.559 --> 00:13:00.759
I actually, about ten years ago
I wrote a novel about AI, the

152
00:13:00.840 --> 00:13:05.519
kind of in the world, the
world getting destroyed by the AI. But

153
00:13:05.559 --> 00:13:09.440
that's that's not necessarily how I feel
now. But yeah, we don't have

154
00:13:09.559 --> 00:13:20.720
NEO. No, there was no
except yeah. Yeah, like I said,

155
00:13:20.720 --> 00:13:22.480
I think we get to great future
and we have the power to do

156
00:13:22.559 --> 00:13:30.360
that. Yeah, yeah, I
agree with you there. I'm so I

157
00:13:30.399 --> 00:13:35.320
am curious we see advancements on like
we're getting GPT four. I'm starting to

158
00:13:35.360 --> 00:13:41.320
see people use large language models that
are based on that, you know.

159
00:13:41.600 --> 00:13:48.080
But yeah, it generates text or
generates code. We've seen tools that generate

160
00:13:48.159 --> 00:13:56.840
images or identify images, you know, generate transcripts from audio. You know.

161
00:13:58.240 --> 00:14:05.759
I've heard AI generated sound clips right
where they mimic somebody's voice or things

162
00:14:05.799 --> 00:14:11.559
like that. What do you think
the next big innovation in AI is going

163
00:14:11.600 --> 00:14:18.759
to be? What I'm starting to
see happen is a sort of commodification of

164
00:14:18.159 --> 00:14:22.000
some of the more common apps that
people try and build. Like I feel

165
00:14:22.039 --> 00:14:28.360
like during twenty twenty three, there's
this huge rush of people building like you

166
00:14:28.399 --> 00:14:35.120
know, chat with my pdf type
thing or chatbots that integrate with open Ai.

167
00:14:35.600 --> 00:14:41.919
But now I'm starting to see some
companies come through with really good offerings,

168
00:14:41.000 --> 00:14:46.080
like bigger companies that kind of just
solve that problem and rather than building

169
00:14:46.120 --> 00:14:50.600
it yourself, you can just pay
to integrate. And of course that's what

170
00:14:50.679 --> 00:14:56.600
I think AI are trying to do
with their GPT store too. I'm not

171
00:14:56.600 --> 00:15:03.399
sure how successfully so far, but
so that's something I definitely see continuing.

172
00:15:03.519 --> 00:15:09.399
Like the low hanging fruit will be
commodified, and in a way that I

173
00:15:09.399 --> 00:15:13.720
think there'll be a bit of a
bubble popping where you're getting all these startups

174
00:15:13.679 --> 00:15:20.519
that have quite similar ideas just trying
to do something quite basic with using an

175
00:15:20.559 --> 00:15:24.480
API will be will be having to
pivot to something more complex or something more

176
00:15:24.559 --> 00:15:31.000
in a certain industry. I think
that's a big trend. It does seem

177
00:15:31.039 --> 00:15:39.039
like the quality of at least open
ai and like GPT four has maybe decreased

178
00:15:39.039 --> 00:15:41.639
a bit. There's been quite a
lot of discourse around that, and I

179
00:15:41.639 --> 00:15:52.720
guess that's a result of safety or
trying to control the output. I guess

180
00:15:52.720 --> 00:15:56.679
we'll see a proliferation of more open
source models that don't have those limits and

181
00:15:56.759 --> 00:16:03.000
the less yeah, less bound like
that. And probably I guess we'll see

182
00:16:03.039 --> 00:16:07.960
the next generation OpenAI model within the
next year or two, our would guests,

183
00:16:07.000 --> 00:16:11.080
and probably that will blow everyone's minds. I would guess I'll see.

184
00:16:12.200 --> 00:16:15.039
Yeah. So I kind of want
to touch on both of these. One

185
00:16:15.120 --> 00:16:23.080
is you said commoditization of certain AI
applications or ideas, And I have to

186
00:16:23.120 --> 00:16:29.039
say, in the podcasting space in
particular, because I'm pretty connected over there,

187
00:16:29.320 --> 00:16:32.720
it seems like there are a lot
of services coming out and the next

188
00:16:32.720 --> 00:16:36.440
one's cheaper than the previous one.
In fact, I've seen a few services

189
00:16:36.480 --> 00:16:41.440
that have actually cut their prices because
they're losing customers to new competitors who will

190
00:16:41.519 --> 00:16:48.960
transcribe the podcast, or generate titles
or descriptions, or generate artwork or a

191
00:16:48.039 --> 00:16:56.559
number of other things that yeah it. You know, it was a novel

192
00:16:56.639 --> 00:16:59.799
use of it before and you only
had a couple of options, but now

193
00:17:00.440 --> 00:17:03.360
everybody seems to be able to do
it, and the barrier to entries a

194
00:17:03.399 --> 00:17:08.920
lot lower m one hundred percent.
I think that is going to continue to

195
00:17:08.960 --> 00:17:14.559
happen. I guess there's a period
of arbitrage do you call it, where

196
00:17:15.039 --> 00:17:18.279
some people know about this technology,
some people don't, And I think as

197
00:17:18.279 --> 00:17:22.960
developers we often sit in that space, like what can seems simple to us

198
00:17:22.720 --> 00:17:27.799
is actually quite difficult to other people. On the other hand, I think

199
00:17:29.799 --> 00:17:34.200
getting a good output from these ais
is not guaranteed at all, Like hallucination

200
00:17:34.920 --> 00:17:41.799
is part of how they work.
So being able to understand that limit hallucination

201
00:17:42.519 --> 00:17:52.079
build safety around that is going to
continue to be a challenge no matter how

202
00:17:52.079 --> 00:17:56.960
good GPT gets. I don't know
really if it will ever be as good

203
00:17:57.200 --> 00:18:03.039
at knowing that it's hallucinating as humans
are. So I think that probably will

204
00:18:03.039 --> 00:18:11.160
always be spaced, right. Yeah. So the other area that you mentioned

205
00:18:11.319 --> 00:18:15.480
was that it's going to get into
more I don't remember the exact word use,

206
00:18:15.519 --> 00:18:18.359
but it sounded like you were saying
that it's going to maybe specialize into

207
00:18:18.400 --> 00:18:26.880
specific areas that you know it doesn't
serve well right now, how do you

208
00:18:26.920 --> 00:18:32.680
see that kind of going Do you
see that as something where somebody branches out

209
00:18:32.720 --> 00:18:37.759
and then user services like chat or
open AI to kind of back end some

210
00:18:37.920 --> 00:18:42.839
of the AI work, or people
are going to be creating off of existing

211
00:18:42.880 --> 00:18:48.839
models with their own data to specialize
the use so that it's, oh,

212
00:18:48.880 --> 00:18:53.599
well, this is a plumbing thing, or a phishing thing, or another

213
00:18:53.720 --> 00:18:59.480
industry thing. Mm hmm. I
think all of the above. Like I

214
00:18:59.480 --> 00:19:03.480
think that we'll be ais for specific
industries that you'll be able to buy off

215
00:19:03.480 --> 00:19:07.519
the shelf, probably that already exists
in some form, but as it gets

216
00:19:07.559 --> 00:19:12.519
cheap and cheaper to train these massive
models, I think that's something you'll see,

217
00:19:15.279 --> 00:19:18.599
I guess for performing real world tasks
and that sort of thing in the

218
00:19:18.680 --> 00:19:25.480
robotic space, I guess that will
prolificate plariff. I would as well proliferate.

219
00:19:25.759 --> 00:19:36.359
I hear you. Thank you as
the experience podcaster. So I think

220
00:19:36.400 --> 00:19:41.279
you have the right of this.
I mean, there's obviously no way to

221
00:19:41.359 --> 00:19:44.440
know, and so you know,
there may be some variance in timeline or

222
00:19:45.240 --> 00:19:48.680
or capability here or there. But
I think the next question that I want

223
00:19:48.720 --> 00:19:52.680
to ask is, so I'm I'm
a run of the mill rails developer,

224
00:19:52.759 --> 00:19:56.960
right, I write web apps.
I you know, I pull in kind

225
00:19:57.000 --> 00:20:03.039
of the standard stuff to do authentication
and queueing and what have you. Maybe

226
00:20:03.079 --> 00:20:06.079
I have a few things on my
back end that I call out to APIs,

227
00:20:06.119 --> 00:20:10.599
which Rails is actually really good at. And so that's where I agree

228
00:20:10.599 --> 00:20:14.839
with you on Rails or Ruby's place
in things is you know, hey,

229
00:20:14.880 --> 00:20:18.319
I can build an API gem just
as good as anybody else and use these

230
00:20:18.359 --> 00:20:25.640
tools. Right, So what should
I be doing now to be forward thinking

231
00:20:25.839 --> 00:20:33.000
for my career to say, okay, if if AI is an inevitability,

232
00:20:33.240 --> 00:20:36.880
right, even if I'm writing a
to do list, you know, I'm

233
00:20:37.319 --> 00:20:41.920
going to have to write some kind
of AI into my application, and I'm

234
00:20:41.920 --> 00:20:45.000
gonna have to understand it well enough
to be able to get it to do

235
00:20:45.039 --> 00:20:48.079
the right thing on a regular basis? What do I need to know?

236
00:20:48.160 --> 00:20:52.359
What do I need to do?
You know? Now? So that when

237
00:20:52.519 --> 00:20:56.720
that time comes and I'm interviewing for
my next job and they say what have

238
00:20:56.759 --> 00:21:00.440
you done with AI? I don't
look at them and go, well,

239
00:21:00.559 --> 00:21:04.079
I have, you know, sixteen
years of Ruby on Rails experience, but

240
00:21:04.160 --> 00:21:07.680
I haven't had to use AI yet. Mm hmm. Yeah. I think

241
00:21:07.720 --> 00:21:14.440
that's a great question. I think
contributing to open source is one where you

242
00:21:14.480 --> 00:21:22.240
can definitely get a bit of experience. So you're talking like the open aigm

243
00:21:22.519 --> 00:21:29.160
or something else, or yeah,
that's a lot Yeah, perhaps, Yeah,

244
00:21:29.200 --> 00:21:30.960
there's a lot of there's a lot
of projects out there, not just

245
00:21:32.039 --> 00:21:40.039
API wrappers as well around databases and
other kinds of things. Yeah, I

246
00:21:40.039 --> 00:21:44.240
think the skills you've got are so
valuable and they're not going to go away.

247
00:21:44.359 --> 00:21:48.759
Like just before this call, I
was working for a couple of hours

248
00:21:48.480 --> 00:21:52.880
with the developer one of my clients, and we were debugging a performance issue

249
00:21:52.920 --> 00:21:56.000
and just like, yeah, I
was just showing him how to kind of

250
00:21:56.039 --> 00:22:00.079
bind a research through the code to
figure out the slow part of the code.

251
00:22:00.160 --> 00:22:06.119
And I think like basic skills like
that not going to go away in

252
00:22:06.160 --> 00:22:14.319
their value. But I think knowing
where AI can be applied and where it

253
00:22:14.319 --> 00:22:18.440
can really add value and when not
to use it is a really important skill.

254
00:22:18.680 --> 00:22:22.400
So if you're going to say to
a client's yeah, we can just

255
00:22:22.720 --> 00:22:26.160
use AI to solve all your problems, I don't think you're adding much value

256
00:22:26.200 --> 00:22:30.559
there, and I don't think that's
really true. But if you can say,

257
00:22:30.839 --> 00:22:37.839
yeah, we could build you something
to help your customer service staffs answer

258
00:22:37.920 --> 00:22:44.279
questions or suggest options or something like
that using an API and you can know

259
00:22:44.319 --> 00:22:48.279
how to do that quickly. I
think that can be really valuable. And

260
00:22:48.599 --> 00:22:52.319
yeah, I guess starting to suggest
that to your clients or to your workplace

261
00:22:53.279 --> 00:22:56.839
could be a good way to go
getting some experience just those little integrations.

262
00:22:59.400 --> 00:23:03.400
Yeah, and just like not discounting
how valuable the skills you already have are

263
00:23:03.559 --> 00:23:08.000
and how useful they'll still be.
Like it's still engineering, you're still building

264
00:23:08.119 --> 00:23:14.319
user interfaces calling APIs. Yeah,
yeah, that makes sense. I mean

265
00:23:14.359 --> 00:23:18.559
one thing that I've been looking at
just for top end devs is, like

266
00:23:18.599 --> 00:23:22.319
I said, there are a whole
bunch of services out there now that'll transcribe

267
00:23:22.359 --> 00:23:26.759
audio, and so you know,
just hooking into those. Yeah, I'm

268
00:23:26.880 --> 00:23:30.319
using an API. I'm not doing
anything that's that far off from what I've

269
00:23:30.759 --> 00:23:33.480
always normally done, but it seems
like it's a good way to get in.

270
00:23:33.680 --> 00:23:37.759
And then yeah, you know,
I can go fiddle with the other

271
00:23:37.799 --> 00:23:41.799
pieces or contribute back to the open
AI gem or some other gem, depending

272
00:23:41.839 --> 00:23:45.559
on what I want to do or
how I want to do it. You

273
00:23:45.599 --> 00:23:53.279
also mentioned databases, So what are
you thinking there? I was just thinking

274
00:23:53.319 --> 00:23:57.960
of vector databases as quite a lot
of people have written gems for like pine

275
00:23:59.000 --> 00:24:03.799
Cone. Yeah, it's that's yeah. Yeah, they work well with making

276
00:24:03.799 --> 00:24:10.839
embeddings and quite closely tied to the
to the AI space. But yeah,

277
00:24:10.839 --> 00:24:15.119
I just think there's so many opportunities
and things are changing so quickly at the

278
00:24:15.160 --> 00:24:19.319
moment, and there's so much interest, Like everyone wants to get a piece

279
00:24:19.359 --> 00:24:25.519
of the AI action, and if
if you can offer away for them to

280
00:24:25.559 --> 00:24:29.680
actually do that at a reasonable cost
and really add a lot of value,

281
00:24:29.680 --> 00:24:36.079
then I think there's always opportunities to
do that. Yeah. Yeah, the

282
00:24:36.559 --> 00:24:41.960
I think there was a pag vector
that Andrew Kine was putting together, and

283
00:24:41.039 --> 00:24:47.160
so yeah, you know he's he's
pretty well known in the rails, you

284
00:24:47.200 --> 00:24:52.240
know, with search Kick and a
bunch of other stuff. But yeah,

285
00:24:52.359 --> 00:24:57.599
peg vector is basically a vector database
that runs inside of post Press as an

286
00:24:57.599 --> 00:25:02.319
extension and so right, so yeah, I mean all kinds of stuff there,

287
00:25:02.400 --> 00:25:04.920
right, and so just understanding,
Hey, this is how vector database

288
00:25:04.960 --> 00:25:11.559
works, this is how it pulls
into into your application. Here's how to

289
00:25:11.680 --> 00:25:18.000
use it with your AI engine.
Yeah that's cool stuff too, and I

290
00:25:18.039 --> 00:25:22.319
think starting to learn some of the
pitfalls, like how well that might work,

291
00:25:22.440 --> 00:25:25.200
Like I've used pg vector and it's
really good. It's a great option,

292
00:25:25.799 --> 00:25:29.200
and it's really cheap. Just having
that knowledge can be really valuable.

293
00:25:29.680 --> 00:25:34.720
A lot of people are quite interested
in the assistance API, but at the

294
00:25:34.720 --> 00:25:40.480
moment, I'm recommending people stick to
the chat that Open ai chat endpoint because

295
00:25:40.480 --> 00:25:47.160
assistance is really complicated to integrate with. It seems to be more expensive generally,

296
00:25:47.319 --> 00:25:53.519
and you can't stream stream text from
it yet. All So, even

297
00:25:53.599 --> 00:25:57.599
just having a bit of having tried
to play with that a bit and discovered

298
00:25:57.640 --> 00:26:03.319
that it's really valuable information, I
think being able to see through the hype

299
00:26:03.359 --> 00:26:07.599
a little bit. Yeah, that
makes sense. I've also come to understand

300
00:26:07.599 --> 00:26:11.640
that a lot of the chatbot AI
systems will allow you to import your own

301
00:26:11.720 --> 00:26:15.839
data, and so understanding, hey, here's how you get the data in,

302
00:26:15.079 --> 00:26:18.319
here's how you get the data back
out. It seems like kind of

303
00:26:18.359 --> 00:26:26.720
a fundamental approach on a lot of
that. Yeah, understand Yeah. One

304
00:26:26.759 --> 00:26:29.240
other question that I have is how
do you test this stuff? How do

305
00:26:29.279 --> 00:26:33.359
you test these systems? M Yeah, I'm really interested in that. Like

306
00:26:33.400 --> 00:26:38.160
I've always been seep into TDD ever
since I became a developer. Like my

307
00:26:38.440 --> 00:26:42.680
first dep job, I didn't really
know how to code, but I read

308
00:26:42.720 --> 00:26:48.119
some blog posts about TDD and it
enabled me to write code that works even

309
00:26:48.160 --> 00:26:52.440
though I didn't really know how to
do it properly, which I found really

310
00:26:52.480 --> 00:26:56.400
helpful. And I still do quite
a lot of TDD. Obviously. The

311
00:26:56.440 --> 00:27:03.400
difference is with like generative AI,
that there's no exact right or wrong.

312
00:27:03.319 --> 00:27:11.119
Right. Yeah, but I think
using ev owls maybe we talked about that

313
00:27:11.160 --> 00:27:17.519
last podcast, I can't remember,
but that's something Open AI put together a

314
00:27:17.559 --> 00:27:21.000
Python library which you can use to
like test the quality. I think they

315
00:27:21.079 --> 00:27:26.480
use it internally to test the quality
of AI output, and I think there's

316
00:27:26.480 --> 00:27:30.400
a similar project in Ruby. But
that's something I'm really interested in, to

317
00:27:30.440 --> 00:27:34.599
be honest, Like, how do
you monitor the quality of your AI output?

318
00:27:36.720 --> 00:27:42.799
How do you detect that maybe in
production your AI app is giving people

319
00:27:44.240 --> 00:27:48.559
bad answers consistently, or something's going
wrong right? And I think there will

320
00:27:48.559 --> 00:27:52.920
be tools built to do that.
Yeah, I've thought about trying to build

321
00:27:53.480 --> 00:27:56.400
something right in that space, to
be honest, whether maybe an open source

322
00:27:56.440 --> 00:28:03.079
library a bit like us back but
for AI. But I don't know,

323
00:28:03.079 --> 00:28:07.920
I haven't quite figured out what that
would even look like, right, Really,

324
00:28:08.119 --> 00:28:11.400
do you have any thoughts in that
area or I don't. I was

325
00:28:11.480 --> 00:28:18.000
curious what you were gonna Yeah.
I think basically you need a way to

326
00:28:18.079 --> 00:28:26.240
say to grade the results you're getting
according to like you need to be able

327
00:28:26.279 --> 00:28:30.079
to put in these are good answers, and then you probably need to use

328
00:28:30.359 --> 00:28:36.680
a language model to grade the answer
is the language model is giving if that

329
00:28:36.720 --> 00:28:37.920
makes sense, and then you can
say, okay, this change I made

330
00:28:38.680 --> 00:28:47.799
improve the results or make things worse, right, Yeah, yeah, that

331
00:28:47.880 --> 00:28:49.559
makes sense. It feels like I
might have to check that manually though.

332
00:28:52.039 --> 00:28:56.119
Yeah. Yeah, but at scale, like if you're building a big bit

333
00:28:56.119 --> 00:28:59.000
of software, you need you need
a consistent way to be able to make

334
00:28:59.079 --> 00:29:04.039
changes and judge the grady I think, well maybe not maybe wrong about Yeah,

335
00:29:04.480 --> 00:29:10.400
No I agree with you. I
just yeah, I don't know.

336
00:29:10.480 --> 00:29:15.559
I've heard I've heard of people essentially
doing something that looks a little bit like

337
00:29:18.039 --> 00:29:25.440
generative adversarial network, where you're not
it's not informing that the result you get

338
00:29:25.480 --> 00:29:30.640
from the AI, but it's effectively
Yeah, it's another AI that checks the

339
00:29:30.680 --> 00:29:34.599
AI. Yeah, So you feed
it results and you start telling it this

340
00:29:34.680 --> 00:29:37.599
is a good one, this is
a bad one, and then it's able

341
00:29:37.640 --> 00:29:42.680
to come back and say, you
know, this is yeah anyway, Yeah,

342
00:29:42.720 --> 00:29:48.240
and maybe in the future will have
networks of that or yeah, I

343
00:29:48.240 --> 00:29:52.920
guess maybe that will be a common
part of applications people build is to have

344
00:29:52.039 --> 00:29:57.319
multiple ai is checking each other and
reporting on each other. I'm not sure.

345
00:29:57.720 --> 00:30:03.319
It sounds kind of terrifying, but
right, yeah, have them all

346
00:30:03.359 --> 00:30:08.920
talking to each other. So I
don't know that I have any other questions.

347
00:30:10.000 --> 00:30:11.880
Are there any other areas of Ruby
that you've been looking at that you're

348
00:30:11.920 --> 00:30:18.119
thinking, Oh, these advancements look
cool, or you know, this particular

349
00:30:18.160 --> 00:30:25.240
area seems to be heading in a
direction that's interesting or not particularly like I'm

350
00:30:25.279 --> 00:30:27.799
just interested in, like what's coming
up in the future. I don't know

351
00:30:27.960 --> 00:30:33.039
what conferences are you going to this
this year? I don't know either.

352
00:30:33.680 --> 00:30:37.240
Yeah, I might go to Toronto. I think Rails World is in Toronto

353
00:30:37.279 --> 00:30:44.759
this yees, yeah, that could
be fun. Cool. Well, I

354
00:30:44.839 --> 00:30:48.079
guess we'll wrap it up. But
yeah, thanks for jumping on and talking

355
00:30:48.079 --> 00:30:52.759
to me for a half hour or
so. And yeah, if people want

356
00:30:52.799 --> 00:30:55.920
to check out what you're working on, is there a good place for that

357
00:30:56.160 --> 00:31:02.960
or yeah, definitely. My website
is my Alex rudau dot com. That's

358
00:31:03.039 --> 00:31:07.599
a l e X r U d
a l L dot com. And yeah,

359
00:31:07.599 --> 00:31:11.799
I'm also available for hire for consulting
projects at the moment. And yeah,

360
00:31:11.799 --> 00:31:15.480
and you can find me on x
Alex Rudel as well. And thank

361
00:31:15.519 --> 00:31:18.559
you so much for having me on. This was a lot of fun.

362
00:31:18.839 --> 00:31:23.359
Yeah, absolutely, well this is
I'm so fascinated by all of this stuff,

363
00:31:23.400 --> 00:31:26.720
so it's it's fun to get on
and talk to somebody who's doing it

364
00:31:26.799 --> 00:31:30.359
day in and day out. So
thanks so much.

