Building AI-Powered Applications in Ruby - RUBY 662 - podcast episode cover

Building AI-Powered Applications in Ruby - RUBY 662

Nov 28, 20241 hr 22 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

This week, our host Charles Max Wood sits down with co-host Valentino Stoll to dive deep into the cutting-edge tools and strategies in AI development and integration. Valentino shares his go-to resources, including Langchain and Rails plug-ins like RAIX and Ray, to enhance applications with AI. They discuss the nuances of agent-based systems, Justin Bowen’s frameworks, and AI engines from industry leaders like Alex Rudolph and Toby Lukett.

Charles and Valentino also explore the significant impact of AI tools such as Copilot, ChatGPT, and more focused GPT models in streamlining coding tasks, automating tests, and refactoring code. They offer insights on leveraging AI for business operations, the importance of modularity, and the ongoing need for human expertise to guide AI's outputs.

Listeners will hear about the latest in AI-driven projects, including Valentino’s own endeavors in fine-tuning machine learning models for Ruby, and Charles’s plans for an AI development boot camp. Tune in for an enlightening discussion on how AI is reshaping software development, enhancing productivity, and creating new opportunities in the tech world.



Sponsors
Socials

Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.

Transcript

Speaker 1

Hey folks, welcome back to another Ruby Rogues episode. This week on a panel, we have Valentino Stole and now I'm Charles Maxwood from Top End Devs. And yeah, we were talking before the show. We had our guest canceled on this last minute. So if you're trying to watch this on YouTube and you're like, you're not talking about solid cash, no we are not. We were chatting and just to give a little bit of context, and I

explained this to Valentino before the show. You know, I've been using some of these AI tools that are out there for a while, but just kind of at a

low level. And what I had essentially figured out a while back was that like co pilot will suggest snippets and stuff in visual studio code, which is handy, right because a lot of times it suggests stuff that it's like, yeah, that's what I want, and if I'm doing the same structure in a couple of places, it was really good at figuring that out right, It's like, oh, okay, same structure, different variables with But I'd also use like chat, GPT

and some other tools for some of this stuff. And so one thing that I wound up doing was last night, I was working on adding a new audio player to the member area of top end Devs because I'm basically revamping it because it's it's not what I wanted, and I found I figured out how to get at least much more close to what I want. So I was putting that in there right so that it you know, it kind of floats at the bottom of the screen

and does a bunch of stuff. And I'd already done all the styling for that, and so I was telling, you know, I was using it that basically as a look up. So it's like, hey, what are the audio APIs in the browser that I can use right to put a nice looking player in controls. And I was just kind of, you know, putting it together. And just on a whim, I had been listening to a and

I can't remember which one it was. It was one of the AI podcasts that I've recently picked up, but they were talking about how they were using it to actually either generate code or get checks on their code, and I was like, I wonder if I can just tell it to write me an audio player right, like just boom. I want an audio player that I can put in my browser. And so I tell it that, and it it writes one right, and I'm like, okay, well,

let's see how good this is. So I turn around, right, because in chat GPT you can tell it to refine the answer, right, So I tell it, okay, well, I'm using stimulus. I want the play and pause button to toggle to play or pause when I hit play or pause, you know, I want I want the progress bar to you know.

Speaker 2

To change as it plays.

Speaker 1

I can't remember what else I told it, but I also told it I wanted it to be controlled through stimulus, and that I was using tailwind, and that I wanted the play and pause buttons to not have words in them.

Speaker 2

I wanted to use font awesome for the icons, and it spit the whole thing out.

Speaker 1

So then what I did is I was like, I know, there are more features than I want on this, I just can't think of what they are. And so I asked it, I said, what other features should I be putting in this thing? And it turns around and it gives me a list of like sixteen things, right, and like ten of them were features that I might want

if I wasn't just playing one episode. But there were like four or five of them that I was like, oh yeah, I want that too, I forgot and so I put all those in and you know, and so it's giving me a player. So I put it into the page and it was like it was a big square that took up like half the screen. And so I said, hey, I'm putting this into a bottom banner that has to fit into an H dash thirty two

sized space in the you know, in the page. And so it condensed it and so I picked it up and I put it into my Rails app, and you know, I'm thinking, okay, you know, I you know, I had my developer tools open with the console and I'm already to to you know, to debug it right, and you know, because it probably got something wrong. And would you believe it, the thing just worked like it literally like I tested every feature and it did exactly what it was supposed to do.

Speaker 2

So then so then I had to tweak the layout on it a.

Speaker 1

Little bit because it did look a little bit weird. But I mean literally, it was just came, move this up here, make that wider. You know, Okay, now it looks now, it looks decent. Right, I'm not sure I'm completely satisfied with the layout on it, but it works and it looks it looks fine.

Speaker 2

So now I'm thinking, Okay, what else is out there? Right? And I've picked up some other tips and tricks.

Speaker 1

But we were talking before the show and I kind of told this to Valentino and he's going, oh, yeah, I've got all kinds of tricks that I use, And so this is probably gonna be more me picking your brain, Valentino than offering any you know, awesome ideas or solutions. But it seems like there's a whole breadth of things that I'm just kind of opening up my mind to at this point. So so yeah, So, I mean, I guess my first question is is did you already know that chat GPT would do this kind of a thing?

Speaker 2

And what else am I not even.

Speaker 1

Seeing in the wide world of hey, make my code process better?

Speaker 3

Yeah? There's so many things here. Yeah, I guess like if we take a step back and just like focus on like what we're trying to accomplish as like software developers, right, Like it kind of like breaks down into two things, like one like abstractly thinking about concepts and how to like design things, and the second would be like implementation detail and so like there's two like avenues that I always like break things down to based off of that,

and so like we just focus on like the design aspects. Like that's just great as like a GPT like and for those that don't know, it's like a plugin for chat GPT even like I have one based on the stack that I use, which is Rails specific with Ruby and like x y z design books that I've just like uploaded to the GPT, right, so like I have like ninety nine bottles from Sandy Mets and like some AI specific ones.

Speaker 1

Hang on, so what when you're saying like design books and you're you're talking about like kind of it sounds like you're kind of setting up the context for where you're asking your question.

Speaker 3

Yeah yeah, so like yeah, maybe we should apreciate that. Like what is a GPT YEA And honestly, like I'm surprised this is totally like open a eyes like miss here in marketing, Right, It's because gpds are incredible, right, Like it's like a way of like encapsulating a purpose to all of the to chat GPT, right, so you get your like blanket features of chat GPT of being able to be a general purpose utility to do anything.

And so it's great at code related stuff. But if like let's say, like you want to like make super object oriented Ruby and Rail's work, like that's prime candidate for making a very specific plug in the chat GPT, and you can basically give it context like documents that it can use as reference, and you can also give it like custom instructions to follow so you don't have to like re say those things over and over again.

So like, let's you have a prompt that you always go to that's like, hey, like pretend you're an expert in object oriented design and Ruby, right, and I want you to follow these principles. You know, if you're generating Ruby code, follow this like you know, like linter related thing. And you can like reuse these prompts over and over again to get get it to output the things how you want it to rather than just like chatting through it.

