Speaker 1: Hey folks, welcome back to another Ruby Rogues episode. This
Speaker 1: week on a panel, we have Valentino Stole and now
Speaker 1: I'm Charles Maxwood from Top End Devs. And yeah, we
Speaker 1: were talking before the show. We had our guest canceled
Speaker 1: on this last minute. So if you're trying to watch
Speaker 1: this on YouTube and you're like, you're not talking about
Speaker 1: solid cash, no we are not. We were chatting and
Speaker 1: just to give a little bit of context, and I
Speaker 1: explained this to Valentino before the show. You know, I've
Speaker 1: been using some of these AI tools that are out
Speaker 1: there for a while, but just kind of at a
Speaker 1: low level. And what I had essentially figured out a
Speaker 1: while back was that like co pilot will suggest snippets
Speaker 1: and stuff in visual studio code, which is handy, right
Speaker 1: because a lot of times it suggests stuff that it's like, yeah,
Speaker 1: that's what I want, and if I'm doing the same
Speaker 1: structure in a couple of places, it was really good
Speaker 1: at figuring that out right, It's like, oh, okay, same structure,
Speaker 1: different variables with But I'd also use like chat, GPT
Speaker 1: and some other tools for some of this stuff. And
Speaker 1: so one thing that I wound up doing was last night,
Speaker 1: I was working on adding a new audio player to
Speaker 1: the member area of top end Devs because I'm basically
Speaker 1: revamping it because it's it's not what I wanted, and
Speaker 1: I found I figured out how to get at least
Speaker 1: much more close to what I want. So I was
Speaker 1: putting that in there right so that it you know,
Speaker 1: it kind of floats at the bottom of the screen
Speaker 1: and does a bunch of stuff. And I'd already done
Speaker 1: all the styling for that, and so I was telling,
Speaker 1: you know, I was using it that basically as a
Speaker 1: look up. So it's like, hey, what are the audio
Speaker 1: APIs in the browser that I can use right to
Speaker 1: put a nice looking player in controls. And I was
Speaker 1: just kind of, you know, putting it together. And just
Speaker 1: on a whim, I had been listening to a and
Speaker 1: I can't remember which one it was. It was one
Speaker 1: of the AI podcasts that I've recently picked up, but
Speaker 1: they were talking about how they were using it to
Speaker 1: actually either generate code or get checks on their code,
Speaker 1: and I was like, I wonder if I can just
Speaker 1: tell it to write me an audio player right, like
Speaker 1: just boom. I want an audio player that I can
Speaker 1: put in my browser. And so I tell it that,
Speaker 1: and it it writes one right, and I'm like, okay, well,
Speaker 1: let's see how good this is. So I turn around, right,
Speaker 1: because in chat GPT you can tell it to refine
Speaker 1: the answer, right, So I tell it, okay, well, I'm
Speaker 1: using stimulus. I want the play and pause button to
Speaker 1: toggle to play or pause when I hit play or pause,
Speaker 1: you know, I want I want the progress bar to
Speaker 1: you know.
Speaker 2: To change as it plays.
Speaker 1: I can't remember what else I told it, but I
Speaker 1: also told it I wanted it to be controlled through stimulus,
Speaker 1: and that I was using tailwind, and that I wanted
Speaker 1: the play and pause buttons to not have words in them.
Speaker 2: I wanted to use font awesome for the icons, and
Speaker 2: it spit the whole thing out.
Speaker 1: So then what I did is I was like, I know,
Speaker 1: there are more features than I want on this, I
Speaker 1: just can't think of what they are. And so I
Speaker 1: asked it, I said, what other features should I be
Speaker 1: putting in this thing? And it turns around and it
Speaker 1: gives me a list of like sixteen things, right, and
Speaker 1: like ten of them were features that I might want
Speaker 1: if I wasn't just playing one episode. But there were
Speaker 1: like four or five of them that I was like,
Speaker 1: oh yeah, I want that too, I forgot and so
Speaker 1: I put all those in and you know, and so
Speaker 1: it's giving me a player. So I put it into
Speaker 1: the page and it was like it was a big
Speaker 1: square that took up like half the screen. And so
Speaker 1: I said, hey, I'm putting this into a bottom banner
Speaker 1: that has to fit into an H dash thirty two
Speaker 1: sized space in the you know, in the page. And
Speaker 1: so it condensed it and so I picked it up
Speaker 1: and I put it into my Rails app, and you know,
Speaker 1: I'm thinking, okay, you know, I you know, I had
Speaker 1: my developer tools open with the console and I'm already
Speaker 1: to to you know, to debug it right, and you know,
Speaker 1: because it probably got something wrong. And would you believe it,
Speaker 1: the thing just worked like it literally like I tested
Speaker 1: every feature and it did exactly what it was supposed
Speaker 1: to do.
Speaker 2: So then so then I had to tweak the layout
Speaker 2: on it a.
Speaker 1: Little bit because it did look a little bit weird.
Speaker 1: But I mean literally, it was just came, move this
Speaker 1: up here, make that wider. You know, Okay, now it
Speaker 1: looks now, it looks decent. Right, I'm not sure I'm
Speaker 1: completely satisfied with the layout on it, but it works
Speaker 1: and it looks it looks fine.
Speaker 2: So now I'm thinking, Okay, what else is out there? Right?
Speaker 2: And I've picked up some other tips and tricks.
Speaker 1: But we were talking before the show and I kind
Speaker 1: of told this to Valentino and he's going, oh, yeah,
Speaker 1: I've got all kinds of tricks that I use, And
Speaker 1: so this is probably gonna be more me picking your brain,
Speaker 1: Valentino than offering any you know, awesome ideas or solutions.
Speaker 1: But it seems like there's a whole breadth of things
Speaker 1: that I'm just kind of opening up my mind to
Speaker 1: at this point. So so yeah, So, I mean, I
Speaker 1: guess my first question is is did you already know
Speaker 1: 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
Speaker 1: process better?
Speaker 3: Yeah? There's so many things here. Yeah, I guess like
Speaker 3: if we take a step back and just like focus
Speaker 3: on like what we're trying to accomplish as like software developers, right,
Speaker 3: Like it kind of like breaks down into two things,
Speaker 3: like one like abstractly thinking about concepts and how to
Speaker 3: like design things, and the second would be like implementation
Speaker 3: detail and so like there's two like avenues that I
Speaker 3: always like break things down to based off of that,
Speaker 3: and so like we just focus on like the design aspects.
Speaker 3: Like that's just great as like a GPT like and
Speaker 3: for those that don't know, it's like a plugin for
Speaker 3: chat GPT even like I have one based on the
Speaker 3: stack that I use, which is Rails specific with Ruby
Speaker 3: and like x y z design books that I've just
Speaker 3: like uploaded to the GPT, right, so like I have
Speaker 3: like ninety nine bottles from Sandy Mets and like some
Speaker 3: AI specific ones.
Speaker 1: Hang on, so what when you're saying like design books
Speaker 1: and you're you're talking about like kind of it sounds
Speaker 1: like you're kind of setting up the context for where
Speaker 1: you're asking your question.
Speaker 3: Yeah yeah, so like yeah, maybe we should apreciate that.
Speaker 3: Like what is a GPT YEA And honestly, like I'm
Speaker 3: surprised this is totally like open a eyes like miss
Speaker 3: here in marketing, Right, It's because gpds are incredible, right,
Speaker 3: Like it's like a way of like encapsulating a purpose
Speaker 3: to all of the to chat GPT, right, so you
Speaker 3: get your like blanket features of chat GPT of being
Speaker 3: able to be a general purpose utility to do anything.
Speaker 3: And so it's great at code related stuff. But if
Speaker 3: like let's say, like you want to like make super
Speaker 3: object oriented Ruby and Rail's work, like that's prime candidate
Speaker 3: for making a very specific plug in the chat GPT,
Speaker 3: and you can basically give it context like documents that
Speaker 3: it can use as reference, and you can also give
Speaker 3: it like custom instructions to follow so you don't have
Speaker 3: to like re say those things over and over again.
Speaker 3: So like, let's you have a prompt that you always
Speaker 3: go to that's like, hey, like pretend you're an expert
Speaker 3: in object oriented design and Ruby, right, and I want
Speaker 3: you to follow these principles. You know, if you're generating
Speaker 3: Ruby code, follow this like you know, like linter related thing.
Speaker 3: And you can like reuse these prompts over and over
Speaker 3: again to get get it to output the things how
Speaker 3: you want it to rather than just like chatting through it.
Speaker 3: And so with a GPT, you can like frontload all
Speaker 3: that work and just have something reusable that you can
Speaker 3: go back to. And so I have this open GPT
Speaker 3: called the Software architect Mentor, and I use it all
Speaker 3: the time, and it's like my abstract go to for
Speaker 3: just like, Okay, I'm designing something in Ruby sometimes rails,
Speaker 3: doing AI stuff like, use all of that context to
Speaker 3: just help me design something or refactor something or do
Speaker 3: these things in an abstract way so that way I
Speaker 3: don't have to worry about the implementation. I can focus
Speaker 3: on design.
Speaker 1: So how do you get that into chat GPT? And
Speaker 1: 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
Speaker 3: okay sidebar, and you could just like start a chat
Speaker 3: with any one of those.
Speaker 1: Oh okay, so I could actually instead of because I'm
Speaker 1: just using the generic chat GPT. I mean that's what
Speaker 1: built my player for me. You're telling me I could
Speaker 1: have because I clicked on it and I'm seeing like
Speaker 1: a website generator or a code copilot. So I could
Speaker 1: used the code code pilot and what would have been
Speaker 1: faster or better or.
Speaker 3: Yeah, it would be more focused. So I guess like
Speaker 3: faster and better are you know, kind of dependent on
Speaker 3: the use case, but it might narrow the scope of
Speaker 3: the scope. Like as an example, if like, okay, well
Speaker 3: let's say you're working on you know, I don't know,
Speaker 3: go code or something like that. Like, you know, there
Speaker 3: may be some conventions that could be useful, like using
Speaker 3: a very ghost specific GBT in the same way that
Speaker 3: using a ghost specific prompt can help guide the generation
Speaker 3: of that. Right, Like if you just say, hey, like
Speaker 3: chat GPT, generate a you know program that like shows
Speaker 3: me a calendar, It'll just like use whatever its preference
Speaker 3: is based on your chat history with it. So like
Speaker 3: that could be any number of languages, could be any
Speaker 3: number of implementations. But if you like, open up a
Speaker 3: 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
Speaker 3: have gpds published there kind of just have to search
Speaker 3: through stuff. I just have my own because I found
Speaker 3: 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
Speaker 3: that knowledge will be used to generate stuff with and
Speaker 3: so like I personally have very specific like resources that
Speaker 3: I like to like have it reference. Uh and I
Speaker 3: imagine other people do too, Right, Like you have your
Speaker 3: books that you favored the design principles from, or how
Speaker 3: you like code implemented in specific ways, uh, based on.
Speaker 3: You know, it doesn't have to be books. It could
Speaker 3: be websites. Uh, you know, whatever resources that you use
Speaker 3: 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,
Speaker 1: it's like, Okay, I'm gonna go down the rabbit hole
Speaker 1: on this stuff real.
Speaker 2: Hard here after we're done.
Speaker 1: But because because I could see, you know, you create
Speaker 1: 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
Speaker 1: he was talking about with Ray right, where you're essentially
Speaker 1: you're giving it all that context and then yeah, you're
Speaker 1: doing some prompt engineering too.
Speaker 2: I want to response to books like this or something
Speaker 2: like that.
Speaker 1: But I mean the rest of it is, you know, yeah,
Speaker 1: then you ask it a question and from everything that
Speaker 1: you've told it, it gives you the focused or more
Speaker 1: correct answer. So when you're telling it, hey, I favor
Speaker 1: ideas from I don't know, you know, ninety nine bottles
Speaker 1: or you know, maybe it's the Pewter book the What
Speaker 1: 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
Speaker 3: just upload the document. Okay, right, you just yeah, you know,
Speaker 3: you go, I buy the book and then I get
Speaker 3: the PDF from it and I upload it, right, and
Speaker 3: then I can have it generating based off of that, right, Like.
Speaker 1: Okay, so how big is its brain? How much stuff
Speaker 1: can I cram in there?
Speaker 3: I honestly haven't tested that, although I have gone through
Speaker 3: and just uploaded all the books that I've read, like
Speaker 3: from like my programming experience, and that I've found does
Speaker 3: not help. Giving it more context doesn't help it. And
Speaker 3: to be honest, like that makes a lot of sense
Speaker 3: to me, because like the whole point of of like
Speaker 3: this honed agent is like you know that it's narrow
Speaker 3: in scope, right, right, And so like the more that
Speaker 3: you can narrow that scope to like the very specific
Speaker 3: tasks that you plan to use it for, like the
Speaker 3: better and I like, you know, going back to OBI
Speaker 3: when we had them on like that narrowing of the
Speaker 3: path is like the best way to think about like
Speaker 3: programming or like designing things with AI is like, yeah,
Speaker 3: creating the very specific thing that you want it to do,
Speaker 3: and like all of your instructions and knowledge and things
Speaker 3: that you're giving it are like honed in on that.
Speaker 1: Yeah, it seems like, Yeah, when we were talking to Obi,
Speaker 1: the thing that kind of stood out to me was
Speaker 1: because the Chat GPT, you know, the GPT model that
Speaker 1: you're using, it has everything in it, right, So it
Speaker 1: does baking, it does auto repair, and it does it
Speaker 1: has Ruby stuff in it, right. And so if I
Speaker 1: tell it, hey, I need you to help me write
Speaker 1: better code, then if I use a term that is
Speaker 1: also used in baking, me narrowing the path is just
Speaker 1: telling it I only want the stuff that's relevant to
Speaker 1: programming in Ruby and so, right, and then and then
Speaker 1: there's other training in there too that might be and
Speaker 1: I'm looking for things formatted this way, and I'm looking for,
Speaker 1: you know, ideas in this vein or things like that.
Speaker 1: I've also heard from people the idea that essentially you
Speaker 1: can and I've seen some other people do this where
Speaker 1: they have they've like uploaded all the content that they've
Speaker 1: made about a topic, and then they essentially have a
Speaker 1: like I could create a Chuck GPT right, and it
Speaker 1: would be you know, hey, this is all the knowledge
Speaker 1: that Chuck has ever put out about whatever. And I've
Speaker 1: thought about doing that for like a Ruby rogues, right,
Speaker 1: and so I could upload the audio and you know,
Speaker 1: or upload transcription transcriptions or something. But my worry is
Speaker 1: is we've been doing this show for like thirteen years,
Speaker 1: and so some of the stuff we talked about thirteen
Speaker 1: years is very relevant, and some of the stuff we
Speaker 1: talked about thirteen years ago is not very relevant. And
Speaker 1: so I worry that then it's going to go, oh, well,
Speaker 1: I consider, you know, the thirteen year old content is
Speaker 1: relevant as the right, and so maybe I can tell it, hey,
Speaker 1: favor the newer stuff over the older stuff and put
Speaker 1: that into the context. But yeah, I've kind of hesitated
Speaker 1: on doing that just for that reason.
Speaker 3: Yeah, you know, we're like we're edging very very close
Speaker 3: to like the retrieval aspect of like AI design, which
Speaker 3: maybe off topic a little bit because it's there's so
Speaker 3: much there, but yeah, I mean I think we're if
Speaker 3: we circle back to like the tools that we're using here,
Speaker 3: like there's so much like that you can use out
Speaker 3: off the shelf that like if you just use them
Speaker 3: 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
Speaker 3: this rails app called Nausea NSI a dot Ai. Yeah,
Speaker 3: and it's like super awesome, runs on a Lama locally
Speaker 3: and you can like upload whatever documents you want it
Speaker 3: to use and run your own chat sept in a
Speaker 3: 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,
Speaker 3: 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
Speaker 3: not new, right, Like, there's lots of other tools out
Speaker 3: there as well that you can use to kind of
Speaker 3: just get a local version of chatchipt running so that
Speaker 3: you can do this with like if you have, for example,
Speaker 3: you want to narrow the retrieval aspects to only relevant
Speaker 3: stuff based on timestamp or something like that, Like that's
Speaker 3: gonna require some like alteration. There's not anything built in
Speaker 3: the chat GBT to allow that kind of granularity without
Speaker 3: 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,
Speaker 3: uh that's revolves revolves around like the command line aspect
Speaker 3: mm HM, where it'll like basically use your current working
Speaker 3: directory as like a test bed two like scan for
Speaker 3: relevant documents and also like uh, you know, build up.
Speaker 3: It's like task at hand.
Speaker 2: Uh.
Speaker 3: So like one that immediate immediately comes to mind. As
Speaker 3: a tool called eight er A I D E R
Speaker 3: also runs fully mean to help. Yeah a lot, yeah,
Speaker 3: a lot of the French in the AI space. Uh
Speaker 3: you know hugging face as an example, definitely French yah
Speaker 3: mixedtro right. So so many great AI things come out
Speaker 3: of France. Uh. But you know with a tool like
Speaker 3: eighter like h it basically uses tree sitter and like
Speaker 3: scans through EU repo.
Speaker 2: Right.
Speaker 3: So if you're like, oh, I want to you know,
Speaker 3: like change the you know, contact page to uh, you know,
Speaker 3: add another field for this specific thing in my reils app,
Speaker 3: it'll go through and it'll scan the rails app locally
Speaker 3: and then find what files that it needs to include
Speaker 3: as contexts and then walk through like a step by
Speaker 3: step process of Okay, what files do we need to touch?
Speaker 3: What changes do we need to make to make that
Speaker 3: request happen?
Speaker 2: Uh?
Speaker 3: And you it could even like you know, alter these
Speaker 3: files h which is really really exciting because ultimately that's
Speaker 3: what that's what I would you know, I'd rather part
Speaker 3: of the problem with like just using chat cheapt for
Speaker 3: like you know, code generation in general, like it doesn't
Speaker 3: have context, and it also like uh, you know, it
Speaker 3: makes mistakes like all the time, and then you're like
Speaker 3: stuck trying to figure out well, okay, well you know
Speaker 3: 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
Speaker 3: it's just like it slows things down quite a lot,
Speaker 3: and so when you get something that's more like wrapped
Speaker 3: around the thing that you're building, it makes it much
Speaker 3: 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
Speaker 3: a more pol version of it, if if you will,
Speaker 3: called code buff, but you know it's it's expensive, but
Speaker 3: you know, uses the more flagship models like from open
Speaker 3: ai or you know, anthropic depending on the context. So
Speaker 3: like you get better quality outputs from it because of that,
Speaker 3: and you could also use you know, open ai for
Speaker 3: eight or two, but it's definitely not as polished as
Speaker 3: ah as code buff.
Speaker 1: Right, yeah, I'm trying to make sure we have all
Speaker 1: the links in the like, like folks, if you're looking
Speaker 1: for the links there. It's looked it looks like it's
Speaker 1: posting it to Facebook, YouTube and Twitch and not Twitter LinkedIn,
Speaker 1: so it'll it'll all be in the comments there. So yeah,
Speaker 1: I mean that that's helpful just because, yeah, it can
Speaker 1: work from the context of the stuff in your actual
Speaker 1: code base.
Speaker 3: Yeah, and I a lot of the back and forth
Speaker 3: stuff with implementation related tasks, right, It's like it can
Speaker 3: eat up time, right, Like it just reminds me of like,
Speaker 3: you know, some some of the original like code generation stuff,
Speaker 3: like even like Reils generators as an example, right, Like
Speaker 3: it's just like it'll just dump a ton of code
Speaker 3: at you and you're just like, well what do I
Speaker 3: do with that?
Speaker 2: Right?
Speaker 3: Or if like it doesn't do what you want, like
Speaker 3: you have to figure out what that is, and like
Speaker 3: it doesn't know, right, Like there's no there's no context.
Speaker 3: It's not aware of anything, right other than what it's
Speaker 3: been trained on.
Speaker 2: So, like.
Speaker 3: It's definitely a it's a hard experience to like just
Speaker 3: go in and I can't imagine like just imagine if
Speaker 3: you were like learning reels for the first time, right
Speaker 3: or Ruby or like even just like RESTful APIs, right,
Speaker 3: Like I just remember those concepts being like, you know,
Speaker 3: challenging to understand if you have something like that's just
Speaker 3: generating stuff and you don't really understand how it works,
Speaker 3: Like you could lose a whole day just like figuring
Speaker 3: out a mistake it made. Where if like, you know,
Speaker 3: you instead followed some tutorial that somebody wrote, like maybe
Speaker 3: you would have a different experience. You know, they still
Speaker 3: doing that though you have the same a similar experience
Speaker 3: sometimes if you like are missing a package or something
Speaker 3: like that, but like definitely more frequent with chat ChiPT.
Speaker 1: Yeah so code buff and eight those are on the
Speaker 1: command line, right.
Speaker 3: Yep, yeah, those are all come in. I mean, you know,
Speaker 3: there's so much Ruby stuff out there now, right, we
Speaker 3: had Scott Warker from sub Layer. Sub Layer is awesome
Speaker 3: like fully Ruby, like developer happiness, like AI helpers, right,
Speaker 3: Like you can get it to like watch your file
Speaker 3: system and perform actions with AI. You can do all
Speaker 3: kinds of crazy stuff with it. I have one where
Speaker 3: I'll feed it a Ruby file and it generates a
Speaker 3: spec for me. So if I'm like, you know, prototyping
Speaker 3: a new module or class or something like that, or
Speaker 3: some Ruby code, I could just say if I like
Speaker 3: wanted to turn it into something that I wanted to
Speaker 3: share with people. I you know, hadn't made a speck yet,
Speaker 3: but I was abstracting and just working on design concepts.
Speaker 3: And now, all right, I flesh this out, I wanted
Speaker 3: like tested, and I'll go and I'll say, hey, here's
Speaker 3: a Ruby file, like can you create on our respect
Speaker 3: test for this? And I just have a single command
Speaker 3: line command and I just feed at the ruby file
Speaker 3: and it generates the respect tests for me.
Speaker 1: Oh wow, and it's awesome. I've been going through that
Speaker 1: with one of my clients deals where like, yeah, they've
Speaker 1: got this heinous you know class that has a bunch
Speaker 1: 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,
Speaker 1: I am not messing with this thing until I have
Speaker 1: a test on it, right, I mean, just just so
Speaker 1: that I know that I didn't change the behavior, not
Speaker 1: necessarily because the behavior is correct, though I'm sure it's
Speaker 1: mostly correct because they've been using it that way for
Speaker 1: a while.
Speaker 2: So yeah, that sounds really handy.
Speaker 3: Yeah, and you know, even two on their I think
Speaker 3: on their docks, they have like or maybe it's on YouTube.
Speaker 3: Scott has this demo where basically creates a you know,
Speaker 3: a tool that like let's tell you can tell it.
Speaker 3: Tell the tool. Okay, here's this file. I the tests
Speaker 3: are failing, get them to pass, right, and it'll go
Speaker 3: through and run through the code and like get the
Speaker 3: tests to pass.
Speaker 2: Oh wow.
Speaker 3: And so like that's a more like advanced kind like
Speaker 3: thing you can use it for. But like, yeah, I
Speaker 3: mean I feel like we're just kind of starting to
Speaker 3: scratch the surface here.
Speaker 2: Yeah.
Speaker 3: I mean it's hard because like all of these large
Speaker 3: language models, they're not trained necessarily on Ruby, right, right,
Speaker 3: And so like there there's obviously a small sample in
Speaker 3: there or it wouldn't be able to do what it can,
Speaker 3: but it definitely will. Like if you're using chat ChiPT heavily,
Speaker 3: you'll see it like use Python related standard libraries for Ruby,
Speaker 3: right And you're like, wait, that doesn't exist, Like how
Speaker 3: did where are you requiring this, like you know, data
Speaker 3: frames or something like that, which there are data frames
Speaker 3: of Ruby, just not like natively.
Speaker 1: Right, Yeah, I asked it to So I basically said, hey,
Speaker 1: I want to run whisper locally to get diarized, which
Speaker 1: means or a diarized transcript, I should say, so it
Speaker 1: transcribes it, but then it assigns, you know, Speaker one
Speaker 1: said this, Speaker two said that, and Whisper doesn't do
Speaker 1: because I knew that Whisper doesn't do diarization out of
Speaker 1: the box. And so yeah, its answer was install these
Speaker 1: Python libraries and then call Python for Ruby. Well it's fine,
Speaker 1: you know, okay, but you know because because I don't
Speaker 1: know that there is a library that'll do it. But yeah,
Speaker 1: it was. It was interesting, and in fact, I think
Speaker 1: it started out saying, yeah, generating diaries transcripts for a
Speaker 1: podcast episode of multiple guests using a local installation of
Speaker 1: open ayes Whisper model and Ruby requires the following steps.
Speaker 1: Install Whisper locally. Whisper is a Python library, so you
Speaker 1: 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
Speaker 1: perform speaker diroisation, so you have to use a diroization library,
Speaker 1: and it tells you to use piannote dot audio, which
Speaker 1: is also a Python library, and then it says integrate
Speaker 1: with Ruby and so Yeah, then it's telling you to,
Speaker 1: you know, write this quick little Python script and then
Speaker 1: call the Python script from Ruby.
Speaker 3: When it comes to like doing like larger scale builds, huh.
Speaker 3: If you're trying to get chat cheepy t to like
Speaker 3: build a full fledged command line application as an example, right, Like,
Speaker 3: it's gonna struggle. There's gonna be a lot of back
Speaker 3: and forth. You may have multiple chats open. You know,
Speaker 3: it's gonna be difficult. The one thing I have us
Speaker 3: it's worked well for that kind of thing is honestly
Speaker 3: Claud and thropics claud setting up a project for that
Speaker 3: specific thing that you're building, creating an overall context with
Speaker 3: the purpose that you're using it for to build, and
Speaker 3: outlining what all the requirements are in that, and then
Speaker 3: you can just start iterating through the chats to implement
Speaker 3: the specific features. I use that all the time, and
Speaker 3: the code outputs it can like start like building on
Speaker 3: top of itself. So it has these things called artifacts,
Speaker 3: which are just the files that it generates, and you
Speaker 3: can add them to the project as it creates things
Speaker 3: that you like, and you can edit in context and
Speaker 3: start including it in the project, and it will literally
Speaker 3: build the whole application just like in front of you.
Speaker 3: And it it's a little funny because there's a there's
Speaker 3: this project called e to be Developer where they somebody
Speaker 3: has built basically like an open source version of this
Speaker 3: of Claude's artifacts. Or again you can like kind of
Speaker 3: spin up your own like the last you know, like
Speaker 3: a AWS instance and run have like the AI literally
Speaker 3: like run files and and create files and run the
Speaker 3: scripts and stuff. And so what people do with it
Speaker 3: ultimately is like you can you can get it to
Speaker 3: literally make like a front end game or like the
Speaker 3: if you're building like a web app, it'll like build
Speaker 3: 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
Speaker 1: development experience with AI? I talk to people and they're
Speaker 1: afraid of AI taking their jobs, and so it sounds
Speaker 1: like you're getting real close to saying, you know, somebody
Speaker 1: with a minimum level of prompt engineering experience might be
Speaker 1: able to do it.
Speaker 3: Well, there's a saying in the AI space garbage in,
Speaker 3: garbage out, and so there's a yes and note to that, right,
Speaker 3: like is it going to take all of our jobs now, right, Like, honestly,
Speaker 3: it's like giving people superpowers, right, Like whatever powers you
Speaker 3: do have now, like that's all your knowledge and all
Speaker 3: your skills that you've accumulated or even if you're just
Speaker 3: starting to accumulate them, right, Like, it basically just like
Speaker 3: gives it, like amplifies all of that. So like if
Speaker 3: if you're you know, if you want to be like
Speaker 3: a senior dev, like you can honestly just start today
Speaker 3: using AI tools, right, and you'll get pretty close. Right,
Speaker 3: Like maybe maybe you know your job won't consider you that,
Speaker 3: but like you'll definitely start to see a considerable improvement
Speaker 3: 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
Speaker 1: more along the lines of like just because you're talking
Speaker 1: about it the same way I'm thinking about it, in that, hey,
Speaker 1: this is a really really powerful tool, right, and so
Speaker 1: it can shortcut a whole bunch of things that we
Speaker 1: used to just go and have to kind of reinvent
Speaker 1: by hand on a regular basis.
Speaker 2: Right.
Speaker 3: A perfect example is like the you know, post generator aspect. Right,
Speaker 3: Like let's say you do real new and you're really
Speaker 3: just trying to like get a page up that's like
Speaker 3: let's you see users, right or whatever the resource you
Speaker 3: may have. You know, there's a very specific series of
Speaker 3: steps you follow just to get to that point where
Speaker 3: you can start to crud through. Oh I want to
Speaker 3: add this user with this, or I want to add
Speaker 3: I want to contact lists, I want to add people.
Speaker 3: You know, Like the AI can help like through all
Speaker 3: those steps so that you don't have to focus on
Speaker 3: all those upfront, right, Like you can just get to
Speaker 3: that page and be like okay, great, now, like all
Speaker 3: of that initialization configuration aspect which the generators start, but
Speaker 3: you have to like finish out. Like that finishing out
Speaker 3: portion is done too, right, Like you can sidestep a
Speaker 3: lot of the you know, the tidying up that comes
Speaker 3: from generators, which is kind of exciting, right because like
Speaker 3: that aspect of programming is like widespread, right, Like the
Speaker 3: idea of like okay, I have a template that I'm
Speaker 3: working off of, and I want to customize it to
Speaker 3: get to you know, round zero of my application mm hmm.
Speaker 3: And like you have to get through that you know,
Speaker 3: series of steps that you're just stepping through, and like
Speaker 3: AI is great at that. It's great at stepping through stuff,
Speaker 3: especially when all of those requirements are predefined, right like
Speaker 3: Reel's new with what right, like you've been reels new
Speaker 3: any number of things you could base it off an
Speaker 3: existing template you have, you know, if you have a
Speaker 3: gem you're building for Ruby, right like bundle gem new,
Speaker 3: you know, you have like all of your existing authorships
Speaker 3: and like where you're going to publish it to, Like
Speaker 3: there's just like a lot of details that you end
Speaker 3: up having to add every time that gets old, right,
Speaker 3: and it's like repetitive, and like the more things that
Speaker 3: you could just like get out of the way and
Speaker 3: just start building. Like I bet right now now if
Speaker 3: you look at ruby gems dot com, like there would
Speaker 3: be a huge spike in published gems. I don't doubt
Speaker 3: that right now. And I feel like that's maybe gonna
Speaker 3: be where the jobs aspect comes in play here, is
Speaker 3: that this is gonna be a lot more maintenance bur right,
Speaker 3: Like you know, we can we can create exponentially, and
Speaker 3: maintenance is going to drag behind.
Speaker 2: There, right. Yeah.
Speaker 1: I think the rest of the thought that I was
Speaker 1: trying to make, and then I want to kind of
Speaker 1: address the other piece that you're talking about here is that, Yeah,
Speaker 1: effectively you have these tools that you know, if you're
Speaker 1: still going to have to gain experience the same way
Speaker 1: the rest of us do. Right, So you're going to
Speaker 1: use AI, it's going to generate some stuff and then yeah,
Speaker 1: you're you're gonna walk into the same walls that we did.
Speaker 1: You just got there a little faster because you didn't
Speaker 1: have to go and slog through all the stuff that
Speaker 1: you already knew how to do right to get there.
Speaker 1: And so I think that's where if you were already
Speaker 1: a senior developer and you use these superpowers, then you
Speaker 1: can use the tools essentially and say, I need this
Speaker 1: refined this way, right, this isn't quite what I'm looking
Speaker 1: for because I know that if if it's put together
Speaker 1: like this, I'm opening myself up to this problem later.
Speaker 1: And so hey, can you handle this too, right? And
Speaker 1: and then it can modify the code.
Speaker 3: I mean you bring up you bring up a great
Speaker 3: point like if you're using AI as a tool and
Speaker 3: you're getting hung up on something, then you're using it wrong, right,
Speaker 3: Like if uh, if you're using the tool and like
Speaker 3: you're kind of banging your head on like getting it
Speaker 3: to do what you ask like it's it's more than
Speaker 3: likely that it's just like you're you're not using it
Speaker 3: the right way. It's like kind of funny because like
Speaker 3: that's like a meme, right, Like it's like the holding
Speaker 3: you're holding it wrong from Steve Jobs, right, right, But
Speaker 3: it's so true, Like you know, like these the AI
Speaker 3: tools are built like in very specific ways, and if
Speaker 3: like you're not seeing the results you expect, like it's
Speaker 3: you're you know, it's not being used in the way
Speaker 3: that it should be.
Speaker 1: Yeah, you need to give it more context or ask
Speaker 1: it in a more specific way or a more appropriate way.
Speaker 3: Or approach it completely differently, right, Like there there are
Speaker 3: so many ways to get it to do the same thing,
Speaker 3: and so like yeah, if you're like that's kind of
Speaker 3: like the beauty of AI is like you can literally
Speaker 3: scrap everything and start over like pretty quickly, right. And
Speaker 3: I would say, if you're like trying trying to explore
Speaker 3: the realms of all of this stuff, like use the
Speaker 3: interfaces that make the most sense to you, right, because
Speaker 3: there are so many and like you're if you're fighting
Speaker 3: it early on, you're going to continue to fight it.
Speaker 1: Yeah, yep, but I think overall, I guess to a
Speaker 1: certain degree, then if it gives developers superpowers, going back
Speaker 1: to the idea, is it going to take jobs? If
Speaker 1: it gives us superpowers and it makes us that much
Speaker 1: more efficient, then and this may be more of a
Speaker 1: like a business philosophical question than an actual like practical
Speaker 1: 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
Speaker 1: ex budget for developers, and so now we if we
Speaker 1: train all of our people to use these tools to
Speaker 1: enhance what they can do, we can get this much
Speaker 1: more done. Right, And so do we actually lose jobs
Speaker 1: or maybe do we lose junior developer jobs, which seems
Speaker 1: kind of shortsighted because we are going to eventually need
Speaker 1: more senior developers. How do you see that shaking out
Speaker 1: 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
Speaker 3: the common analogy that I've heard is like the transition
Speaker 3: from horse and buggy to automobiles, right, like very similar
Speaker 3: modes of like transport, in that you have wheels right right,
Speaker 3: and you have like somebody steering it. It's just a
Speaker 3: matter of what's powering it, right, that changes, but the
Speaker 3: infrastructure and things related to it and all, like as
Speaker 3: an example, whips, Like you know, the accessories around all
Speaker 3: of this stuff are just changing shape, right, right, but
Speaker 3: 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
Speaker 1: more people that are machinists and auto mechanics exactly.
Speaker 3: I think that's ultimately where we're going to get into,
Speaker 3: is like more specialized aspects, right, And like that's honestly
Speaker 3: what we've been seeing taking shape before AI started, as
Speaker 3: like frameworks become more popular, and like Kubernetes as an example, right,
Speaker 3: like all of these abstractions, I mean, DH makes a
Speaker 3: great point like about abstractions in general. If you get
Speaker 3: abstract away like the concepts in a way that you
Speaker 3: know makes it so that you have a more straightforward
Speaker 3: point of use, right, Like all the details like somebody
Speaker 3: else is working on those, right, right, and you can
Speaker 3: you know rest assured that you know, those people that
Speaker 3: are specialized in it are going to produce you know
Speaker 3: that make it easier and more modular and extendable, uh
Speaker 3: for your general purpose use right, Right?
Speaker 1: So I'm gonna shift gears on you just a little
Speaker 1: bit because we've talked about using AI mostly to generate code,
Speaker 1: and then you were talking about how you can use
Speaker 1: Claude to effectively incrementally generate basically an entire application. Actually,
Speaker 1: I'm gonna change my question because it came into my
Speaker 1: head as I was talking about this. So if if
Speaker 1: you've got something like Claude that can generate pretty much
Speaker 1: 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
Speaker 1: a thing, and it's just not you know, it's not
Speaker 1: going to be good at that, or it's good at
Speaker 1: to it up, good at it up to a certain point,
Speaker 1: and then after that.
Speaker 3: Yeah, I mean I definitely see the limitations, right, Like, uh,
Speaker 3: it's good up to a point. It's good at like
Speaker 3: cobbling together like uh, you know, MVP or like a
Speaker 3: first version of something, But as soon as you want
Speaker 3: to add something new or make changes to it, it
Speaker 3: starts to break down pretty quickly, right, And what you
Speaker 3: end up having to do is break it apart. And
Speaker 3: I'm honestly very similar to just general software engineering, right
Speaker 3: is like you break it apart in the smaller pieces
Speaker 3: and then focus on those smaller pieces. Yeah, and I
Speaker 3: know Ken Beck has like a great like saying around
Speaker 3: this on like, you know, make the change easy and
Speaker 3: then make the easy change right, like right, And that's
Speaker 3: ultimately what ends up happening as you start to develop
Speaker 3: like things with AI on a larger scale.
Speaker 1: So you kind of answered the other question I was
Speaker 1: going to ask, which was, so, let's say I have
Speaker 1: like a bunch of code. I don't want to say
Speaker 1: legacy code, because people take that to mean different things. Right,
Speaker 1: if you read Michael Feathers, it's just code without tests.
Speaker 1: But you know, so you've got this older code that
Speaker 1: you know was written I don't know, five years ago
Speaker 1: or something that still works, but you find, hey, maybe
Speaker 1: I want to refactor it so that it's easier to maintain,
Speaker 1: or I want to I want to add a feature
Speaker 1: to it. Right, And so I was going to say,
Speaker 1: mostly we were talking about generating code, but yeah, what
Speaker 1: about modifying code or refactoring code or rethinking code. And
Speaker 1: it sounds like the answer to that is, yeah, you
Speaker 1: you take the relevant parts out, you tell your large
Speaker 1: language model about it. Right here, here's here's my view,
Speaker 1: here's my controller, here's my model. You know, here's the
Speaker 1: feature that it's supposed to implement. You know, I need
Speaker 1: to add this other feature and then see what it
Speaker 1: does with it.
Speaker 3: Yeah, I mean pretty much. And you know, circling back
Speaker 3: to like the more you know, the more point of
Speaker 3: use tools like or like code buffer or something like that,
Speaker 3: you know, like it can gather that context for you.
Speaker 3: Like the most difficult part of the whole were factoring
Speaker 3: aspect and making modification. Is like the code, the you
Speaker 3: know file spread, right, Like if you have this giant
Speaker 3: you know, service class that you've just put everything in
Speaker 3: to make the abstraction easier, and it's just becoming too
Speaker 3: and wieldly to make changes to it, and you want
Speaker 3: to break it apart into smaller pieces so that the
Speaker 3: responsibilities are broken out appropriately, right, getting it to extract
Speaker 3: those and make new files and things like that, and
Speaker 3: getting it to orchestrate all of them, like that kind
Speaker 3: of change becomes more difficult, and so like that's where
Speaker 3: like again back to the specialists, like you know, that's
Speaker 3: why I don't think our jobs are going anywhere necessarily,
Speaker 3: is like, you know, it doesn't know how to make
Speaker 3: code friendly and easy to read, right, right, and.
Speaker 2: It just knows how to make code like what it's
Speaker 2: already been trained.
Speaker 3: Exactly, and so like let's say even that you get
Speaker 3: it to train on a whole bunch of code that
Speaker 3: you have that is in a pleasant way, Like it'll
Speaker 3: get to a point where, you know, you're trying to
Speaker 3: do something novel, You're trying to introduce a new concept,
Speaker 3: and like it doesn't know how to break apart the
Speaker 3: existing design concepts and apply it to the new novel
Speaker 3: approach of implementing something that you're trying to do. So
Speaker 3: like it might be able to get like, okay, we
Speaker 3: want a service class. We want to you know, encapsulate
Speaker 3: this form logic in an object oriented way. It can
Speaker 3: do these abstract concepts, but like the actual implementation of
Speaker 3: the whole flow starts to break apart, and like it'll
Speaker 3: just become messy and like a messy as a human
Speaker 3: right to read, where like maybe the code works and
Speaker 3: it runs, but you know, the naming conventions may will
Speaker 3: start to break down and it won't make sense. It'll
Speaker 3: just make sense to like the very specific things that
Speaker 3: it's making, right, and it does yeah, I mean it
Speaker 3: doesn't have knowledge of the world at every moment, right, Yeah,
Speaker 3: that makes sense.
Speaker 2: Right, So we go from.
Speaker 1: Sort of the you know, like I said, shoveling shoveling
Speaker 1: poop right where it's you know, kind of the generic,
Speaker 1: easy to pick out cleanups that you know, it may
Speaker 1: pick up just because it's got a bunch of code
Speaker 1: samples that it was trained on that are reasonably well
Speaker 1: written and so it you know, it can adapt a
Speaker 1: lot of that stuff out. But yeah, the more involved
Speaker 1: re factors and things like that it just does hasn't
Speaker 1: 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
Speaker 3: you have the narrow enough scope where okay, you have
Speaker 3: like even if you have like three files and you're like,
Speaker 3: this is just too many files to handle, Like, can
Speaker 3: we like reduce the complexity here, Like you can guide
Speaker 3: it in a way that it can help you eventually
Speaker 3: reach the goal that you're trying to get. But right, like,
Speaker 3: if you don't understand how to help it get there,
Speaker 3: how to help it help you get there right, right,
Speaker 3: then it's going to be more difficult to work with
Speaker 3: it than it is. Just you figuring it out.
Speaker 1: Right, So so you may be able to handle a
Speaker 1: class with five hundred lines in it and say, this
Speaker 1: class is too large? What responsibilities do you see here?
Speaker 1: And it may may not be able to pick them out,
Speaker 1: and then if it does, then maybe you can start
Speaker 1: asking it, okay, which methods belong to which responsibility and
Speaker 1: then from there you can start to figure out how
Speaker 1: to have it help you divvy it up and you know,
Speaker 1: extract the class.
Speaker 3: Yeah, and I'm hopeful that like all this stuff, like
Speaker 3: with these models, a lot of this comes out of there, right,
Speaker 3: because like that's ultimately where software like comes in play.
Speaker 3: Is like you have these like design you know, buffer
Speaker 3: ahead of time that you work through to figure out
Speaker 3: ultimately what needs to change or get created, and like
Speaker 3: that's very step wise, like and you know that process
Speaker 3: is like, okay, I'm thinking about doing this thing. Help
Speaker 3: me break out the steps, what approaches are there? And
Speaker 3: once you've scattered and then figured out which one pieces
Speaker 3: of it that you actually care about, right right, getting
Speaker 3: it to identify those things is nice, And then you're
Speaker 3: still left with, Okay, well I should make the best
Speaker 3: choice in this moment, which you know I'm hopeful that
Speaker 3: the future my like focus more around like the selection
Speaker 3: aspect of those design choices. But yeah, there's still a
Speaker 3: lot of like the reasoning aspect of these things that
Speaker 3: 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,
Speaker 3: I mean for design stuff, I definitely use that software
Speaker 3: architect mentor one. Just to hash through ideas, I use
Speaker 3: lane chain a lot. Lange Chain RB has some great
Speaker 3: abstractions around working with AI development and integration. We talked
Speaker 3: about ray r ai X just great like rails plug
Speaker 3: in to just like get your Rails app hooked up
Speaker 3: 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
Speaker 1: is the race and.
Speaker 3: To be honest, lane chain or B they have lane
Speaker 3: chain reels which also adds some similar integrations. And then
Speaker 3: there's the whole agent side of things too, which.
Speaker 1: Isn't that what Ray is kind of focused around, is
Speaker 1: building those agents or are you talking about agents that
Speaker 1: people have already built for Ruby stuff?
Speaker 3: So there's like there's two ways of thinking about it.
Speaker 3: Like if you're just like if you want to augment
Speaker 3: your applications with AI, like use it as a tool.
Speaker 3: Like that's more like Ray or things like that where
Speaker 3: you just want to introduce, Hey, I have this model
Speaker 3: and I wanted to auto generate stuff based on these
Speaker 3: column names, or I have this prompt and I want
Speaker 3: to guide through a process and you can create kind
Speaker 3: of like these abstractions around those ideas.
Speaker 1: That's the level that I'm looking at working in. So,
Speaker 1: for example, with what I've built for top end devs,
Speaker 1: I'm basically to the point now where I'm starting to
Speaker 1: show other people how I run things, and they're telling
Speaker 1: me that they want my platform as much as they
Speaker 1: want my method, right, and so I'm imagining, yeah, you
Speaker 1: have something that you built in Ray, and it's essentially
Speaker 1: you know, so like when our guest today almost said
Speaker 1: his name, but I don't want to call him out.
Speaker 1: He's a great guy and you know that he had
Speaker 1: a good reason for canceling today. But right, so if
Speaker 1: that happened, right, I would like it to go and
Speaker 1: have my agent with has access to the back end,
Speaker 1: right say okay, we're gonna we're going to reschedule him
Speaker 1: for whenever or you know, we're going to pick another
Speaker 1: topic and bring it in right and have it intelligently
Speaker 1: do that, but then also have my users be able
Speaker 1: to as much as they go in and just modify
Speaker 1: stuff in the form right that I built in rails,
Speaker 1: but also just say I don't like the title of
Speaker 1: episode five hundred and twenty two. I think it needs
Speaker 1: to be more focused on this topic or you know,
Speaker 1: we use this as an example. So like JavaScript Jabber,
Speaker 1: one of the episodes, I kept bringing up examples from
Speaker 1: rails to illustrate points, right, And so the AI generated
Speaker 1: title that wound up getting put in there without me
Speaker 1: catching it had rails in the title, and that wasn't
Speaker 1: what the episode was about at all, and so it
Speaker 1: would have been nice to be able to just tell
Speaker 1: 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
Speaker 1: about this topic instead, and then have it smart enough
Speaker 1: 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
Speaker 1: to it or type into a chat and have it
Speaker 1: do the right thing. Reschedule this episode Okay, I'm going
Speaker 1: 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
Speaker 1: things because it has access to the back end of
Speaker 1: 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
Speaker 1: is a more intuitive interface for a lot of business
Speaker 1: owners that literally just want a content strategy that gets
Speaker 1: a business.
Speaker 3: Yeah. I mean, if you're just trying to supplement your
Speaker 3: existing business, right like using something like ray or lang
Speaker 3: Chain or one of these other supplemental libraries, right, Like,
Speaker 3: that makes a lot of sense. It just looks right
Speaker 3: into it, you know, very minimal modification and like long
Speaker 3: term support. Just like it's super easy to modify and
Speaker 3: update the prompts pretty easily.
Speaker 2: Right.
Speaker 3: But if you're trying to get like something more complex
Speaker 3: out of like the AI systems, that's kind of where
Speaker 3: like agentic system design comes in play.
Speaker 2: Uh.
Speaker 3: And that's like where you want like, uh, you know,
Speaker 3: AI to to do a specific job and like a
Speaker 3: chain through a bunch of steps. Uh. And so like
Speaker 3: there's tools like active agents as an example, justin Bowen, Uh,
Speaker 3: he just released these uh this framework which is pretty
Speaker 3: awesome uh for managing agentic system flows like that. And
Speaker 3: then there's like you know Alex Rudall, we had him
Speaker 3: on He's the Ruby open Ai author, right. He has
Speaker 3: AI engine, UH, the AI engine Jim it's with reels
Speaker 3: ai dot com uh. And that he has you know
Speaker 3: assistance ah, you know framework built in where you can
Speaker 3: just hook into uh to get various code like you know,
Speaker 3: to do step wise things with there's just like a
Speaker 3: 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
Speaker 3: Toby Luke from Shopify. He gave this like internal like
Speaker 3: presentation where it was all developed by AI and he
Speaker 3: had basically like made these little agents. He made like
Speaker 3: a virtual office and this was the program. And the
Speaker 3: virtual office had individual agents, which were basically just people
Speaker 3: with a very specific role like a software engineer, a
Speaker 3: marketing person, you know, research assistant, you know. And each person,
Speaker 3: each agent had a loop and it went through and
Speaker 3: it thought about what it had to do. It like
Speaker 3: had some tools available to it to perform that task.
Speaker 3: And then every periodically all of the agents would get
Speaker 3: together and they would like have a meeting, right, and
Speaker 3: like they could if they needed information from another agent,
Speaker 3: like they could reach out to the other agent and
Speaker 3: work together on producing those details. Right. And then you
Speaker 3: know what you can do is is you could scale this,
Speaker 3: right is you could say, Okay, I want like five
Speaker 3: developers agents, right, like I want five marketing people on
Speaker 3: this effort, and they would all work together and work
Speaker 3: on scaling and then conferring their judgments together for better results.
Speaker 3: And if you think about it again, like he basically said, well,
Speaker 3: then you can also scale your offices, right Like, so
Speaker 3: like let's say I have one office working on this,
Speaker 3: I can have many offices working on this, and maybe
Speaker 3: they're all working on their own different things, but ultimately
Speaker 3: coming together for the business side, like right purpose Uh
Speaker 3: And so it's really interesting idea of like these virtualization
Speaker 3: like containers of all of these very specific things doing
Speaker 3: very specific tasks. And so if you're want to like
Speaker 3: build a business around that idea, like you're gonna go
Speaker 3: through some kind of agent or assistant p Yeah.
Speaker 1: Yeah, And and that's that's what I'm excited about, right.
Speaker 1: I just see all kinds of opportunities with that. Was
Speaker 1: there anything else that we should dive into here. We've
Speaker 1: 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
Speaker 3: 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,
Speaker 3: Like if you're if you want your mind blown about
Speaker 3: like what is happening in the AI space, like they're
Speaker 3: exposing it pretty great.
Speaker 2: Uh.
Speaker 3: And and one one thing that is like frequently talked
Speaker 3: about is like the importance of like evaluating the outputs
Speaker 3: right and getting benchmarks and so like two of these
Speaker 3: concepts are like, uh, you know, the Hugging Face has
Speaker 3: a great like library on their evail framework. Let me
Speaker 3: see if I can remember what it is. I mean, yeah,
Speaker 3: Evail guidebook, and so that they have like basically this like, uh,
Speaker 3: you know, how do you get run tests against these
Speaker 3: outputs so that you can guarantee that they're doing it
Speaker 3: what you what you want of them, right, Because that's
Speaker 3: one of the biggest things is like there's so much
Speaker 3: variability in their output right, Like uh, it's token by token,
Speaker 3: so like if it gets off track at any point,
Speaker 3: like it could all of a sudden break down pretty easily.
Speaker 3: And if you have that hooked up into a series
Speaker 3: of processes that depend on each other, right, like that
Speaker 3: falls apart pretty quickly. And so like setting up these
Speaker 3: kind of like benchmarks and evaluations is just like there's
Speaker 3: a whole industry like focus on this, right, And that's
Speaker 3: where you get these like leaderboards that benchmark all of
Speaker 3: these models based on different criteria like how well do
Speaker 3: they you know one I just saw recently, there's a
Speaker 3: an evaluation or a leaderboard for for doing debates, right,
Speaker 3: like how well do the models like argue on a point?
Speaker 3: And so there's like a new leaderboard now where which
Speaker 3: models perform best at this, right, like which which ones
Speaker 3: are most convincing?
Speaker 2: Right?
Speaker 3: And it's it's pretty great. And so like there there
Speaker 3: are a bunch of leaderboards that and that all of
Speaker 3: them are based on these evaluations, right where you have
Speaker 3: output and you give it input and you expected a
Speaker 3: very specific reconstruction of that every time, right. And so
Speaker 3: that's actually something I focus on quite a bit at
Speaker 3: work building stuff for physicians. Right, it's pretty important to
Speaker 3: 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
Speaker 1: Wayne yep and Alesso I can't remember his last.
Speaker 3: Name, but yeah, I mean I would Hugging Face is
Speaker 3: definitely like they are awesome. They're just killing on all
Speaker 3: fronts here, even the robotic stuff. I don't know if
Speaker 3: you play. I have a little They have this thing
Speaker 3: called the robot and it's a robotic arm that you
Speaker 3: can train with AI just like on your MacBook and
Speaker 3: you point a camera at it, and I've built it
Speaker 3: like that. You build two of them, right, like one
Speaker 3: to train it with and one to do things with.
Speaker 3: And it has this thing called telepresence where it repeats
Speaker 3: you know, what you're doing with one robot arm to
Speaker 3: the other, and then it you know, trains and model
Speaker 3: based on that, and so you could train it to
Speaker 3: do different things, so like pick up you know, sort
Speaker 3: Eminem's or sort legos or you know pick up. I'm
Speaker 3: trying to get it to right, like Hello world, right,
Speaker 3: And you could train it to do this just like
Speaker 3: by having it watch itself and repeat those training examples,
Speaker 3: like in a virtual environment. So they have like this
Speaker 3: whole framework they built around that. It's so fascinating. The
Speaker 3: other robotics aspects of all this stuff is pretty wild.
Speaker 2: Yeah, it sounds like a whole different can of worms. Yeah.
Speaker 2: So at the end of the day, if people are
Speaker 2: looking to enhance their.
Speaker 1: You know, their code stuff, and we didn't even get
Speaker 1: into you know, JavaScript in front end, if you're doing
Speaker 1: stuff with that. But you know, beyond kind of the
Speaker 1: stepping stones that we've already talked through, right, are there
Speaker 1: good places for people to just kind of keep an
Speaker 1: eye out and go, you know, see what else kind
Speaker 1: of crops up?
Speaker 3: I mean really just starts small, Like this space is
Speaker 3: always going to change fast, and there's going to be
Speaker 3: new things, but there's like foundational concepts and tools like
Speaker 3: becoming popular, right Like lang chain is like a widely
Speaker 3: popular thing that's just super easy to get set up
Speaker 3: 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
Speaker 2: link chain RB.
Speaker 1: So it's it's like calling a database or you know,
Speaker 1: another API service or something, right.
Speaker 3: I mean really, it's just like finding those abstractions that
Speaker 3: just help like get to the point and learn the basics, right,
Speaker 3: Like the best tool you can find to do that
Speaker 3: with is going to be the best one, right, because
Speaker 3: like there's so many concepts to learn, like just break
Speaker 3: down like how you chain it all together, right, right,
Speaker 3: and so like start with the very basic small stuff
Speaker 3: like sub layer. If you're in Ruby, Like sub layer
Speaker 3: is a great starting point. Like you open up a
Speaker 3: Ruby fil and you include sub layer and you can
Speaker 3: perform some LLLM magic right, awesome, awesome tool create different actions,
Speaker 3: Like they have a library you can go and just
Speaker 3: like you know, take all you know, the various actions
Speaker 3: that they publish. Right, So if you want it as
Speaker 3: an example, like red Green tests passing, like there's like
Speaker 3: a you know, an agent for that you can download
Speaker 3: and get running just from a URL.
Speaker 2: So like.
Speaker 3: Yeah, I would say, just like pick one tool and
Speaker 3: that like that will get Now that's going to be
Speaker 3: the fastest way.
Speaker 2: Yeah, I guess at this point we'll go ahead and
Speaker 2: do pics. Yeah.
Speaker 1: I mean, I'm just sitting here kind of thinking through
Speaker 1: all the implications of all the stuff we talked about,
Speaker 1: because you know, I knew, I knew that there was
Speaker 1: a whole level of stuff that I hadn't seen.
Speaker 2: And one thing that I'm really wanting to do or
Speaker 2: thinking about doing here is.
Speaker 1: Just putting together essentially tutorial videos on how to do
Speaker 1: a lot of this stuff. Right, It's like, hey, here's
Speaker 1: how you, you know, work through some of these things
Speaker 1: or use some of these tools, just to give people
Speaker 1: an idea or example. Anyway, Yeah, let's go ahead and
Speaker 1: 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
Speaker 1: it's about solid cash.
Speaker 2: But yeah, why don't why don't you go ahead and
Speaker 2: go first? What picks do you have?
Speaker 3: Yeah, I mean I have to, you know, call out
Speaker 3: the Ruby I Builders discord. Like awesome. Honestly, if you're
Speaker 3: looking for one thing to like learn all this stuff,
Speaker 3: like just join that discord. You'll learn plenty and people
Speaker 3: are just like so willing to help out and point
Speaker 3: you to to where you need to go and what
Speaker 3: you're looking for. Super helpful. Sublair also has a discord
Speaker 3: if you're looking to drive into that as well. Yeah,
Speaker 3: I mean next to that. Yeah, I'm just chugging away
Speaker 3: on this, like Ruby laying AI project I started, it's
Speaker 3: like very slow progress. Well, ultimately I'm like trying to
Speaker 3: fine tune a model, a very small model, call him
Speaker 3: you know, SML instead of ll M. But I'm trying
Speaker 3: to like fine tune smaller models that are very purpose
Speaker 3: driven for Ruby generate code generation with the ultimate goal
Speaker 3: of being able to, like, you know, further fine tune
Speaker 3: it on existing code basis so that you can get
Speaker 3: it to generate things based on the context of your
Speaker 3: organization's code. And I'm making some pretty good progress. I'm
Speaker 3: trying to use as much Ruby as I can, and
Speaker 3: so I have, you know, this high call library that
Speaker 3: I'm using to ultimately just shell out to Python for
Speaker 3: the things that Ruby can't do yet. But that gap
Speaker 3: is slowly closing in thanks to Andrew Kane, who's just
Speaker 3: like a monster with all of this machine learning stuff
Speaker 3: in Ruby. Yeah, he is just putting out stuff left
Speaker 3: and right. And I guess on that topic, there is
Speaker 3: a gem called informers that he has that lets you
Speaker 3: run inference for Ruby, and it's really great. You can
Speaker 3: basically just like point a hugging face model at it
Speaker 3: and run imprints using Ruby. Super fun stuff to play with.
Speaker 3: If you're just trying to like summarize something as an example, like,
Speaker 3: there are great smaller models that do specifically that and
Speaker 3: they work great. You don't need like to reach out
Speaker 3: to open Ay every time when you just want something
Speaker 3: small that outputs much faster, right, So check that out.
Speaker 1: Yeah, all right, I'm gonna do some picks. We used
Speaker 1: to do the board game pick lately. So last weekend
Speaker 1: I was teaching games at the Game Board Game Convention
Speaker 1: again and so we had five games we were demoing.
Speaker 1: So I'm going to pick some of those over the
Speaker 1: next four or five weeks. One of the games I've
Speaker 1: already picked on this show because I played it at
Speaker 1: Salt Con in March, and so I'm not going to
Speaker 1: pick that. That's Challengers if you haven't checked it out,
Speaker 1: very fun game. The game that I'm going to pick
Speaker 1: today is called Gnome Hollow, and I have to say so,
Speaker 1: there are different aspects of board games. I haven't really
Speaker 1: discussed this much on the show. There are different aspects
Speaker 1: of board games that make them fun, right, So some
Speaker 1: of it is kind of the flow of the game.
Speaker 1: Some of it's you know, how much you have to
Speaker 1: think about what you're doing and how much you have
Speaker 1: to plan ahead, and whether or not you like that
Speaker 1: kind of a game. And you know, and so that's
Speaker 1: down to like complexity or things like that. Not always
Speaker 1: some of it's like like, for example, nome Hollow has
Speaker 1: a pretty simple cadence to each round. It's just it's
Speaker 1: just the thinking ahead, right, because you're you're going to
Speaker 1: build something out and then you're going to capitalize on it,
Speaker 1: and then there's some movement aspect and you have to
Speaker 1: decide what you're going to do every turn. So the
Speaker 1: way that it's played is you're trying to complete mushroom
Speaker 1: rings in the forest, okay, and you know your mushroom
Speaker 1: rings don't have to be round, but they have to
Speaker 1: be a complete loop. So you know, you can build
Speaker 1: a three, A four, A five, six. It's hex tiles
Speaker 1: and so it's the number of hex tiles that are
Speaker 1: on the on the loop that you made, and you
Speaker 1: get you get to move a marker down when you
Speaker 1: complete a ring, right as long as there's a space
Speaker 1: for it. So you can do one three, you can
Speaker 1: do two fours, and then you can do like four fives,
Speaker 1: 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
Speaker 1: of the rewards on the sevens is you get to
Speaker 1: 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
Speaker 1: give you some other reward that gets you points. So
Speaker 1: if you complete a loop, for every two loops you
Speaker 1: complete or every two markers you move down it more appropriately,
Speaker 1: you get to discover a wildflower, and then you get
Speaker 1: the wildflower. You get a wild as part of your
Speaker 1: reward for discovering a wildflower, and then the rest of
Speaker 1: them go up for other people to be able to collect,
Speaker 1: and so you get points for every wildflower you collect.
Speaker 1: You get points for every marker you've moved down into
Speaker 1: the reward space, and then you get points when you
Speaker 1: complete the loop or the ring. You get the mushrooms
Speaker 1: that are on the ring, and so then you can
Speaker 1: go to the market and sell the mushrooms. And those
Speaker 1: are the three ways to get points. You add them
Speaker 1: all up at the end that's how you score. So
Speaker 1: then it's just a matter of getting the you know,
Speaker 1: enough of the right kinds of mushrooms to make your
Speaker 1: trip to the market worth it. And then the other
Speaker 1: thing is is if you say you cash in five
Speaker 1: red mushrooms. You actually fill the spot for five red mushrooms,
Speaker 1: and nobody else can do five, they can do six,
Speaker 1: they can do four, they can't do five. And then
Speaker 1: when somebody does six, right, then that is also gone. Right,
Speaker 1: so maybe you go seven or eight. And so the
Speaker 1: different mushrooms are worth different amounts because you have different
Speaker 1: rarity on the hexes you place. You have place two hexes.
Speaker 1: You collect the rewards for completing your loops, and then
Speaker 1: you move your nome and you move your nome to
Speaker 1: reserve a path that will eventually become a loop, or
Speaker 1: you move your nome to a sign, which is one
Speaker 1: of the rewards you get for completing a loop, or
Speaker 1: you can move it up to the market and you know,
Speaker 1: sell mushrooms, or you can go and collect the flower
Speaker 1: and you know, and so then at the end of
Speaker 1: the game, what if you've accrued in the different kinds
Speaker 1: of flowers and stuff, that's how you win. So, you know,
Speaker 1: I played it like three or four times at the
Speaker 1: game convention because that was one of the games that
Speaker 1: people wanted to learn and and anyway, it's a lot
Speaker 1: of fun board game. Geek waits it at two point
Speaker 1: one seven and so you know, kind of your average
Speaker 1: gamer with enough complexity to make the game interesting is
Speaker 1: about a two. So this is just slightly more complicated
Speaker 1: than that. And the complication really is, you know, what
Speaker 1: do I get for completing the loop? How do I
Speaker 1: 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?
Speaker 1: You know, and you have to plan ahead to make
Speaker 1: your path.
Speaker 2: Go the right way.
Speaker 1: And then you know, yeah, when you move the gnome,
Speaker 1: do I move it to a sign to get more mushrooms?
Speaker 1: Do I move it to the market? Do I move
Speaker 1: it to the thing? And which ones do I sell back?
Speaker 1: 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
Speaker 1: where the complexity is is it's in that play so
Speaker 1: that you're making the right moves to accrue the most points.
Speaker 1: And anyway, super fun game. Takes about forty five minutes
Speaker 1: to play it, which is also great plays up to
Speaker 1: 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
Speaker 1: because you have a lot more going on on the
Speaker 1: 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
Speaker 1: one is awesome. It's fun artwork. There are a million
Speaker 1: little pieces. They give you a whole bunch of bags,
Speaker 1: and it's not really clear how you're supposed to get
Speaker 1: it all back into the box. I mean it all
Speaker 1: fits fine, that's not the problem. But it's like, Okay,
Speaker 1: do I separate all out the different kinds of mushrooms?
Speaker 1: And do I separate all the different markers into different bags?
Speaker 1: If I wind up buying the game, I'm just gonna
Speaker 1: bring in my own bags and I'll keep them all
Speaker 1: separate in that way, I can just parcel them out.
Speaker 1: But yeah, we wound up combining a bunch of stuff
Speaker 1: and you wind up having to sort it back out
Speaker 1: when you pull the game out. But it's fun, very
Speaker 1: very fun. The game ends when somebody moves their last
Speaker 1: marker down. You finish out, tell that everybody's had the
Speaker 1: same number of turns, or if you run out of
Speaker 1: to put on the board, and so what you do
Speaker 1: is you put aside two hexes for every player that's playing,
Speaker 1: and that way, if you run out of the hexes
Speaker 1: to play, you just play off of that stack until
Speaker 1: everybody's had the equal.
Speaker 2: Number of turns.
Speaker 1: I think every time that I've played, somebody moved their
Speaker 1: last marker down before we were out of hexes. So anyway,
Speaker 1: super fun game, Really enjoying that. I am working on
Speaker 1: putting together an AI dev boot camp, and that's more
Speaker 1: in the vein of building out the agents like we
Speaker 1: talked about, as opposed to you know, and using some
Speaker 1: of the other tools like Whisper for transit transcriptions and
Speaker 1: text to speech or speech to text and all that
Speaker 1: stuff right that that's offered out there. I'm looking at
Speaker 1: open AI as kind of a baseline, but I am
Speaker 1: looking at some of the other tools like Claude and
Speaker 1: 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
Speaker 1: give people an idea of what their options are. But yeah,
Speaker 1: it's going to get into how do I bring this
Speaker 1: stuff in and what options and services are out there
Speaker 1: 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
Speaker 1: it is going to be on like how the models
Speaker 1: 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
Speaker 1: and training our own models, and we might get into
Speaker 1: some of that if I'm showing you how to like
Speaker 1: enhance what Lama or lane chain give you, but not
Speaker 1: a lot. It's really focused on how do you create
Speaker 1: an awesome AI experience for your customers through an agent.
Speaker 1: So anyway, I'm going to be doing that sometime in
Speaker 1: January and so that's going to be at AIDEV boot
Speaker 1: 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,
Speaker 1: I'm kind of using open open AI and its offerings
Speaker 1: as a baseline, recognizing that there are other systems and
Speaker 1: models that give you a lot of options for doing
Speaker 1: a lot of the same things and maybe better at
Speaker 1: one thing than another. And so I bought a book
Speaker 1: and it's called Building AI Applications with Chat, GPT APIs
Speaker 1: and it shows you how to use.
Speaker 2: And the the.
Speaker 1: Author is Alexander Petrovitch, and it goes into basically all
Speaker 1: of the different API options. Hang on, it's being funny
Speaker 1: on Amazon, but it shows you how to use Whisper,
Speaker 1: it shows you how to use.
Speaker 2: Boy.
Speaker 1: It does not want to pull it up on Amazon,
Speaker 1: but I bought it for the Kindle, and yeah, it
Speaker 1: goes into Whisper, it goes into chat GPT, Yeah, it
Speaker 1: goes into a couple of the other options that you
Speaker 1: have on the open Ai platform. So anyway, and it
Speaker 1: basically walks you through used in their APIs and then
Speaker 1: how to build your prompts to get what you want.
Speaker 2: And so I'm excited to dive into that. So I'm
Speaker 2: going to pick that. And then.
Speaker 1: The last pick I have is I've been I've been
Speaker 1: doing I've been training for triathlons again, and specifically my
Speaker 1: goal is to either do Iron iron Man Maryland in
Speaker 1: September or iron Man Chattanooga in September, and so I've
Speaker 1: 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
Speaker 1: of them, I picked up a training system on training
Speaker 1: peaks dot com. So I'm gonna pick training peaks dot
Speaker 1: com and you can buy workout plans. So mine's a
Speaker 1: forty eight week workout plan, right, So I started it
Speaker 1: last month and you know, I'm on track to finish
Speaker 1: it for Maryland and then if I wind up signing
Speaker 1: up for Chattanooga instead, then I'll just tell it to
Speaker 1: adjust my workout schedule by two weeks so that I'm
Speaker 1: ending on the right day in September. And then the
Speaker 1: other one is I've been using the first Form app
Speaker 1: that's one st p h r M First Form and
Speaker 1: I signed up for Transformation Challenge is what they call it,
Speaker 1: and Transformation is also spelled with a pH right because
Speaker 1: of their branding. And as part of the app, you
Speaker 1: get a coach and so she's been helping me figure
Speaker 1: out my you know, all my stuff, and so I
Speaker 1: have a referral code if you want to use my
Speaker 1: coach and sign up. I don't get any kickbacks for this.
Speaker 1: It's literally just hey, I'm having a great experience with this,
Speaker 1: and so you know, you ought to check it out,
Speaker 1: and so let me just air drop it to my
Speaker 1: 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,
Speaker 1: so I get an announcement every day where she's essentially saying,
Speaker 1: 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
Speaker 1: or the other, or you know, all all kinds of
Speaker 1: different things like that, and it's really really been terrific.
Speaker 1: And then yeah, she checks in, Like every week, I
Speaker 1: send an evaluation where I'm saying, you know, I'm a
Speaker 1: little hungry, I've been a little hungry this week, or
Speaker 1: I've been a little tired this week, or you know whatever,
Speaker 1: and then she'll chat back and say, you know, yeah
Speaker 1: you needed you need to schedule more sleep, right, Or
Speaker 1: she'll look at my eating because I track all my
Speaker 1: calories in there too, and she'll say, hey, you need
Speaker 1: 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
Speaker 1: you know, less supplements, which is like the protein powders
Speaker 1: and stuff. And yeah, they have a whole bunch of
Speaker 1: different supplements like the protein powders they have. They have
Speaker 1: 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,
Speaker 1: and it's it's greens that you know, help with your
Speaker 1: digestion and stuff. I've got a couple here. I've got
Speaker 1: basically omega, which is like fish oil, and then I've
Speaker 1: got another one that's glucose disposal agent is what they
Speaker 1: call it, and it just it just helps regulate my
Speaker 1: blood sugar, which is good because I'm diabetic and I
Speaker 1: just take it with all you know, know, with the
Speaker 1: medications that my doctor has given me, and it's it's
Speaker 1: been awesome. So anyway, I'm just going to pick those.
Speaker 1: If you want to do an Iron Man next year
Speaker 1: 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
Speaker 1: I might swim faster than you or you might bite
Speaker 1: faster than me, but it it'd be fun. So if
Speaker 1: you're interested and you think you might be there, let
Speaker 1: me know. But yeah, those are my picks. Sorry I
Speaker 1: rambled for a long time. But anyway, I think that's
Speaker 1: all I've got, So Valentino, think thanks for being our
Speaker 1: 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,
Speaker 1: some of the stuff that you know, you and I
Speaker 1: 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.