Hey folks, welcome to another interview on the Ruby Dev Summit. Today.
I'm talking to Alex rude Al. And Alex, we had you on Ruby
Rogues a little bit ago. We were talking about the open Ai gem,
and I think we talked a little bit about some of the business stuff that
you're doing as far as like consulting with companies about using Ai and their Ruby
apps or rails apps. And yeah, I mean there's just there's so much
interesting stuff going on in that space that I thought, Okay, well,
you know, if I'm going to be asking people, hey, what's the
future of Ruby, it feels like this is one area that we really can't
ignore, you know, even though traditionally Ruby's used sort of in other ways.
Right, it's used in mostly web development, but you see it in
other places as well. So and and then I know you're involved in other
areas of the community too. So I'm just going to start with our major
premise question and we'll see where we go from there. But what's what what
in your mind is the future Ruby? Yeah? Sure, well, basically
thanks so much for having me on again. I really enjoyed the last podcast
we did. And yeah, like you said, like I tend to think
of myself as just a simple Rails developer, but yeah, I maintained the
open Ai gem and the anthropic Api gem as well, and I've done quite
a lot of projects recently integrating with open Ai and Ruby and rails, So
I do have some opinions about that. Yeah. In terms of the future
of Ruby, I did a little bit of research just before this, kind
of looking at Hacker Rank and they put out reports on kind of programming language
usage in interviews. I believe it is, and the picture is not kind
of amazing from Ruby there. Like, I think between twenty twenty one and
twenty twenty three there was something like sixty percent decline in the number of interviews.
I think they said, I could be a bit wrong about the exact
numbers, but it's something like that. Yeah, quite significant decline in an
environment where programming usage is increasing and the number of developers is increasing. So
you know, I think there's this kind of perennial thing, is like,
is Ruby dead or dying? And also, yeah, I think AI is
going to be a huge part of what we do as developers in the future.
Maybe that's obvious at this point, maybe not. Yeah, like the
reasons that I originally chose to work with Ruby and rails more than ten years
ago too, really like one is how human friendly I found it. When
I was learning to code, I did my Microhurtle's Rails tutorial, which I
think a lot of developers of my sort of age did. I didn't building
a clone of Twitter and if. I was also trying to learn c sharp
at that time, and I found Ruby so much more human friendly, so
much more just like speaking English almost, and I think, yeah, that's
really important. That's one part of it. And the other side was community.
I found the Ruby community so much more friendly on kind of forums,
people, I spoke to, conferences, even I just found it so much
more friendly and inclusive. And I think those two things, like community and
being human friendly, are going to continue to be super important in the future,
and then maybe one way that Ruby can kind of take a place for
itself in the future. For example, with AI, it is likely that
it's programming ability. They're going to get better over time. But my view
is that humans will still kind of hold the keys to the real world and
control kind of the money and what work gets done, and therefore I think
there will still be a lot of value in having a language that is really
nice for humans to use. Yeah, anyway, I've got actually a lot
of those on this book. Yeah, well, let me tease some of
this out, because I think there are three or four areas that you've touched
on that that I'm kind of curious about. So I hear people both in
the business space and in the technology space that have all kinds of ranging opinions
on how big a role AI is going to play in the future at all.
Right, so some people think that, hey, we've kind of found
this sweet spot with like chat, GPT or mid journey or things like that,
right where it generates text or it generates a transcript, or you can
give it a prompt and it'll give you an image back. But you know,
we're eventually going to exhaust that, and AI, you know, may
become faster and in some ways more intelligent, but then you know, we're
not ever going to get to a artificial general intelligence or that we're not going
to get to you know, we're going to find the limits of these applications
that we already have for AI, and so it's not going to be the
big play, right, So it's going to be the big play for the
next couple of years, and then after that maybe it peters out, or
maybe we find another usage. So my question to you is, you know,
how how deeply do you see Ruby going into that space to use some
of these AI tools or applications, especially since you're writing the ap or the
Ruby gem that helps you access those tools, right, is it going to
become a major player or an indispensable part of your applications going forward on the
web or other places, or and why do you think that. I think
one thing that happens with a lot of discourse around AI is a sort of
fatalism or like, and there's kind of feeling of inevitability. But I think
the reality is that we get to decide what happens, especially developers. I
think we have such a big influence on the way a lot of people in
the modern world live their lives, Like the stuff where we write, especially
what goes on phones gets used so much. So yeah, obviously I don't
know the future, but I think the answer is we get to decide.
Like, particularly in the rub community, what makes a language successful is the
open source contributions that people make and the quality of the community contributions, and
I'm seeing more and more people write open source libraries and even just API rappers
like I've written and kind of collaborating on that. And if the open source
software is good enough, then people will be able to build startups quickly on
top of it, successful businesses, and then they'll put money into it.
More people will get jobs and that increases the community. So I don't think
it's a question of like will we be be a part of it or not.
It's like it's kind of up to us to decide whether we're committed to
this language and the communities and then the work that we can put out in
that space. And yeah, talking about general intelligence, like I would say
that probably artificial general intelligence will will happen, but my feeling is kind of
optimism optimism around it, like it's probably quite a long way off still,
and I don't think I think there will be collaboration rather than opposition. That
would be my guess, right. Yeah. So, so related to that
then is the ability to integrate with some of these other systems like open AI.
Is that going to become an indispensable skill for Ruby developers in the future
or are some people I guess the majority of people coming into the field,
are they going to be able to skate by and say I'm not really interested
in doing AI. I would say it's going to be an indispensable skill.
Like it's third about the integration. Now, whether that's going to be big
corporations like open AI or open source models that you can run yourself when you're
server. I suspect it will be some combination, okay, but to me,
yeah, at least having the ability to think about how to plug that
in it is going to be huge. And I think there's so much scope
for innovation. Like one client I worked with showed me a new kind of
UI that they built that it is something I've never seen anyone do before,
and it's not that difficult using the open AI API, And I can't tell
you exactly what it was, but I think there's so much opportunity to innovate
using these tools, which like five years ago, would have been unbelievable to
most people. And I think rub rails and javscripts were a really good language
to do that with. Right, So you kind of alluded to the thing
that I was going to ask next, which is we see a lot of
people writing code in like Python, or I've seen some stuff in go in
Rust, depending on and how things are put together, where they're actually building
the engines that power the models that people use for their AI, and I
don't see a lot of that with Ruby. What I'm generally seeing is what
you're talking about with like the open aijam, where you know, I'm plugging
into these existing systems. Is that where you see Ruby kind of sitting in
the ecosystem of AI going forward? It seems like Pipeen kind of won that
space by having the best libraries and having the biggest community, and it kind
of snowballed over, I guess the last twenty years to get to get to
the place where it is now. So but no, I think there is
a lot of opportunity for doing more deeper integrations like that in Ruby, but
you need people to write them. And like I'm not an mL expert in
that sense, Like that's not something that I would necessarily know how to do,
right. Yeah, And you know, like I think being able to
build a startup quickly and build a business quickly is kind of the niche that
Rails really staked out, and that's a super valuable place and it would be
really good to be one of the top languages to build an AI startup in.
And I think that's that's feasible for Ruby and rails. It just needs
that that community and opens urce work behind it as well. Right, So
yeah, I mean, I guess, I guess what I'm asking is is
Ruby just going to provide tooling for other Ruby apps within the AI space or
are we going to go and start creating some of the things that exist in
Python and other areas too, you know, to have yeah, to play
in the space. I'm not sure. It's be honest, like, it's
not something I've even considered trying, because you know, it's not in my
area. I've been a web developer for most of my career and I can
build a good integration. Going that next level is not something I've done before.
It's something I'm interested in, but I think there'll be a deep learning
curve and I've seen that some people doing some things in that space. Yeah,
I don't know, answer, Nope, totally fair. So I'm also
curious as AI continues to advance, I don't I don't even know if I
want to get into like general intelligence or super intelligence, just because I feel
like that's an area that we haven't really cracked, and I don't know if
we have good answers for that. Maybe maybe you feel different. If you
feel different, tell me otherwise I'll ask a different question. Mm hmm,
yeah, if you had the everyone's got an opinion on that, right.
I actually, about ten years ago I wrote a novel about AI, the
kind of in the world, the world getting destroyed by the AI. But
that's that's not necessarily how I feel now. But yeah, we don't have
NEO. No, there was no except yeah. Yeah, like I said,
I think we get to great future and we have the power to do
that. Yeah, yeah, I agree with you there. I'm so I
am curious we see advancements on like we're getting GPT four. I'm starting to
see people use large language models that are based on that, you know.
But yeah, it generates text or generates code. We've seen tools that generate
images or identify images, you know, generate transcripts from audio. You know.
I've heard AI generated sound clips right where they mimic somebody's voice or things
like that. What do you think the next big innovation in AI is going
to be? What I'm starting to see happen is a sort of commodification of
some of the more common apps that people try and build. Like I feel
like during twenty twenty three, there's this huge rush of people building like you
know, chat with my pdf type thing or chatbots that integrate with open Ai.
But now I'm starting to see some companies come through with really good offerings,
like bigger companies that kind of just solve that problem and rather than building
it yourself, you can just pay to integrate. And of course that's what
I think AI are trying to do with their GPT store too. I'm not
sure how successfully so far, but so that's something I definitely see continuing.
Like the low hanging fruit will be commodified, and in a way that I
think there'll be a bit of a bubble popping where you're getting all these startups
that have quite similar ideas just trying to do something quite basic with using an
API will be will be having to pivot to something more complex or something more
in a certain industry. I think that's a big trend. It does seem
like the quality of at least open ai and like GPT four has maybe decreased
a bit. There's been quite a lot of discourse around that, and I
guess that's a result of safety or trying to control the output. I guess
we'll see a proliferation of more open source models that don't have those limits and
the less yeah, less bound like that. And probably I guess we'll see
the next generation OpenAI model within the next year or two, our would guests,
and probably that will blow everyone's minds. I would guess I'll see.
Yeah. So I kind of want to touch on both of these. One
is you said commoditization of certain AI applications or ideas, And I have to
say, in the podcasting space in particular, because I'm pretty connected over there,
it seems like there are a lot of services coming out and the next
one's cheaper than the previous one. In fact, I've seen a few services
that have actually cut their prices because they're losing customers to new competitors who will
transcribe the podcast, or generate titles or descriptions, or generate artwork or a
number of other things that yeah it. You know, it was a novel
use of it before and you only had a couple of options, but now
everybody seems to be able to do it, and the barrier to entries a
lot lower m one hundred percent. I think that is going to continue to
happen. I guess there's a period of arbitrage do you call it, where
some people know about this technology, some people don't, And I think as
developers we often sit in that space, like what can seems simple to us
is actually quite difficult to other people. On the other hand, I think
getting a good output from these ais is not guaranteed at all, Like hallucination
is part of how they work. So being able to understand that limit hallucination
build safety around that is going to continue to be a challenge no matter how
good GPT gets. I don't know really if it will ever be as good
at knowing that it's hallucinating as humans are. So I think that probably will
always be spaced, right. Yeah. So the other area that you mentioned
was that it's going to get into more I don't remember the exact word use,
but it sounded like you were saying that it's going to maybe specialize into
specific areas that you know it doesn't serve well right now, how do you
see that kind of going Do you see that as something where somebody branches out
and then user services like chat or open AI to kind of back end some
of the AI work, or people are going to be creating off of existing
models with their own data to specialize the use so that it's, oh,
well, this is a plumbing thing, or a phishing thing, or another
industry thing. Mm hmm. I think all of the above. Like I
think that we'll be ais for specific industries that you'll be able to buy off
the shelf, probably that already exists in some form, but as it gets
cheap and cheaper to train these massive models, I think that's something you'll see,
I guess for performing real world tasks and that sort of thing in the
robotic space, I guess that will prolificate plariff. I would as well proliferate.
I hear you. Thank you as the experience podcaster. So I think
you have the right of this. I mean, there's obviously no way to
know, and so you know, there may be some variance in timeline or
or capability here or there. But I think the next question that I want
to ask is, so I'm I'm a run of the mill rails developer,
right, I write web apps. I you know, I pull in kind
of the standard stuff to do authentication and queueing and what have you. Maybe
I have a few things on my back end that I call out to APIs,
which Rails is actually really good at. And so that's where I agree
with you on Rails or Ruby's place in things is you know, hey,
I can build an API gem just as good as anybody else and use these
tools. Right, So what should I be doing now to be forward thinking
for my career to say, okay, if if AI is an inevitability,
right, even if I'm writing a to do list, you know, I'm
going to have to write some kind of AI into my application, and I'm
gonna have to understand it well enough to be able to get it to do
the right thing on a regular basis? What do I need to know?
What do I need to do? You know? Now? So that when
that time comes and I'm interviewing for my next job and they say what have
you done with AI? I don't look at them and go, well,
I have, you know, sixteen years of Ruby on Rails experience, but
I haven't had to use AI yet. Mm hmm. Yeah. I think
that's a great question. I think contributing to open source is one where you
can definitely get a bit of experience. So you're talking like the open aigm
or something else, or yeah, that's a lot Yeah, perhaps, Yeah,
there's a lot of there's a lot of projects out there, not just
API wrappers as well around databases and other kinds of things. Yeah, I
think the skills you've got are so valuable and they're not going to go away.
Like just before this call, I was working for a couple of hours
with the developer one of my clients, and we were debugging a performance issue
and just like, yeah, I was just showing him how to kind of
bind a research through the code to figure out the slow part of the code.
And I think like basic skills like that not going to go away in
their value. But I think knowing where AI can be applied and where it
can really add value and when not to use it is a really important skill.
So if you're going to say to a client's yeah, we can just
use AI to solve all your problems, I don't think you're adding much value
there, and I don't think that's really true. But if you can say,
yeah, we could build you something to help your customer service staffs answer
questions or suggest options or something like that using an API and you can know
how to do that quickly. I think that can be really valuable. And
yeah, I guess starting to suggest that to your clients or to your workplace
could be a good way to go getting some experience just those little integrations.
Yeah, and just like not discounting how valuable the skills you already have are
and how useful they'll still be. Like it's still engineering, you're still building
user interfaces calling APIs. Yeah, yeah, that makes sense. I mean
one thing that I've been looking at just for top end devs is, like
I said, there are a whole bunch of services out there now that'll transcribe
audio, and so you know, just hooking into those. Yeah, I'm
using an API. I'm not doing anything that's that far off from what I've
always normally done, but it seems like it's a good way to get in.
And then yeah, you know, I can go fiddle with the other
pieces or contribute back to the open AI gem or some other gem, depending
on what I want to do or how I want to do it. You
also mentioned databases, So what are you thinking there? I was just thinking
of vector databases as quite a lot of people have written gems for like pine
Cone. Yeah, it's that's yeah. Yeah, they work well with making
embeddings and quite closely tied to the to the AI space. But yeah,
I just think there's so many opportunities and things are changing so quickly at the
moment, and there's so much interest, Like everyone wants to get a piece
of the AI action, and if if you can offer away for them to
actually do that at a reasonable cost and really add a lot of value,
then I think there's always opportunities to do that. Yeah. Yeah, the
I think there was a pag vector that Andrew Kine was putting together, and
so yeah, you know he's he's pretty well known in the rails, you
know, with search Kick and a bunch of other stuff. But yeah,
peg vector is basically a vector database that runs inside of post Press as an
extension and so right, so yeah, I mean all kinds of stuff there,
right, and so just understanding, Hey, this is how vector database
works, this is how it pulls into into your application. Here's how to
use it with your AI engine. Yeah that's cool stuff too, and I
think starting to learn some of the pitfalls, like how well that might work,
Like I've used pg vector and it's really good. It's a great option,
and it's really cheap. Just having that knowledge can be really valuable.
A lot of people are quite interested in the assistance API, but at the
moment, I'm recommending people stick to the chat that Open ai chat endpoint because
assistance is really complicated to integrate with. It seems to be more expensive generally,
and you can't stream stream text from it yet. All So, even
just having a bit of having tried to play with that a bit and discovered
that it's really valuable information, I think being able to see through the hype
a little bit. Yeah, that makes sense. I've also come to understand
that a lot of the chatbot AI systems will allow you to import your own
data, and so understanding, hey, here's how you get the data in,
here's how you get the data back out. It seems like kind of
a fundamental approach on a lot of that. Yeah, understand Yeah. One
other question that I have is how do you test this stuff? How do
you test these systems? M Yeah, I'm really interested in that. Like
I've always been seep into TDD ever since I became a developer. Like my
first dep job, I didn't really know how to code, but I read
some blog posts about TDD and it enabled me to write code that works even
though I didn't really know how to do it properly, which I found really
helpful. And I still do quite a lot of TDD. Obviously. The
difference is with like generative AI, that there's no exact right or wrong.
Right. Yeah, but I think using ev owls maybe we talked about that
last podcast, I can't remember, but that's something Open AI put together a
Python library which you can use to like test the quality. I think they
use it internally to test the quality of AI output, and I think there's
a similar project in Ruby. But that's something I'm really interested in, to
be honest, Like, how do you monitor the quality of your AI output?
How do you detect that maybe in production your AI app is giving people
bad answers consistently, or something's going wrong right? And I think there will
be tools built to do that. Yeah, I've thought about trying to build
something right in that space, to be honest, whether maybe an open source
library a bit like us back but for AI. But I don't know,
I haven't quite figured out what that would even look like, right, Really,
do you have any thoughts in that area or I don't. I was
curious what you were gonna Yeah. I think basically you need a way to
say to grade the results you're getting according to like you need to be able
to put in these are good answers, and then you probably need to use
a language model to grade the answer is the language model is giving if that
makes sense, and then you can say, okay, this change I made
improve the results or make things worse, right, Yeah, yeah, that
makes sense. It feels like I might have to check that manually though.
Yeah. Yeah, but at scale, like if you're building a big bit
of software, you need you need a consistent way to be able to make
changes and judge the grady I think, well maybe not maybe wrong about Yeah,
No I agree with you. I just yeah, I don't know.
I've heard I've heard of people essentially doing something that looks a little bit like
generative adversarial network, where you're not it's not informing that the result you get
from the AI, but it's effectively Yeah, it's another AI that checks the
AI. Yeah, So you feed it results and you start telling it this
is a good one, this is a bad one, and then it's able
to come back and say, you know, this is yeah anyway, Yeah,
and maybe in the future will have networks of that or yeah, I
guess maybe that will be a common part of applications people build is to have
multiple ai is checking each other and reporting on each other. I'm not sure.
It sounds kind of terrifying, but right, yeah, have them all
talking to each other. So I don't know that I have any other questions.
Are there any other areas of Ruby that you've been looking at that you're
thinking, Oh, these advancements look cool, or you know, this particular
area seems to be heading in a direction that's interesting or not particularly like I'm
just interested in, like what's coming up in the future. I don't know
what conferences are you going to this this year? I don't know either.
Yeah, I might go to Toronto. I think Rails World is in Toronto
this yees, yeah, that could be fun. Cool. Well, I
guess we'll wrap it up. But yeah, thanks for jumping on and talking
to me for a half hour or so. And yeah, if people want
to check out what you're working on, is there a good place for that
or yeah, definitely. My website is my Alex rudau dot com. That's
a l e X r U d a l L dot com. And yeah,
I'm also available for hire for consulting projects at the moment. And yeah,
and you can find me on x Alex Rudel as well. And thank
you so much for having me on. This was a lot of fun.
Yeah, absolutely, well this is I'm so fascinated by all of this stuff,
so it's it's fun to get on and talk to somebody who's doing it
day in and day out. So thanks so much.