And so with a GPT, you can like frontload all that work and just have something reusable that you can go back to. And so I have this open GPT called the Software architect Mentor, and I use it all the time, and it's like my abstract go to for just like, Okay, I'm designing something in Ruby sometimes rails, doing AI stuff like, use all of that context to just help me design something or refactor something or do these things in an abstract way so that way I

don't have to worry about the implementation. I can focus on design.

Speaker 1

So how do you get that into chat GPT? And maybe I'm just you know, I haven't played with it enough.

Speaker 3

So they know they have. There's like an explorer GPTs okay sidebar, and you could just like start a chat with any one of those.

Speaker 1

Oh okay, so I could actually instead of because I'm just using the generic chat GPT. I mean that's what built my player for me. You're telling me I could have because I clicked on it and I'm seeing like a website generator or a code copilot. So I could used the code code pilot and what would have been faster or better or.

Speaker 3

Yeah, it would be more focused. So I guess like faster and better are you know, kind of dependent on the use case, but it might narrow the scope of the scope. Like as an example, if like, okay, well let's say you're working on you know, I don't know, go code or something like that. Like, you know, there may be some conventions that could be useful, like using a very ghost specific GBT in the same way that using a ghost specific prompt can help guide the generation

of that. Right, Like if you just say, hey, like chat GPT, generate a you know program that like shows me a calendar, It'll just like use whatever its preference is based on your chat history with it. So like that could be any number of languages, could be any number of implementations. But if you like, open up a go GPT, it's going to use go.

Speaker 2

Right, Right, So do they have a Ruby GPT in here.

Speaker 3

Or did you There's a lot of people that that have gpds published there kind of just have to search through stuff. I just have my own because I found it very useful.

Speaker 2

Uh, yeah, there are a bunch in here.

Speaker 3

Yeah, you can you basically can give it knowledge and that knowledge will be used to generate stuff with and so like I personally have very specific like resources that I like to like have it reference. Uh and I imagine other people do too, Right, Like you have your books that you favored the design principles from, or how you like code implemented in specific ways, uh, based on. You know, it doesn't have to be books. It could

be websites. Uh, you know, whatever resources that you use the code with, you can use it can use.

Speaker 1

So when you're pulling them in, because my mind's already blown, right, it's like, Okay, I'm gonna go down the rabbit hole on this stuff real.

Speaker 2

Hard here after we're done.

Speaker 1

But because because I could see, you know, you create GPTs for other things, it sounds like that.

Speaker 2

In a way.

Speaker 1

That's kind of what when we talk to Obie what he was talking about with Ray right, where you're essentially you're giving it all that context and then yeah, you're doing some prompt engineering too.

Speaker 2

I want to response to books like this or something like that.

Speaker 1

But I mean the rest of it is, you know, yeah, then you ask it a question and from everything that you've told it, it gives you the focused or more correct answer. So when you're telling it, hey, I favor ideas from I don't know, you know, ninety nine bottles or you know, maybe it's the Pewter book the What Principles of Object Oriented Design and Ruby or something like that.

Speaker 2

How do you reference that in?

Speaker 3

Do you just give it a r L or I just upload the document. Okay, right, you just yeah, you know, you go, I buy the book and then I get the PDF from it and I upload it, right, and then I can have it generating based off of that, right, Like.

Speaker 1

Okay, so how big is its brain? How much stuff can I cram in there?

Speaker 3

I honestly haven't tested that, although I have gone through and just uploaded all the books that I've read, like from like my programming experience, and that I've found does

not help. Giving it more context doesn't help it. And to be honest, like that makes a lot of sense to me, because like the whole point of of like this honed agent is like you know that it's narrow in scope, right, right, And so like the more that you can narrow that scope to like the very specific tasks that you plan to use it for, like the better and I like, you know, going back to OBI when we had them on like that narrowing of the path is like the best way to think about like

programming or like designing things with AI is like, yeah, creating the very specific thing that you want it to do, and like all of your instructions and knowledge and things that you're giving it are like honed in on that.

Speaker 1

Yeah, it seems like, Yeah, when we were talking to Obi, the thing that kind of stood out to me was because the Chat GPT, you know, the GPT model that you're using, it has everything in it, right, So it does baking, it does auto repair, and it does it

has Ruby stuff in it, right. And so if I tell it, hey, I need you to help me write better code, then if I use a term that is also used in baking, me narrowing the path is just telling it I only want the stuff that's relevant to programming in Ruby and so, right, and then and then there's other training in there too that might be and I'm looking for things formatted this way, and I'm looking for, you know, ideas in this vein or things like that.

I've also heard from people the idea that essentially you can and I've seen some other people do this where they have they've like uploaded all the content that they've made about a topic, and then they essentially have a like I could create a Chuck GPT right, and it would be you know, hey, this is all the knowledge that Chuck has ever put out about whatever. And I've thought about doing that for like a Ruby rogues, right, and so I could upload the audio and you know,

or upload transcription transcriptions or something. But my worry is is we've been doing this show for like thirteen years, and so some of the stuff we talked about thirteen years is very relevant, and some of the stuff we talked about thirteen years ago is not very relevant. And so I worry that then it's going to go, oh, well, I consider, you know, the thirteen year old content is relevant as the right, and so maybe I can tell it, hey, favor the newer stuff over the older stuff and put

that into the context. But yeah, I've kind of hesitated on doing that just for that reason.

Speaker 3

Yeah, you know, we're like we're edging very very close to like the retrieval aspect of like AI design, which maybe off topic a little bit because it's there's so much there, but yeah, I mean I think we're if we circle back to like the tools that we're using here, like there's so much like that you can use out off the shelf that like if you just use them in the specific ways, like you can skirt around those issues.

Speaker 2

Right.

Speaker 3

So, Like as an example, there, there's somebody just released this rails app called Nausea NSI a dot Ai. Yeah, and it's like super awesome, runs on a Lama locally and you can like upload whatever documents you want it to use and run your own chat sept in a reals context with all that stuff built in.

Speaker 2

Really French or am I looking at the wrong thing?

Speaker 3

Yeah? I mean the site I think is in French, but the repo is in English.

Speaker 2

Okay, well in Google translate it. It's it's good at that.

Speaker 3

That's right. But yeah, I mean this idea is like not new, right, Like, there's lots of other tools out there as well that you can use to kind of just get a local version of chatchipt running so that you can do this with like if you have, for example, you want to narrow the retrieval aspects to only relevant stuff based on timestamp or something like that, Like that's

gonna require some like alteration. There's not anything built in the chat GBT to allow that kind of granularity without like building something on top of its.

Speaker 2

A p I S.

Speaker 3

But there's a lot more stuff coming out that I like, uh that's revolves revolves around like the command line aspect mm HM, where it'll like basically use your current working directory as like a test bed two like scan for relevant documents and also like uh, you know, build up. It's like task at hand.

Speaker 2

Uh.

Speaker 3

So like one that immediate immediately comes to mind. As a tool called eight er A I D E R also runs fully mean to help. Yeah a lot, yeah, a lot of the French in the AI space. Uh you know hugging face as an example, definitely French yah mixedtro right. So so many great AI things come out of France. Uh. But you know with a tool like eighter like h it basically uses tree sitter and like scans through EU repo.

Speaker 2

Right.

Speaker 3

So if you're like, oh, I want to you know, like change the you know, contact page to uh, you know, add another field for this specific thing in my reils app, it'll go through and it'll scan the rails app locally and then find what files that it needs to include as contexts and then walk through like a step by step process of Okay, what files do we need to touch? What changes do we need to make to make that request happen?

Speaker 2

Uh?

Speaker 3

And you it could even like you know, alter these files h which is really really exciting because ultimately that's what that's what I would you know, I'd rather part of the problem with like just using chat cheapt for like you know, code generation in general, like it doesn't have context, and it also like uh, you know, it makes mistakes like all the time, and then you're like stuck trying to figure out well, okay, well you know what mistake is this? Like why is there about here?

Speaker 2

Right?

Speaker 3

And you can do that in chat cheapt too, but it's just like it slows things down quite a lot, and so when you get something that's more like wrapped around the thing that you're building, it makes it much like smoother of an experience.

Speaker 2

That's awesome. So that that was aider or in French.

Speaker 3

DA yeah, yeah, ader. And you know, there's like a a more pol version of it, if if you will, called code buff, but you know it's it's expensive, but you know, uses the more flagship models like from open ai or you know, anthropic depending on the context. So like you get better quality outputs from it because of that, and you could also use you know, open ai for eight or two, but it's definitely not as polished as ah as code buff.

Speaker 1

Right, yeah, I'm trying to make sure we have all the links in the like, like folks, if you're looking for the links there. It's looked it looks like it's posting it to Facebook, YouTube and Twitch and not Twitter LinkedIn, so it'll it'll all be in the comments there. So yeah, I mean that that's helpful just because, yeah, it can work from the context of the stuff in your actual code base.

Speaker 3

Yeah, and I a lot of the back and forth stuff with implementation related tasks, right, It's like it can eat up time, right, Like it just reminds me of like, you know, some some of the original like code generation stuff, like even like Reils generators as an example, right, Like it's just like it'll just dump a ton of code at you and you're just like, well what do I do with that?

Speaker 2

Right?

Speaker 3

Or if like it doesn't do what you want, like you have to figure out what that is, and like it doesn't know, right, Like there's no there's no context. It's not aware of anything, right other than what it's been trained on.

Speaker 2

So, like.

Speaker 3

It's definitely a it's a hard experience to like just go in and I can't imagine like just imagine if you were like learning reels for the first time, right or Ruby or like even just like RESTful APIs, right, Like I just remember those concepts being like, you know, challenging to understand if you have something like that's just generating stuff and you don't really understand how it works, Like you could lose a whole day just like figuring

out a mistake it made. Where if like, you know, you instead followed some tutorial that somebody wrote, like maybe you would have a different experience. You know, they still doing that though you have the same a similar experience sometimes if you like are missing a package or something like that, but like definitely more frequent with chat ChiPT.

Speaker 1

Yeah so code buff and eight those are on the command line, right.

Speaker 3

Yep, yeah, those are all come in. I mean, you know, there's so much Ruby stuff out there now, right, we had Scott Warker from sub Layer. Sub Layer is awesome like fully Ruby, like developer happiness, like AI helpers, right, Like you can get it to like watch your file system and perform actions with AI. You can do all kinds of crazy stuff with it. I have one where I'll feed it a Ruby file and it generates a

spec for me. So if I'm like, you know, prototyping a new module or class or something like that, or some Ruby code, I could just say if I like wanted to turn it into something that I wanted to share with people. I you know, hadn't made a speck yet, but I was abstracting and just working on design concepts. And now, all right, I flesh this out, I wanted like tested, and I'll go and I'll say, hey, here's a Ruby file, like can you create on our respect

test for this? And I just have a single command line command and I just feed at the ruby file and it generates the respect tests for me.

Speaker 1

Oh wow, and it's awesome. I've been going through that with one of my clients deals where like, yeah, they've got this heinous you know class that has a bunch of stuff going on in it.

Speaker 2

And yeah, it was like, you know, they're.

Speaker 1

Like, hey, you got to speed this up, and I'm like, I am not messing with this thing until I have a test on it, right, I mean, just just so that I know that I didn't change the behavior, not necessarily because the behavior is correct, though I'm sure it's mostly correct because they've been using it that way for a while.

Speaker 2

So yeah, that sounds really handy.

Speaker 3

Yeah, and you know, even two on their I think on their docks, they have like or maybe it's on YouTube. Scott has this demo where basically creates a you know, a tool that like let's tell you can tell it. Tell the tool. Okay, here's this file. I the tests are failing, get them to pass, right, and it'll go through and run through the code and like get the tests to pass.

Speaker 2

Oh wow.

Speaker 3

And so like that's a more like advanced kind like thing you can use it for. But like, yeah, I mean I feel like we're just kind of starting to scratch the surface here.

Speaker 2

Yeah.

Speaker 3

I mean it's hard because like all of these large language models, they're not trained necessarily on Ruby, right, right, And so like there there's obviously a small sample in there or it wouldn't be able to do what it can,

but it definitely will. Like if you're using chat ChiPT heavily, you'll see it like use Python related standard libraries for Ruby, right And you're like, wait, that doesn't exist, Like how did where are you requiring this, like you know, data frames or something like that, which there are data frames of Ruby, just not like natively.

Speaker 1

Right, Yeah, I asked it to So I basically said, hey, I want to run whisper locally to get diarized, which means or a diarized transcript, I should say, so it transcribes it, but then it assigns, you know, Speaker one said this, Speaker two said that, and Whisper doesn't do because I knew that Whisper doesn't do diarization out of the box. And so yeah, its answer was install these Python libraries and then call Python for Ruby. Well it's fine, you know, okay, but you know because because I don't

know that there is a library that'll do it. But yeah, it was. It was interesting, and in fact, I think it started out saying, yeah, generating diaries transcripts for a podcast episode of multiple guests using a local installation of open ayes Whisper model and Ruby requires the following steps. Install Whisper locally. Whisper is a Python library, so you need Python installed and ensure that you have the required dependencies.

Speaker 2

So I have to install ffm PEG.

Speaker 1

And then it says it doesn't Whisper does not natively perform speaker diroisation, so you have to use a diroization library, and it tells you to use piannote dot audio, which is also a Python library, and then it says integrate with Ruby and so Yeah, then it's telling you to, you know, write this quick little Python script and then call the Python script from Ruby.

Speaker 3

When it comes to like doing like larger scale builds, huh. If you're trying to get chat cheepy t to like build a full fledged command line application as an example, right, Like, it's gonna struggle. There's gonna be a lot of back and forth. You may have multiple chats open. You know,

it's gonna be difficult. The one thing I have us it's worked well for that kind of thing is honestly Claud and thropics claud setting up a project for that specific thing that you're building, creating an overall context with the purpose that you're using it for to build, and outlining what all the requirements are in that, and then you can just start iterating through the chats to implement the specific features. I use that all the time, and the code outputs it can like start like building on

top of itself. So it has these things called artifacts, which are just the files that it generates, and you can add them to the project as it creates things that you like, and you can edit in context and start including it in the project, and it will literally build the whole application just like in front of you. And it it's a little funny because there's a there's this project called e to be Developer where they somebody has built basically like an open source version of this

of Claude's artifacts. Or again you can like kind of spin up your own like the last you know, like a AWS instance and run have like the AI literally like run files and and create files and run the scripts and stuff. And so what people do with it ultimately is like you can you can get it to literally make like a front end game or like the if you're building like a web app, it'll like build the actual app and run it in the browser view.

Speaker 2

So I mean this kind of because I mean we talked.

Speaker 1

We started talking about, Okay, how do we enhance our development experience with AI? I talk to people and they're afraid of AI taking their jobs, and so it sounds like you're getting real close to saying, you know, somebody with a minimum level of prompt engineering experience might be able to do it.

Speaker 3

Well, there's a saying in the AI space garbage in, garbage out, and so there's a yes and note to that, right, like is it going to take all of our jobs now, right, Like, honestly, it's like giving people superpowers, right, Like whatever powers you do have now, like that's all your knowledge and all your skills that you've accumulated or even if you're just starting to accumulate them, right, Like, it basically just like

gives it, like amplifies all of that. So like if if you're you know, if you want to be like a senior dev, like you can honestly just start today using AI tools, right, and you'll get pretty close. Right, Like maybe maybe you know your job won't consider you that, but like you'll definitely start to see a considerable improvement in like how quickly you can accomplish things.

Speaker 2

Right. I think.

Speaker 1

I think the way that I think about it is more along the lines of like just because you're talking about it the same way I'm thinking about it, in that, hey, this is a really really powerful tool, right, and so it can shortcut a whole bunch of things that we used to just go and have to kind of reinvent by hand on a regular basis.

Speaker 2

Right.

Speaker 3

A perfect example is like the you know, post generator aspect. Right, Like let's say you do real new and you're really just trying to like get a page up that's like let's you see users, right or whatever the resource you may have. You know, there's a very specific series of steps you follow just to get to that point where you can start to crud through. Oh I want to add this user with this, or I want to add I want to contact lists, I want to add people.

You know, Like the AI can help like through all those steps so that you don't have to focus on all those upfront, right, Like you can just get to that page and be like okay, great, now, like all of that initialization configuration aspect which the generators start, but

you have to like finish out. Like that finishing out portion is done too, right, Like you can sidestep a lot of the you know, the tidying up that comes from generators, which is kind of exciting, right because like that aspect of programming is like widespread, right, Like the idea of like okay, I have a template that I'm working off of, and I want to customize it to get to you know, round zero of my application mm hmm.

And like you have to get through that you know, series of steps that you're just stepping through, and like

AI is great at that. It's great at stepping through stuff, especially when all of those requirements are predefined, right like Reel's new with what right, like you've been reels new any number of things you could base it off an existing template you have, you know, if you have a gem you're building for Ruby, right like bundle gem new, you know, you have like all of your existing authorships and like where you're going to publish it to, Like there's just like a lot of details that you end

up having to add every time that gets old, right, and it's like repetitive, and like the more things that you could just like get out of the way and just start building. Like I bet right now now if you look at ruby gems dot com, like there would be a huge spike in published gems. I don't doubt

that right now. And I feel like that's maybe gonna be where the jobs aspect comes in play here, is that this is gonna be a lot more maintenance bur right, Like you know, we can we can create exponentially, and maintenance is going to drag behind.

Speaker 2

There, right. Yeah.

Speaker 1

I think the rest of the thought that I was trying to make, and then I want to kind of address the other piece that you're talking about here is that, Yeah, effectively you have these tools that you know, if you're still going to have to gain experience the same way the rest of us do. Right, So you're going to use AI, it's going to generate some stuff and then yeah, you're you're gonna walk into the same walls that we did.

You just got there a little faster because you didn't have to go and slog through all the stuff that you already knew how to do right to get there. And so I think that's where if you were already a senior developer and you use these superpowers, then you can use the tools essentially and say, I need this refined this way, right, this isn't quite what I'm looking for because I know that if if it's put together like this, I'm opening myself up to this problem later.

And so hey, can you handle this too, right? And and then it can modify the code.

Speaker 3

I mean you bring up you bring up a great point like if you're using AI as a tool and you're getting hung up on something, then you're using it wrong, right, Like if uh, if you're using the tool and like you're kind of banging your head on like getting it to do what you ask like it's it's more than likely that it's just like you're you're not using it

the right way. It's like kind of funny because like that's like a meme, right, Like it's like the holding you're holding it wrong from Steve Jobs, right, right, But it's so true, Like you know, like these the AI tools are built like in very specific ways, and if like you're not seeing the results you expect, like it's you're you know, it's not being used in the way that it should be.

Speaker 1

Yeah, you need to give it more context or ask it in a more specific way or a more appropriate way.

Speaker 3

Or approach it completely differently, right, Like there there are so many ways to get it to do the same thing, and so like yeah, if you're like that's kind of like the beauty of AI is like you can literally

scrap everything and start over like pretty quickly, right. And I would say, if you're like trying trying to explore the realms of all of this stuff, like use the interfaces that make the most sense to you, right, because there are so many and like you're if you're fighting it early on, you're going to continue to fight it.

Speaker 1

Yeah, yep, but I think overall, I guess to a certain degree, then if it gives developers superpowers, going back to the idea, is it going to take jobs? If it gives us superpowers and it makes us that much more efficient, then and this may be more of a like a business philosophical question than an actual like practical you know, are they going to fire developers?

Speaker 2

Does that take away jobs?

Speaker 1

Or does this just mean that, Hey, look, we've got ex budget for developers, and so now we if we train all of our people to use these tools to enhance what they can do, we can get this much more done. Right, And so do we actually lose jobs or maybe do we lose junior developer jobs, which seems kind of shortsighted because we are going to eventually need more senior developers. How do you see that shaking out in the grand scheme of things?

Speaker 2

Or do we just not know?

Speaker 3

I mean, I see it as more transitional, right, Like the common analogy that I've heard is like the transition from horse and buggy to automobiles, right, like very similar modes of like transport, in that you have wheels right right,

and you have like somebody steering it. It's just a matter of what's powering it, right, that changes, but the infrastructure and things related to it and all, like as an example, whips, Like you know, the accessories around all of this stuff are just changing shape, right, right, but the underlying infrastructure around it is still very much the same.

Speaker 2

Right.

Speaker 1

So we may need less people that shovel poop and more people that are machinists and auto mechanics exactly.

Speaker 3

I think that's ultimately where we're going to get into, is like more specialized aspects, right, And like that's honestly what we've been seeing taking shape before AI started, as like frameworks become more popular, and like Kubernetes as an example, right, like all of these abstractions, I mean, DH makes a

great point like about abstractions in general. If you get abstract away like the concepts in a way that you know makes it so that you have a more straightforward point of use, right, Like all the details like somebody else is working on those, right, right, and you can you know rest assured that you know, those people that are specialized in it are going to produce you know that make it easier and more modular and extendable, uh for your general purpose use right, Right?

Speaker 1

So I'm gonna shift gears on you just a little bit because we've talked about using AI mostly to generate code, and then you were talking about how you can use Claude to effectively incrementally generate basically an entire application. Actually, I'm gonna change my question because it came into my head as I was talking about this. So if if you've got something like Claude that can generate pretty much an entire application, I mean, are there limitations to that?

Speaker 2

Like? Are there are there areas.

Speaker 1

Where you may tell it you want it to generate a thing, and it's just not you know, it's not going to be good at that, or it's good at to it up, good at it up to a certain point, and then after that.

Speaker 3

Yeah, I mean I definitely see the limitations, right, Like, uh, it's good up to a point. It's good at like cobbling together like uh, you know, MVP or like a first version of something, But as soon as you want to add something new or make changes to it, it starts to break down pretty quickly, right, And what you end up having to do is break it apart. And I'm honestly very similar to just general software engineering, right is like you break it apart in the smaller pieces

and then focus on those smaller pieces. Yeah, and I know Ken Beck has like a great like saying around this on like, you know, make the change easy and then make the easy change right, like right, And that's ultimately what ends up happening as you start to develop like things with AI on a larger scale.

Speaker 1

So you kind of answered the other question I was going to ask, which was, so, let's say I have like a bunch of code. I don't want to say legacy code, because people take that to mean different things. Right, if you read Michael Feathers, it's just code without tests.

But you know, so you've got this older code that you know was written I don't know, five years ago or something that still works, but you find, hey, maybe I want to refactor it so that it's easier to maintain, or I want to I want to add a feature to it. Right, And so I was going to say, mostly we were talking about generating code, but yeah, what

about modifying code or refactoring code or rethinking code. And it sounds like the answer to that is, yeah, you you take the relevant parts out, you tell your large language model about it. Right here, here's here's my view, here's my controller, here's my model. You know, here's the feature that it's supposed to implement. You know, I need to add this other feature and then see what it does with it.

Speaker 3

Yeah, I mean pretty much. And you know, circling back to like the more you know, the more point of use tools like or like code buffer or something like that, you know, like it can gather that context for you. Like the most difficult part of the whole were factoring

aspect and making modification. Is like the code, the you know file spread, right, Like if you have this giant you know, service class that you've just put everything in to make the abstraction easier, and it's just becoming too and wieldly to make changes to it, and you want to break it apart into smaller pieces so that the responsibilities are broken out appropriately, right, getting it to extract those and make new files and things like that, and

getting it to orchestrate all of them, like that kind of change becomes more difficult, and so like that's where like again back to the specialists, like you know, that's why I don't think our jobs are going anywhere necessarily, is like, you know, it doesn't know how to make code friendly and easy to read, right, right, and.

Speaker 2

It just knows how to make code like what it's already been trained.

Speaker 3

Exactly, and so like let's say even that you get it to train on a whole bunch of code that you have that is in a pleasant way, Like it'll get to a point where, you know, you're trying to do something novel, You're trying to introduce a new concept, and like it doesn't know how to break apart the existing design concepts and apply it to the new novel approach of implementing something that you're trying to do. So like it might be able to get like, okay, we

want a service class. We want to you know, encapsulate this form logic in an object oriented way. It can do these abstract concepts, but like the actual implementation of the whole flow starts to break apart, and like it'll just become messy and like a messy as a human right to read, where like maybe the code works and it runs, but you know, the naming conventions may will

start to break down and it won't make sense. It'll just make sense to like the very specific things that it's making, right, and it does yeah, I mean it doesn't have knowledge of the world at every moment, right, Yeah, that makes sense.

Speaker 2

Right, So we go from.

Speaker 1

Sort of the you know, like I said, shoveling shoveling poop right where it's you know, kind of the generic, easy to pick out cleanups that you know, it may pick up just because it's got a bunch of code samples that it was trained on that are reasonably well written and so it you know, it can adapt a lot of that stuff out. But yeah, the more involved re factors and things like that it just does hasn't been trained on.

Speaker 2

I get from here to hear, right, And.

Speaker 3

Yeah, I mean it is great for a factor if you have the narrow enough scope where okay, you have like even if you have like three files and you're like, this is just too many files to handle, Like, can we like reduce the complexity here, Like you can guide it in a way that it can help you eventually

reach the goal that you're trying to get. But right, like, if you don't understand how to help it get there, how to help it help you get there right, right, then it's going to be more difficult to work with it than it is. Just you figuring it out.

Speaker 1

Right, So so you may be able to handle a class with five hundred lines in it and say, this class is too large? What responsibilities do you see here? And it may may not be able to pick them out, and then if it does, then maybe you can start asking it, okay, which methods belong to which responsibility and then from there you can start to figure out how to have it help you divvy it up and you know, extract the class.

Speaker 3

Yeah, and I'm hopeful that like all this stuff, like with these models, a lot of this comes out of there, right, because like that's ultimately where software like comes in play. Is like you have these like design you know, buffer ahead of time that you work through to figure out ultimately what needs to change or get created, and like that's very step wise, like and you know that process is like, okay, I'm thinking about doing this thing. Help

me break out the steps, what approaches are there? And once you've scattered and then figured out which one pieces of it that you actually care about, right right, getting it to identify those things is nice, And then you're still left with, Okay, well I should make the best choice in this moment, which you know I'm hopeful that the future my like focus more around like the selection

aspect of those design choices. But yeah, there's still a lot of like the reasoning aspect of these things that is missing.

Speaker 2

Right, So are there other tools or approaches that you're using.

Speaker 3

Let's see what else is in my toolbox? I mean yeah, I mean for design stuff, I definitely use that software architect mentor one. Just to hash through ideas, I use lane chain a lot. Lange Chain RB has some great abstractions around working with AI development and integration. We talked about ray r ai X just great like rails plug in to just like get your Rails app hooked up to various AI related design things.

Speaker 2

Yeah, and there's Ray and then there's Ray rails. Ye.

Speaker 1

So the one is the Ruby extension, the other one is the race and.

Speaker 3

To be honest, lane chain or B they have lane chain reels which also adds some similar integrations. And then there's the whole agent side of things too, which.

Speaker 1

Isn't that what Ray is kind of focused around, is building those agents or are you talking about agents that people have already built for Ruby stuff?

Speaker 3

So there's like there's two ways of thinking about it. Like if you're just like if you want to augment your applications with AI, like use it as a tool. Like that's more like Ray or things like that where you just want to introduce, Hey, I have this model and I wanted to auto generate stuff based on these column names, or I have this prompt and I want to guide through a process and you can create kind of like these abstractions around those ideas.

Speaker 1

That's the level that I'm looking at working in. So, for example, with what I've built for top end devs, I'm basically to the point now where I'm starting to show other people how I run things, and they're telling me that they want my platform as much as they want my method, right, and so I'm imagining, yeah, you have something that you built in Ray, and it's essentially you know, so like when our guest today almost said his name, but I don't want to call him out.

He's a great guy and you know that he had

a good reason for canceling today. But right, so if that happened, right, I would like it to go and have my agent with has access to the back end, right say okay, we're gonna we're going to reschedule him for whenever or you know, we're going to pick another topic and bring it in right and have it intelligently do that, but then also have my users be able to as much as they go in and just modify stuff in the form right that I built in rails, but also just say I don't like the title of

episode five hundred and twenty two. I think it needs to be more focused on this topic or you know,

we use this as an example. So like JavaScript Jabber, one of the episodes, I kept bringing up examples from rails to illustrate points, right, And so the AI generated title that wound up getting put in there without me catching it had rails in the title, and that wasn't what the episode was about at all, and so it would have been nice to be able to just tell it instead of going in and try and do whatever.

Speaker 2

Say I need a title that is less.

Speaker 1

Focused on you know, that doesn't include rails and talks about this topic instead, and then have it smart enough to go and generate a new title and.

Speaker 2

Ask me if that's okay. Kind of thing.

Speaker 1

Right where the UI is now, I can either speak to it or type into a chat and have it do the right thing. Reschedule this episode Okay, I'm going to go modify it in the calendar.

Speaker 2

I'm gonna go send new invites to the guests.

Speaker 1

And the hosts and right do all the other process things because it has access to the back end of my system.

Speaker 2

Does that make sense?

Speaker 3

Yeah, that makes sense.

Speaker 1

I get excited about that, And I think that that is a more intuitive interface for a lot of business owners that literally just want a content strategy that gets a business.

Speaker 3

Yeah. I mean, if you're just trying to supplement your existing business, right like using something like ray or lang Chain or one of these other supplemental libraries, right, Like, that makes a lot of sense. It just looks right into it, you know, very minimal modification and like long term support. Just like it's super easy to modify and update the prompts pretty easily.

Speaker 2

Right.

Speaker 3

But if you're trying to get like something more complex out of like the AI systems, that's kind of where like agentic system design comes in play.

Speaker 2

Uh.

Speaker 3

And that's like where you want like, uh, you know, AI to to do a specific job and like a chain through a bunch of steps. Uh. And so like there's tools like active agents as an example, justin Bowen, Uh, he just released these uh this framework which is pretty awesome uh for managing agentic system flows like that. And then there's like you know Alex Rudall, we had him on He's the Ruby open Ai author, right. He has AI engine, UH, the AI engine Jim it's with reels

ai dot com uh. And that he has you know assistance ah, you know framework built in where you can just hook into uh to get various code like you know, to do step wise things with there's just like a it's like if you're looking to cobbled it.

Speaker 2

Like.

Speaker 3

One of the greatest things I saw was actually from Toby Luke from Shopify. He gave this like internal like presentation where it was all developed by AI and he had basically like made these little agents. He made like a virtual office and this was the program. And the virtual office had individual agents, which were basically just people with a very specific role like a software engineer, a

marketing person, you know, research assistant, you know. And each person, each agent had a loop and it went through and it thought about what it had to do. It like had some tools available to it to perform that task. And then every periodically all of the agents would get together and they would like have a meeting, right, and like they could if they needed information from another agent, like they could reach out to the other agent and

work together on producing those details. Right. And then you know what you can do is is you could scale this, right is you could say, Okay, I want like five developers agents, right, like I want five marketing people on this effort, and they would all work together and work on scaling and then conferring their judgments together for better results.

And if you think about it again, like he basically said, well, then you can also scale your offices, right Like, so like let's say I have one office working on this, I can have many offices working on this, and maybe they're all working on their own different things, but ultimately coming together for the business side, like right purpose Uh And so it's really interesting idea of like these virtualization like containers of all of these very specific things doing

very specific tasks. And so if you're want to like build a business around that idea, like you're gonna go through some kind of agent or assistant p Yeah.

Speaker 1

Yeah, And and that's that's what I'm excited about, right. I just see all kinds of opportunities with that. Was there anything else that we should dive into here. We've been talking about an hour.

Speaker 3

I mean I could keep going. There's there's so many.

Speaker 2

One more things.

Speaker 3

Yeah, I mean so the there the Latent Space podcast is just incredible.

Speaker 2

Uh yeah, I just started listening to that.

Speaker 3

Oh my gosh. They are just like in it deep right, Like if you're if you want your mind blown about like what is happening in the AI space, like they're exposing it pretty great.

Speaker 2

Uh.

Speaker 3

And and one one thing that is like frequently talked about is like the importance of like evaluating the outputs right and getting benchmarks and so like two of these concepts are like, uh, you know, the Hugging Face has a great like library on their evail framework. Let me

see if I can remember what it is. I mean, yeah, Evail guidebook, and so that they have like basically this like, uh, you know, how do you get run tests against these outputs so that you can guarantee that they're doing it what you what you want of them, right, Because that's one of the biggest things is like there's so much variability in their output right, Like uh, it's token by token, so like if it gets off track at any point, like it could all of a sudden break down pretty easily.

And if you have that hooked up into a series of processes that depend on each other, right, like that

falls apart pretty quickly. And so like setting up these kind of like benchmarks and evaluations is just like there's a whole industry like focus on this, right, And that's where you get these like leaderboards that benchmark all of these models based on different criteria like how well do they you know one I just saw recently, there's a an evaluation or a leaderboard for for doing debates, right, like how well do the models like argue on a point?

And so there's like a new leaderboard now where which models perform best at this, right, like which which ones are most convincing?

Speaker 2

Right?

Speaker 3

And it's it's pretty great. And so like there there are a bunch of leaderboards that and that all of them are based on these evaluations, right where you have output and you give it input and you expected a very specific reconstruction of that every time, right. And so that's actually something I focus on quite a bit at work building stuff for physicians. Right, it's pretty important to get it to do exactly what you want.

Speaker 2

Right, That's amazing.

Speaker 1

Yeah, And Layton space is what it swicks or Sean Wayne yep and Alesso I can't remember his last.

Speaker 3

Name, but yeah, I mean I would Hugging Face is definitely like they are awesome. They're just killing on all fronts here, even the robotic stuff. I don't know if you play. I have a little They have this thing called the robot and it's a robotic arm that you can train with AI just like on your MacBook and you point a camera at it, and I've built it like that. You build two of them, right, like one to train it with and one to do things with.

And it has this thing called telepresence where it repeats you know, what you're doing with one robot arm to the other, and then it you know, trains and model based on that, and so you could train it to do different things, so like pick up you know, sort Eminem's or sort legos or you know pick up. I'm trying to get it to right, like Hello world, right, And you could train it to do this just like by having it watch itself and repeat those training examples,

like in a virtual environment. So they have like this whole framework they built around that. It's so fascinating. The other robotics aspects of all this stuff is pretty wild.

Speaker 2

Yeah, it sounds like a whole different can of worms. Yeah. So at the end of the day, if people are looking to enhance their.

Speaker 1

You know, their code stuff, and we didn't even get into you know, JavaScript in front end, if you're doing stuff with that. But you know, beyond kind of the stepping stones that we've already talked through, right, are there good places for people to just kind of keep an eye out and go, you know, see what else kind of crops up?

Speaker 3

I mean really just starts small, Like this space is always going to change fast, and there's going to be new things, but there's like foundational concepts and tools like becoming popular, right Like lang chain is like a widely popular thing that's just super easy to get set up and running with.

Speaker 2

Right.

Speaker 3

Grant is in Python and that's fine, like.

Speaker 2

A yeah, but it looks like, you know, you've got link chain RB.

Speaker 1

So it's it's like calling a database or you know, another API service or something, right.

Speaker 3

I mean really, it's just like finding those abstractions that just help like get to the point and learn the basics, right, Like the best tool you can find to do that with is going to be the best one, right, because like there's so many concepts to learn, like just break down like how you chain it all together, right, right, and so like start with the very basic small stuff like sub layer. If you're in Ruby, Like sub layer

is a great starting point. Like you open up a Ruby fil and you include sub layer and you can perform some LLLM magic right, awesome, awesome tool create different actions, Like they have a library you can go and just like you know, take all you know, the various actions that they publish. Right, So if you want it as an example, like red Green tests passing, like there's like a you know, an agent for that you can download and get running just from a URL.

Speaker 2

So like.

Speaker 3

Yeah, I would say, just like pick one tool and that like that will get Now that's going to be the fastest way.

Speaker 2

Yeah, I guess at this point we'll go ahead and do pics. Yeah.

Speaker 1

I mean, I'm just sitting here kind of thinking through all the implications of all the stuff we talked about, because you know, I knew, I knew that there was a whole level of stuff that I hadn't seen.

Speaker 2

And one thing that I'm really wanting to do or thinking about doing here is.

Speaker 1

Just putting together essentially tutorial videos on how to do a lot of this stuff. Right, It's like, hey, here's how you, you know, work through some of these things or use some of these tools, just to give people an idea or example. Anyway, Yeah, let's go ahead and jump in with picks and then we'll wrap up.

Speaker 2

But yeah, we've we've got all kinds.

Speaker 1

Of links in the on the YouTube broadcast that says it's about solid cash.

Speaker 2

But yeah, why don't why don't you go ahead and go first? What picks do you have?

Speaker 3

Yeah, I mean I have to, you know, call out the Ruby I Builders discord. Like awesome. Honestly, if you're looking for one thing to like learn all this stuff, like just join that discord. You'll learn plenty and people are just like so willing to help out and point you to to where you need to go and what you're looking for. Super helpful. Sublair also has a discord if you're looking to drive into that as well. Yeah,

I mean next to that. Yeah, I'm just chugging away on this, like Ruby laying AI project I started, it's

like very slow progress. Well, ultimately I'm like trying to fine tune a model, a very small model, call him you know, SML instead of ll M. But I'm trying to like fine tune smaller models that are very purpose driven for Ruby generate code generation with the ultimate goal of being able to, like, you know, further fine tune it on existing code basis so that you can get it to generate things based on the context of your

organization's code. And I'm making some pretty good progress. I'm trying to use as much Ruby as I can, and so I have, you know, this high call library that I'm using to ultimately just shell out to Python for the things that Ruby can't do yet. But that gap is slowly closing in thanks to Andrew Kane, who's just like a monster with all of this machine learning stuff in Ruby. Yeah, he is just putting out stuff left

and right. And I guess on that topic, there is a gem called informers that he has that lets you run inference for Ruby, and it's really great. You can basically just like point a hugging face model at it and run imprints using Ruby. Super fun stuff to play with. If you're just trying to like summarize something as an example, like, there are great smaller models that do specifically that and

they work great. You don't need like to reach out to open Ay every time when you just want something small that outputs much faster, right, So check that out.

Speaker 1

Yeah, all right, I'm gonna do some picks. We used to do the board game pick lately. So last weekend I was teaching games at the Game Board Game Convention again and so we had five games we were demoing. So I'm going to pick some of those over the next four or five weeks. One of the games I've already picked on this show because I played it at Salt Con in March, and so I'm not going to pick that. That's Challengers if you haven't checked it out,

very fun game. The game that I'm going to pick today is called Gnome Hollow, and I have to say so, there are different aspects of board games. I haven't really discussed this much on the show. There are different aspects of board games that make them fun, right, So some of it is kind of the flow of the game. Some of it's you know, how much you have to think about what you're doing and how much you have to plan ahead, and whether or not you like that kind of a game. And you know, and so that's

down to like complexity or things like that. Not always some of it's like like, for example, nome Hollow has a pretty simple cadence to each round. It's just it's just the thinking ahead, right, because you're you're going to build something out and then you're going to capitalize on it, and then there's some movement aspect and you have to

decide what you're going to do every turn. So the way that it's played is you're trying to complete mushroom rings in the forest, okay, and you know your mushroom rings don't have to be round, but they have to be a complete loop. So you know, you can build a three, A four, A five, six. It's hex tiles and so it's the number of hex tiles that are on the on the loop that you made, and you get you get to move a marker down when you complete a ring, right as long as there's a space

for it. So you can do one three, you can do two fours, and then you can do like four fives, four six's and four sevens.

Speaker 2

You don't have that many markers.

Speaker 1

And on the sevens, if you move one down, two of the rewards on the sevens is you get to move a second marker down and get another reward.

Speaker 2

So anyway, it's pretty cool.

Speaker 1

The different rewards either modified the game board or they give you some other reward that gets you points. So if you complete a loop, for every two loops you complete or every two markers you move down it more appropriately, you get to discover a wildflower, and then you get the wildflower. You get a wild as part of your reward for discovering a wildflower, and then the rest of them go up for other people to be able to collect, and so you get points for every wildflower you collect.

You get points for every marker you've moved down into the reward space, and then you get points when you complete the loop or the ring. You get the mushrooms that are on the ring, and so then you can go to the market and sell the mushrooms. And those are the three ways to get points. You add them all up at the end that's how you score. So then it's just a matter of getting the you know, enough of the right kinds of mushrooms to make your

trip to the market worth it. And then the other thing is is if you say you cash in five red mushrooms. You actually fill the spot for five red mushrooms, and nobody else can do five, they can do six, they can do four, they can't do five. And then when somebody does six, right, then that is also gone. Right, so maybe you go seven or eight. And so the different mushrooms are worth different amounts because you have different rarity on the hexes you place. You have place two hexes.

You collect the rewards for completing your loops, and then you move your nome and you move your nome to reserve a path that will eventually become a loop, or you move your nome to a sign, which is one of the rewards you get for completing a loop, or you can move it up to the market and you know, sell mushrooms, or you can go and collect the flower and you know, and so then at the end of the game, what if you've accrued in the different kinds

of flowers and stuff, that's how you win. So, you know, I played it like three or four times at the game convention because that was one of the games that people wanted to learn and and anyway, it's a lot of fun board game. Geek waits it at two point one seven and so you know, kind of your average gamer with enough complexity to make the game interesting is about a two. So this is just slightly more complicated than that. And the complication really is, you know, what

do I get for completing the loop? How do I make the loop large enough to get the reward I want?

Speaker 2

Right?

Speaker 1

Instead of a four, make it a six or seven? You know, and you have to plan ahead to make your path.

Speaker 2

Go the right way.

Speaker 1

And then you know, yeah, when you move the gnome, do I move it to a sign to get more mushrooms? Do I move it to the market? Do I move it to the thing? And which ones do I sell back? And is somebody going to sell back the eight?

Speaker 2

And I have eight?

Speaker 1

So now I can only sell back seven. So that's where the complexity is is it's in that play so that you're making the right moves to accrue the most points. And anyway, super fun game. Takes about forty five minutes to play it, which is also great plays up to four people.

Speaker 2

I've played it with two, with three and with four.

Speaker 1

I think with three and four people it's more fun because you have a lot more going on on the board and you have a lot more options that open.

Speaker 2

Up more quickly.

Speaker 1

But yeah, so no hollow And the artwork on this one is awesome. It's fun artwork. There are a million little pieces. They give you a whole bunch of bags, and it's not really clear how you're supposed to get it all back into the box. I mean it all fits fine, that's not the problem. But it's like, Okay, do I separate all out the different kinds of mushrooms? And do I separate all the different markers into different bags?

If I wind up buying the game, I'm just gonna bring in my own bags and I'll keep them all separate in that way, I can just parcel them out. But yeah, we wound up combining a bunch of stuff and you wind up having to sort it back out when you pull the game out. But it's fun, very very fun. The game ends when somebody moves their last

marker down. You finish out, tell that everybody's had the same number of turns, or if you run out of to put on the board, and so what you do is you put aside two hexes for every player that's playing, and that way, if you run out of the hexes to play, you just play off of that stack until everybody's had the equal.

Speaker 2

Number of turns.

Speaker 1

I think every time that I've played, somebody moved their last marker down before we were out of hexes. So anyway, super fun game, Really enjoying that. I am working on putting together an AI dev boot camp, and that's more in the vein of building out the agents like we talked about, as opposed to you know, and using some of the other tools like Whisper for transit transcriptions and text to speech or speech to text and all that

stuff right that that's offered out there. I'm looking at open AI as kind of a baseline, but I am looking at some of the other tools like Claude and laying Chain and.

Speaker 2

Olama or you know, Lama three and some.

Speaker 1

Of those other tools that are out there, just to give people an idea of what their options are. But yeah, it's going to get into how do I bring this stuff in and what options and services are out there that will let.

Speaker 2

Me do it, And so it's going to be.

Speaker 1

I guess more focused on APIs and prompt engineering than it is going to be on like how the models actually get built and stuff like that.

Speaker 2

I've had a few people ask me.

Speaker 1

Oh, so we're going to do all the data management and training our own models, and we might get into some of that if I'm showing you how to like enhance what Lama or lane chain give you, but not a lot. It's really focused on how do you create an awesome AI experience for your customers through an agent. So anyway, I'm going to be doing that sometime in January and so that's going to be at AIDEV boot camp dot com.

Speaker 2

And then I picked up a book on Amazon that.

Speaker 1

And it's again, you know, like I said, you know, I'm kind of using open open AI and its offerings as a baseline, recognizing that there are other systems and models that give you a lot of options for doing a lot of the same things and maybe better at one thing than another. And so I bought a book and it's called Building AI Applications with Chat, GPT APIs and it shows you how to use.

Speaker 2

And the the.

Speaker 1

Author is Alexander Petrovitch, and it goes into basically all of the different API options. Hang on, it's being funny on Amazon, but it shows you how to use Whisper, it shows you how to use.

Speaker 2

Boy.

Speaker 1

It does not want to pull it up on Amazon, but I bought it for the Kindle, and yeah, it goes into Whisper, it goes into chat GPT, Yeah, it goes into a couple of the other options that you have on the open Ai platform. So anyway, and it basically walks you through used in their APIs and then how to build your prompts to get what you want.

Speaker 2

And so I'm excited to dive into that. So I'm going to pick that. And then.

Speaker 1

The last pick I have is I've been I've been doing I've been training for triathlons again, and specifically my goal is to either do Iron iron Man Maryland in September or iron Man Chattanooga in September, and so I've been picking my races leading up to that.

Speaker 2

I'm pretty excited about it.

Speaker 1

The workout regimen that I've been following is twofold. One of them, I picked up a training system on training peaks dot com. So I'm gonna pick training peaks dot com and you can buy workout plans. So mine's a forty eight week workout plan, right, So I started it last month and you know, I'm on track to finish it for Maryland and then if I wind up signing up for Chattanooga instead, then I'll just tell it to adjust my workout schedule by two weeks so that I'm

ending on the right day in September. And then the other one is I've been using the first Form app that's one st p h r M First Form and I signed up for Transformation Challenge is what they call it, and Transformation is also spelled with a pH right because of their branding. And as part of the app, you get a coach and so she's been helping me figure out my you know, all my stuff, and so I have a referral code if you want to use my coach and sign up. I don't get any kickbacks for this.

It's literally just hey, I'm having a great experience with this, and so you know, you ought to check it out, and so let me just air drop it to my computer and then I can put it in the chat.

Speaker 2

But yeah, it's it's been awesome.

Speaker 1

So my trainer's name is Andrea, and like I said, so I get an announcement every day where she's essentially saying, you know.

Speaker 2

Hey, make sure you're getting enough sleep, or.

Speaker 1

Hey, make sure that you're paying attention to this that or the other, or you know, all all kinds of different things like that, and it's really really been terrific.

And then yeah, she checks in, Like every week, I send an evaluation where I'm saying, you know, I'm a little hungry, I've been a little hungry this week, or I've been a little tired this week, or you know whatever, and then she'll chat back and say, you know, yeah you needed you need to schedule more sleep, right, Or she'll look at my eating because I track all my calories in there too, and she'll say, hey, you need eat more vegetables.

Speaker 2

Some she told me the other day.

Speaker 1

She's like, you need to eat more real food and you know, less supplements, which is like the protein powders and stuff. And yeah, they have a whole bunch of different supplements like the protein powders they have. They have like a nootropic caffeine mix pre workout.

Speaker 2

They have what else am I using?

Speaker 1

They have like an opti greens is what they call it, and it's it's greens that you know, help with your digestion and stuff. I've got a couple here. I've got basically omega, which is like fish oil, and then I've got another one that's glucose disposal agent is what they call it, and it just it just helps regulate my blood sugar, which is good because I'm diabetic and I just take it with all you know, know, with the medications that my doctor has given me, and it's it's

been awesome. So anyway, I'm just going to pick those. If you want to do an Iron Man next year and you want, you know, it'd be fun.

Speaker 2

I don't know, you know, I don't.

Speaker 1

Know that I go the whole way with you because I might swim faster than you or you might bite faster than me, but it it'd be fun. So if you're interested and you think you might be there, let me know. But yeah, those are my picks. Sorry I rambled for a long time. But anyway, I think that's all I've got, So Valentino, think thanks for being our expert this week.

Speaker 3

Yeah, happy to. I love talking about this though.

Speaker 1

Yeah, it's it's cool stuff. What we need to get into, some of the stuff that you know, you and I are building with AI.

Speaker 2

But maybe that'll be another episode another time.

Speaker 1

And yeah, the next time, folks max out mm hmm.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android