Speaker 1: Hey, everybody, welcome back to another episode of JavaScript Jabber.
Speaker 2: This week, on our panel, we have Dan.
Speaker 3: Shapier, Hey, back in Israel.
Speaker 2: We also have Steve Edwards.
Speaker 4: Hey, coming from a it's definitely fall here in Portland.
Speaker 2: I'm Charles Maxwood from Top End Devs.
Speaker 1: It feels like it's been forever since I've been able
Speaker 1: to record a podcast, so it's good to.
Speaker 2: Be back on the micsh. Yeah, my travel schedule and
Speaker 2: work and everything and just yeah anyway, Yeah.
Speaker 5: We're going on the court right.
Speaker 4: Yeah, talk to Frost last week, and I forget who
Speaker 4: the other people have talked to.
Speaker 1: Yeah, I wanted any on that one, but I was
Speaker 1: at Rocky Mountain Ruby conference last week.
Speaker 3: Good for you.
Speaker 2: Yeah, I got.
Speaker 3: A lot of interesting things are going going in the
Speaker 3: Rugby community community. Yeah.
Speaker 1: I was gonna say I got the scuttle butt on
Speaker 1: a whole bunch of the drama over there.
Speaker 2: You're yeah if uh, Well, I'm.
Speaker 1: Gonna record Ruby Rogues tomorrow and we're going to go
Speaker 1: through what I understand. It's funny I keep finding myself
Speaker 1: in a position lately between like this thing and Utah
Speaker 1: politics and stuff where it's hey, everybody, this is what's
Speaker 1: going on, and I can't.
Speaker 2: Tell you who's telling me what they're telling me.
Speaker 3: So, by the way, as long as coming from.
Speaker 2: The people directly involved, but they can't go on the record.
Speaker 3: So there's also a bit of drama going on in
Speaker 3: the React adjacent arena, what with the Remix three coming out.
Speaker 2: I haven't been following that. I'll go check it out.
Speaker 3: Yeah you should, by the way, before we get going,
Speaker 3: I just recalled that in the new State of JavaScript
Speaker 3: survey is out, and I'm thinking that if our listeners
Speaker 3: enjoy this podcast and I want to help us get
Speaker 3: to more people, maybe they should vote for us on
Speaker 3: that survey.
Speaker 2: Yes, absolutely speaking brother, Yeah, yeah, I think it's just
Speaker 2: STATEOFJS dot com.
Speaker 3: It's STATEOFJS dot com exactly.
Speaker 1: Yes, ye, so yeah, and it's always interesting to see
Speaker 1: what the results of that are so or what.
Speaker 3: Yeah, the results we usually come out somewhere between third
Speaker 3: and fifth. It will be nice if we can make
Speaker 3: it a bit higher.
Speaker 1: Yeah, but I meant also just you know what people
Speaker 1: are using and where the community's at and all of
Speaker 1: that great stuff.
Speaker 3: So oh yeah, for sure, it's interesting, although I always
Speaker 3: wonder what I should actually like quote unquote do with
Speaker 3: the results.
Speaker 2: Right, right, Yeah, I want to vote for us.
Speaker 3: I was, you know, this is not the topic of
Speaker 3: the show, and we probably should have a show about it,
Speaker 3: or maybe bring somebody from the survey on our show.
Speaker 3: But I was kind of surprised or negatively surprised a
Speaker 3: bit from last year's survey about or was it some
Speaker 3: other survey. I think it was actually a different survey
Speaker 3: about the salaries in the field. They are lower than
Speaker 3: I would have expected.
Speaker 1: Yeah, yeah, we should definitely get talk about some of that.
Speaker 1: I mean, the market out there is different from it
Speaker 1: has what it has been in the past. I've talked
Speaker 1: to a number of people that are.
Speaker 2: Having trouble finding work. Yeah.
Speaker 1: Anyway, there's a lot going on there that's definitely we're
Speaker 1: talking about.
Speaker 3: And maybe what we're talking about today can explain some
Speaker 3: of these challenges.
Speaker 2: Yeah, well yeah, and let's go ahead and get into that.
Speaker 1: So the topic that I put up, I was the
Speaker 1: one that proposed this topic was how to use AI
Speaker 1: in your JavaScript development? And I was mostly focused on tools,
Speaker 1: not necessarily, hey how do you build features into your
Speaker 1: apps with AI? But you know, how do you use
Speaker 1: the lllms and other tools to write your code and
Speaker 1: just to get started. I'm curious what AI tools do
Speaker 1: you guys use on a regular basis when you're writing code.
Speaker 3: Steve, do you want to go first or should I? Yeah?
Speaker 4: I don't. Yeah, I'm a I don't know if you
Speaker 4: want to call me the grumpy old man or the
Speaker 4: get off my lawn kind of guy.
Speaker 5: I haven't really I.
Speaker 4: Haven't really dived into it, you know, full steam ahead.
Speaker 4: I'll give an example. I was listening to a podcast
Speaker 4: with guy from coinbase here over the past week and
Speaker 4: they are either are or their goal is to have
Speaker 4: like forty percent of their code written by AI. You're
Speaker 4: talking about all their different tool chains and review processes stuff,
Speaker 4: and I was.
Speaker 5: Like, WHOA, I mean, my interesting. I just found out that.
Speaker 4: I have access to cloude code through work be a
Speaker 4: bedrock on AWS.
Speaker 5: I got to get that set.
Speaker 4: Up so I can use that, but I primarily use.
Speaker 3: It for.
Speaker 4: Troubleshooting, well troubleshooting air converting code. And it's like, man,
Speaker 4: I can't you know this is I've got this code here,
Speaker 4: I want to be able to do this, and I've
Speaker 4: been able to figure something out.
Speaker 5: How can I do that?
Speaker 4: In algamy hint, you know, to go that way, or
Speaker 4: if I need some short little thing here, write me this,
Speaker 4: you know function that does this. And I will never
Speaker 4: ever just say Okay, that's good, put it in a letter.
Speaker 4: You know, I'm always going to you know, test it
Speaker 4: out and make sure it works. And usually I'm gonna
Speaker 4: have to tweak it or something like that. What do
Speaker 4: you say, just for troubleshooting, you know, Hey, I'm stuck
Speaker 4: on this, Help me get this figured out or you know,
Speaker 4: getting over you know, maybe give me ideas to get
Speaker 4: past the thorny issue.
Speaker 5: But that's about it, at least for me.
Speaker 3: When you say test it out, what do you mean?
Speaker 4: Well, I mean, I'm going to run it in my
Speaker 4: in you know, I'm going to put it in, but
Speaker 4: I'm going to run it and run run it through
Speaker 4: the different iterations in different use cases and make sure
Speaker 4: that it's actually working.
Speaker 3: You know.
Speaker 4: And sometimes there's like variable naming issues where I'm going
Speaker 4: to name it them people more consistent with the way
Speaker 4: we do it in the project and that kind of stuff.
Speaker 3: But sure, but I mean, you know, test it out
Speaker 3: is something that I assume you do to your own
Speaker 3: code as well.
Speaker 5: Oh yeah, absolutely so.
Speaker 3: In that regard, I've worked with people who don't. Yeah,
Speaker 3: well okay, you know you could you could be in
Speaker 3: in an optimist, I guess, uh you know by the
Speaker 3: way that story about what's the difference, Like the optimist
Speaker 3: is the class half full, the pessimist is the glass
Speaker 3: half empty, and the developer says, we could have used
Speaker 3: a smaller glass. Uh. But but yeah, I know, I
Speaker 3: mean what I was trying to say, Steve is in
Speaker 3: that regard, you're not treating the code differently than you
Speaker 3: would treat your own code.
Speaker 4: Right that mm hmm, Yeah, I just you know, having
Speaker 4: I mean, just thinking, Okay, I go write me this
Speaker 4: code and then let's go ahead and commit it and
Speaker 4: you know, run it through a testing pipeline or whatever,
Speaker 4: just makes me nervous.
Speaker 5: Yeah, you know, it's just caught me the control freak er,
Speaker 5: you know.
Speaker 4: I I go back to surveys I saw, you know,
Speaker 4: after the various stories and surveys I read in different
Speaker 4: places after you know, the first eight when when you
Speaker 4: know it was a chat TPD four I think was
Speaker 4: a real big open the floodgates type of event that
Speaker 4: really yeah, got made it, you know more every day
Speaker 4: and people, oh gods, let's build with AI.
Speaker 5: Everything.
Speaker 4: Hey, we're using AI.
Speaker 5: Even the half of them probably had no idea what
Speaker 5: that meant.
Speaker 4: You'd see surveys like, you know, eighty percent of code
Speaker 4: that was may I ends up getting reverted later. And so, uh,
Speaker 4: that's why I'm just you know, I'm a real big skeptic,
Speaker 4: and you know, when I see it work, then maybe
Speaker 4: I'll started to trust it. But again, for me, it's
Speaker 4: just helped to generate ideas and get me going or
Speaker 4: get me.
Speaker 5: Past the sticking point. That's about it.
Speaker 3: Yeah, it's yeah, yeah, it's It's interesting that we did
Speaker 3: have at least two episodes about vibe voting research. We
Speaker 3: brought over both Gunner Uh, who talked about it from
Speaker 3: the perspective of of doing it as a PM or
Speaker 3: b D and UH, and we talked with who was
Speaker 3: it to look talked about vibe coding from the perspective
Speaker 3: of developer whose name escapes me momentarily, I remember in
Speaker 3: in a in a second, that's definitely not what I do.
Speaker 3: I use. I use AI tooling a lot. It's I
Speaker 3: think it's made a dramatic impact on the way I
Speaker 3: write code. But I'm definitely not vibe coding. I'm not
Speaker 3: I'm using it as as a tool, uh, not as
Speaker 3: a replacement. I I do know uh some some developer
Speaker 3: friends who've literally kind of said that they're kind of
Speaker 3: like behaving a bit like product these days, like really
Speaker 3: spelling out the requirements in a lot of detail and
Speaker 3: then kind of letting the code right itself as it were.
Speaker 3: I'm not there, but it has made a significant difference
Speaker 3: on how I write code. So, first of all, about
Speaker 3: the tooling we use. So I work at License, We
Speaker 3: do embedded analytics and stuff like that and AI driven analytics,
Speaker 3: and we went all the way with AI, so it's
Speaker 3: kind of a mandate these days to use AI tooling
Speaker 3: for the developer task. It's not like up to us
Speaker 3: to decide whether or not we want to use it.
Speaker 3: It's really our requirement. So our development environment is Cursor.
Speaker 3: Most of us use it with force on it, and
Speaker 3: we also use code Rabbit for code reviews, so we
Speaker 3: get to get kind of like a two layer system
Speaker 3: in this sense, and we also use Gemini for miscellaneous tasks.
Speaker 3: So those are the AI tools that we use. And
Speaker 3: I can later elaborate about the kind of difference that
Speaker 3: it's made for me personally.
Speaker 1: What about you, Chuck, So, I my experience with AI
Speaker 1: using AI tooling kind of runs the gamut. I also
Speaker 1: spoke at Commit Your Code conference, but that was more
Speaker 1: on how to build an AI chatbot and it just
Speaker 1: covered the fundamentals. So I'm kind of living in both
Speaker 1: worlds as far as like building stuff with AI and
Speaker 1: then also building stuff with AI, if you know what
Speaker 1: I mean. So, yeah, I mean, so just to give
Speaker 1: you a sense of what I'm using. At price picks,
Speaker 1: they're paying for credits on get Help Copilot. They'll pay
Speaker 1: for a cursor thing instead if I want it, or
Speaker 1: you know, there are a couple of other options, right,
Speaker 1: so I could pick my tool. I just already had
Speaker 1: that and I'm too lazy to ask for something else
Speaker 1: because I don't care. And so because it'll do the
Speaker 1: agent mode or the ask mode and I and so
Speaker 1: sometimes I'm asking it questions, Hey, you know, how how
Speaker 1: would I approach this?
Speaker 2: Or you know, I need something, you know, relatively simple.
Speaker 1: And I'm just not thinking of how to do it
Speaker 1: right now, and so it'll put something in and then
Speaker 1: I can kind of riff off of it from there. Right,
Speaker 1: so I can go, Okay, this is pretty close to
Speaker 1: I want what I wanted, and then I can clean
Speaker 1: it up. Another thing that I've done with it a
Speaker 1: bit is I've had it help me write my.
Speaker 3: Tests, and so I definitely want to talk about that
Speaker 3: in more detail because I consider it very much a
Speaker 3: double edged sword.
Speaker 2: Yes, it is definitely.
Speaker 1: All of this comes with the caveat of yeah, I
Speaker 1: heavily review and modify whatever I'm given. Very rarely do
Speaker 1: I just accept what it gives me on the other stuff,
Speaker 1: on the personal stuff. So building stuff for like top
Speaker 1: ENDEVS or top endevs is actually hosted on the system,
Speaker 1: a multi tenant application that I plan on offering as
Speaker 1: a SaaS product to allow people to kind of have
Speaker 1: channels for communities like top end deevs is, and so
Speaker 1: i've actually, I don't know if I've gone like full
Speaker 1: vibe coding on it. There are definitely things that I
Speaker 1: haven't built before, and I didn't quite know how to approach,
Speaker 1: and so I did spell out, here are my requirements,
Speaker 1: here are the things I needed to do, and then
Speaker 1: I would let it code and then turn around and
Speaker 1: so I'd run it and see if it was working.
Speaker 1: And then once I have it working, either because I
Speaker 1: debugged it or because I had the AI debug it,
Speaker 1: then I would go in and do some code cleanup
Speaker 1: and things like that, Hey, I don't like it when
Speaker 1: you you know, do a try catch on you know,
Speaker 1: big blocks of code and then swallow the errors hole
Speaker 1: or things like that, right, and because it does stuff
Speaker 1: that I just I'm just like this, this is such
Speaker 1: not good practice. But I do get working code out
Speaker 1: of it, and so and then I can kind of
Speaker 1: go and learn from what it did, right, because it's like, Okay,
Speaker 1: I see your approach here. I don't like this part
Speaker 1: of the approach, so I'll change that. But then I
Speaker 1: can see how to do whatever I did. So, for example,
Speaker 1: the audio player on top end devs was mostly built
Speaker 1: with AI, and it was mostly because I just haven't
Speaker 1: done a ton of stuff with a script audio interface stuff,
Speaker 1: and so it could whip it up right, and then
Speaker 1: I could go and look at it and say, all right,
Speaker 1: I see what you're doing here, and then I got
Speaker 1: it done way faster than I would have done it
Speaker 1: on my own.
Speaker 3: That's kind of an amusing, amusing thing that when I
Speaker 3: talked to developers a lot of developers, not all, but
Speaker 3: a lot of developers about using AI tooling. They signed
Speaker 3: kind of apologetic, like, uh, yeah, it does what I wanted,
Speaker 3: So I just you know, took whatever it gave.
Speaker 2: No apologies here.
Speaker 1: It's it's really nice to have for those areas where
Speaker 1: it's just like, you know, I don't have the expertise
Speaker 1: here or I don't have you know, I have never
Speaker 1: done this before, and you know it'll give me some
Speaker 1: it gives me a huge head start.
Speaker 3: So yeah, for sure, it's It kind of reminds me
Speaker 3: of those days when I worked at Wix and a
Speaker 3: question that used to occasionally come out amongst website builders
Speaker 3: is was you know that we're actually building websites for customers.
Speaker 3: Is is it okay quote unquote to use wis or
Speaker 3: is it cheating again quote unquote? And I would say,
Speaker 3: and my answer was, if it satisfies the record, the
Speaker 3: customer's requirements, what's wrong with it? If your customer tells
Speaker 3: you specifically don't use Wix because I don't want it,
Speaker 3: I don't like it, whatever, then obviously you shouldn't. But
Speaker 3: if the requirement is to provide a website that does
Speaker 3: something and you're able to achieve it using Wix and
Speaker 3: it meets all the customers requirements, go for it. And
Speaker 3: likewise with AI, if AI generates properly working code, you know, great. Yeah,
Speaker 3: why should I waste my precious time on something that
Speaker 3: I can get from the machine wasting it's time. By
Speaker 3: the way, that's an interesting thing is that sometimes I
Speaker 3: give when I give it an AI a certain task,
Speaker 3: it is able to achieve it, but it takes it
Speaker 3: longer than it would have taken me, and then I
Speaker 3: kind of and then I kind of think to myself,
Speaker 3: like was it worth it? And I'm sitting here staring
Speaker 3: at the screen and waiting for it to finish because
Speaker 3: I can't really work on anything else while it's doing
Speaker 3: this stuff, and I really want to see what it's doing. Uh,
Speaker 3: and and sometimes it takes a walk.
Speaker 2: Yeah, so a couple of things on that.
Speaker 1: Yeah, I've run into that too, or it got it
Speaker 1: just right enough to where I had to keep working
Speaker 1: with it to get what I wanted, and that's what
Speaker 1: took longer.
Speaker 2: But by the.
Speaker 3: Way, as an aside, before you continue, my distinction between
Speaker 3: vibe coding and AI assisted coding, and it's my personal
Speaker 3: take uh is if you give you know, you give,
Speaker 3: you give certain instructions at the prompt and it generates
Speaker 3: some code and that code is not good enough for
Speaker 3: some reason. Will you if you just try to fix
Speaker 3: it by again providing more and more instructions via the
Speaker 3: prompt and just using effectively the prompt, then it's vibe coding.
Speaker 3: If you at a certain point actually say okay, enough's
Speaker 3: enough and I dive into the code to you know,
Speaker 3: to get it even that last extra mile that for
Speaker 3: me is becomes no longer vibe coode. That becomes ar well.
Speaker 2: Than I do a mix.
Speaker 1: So on one last thing that I wanted to add
Speaker 1: with this is and we had Eric handschet on and
Speaker 1: he was talking about what is a KIRO and he
Speaker 1: was talking about the plan. So on Copilot, on Cursor,
Speaker 1: and on KIRO you have the option to you can ask,
Speaker 1: you can allow it to edit some stuff, you can
Speaker 1: give it, turn on the agent and have the agent
Speaker 1: actually you know, do larger modifications to your code. And
Speaker 1: then in KIRO they had a plan option and so
Speaker 1: you could tell it what you wanted and then instead
Speaker 1: of executing right away and modifying your code, what it
Speaker 1: would do is it would work with you and ask
Speaker 1: more questions and get the requirements to build a plan,
Speaker 1: and then it would execute the plan.
Speaker 2: And I was fiddling with Cursor and it.
Speaker 3: Just added yeah, exactly.
Speaker 1: And so I've been using that and I have to
Speaker 1: say that so for some of the things that I've
Speaker 1: had to do, that was really really nice because I
Speaker 1: understood better what the what the agent was going to
Speaker 1: do for me when I told it to go go
Speaker 1: build stuff. And the other thing is is that it
Speaker 1: really did allow me to flesh out.
Speaker 2: What I really wanted.
Speaker 1: And so even if I never got around to clicking
Speaker 1: the build button so that it would go and the plan,
Speaker 1: I knew what I was putting together. And so I
Speaker 1: have to say I really really like that. And then
Speaker 1: one other tool that I use for some of this stuff,
Speaker 1: for some of that planning stuff before it showed up
Speaker 1: and Cursor, was I would actually use Grock And so
Speaker 1: I like using the voice assistant in Grock.
Speaker 2: And so I'll tell.
Speaker 1: It, you know, I want a system that does this,
Speaker 1: and I'm not sure how to do it, so you know,
Speaker 1: and sometimes it's more on the ops and infrastructure side
Speaker 1: than on the programming side, per se but I'll say, Okay,
Speaker 1: I need this, how do I get it? And it'll
Speaker 1: come back, and I mean sometimes it's wrong, right, It'll
Speaker 1: come back and it'll say you need to use this open.
Speaker 2: Source software blah blah blah blah.
Speaker 1: And then I go look up the open source software
Speaker 1: and it doesn't exist and there's nothing that's even named
Speaker 1: remotely close.
Speaker 2: To like it. Right, but it had all the features
Speaker 2: I wanted, according to Grock.
Speaker 1: And then I'll go back and I'll ask Rock for
Speaker 1: more help, and it'll come back and tell me that
Speaker 1: that open source software doesn't exist, and I'm going, then.
Speaker 2: Why did you tell me about it?
Speaker 3: Kind of remind me of that you remember, you remember
Speaker 3: that thing where somebody there was this trial and somebody
Speaker 3: used AI as their lawyer and it invented case past
Speaker 3: cases like yeah, so.
Speaker 1: Yeah, But I have to say that probably three quarters
Speaker 1: of the time when I'm asking Rock how to architect
Speaker 1: something or you know, orchestrate some infrastructure or pull in
Speaker 1: some open source system that I need to integrate with,
Speaker 1: it's correct or at least mostly correct.
Speaker 2: And again it.
Speaker 1: Just gets me way down the road where it would
Speaker 1: have taken me hours to go and research it by
Speaker 1: doing a Google search in the browser and then going
Speaker 1: and validating some of this stuff.
Speaker 2: So anyway, so that that's how I'm using AI in
Speaker 2: my stuff.
Speaker 3: That's interesting.
Speaker 4: So hey, Dan, real quick, you had I wanted to
Speaker 4: go back to our conversation with Gunnar or Gunnar sorry
Speaker 4: Gunnar if I'm butchering your name, and you were talking
Speaker 4: about the difference between vibe coding and AI assisted coding,
Speaker 4: at least to your distinction.
Speaker 3: Uh.
Speaker 4: I remember our discussion with him and his his use
Speaker 4: of vibe coding was basically to generate something that would
Speaker 4: give him a starting point to talk with designers about,
Speaker 4: you know, something visual. He didn't care necessarily about the
Speaker 4: details of what it was doing underneath the hood. He
Speaker 4: just cared about the hood, right, something visual? Hey, this
Speaker 4: is this is what I'm thinking.
Speaker 5: Where can we go from here?
Speaker 4: So he wasn't, you know, actually doing the coding. He
Speaker 4: just wanted something visual that he could talk with other
Speaker 4: people with. So that's how I saw. That's how I
Speaker 4: guess I would define vibe coding versus you know you
Speaker 4: and I am actually writing, well, I'm.
Speaker 3: Not so hang on, okay, go ahead.
Speaker 1: Because I I lean more toward what Dan was saying
Speaker 1: in the sense that so one podcast I listened to
Speaker 1: is Podcasting two point zero, which is Adam Curry and.
Speaker 2: I can't remember the other guy, but they're the guys
Speaker 2: the guy in the podcast Index.
Speaker 1: Yeah, but Adam Curry invented podcasting with Dave what's his name.
Speaker 1: I can't remember his name either, but anyway, so yeah,
Speaker 1: so they have a conversation every week and they're talking
Speaker 1: about podcast Index and things like that, and Adam Curry
Speaker 1: has actually been vibe coding a system the host podcasts
Speaker 1: and stuff like that, and to me, he so he
Speaker 1: he freely admits he's not a programmer, and so his
Speaker 1: whole process is is the AI right, And so if
Speaker 1: it doesn't work, he just asks the AI for more
Speaker 1: help and more help and more help. And then on
Speaker 1: occasion he'll actually go and do enough research to get
Speaker 1: dangerous enough with the code to go look at it
Speaker 1: and say, no, this is actually the problem, go fix it,
Speaker 1: and then he usually lets the AI go fix that too.
Speaker 1: And so if you're working exclusively or nearly exclusively with
Speaker 1: the AI to get your code out there, and you're
Speaker 1: not modifying it or using skilled a skilled approach to
Speaker 1: do the work. Then Yeah, that to me is vibe coding,
Speaker 1: and I think that's what Dan was saying.
Speaker 3: Yeah, exactly, because, by the way, the other person we
Speaker 3: had talked about vibe coding from the developer's perspective was
Speaker 3: Anthony Compolo, and that was on episode six eighty seven. Anyway, Yeah,
Speaker 3: what Gunner basically said is I'm a product manager and
Speaker 3: consequently I don't know how to code or I don't
Speaker 3: want to code, and therefore the way that I vibe
Speaker 3: code is basically just prompting for additional changes. He, by
Speaker 3: the way, said that is the tools improve. They're going
Speaker 3: beyond just creating a smarter mockup to a point where
Speaker 3: you know it's getting close enough to a product. And
Speaker 3: in fact, as we all know, there are services out
Speaker 3: there that have been built effectively via vibe coding. And again,
Speaker 3: if you can get it to work well enough, then
Speaker 3: bully for you. But there have been various situations where
Speaker 3: things crashed and burned, or had performance issues, security issues, yes,
Speaker 3: or just plain old bugs that the creator just didn't
Speaker 3: know how to fix.
Speaker 4: Yeah, there was Syntax did a whole episode on There
Speaker 4: was one app and I cannot remember for life of.
Speaker 5: Me what it was.
Speaker 4: But the gist of it was that they had built
Speaker 4: on Firebase and left the default setting for the database
Speaker 4: so that it was open, and so people as part
Speaker 4: of the app, people were required to upload pictures of
Speaker 4: driver's licenses and for verification. And so because of the
Speaker 4: default setting that was left there, they left the API
Speaker 4: end points wide open, and so anybody could hit the
Speaker 4: A point API in points and get all the driver's
Speaker 4: license information.
Speaker 5: And it was purely vibe coded.
Speaker 4: You know, it wasn't people who knew what they were
Speaker 4: doing this that hey, build the system they did and
Speaker 4: had left this security vulnerability that was just wide open.
Speaker 3: That said, how many startups found their lead developers on
Speaker 3: develop on craiglist and then they left it wide open.
Speaker 2: Yeah. Well, and the other thing is is that.
Speaker 1: You know that that again is kind of a high
Speaker 1: level architecture decision that you that they wouldn't know to make.
Speaker 1: But in a lot of other cases, I've I've seen
Speaker 1: people that again you know, have vibe coded a good
Speaker 1: chunk of their stuff where security and other factors aren't
Speaker 1: as serious an issue, and yeah, they end up with
Speaker 1: something that works and.
Speaker 3: When it's security not such an issue I mean, sure,
Speaker 3: if you're uploading driver's licenses, that's probably you need more.
Speaker 2: Guess I guess that's what it is.
Speaker 3: Is.
Speaker 1: Yeah, the consequences aren't as you know, you're not compromising
Speaker 1: somebody's identity or something like that.
Speaker 3: But yeah, but by the way, a funny thing. Riverside
Speaker 3: has an interesting behavior. I logged in as a host
Speaker 3: and now when I posted a reply in the chat,
Speaker 3: it says that I'm you Chuck.
Speaker 2: Yeah, yeah, we can. Also, my name I think is
Speaker 2: on the right. Don't get me in trouble. Actually maybe
Speaker 2: I don't care, but that yeah, it's it. Yeah, the
Speaker 2: account is set up under my name. That's why.
Speaker 3: But anyway, so but still anyway, it's because it does
Speaker 3: know my name on in the video. So it's funny
Speaker 3: that in the chat it put your name rather than mine. Anyway,
Speaker 3: it's funny.
Speaker 1: But yeah, so I kind of want to get into that.
Speaker 1: I know there were some things about how we're using the.
Speaker 3: So i'd like to say about a little bit because
Speaker 3: I talked about which tools I'm using, but I didn't
Speaker 3: talk about the processes that I'm using, So I would
Speaker 3: like to talk about that. So I recently before I
Speaker 3: went on vacation, which is going to be one of
Speaker 3: my picks. So if you are interested in my amazing
Speaker 3: vacation way till the end. So before I went on
Speaker 3: vacation too, so I was working on adding we create.
Speaker 3: We are creating this new service, and we are making
Speaker 3: it possible to purchase the service online. We had not
Speaker 3: done that with previous services in the company. Previously, everything
Speaker 3: would you go to sales. And so I was working
Speaker 3: on Stripe integration for our product. And this was you know,
Speaker 3: right for for using an AI for because it's all
Speaker 3: well known technologies, right and very well documented. Uh. And
Speaker 3: I and so I built this service from scratch myself,
Speaker 3: using as I said, mostly Cursor, also with some assistance
Speaker 3: from Gemini, and it really sped up the process. So
Speaker 3: I did not vibe code. I looked at every line
Speaker 3: of code that every every line of code that was pushed.
Speaker 1: Uh.
Speaker 3: You know, my eyes s candid at one point or another.
Speaker 3: But and I and I did a lot of manual fixes.
Speaker 3: But I would estimate that it like effectively doubled my speed,
Speaker 3: which is a lot.
Speaker 4: So you're now a twenty X developer exactly.
Speaker 3: No, I'm I'm, I'm, I'm I'm a three hundred and
Speaker 3: sixty five ex developer, and I'm going to let you
Speaker 3: figure out how that works, you know, and in the side,
Speaker 3: and I think we had an episode on that once.
Speaker 3: Is that that whole ten X stuff and how we
Speaker 3: all hate it and stuff like that. I said that,
Speaker 3: on the one hand, there's no release any sort of
Speaker 3: thing like a ten X, But on the other hand,
Speaker 3: I would say there's an infinity X, because if you're
Speaker 3: a certain level of developer, you can do things that
Speaker 3: others just aren't not able to do. But anyway, I
Speaker 3: going going back on topic. So for example, this, because
Speaker 3: it was a new project, it required a whole lot
Speaker 3: of configuration, you know, setting up Darker properly and setting
Speaker 3: I usedn s JS for the back end, so setting
Speaker 3: up an SGS project and and uh configuring all the
Speaker 3: uh you know, typescript and linting and and the and
Speaker 3: the and the c I c D and all that stuff.
Speaker 3: And I hate configuration. Uh. I suck at configuration. And
Speaker 3: luckily for me, AI excel at configuration. UH. So getting
Speaker 3: the project up and running was so much smoother and
Speaker 3: less painful that it would otherwise have been. That it
Speaker 3: isn't even funny. Uh, and that made me so much
Speaker 3: more productive. And and you know you made one of
Speaker 3: you made the comment about what percentage of lines are
Speaker 3: written by AI versus by developers. I really dislike this
Speaker 3: measurement because from my experience, code lines are not created equal.
Speaker 3: There's a whole lot of boilerplate out there, and the
Speaker 3: actual quote unquote smart code is often a relatively limited
Speaker 3: percentage of the code that you're writing. So the LM
Speaker 3: allows me to focus on the code that I need
Speaker 3: to focus on, and even there it can kind of
Speaker 3: jumpstart the process, especially if it's APIs that I'm less
Speaker 3: familiar with. But ultimately the business logic is something that
Speaker 3: I really focus on myself. I don't trust the LM
Speaker 3: with the core business logic. I might let it do
Speaker 3: the first iteration, but I would never commit anything that
Speaker 3: I don't properly understand.
Speaker 1: Yeah, I completely agree. I think your experience lines up
Speaker 1: very very closely with my experience, right, And so, yeah,
Speaker 1: I had it right a whole bunch of stuff, just
Speaker 1: to give some examples of what I've used it for.
Speaker 1: So the scheduling, so I ran into some issues with
Speaker 1: schedule once it wasn't doing everything I wanted, and so
Speaker 1: I used AI to help me write the scheduling link
Speaker 1: on the top end dev's website, and you know, and
Speaker 1: so now I can add features to that that I
Speaker 1: don't get in the schedule once, which is what we've
Speaker 1: been using to schedule the the podcast episodes with guests.
Speaker 1: And so now we can just send people to a
Speaker 1: link on on our system and people can you know,
Speaker 1: get on our calendar.
Speaker 2: The yeah.
Speaker 1: But again, you know, it just it sped it up.
Speaker 1: I was doing stuff that was mostly fairly well understood.
Speaker 1: I didn't have to go look up the documentation on
Speaker 1: how to integrate with Google Calendar. I did have to
Speaker 1: you know, test it a bunch, and you know, fiddle
Speaker 1: with some stuff. But I'm pretty sure I got it
Speaker 1: done in less than half the time that it would
Speaker 1: have taken me to go and do all the research
Speaker 1: and figure how to write it myself. Another one is
Speaker 1: I've been working on in browser visual email editor right
Speaker 1: for a number of projects that I could use it
Speaker 1: on because I have a large enough email list now
Speaker 1: that it's costing me several hundred dollars a month to
Speaker 1: use a service to send the emails out to my list,
Speaker 1: and so I was like, hey, if I bring this
Speaker 1: in house, you know, I can save myself a big
Speaker 1: chunk of change and have it sent out through Postmark
Speaker 1: sending service instead of you know, active campaign and so again, Uh,
Speaker 1: if you.
Speaker 3: Could we discuss when that's an interests whether it's worth Yeah,
Speaker 3: that's an interesting observation, chock that I think that a
Speaker 3: lot of services out there are going to be facing
Speaker 3: competition from DIY using AI tooling to build a good
Speaker 3: enough alternative.
Speaker 1: Yeah, well, there's another tool out there that does the
Speaker 1: visual editing. It's called b free bee Free and I
Speaker 1: was looking at using them, but they their service to
Speaker 1: get all the features that I wanted, and their template
Speaker 1: library is like one thousand dollars a month, and you know, yeah, anyway,
Speaker 1: it just.
Speaker 3: Again and that's exactly my point.
Speaker 1: I could save myself twelve thousand dollars a year by
Speaker 1: sitting down and having AI help me write it.
Speaker 2: And I have a good enough solution.
Speaker 3: At this point exactly now. In the past, you either
Speaker 3: couldn't or wouldn't because it was it would just take
Speaker 3: you too much. Either you couldn't do it or it
Speaker 3: would just take you too much. Effort that it wasn't
Speaker 3: worth it. In these days, you say, hey, you know what,
Speaker 3: I'll give it a go, and there's a chance that
Speaker 3: you'll actually come up with a good enough solution.
Speaker 1: So I think the other thing is is it was
Speaker 1: one thousand dollars per application. And so yeah, sure, all
Speaker 1: of the top all of the channel Kitchen's hosting stuff
Speaker 1: is one application, but I have four other projects I
Speaker 1: want to use it on, and so I'm saving myself
Speaker 1: sixty thousand dollars.
Speaker 2: By having a help me write it.
Speaker 3: Yeah, and I think a lot of services out the
Speaker 3: existing services are going to be facing an uphill struggle
Speaker 3: trying to justify their value proposition going forward in the
Speaker 3: age of aie IF building. But the building a good
Speaker 3: enough alternative is is easy enough, you're gonna you're gonna
Speaker 3: have a problem.
Speaker 1: Well, the other thing that I've looked at with this,
Speaker 1: just from the business standpoint is I can sell and
Speaker 1: or license my builder. It costs me a whole lot
Speaker 1: less than that it costs them to build theirs to
Speaker 1: other people. And if I allow them to license it
Speaker 1: and then use my code as kind of a licensed
Speaker 1: open source as opposed to a black box, that you
Speaker 1: include into your thing, right, so it just you know,
Speaker 1: you you just pull the code in or pull it
Speaker 1: in as a library, and then you you know, you
Speaker 1: can use AI system similar to what I built in
Speaker 1: order to modify it to what you need.
Speaker 3: You know.
Speaker 2: Yeah, I think it creates a whole new market.
Speaker 3: So I wanted to bring up two more points before
Speaker 3: we end up going to picks. So first of all,
Speaker 3: you do need I'll give a concrete example of why,
Speaker 3: as a serious developer, just vibe coding is not good
Speaker 3: enough from my perspective in a lot of cases. I
Speaker 3: might have given this example before in one of our
Speaker 3: other show episodes on the topic of vibe coding, and
Speaker 3: that's one of our developers where I work was implementing
Speaker 3: a certain bit a certain migration code, and it would
Speaker 3: go to the database and get the data, all the
Speaker 3: data out of a certain table which could potentially be
Speaker 3: very large, and would process it in a certain way
Speaker 3: and write it back because it was part of a migration,
Speaker 3: as I said. And now, the first implementation they created,
Speaker 3: just was created using AI, by the way, was really
Speaker 3: naive in that it read the entire table into memory.
Speaker 3: And that's obviously problematic when the table can be huge.
Speaker 3: So when I did a code review on that code,
Speaker 3: I said, look, this is not good enough because it
Speaker 3: might cause a problem. And the problem was that they
Speaker 3: had the AI writing the code, and they played with
Speaker 3: the code manually, but they didn't play with a large
Speaker 3: enough table, so they never they never thought about this
Speaker 3: potential problem. So then they actually had the AI fixed
Speaker 3: that code. So they told the AI, hey, do this
Speaker 3: in pages rather than read the entire thing into memory.
Speaker 3: And AI said, sure, that's a great idea. Obviously we
Speaker 3: should do that, you know, like a AI usually says
Speaker 3: in these types of scenarios. And then the AI wrote
Speaker 3: recursive code. That did it. Why did it recursively? I
Speaker 3: have no idea, but obviously with recursive code it means
Speaker 3: that again, if if the table was big enough, it
Speaker 3: would blow up the stack, even though it was using pages,
Speaker 3: because JavaScript does not have tail recursion. And you know,
Speaker 3: so I reviewed the code again and I said, hey,
Speaker 3: not only isn't this code so very readable, because recursion
Speaker 3: in JavaScript is not necessarily super readable to all developers,
Speaker 3: it's also has this problem that the stack will blow up,
Speaker 3: so make it not you know, built the loop as
Speaker 3: a straight on four or wild loop or whatever, and
Speaker 3: so they had so they told Cursor to do it again,
Speaker 3: and Curser again said, hey, you know, that's a great idea.
Speaker 3: We should obviously do that, and they did it, only
Speaker 3: they now implemented it as a loop within a loop
Speaker 3: within a loop, like an end to the power of three.
Speaker 3: At that point, I've had I basically had enough, and
Speaker 3: rewrote it by hand and pushed the fix in, obviously
Speaker 3: making sure that it passed the tests. But it's funny
Speaker 3: seeing the limitations of quote unquote vibe coding in this way.
Speaker 3: So this was one story that I wanted to tell
Speaker 3: the other We kind of mentioned it at the beginning
Speaker 3: that AI is really attractive, almost seductive for testing and
Speaker 3: it's a super double edged sword. Now I don't do TDD,
Speaker 3: which means that I usually write tests after I write
Speaker 3: code rather than before. I always wanted to do TDD.
Speaker 3: My brain just doesn't work this way. We had Chayallen
Speaker 3: on the show, by the way, talking about TDD highly
Speaker 3: recommended his brain definitely does work this way, which may's
Speaker 3: maximum an amazing developer. That's not how I work. I
Speaker 3: just can't do it. So what ends up is I
Speaker 3: write code, I review the code, I play with the code,
Speaker 3: I single step to the code, and then I have
Speaker 3: the and then I write tests for the code, and
Speaker 3: and now I can have AI right tests for the code.
Speaker 3: And it turns out that AI is great at running
Speaker 3: writing tests for the code. The problem is that if
Speaker 3: you have a bug in your code, it will happily
Speaker 3: write tests for the code that pass for the bug.
Speaker 3: And even worse is when you then change the code
Speaker 3: for some reason. And it's so seductive to just tell
Speaker 3: the AI, gon't fix the test, so that my test
Speaker 3: will pass, and it will happily do. And again you
Speaker 3: introduce the bug and the tests were supposed to catch
Speaker 3: it bugs, and but you had the AI fix the test,
Speaker 3: and now the test pats again, so you have always
Speaker 3: passing tests which are effectively worthless tests. So that's a
Speaker 3: double edged sword of using AI to write tests. It's
Speaker 3: really really seductive, it's really it's something that AI can
Speaker 3: easily do, at least for JavaScript and the leading testing frameworks.
Speaker 3: And it's incredibly dangerous because it can nullify the whole
Speaker 3: benefit of having tests.
Speaker 1: Yeah, I completely agree where I use it, because I
Speaker 1: think you brought it up when I mentioned that I
Speaker 1: use it a lot to write the tests. But yeah,
Speaker 1: going back to what we were saying before, then I
Speaker 1: go through it and make sure that it's you know,
Speaker 1: it's doing what I needed to do. You know, that
Speaker 1: it's testing the stuff that's important. Sometimes it doesn't put
Speaker 1: stuff in that matters. Sometimes it puts stuff in and
Speaker 1: test stuff that I'm going, what are you even looking at?
Speaker 1: But again, it really gives me a lot of the structure.
Speaker 1: It sets up a lot of my test doubles, mocks
Speaker 1: the stubs.
Speaker 2: You know, it does a lot of the other things
Speaker 2: that I need for the test.
Speaker 1: And so it gets me usually ninety cent of the
Speaker 1: way there, and then I can approach it and say, okay,
Speaker 1: but this is the stuff. You know, now that I've
Speaker 1: got all this set up here that I actually care about,
Speaker 1: and so yeah, that I can just modify in the
Speaker 1: other stuff. Going back to your first example, though, one
Speaker 1: example that I wanted to share was when I was
Speaker 1: working on the calendar stuff. I wanted it to check
Speaker 1: a Google calendar and see if there were conflicts in
Speaker 1: the Google calendar for the time slots that people could
Speaker 1: schedule for the podcast or other appointments, and so you know,
Speaker 1: it followed a very logical process. It would figure out
Speaker 1: what all the time slots were, and then it would
Speaker 1: check if each time slot was free. So I had
Speaker 1: a half hour time slot, you know, between eight am
Speaker 1: and six pm, and so it would come up with
Speaker 1: four hundred and fifty time slots every day or every week,
Speaker 1: you know, for the next seven days. And so then
Speaker 1: it would go and it would say, hey, Google Calendar,
Speaker 1: is this slot free? Is this slot free? Is this
Speaker 1: slot free? And so it hit the Google Calendar API
Speaker 1: and fifty times. It was wicked slow, and it was
Speaker 1: very inefficient, and I, you know, so I had to
Speaker 1: go back in and say, okay, is there another API
Speaker 1: call we can make to just get the free and
Speaker 1: busy times for the entire weekend.
Speaker 2: It turns out there is for Google Calendar, and so
Speaker 2: then it was able to help me write the fix.
Speaker 2: But you know it, yeah, it really.
Speaker 1: You know, logically, it made sense why it chose to
Speaker 1: do it that way, but it doesn't consider everything. And so,
Speaker 1: you know, making four hundred and fifty API calls is
Speaker 1: probably going to get you on their knotty list if
Speaker 1: you're doing them that fast, and it's super inefficient.
Speaker 2: And so yeah, you know, just things like that. It
Speaker 2: does that kind of a thing all the time. And
Speaker 2: then the other thing that I.
Speaker 1: Found is again you know it it really likes try
Speaker 1: catch stuff or in Ruby the begin rescue, which is
Speaker 1: kind of the same thing, not exactly, but so then
Speaker 1: it just swallows your error's hohle, and it's like, why
Speaker 1: did you put a rescue in here? If it's not
Speaker 1: doing what it's supposed to do. I want it to
Speaker 1: blow up and tell me, and it doesn't. And so
Speaker 1: you just really have to keep in mind that it
Speaker 1: may have been trained on stuff that's not ideal, both
Speaker 1: in your tests and in your But I've also, like
Speaker 1: Dan said, I've had to write tests where it makes
Speaker 1: it pass when it shouldn't or you know, it makes
Speaker 1: it happy when and then then misses stuff because it
Speaker 1: just tests kind of the happy path and not the
Speaker 1: other stuff you care about.
Speaker 3: And you know a lot of projects have like chest
Speaker 3: covered thresholds, and AI almost essentially kills it the whole
Speaker 3: concept because it's so easy to tell AI, you know,
Speaker 3: just achieve eighty percent coverage for me, and it will
Speaker 3: do it with chunk yep yep.
Speaker 1: Absolutely So one thing that I wanted to get into
Speaker 1: before we wrap up, is I hear concerns that AI
Speaker 1: is part of the reason why people are having trouble
Speaker 1: finding jobs. I'm hearing concerns that as the models get
Speaker 1: better and it's able to write better code, that it's
Speaker 1: going to consume some of the jobs out there. What
Speaker 1: do you guys think about this?
Speaker 4: The thing I've been hearing, you know, reading, and I've
Speaker 4: talked to people in the industry, in other industries that
Speaker 4: are impacted AI, is that you don't see people hiring
Speaker 4: junior death so much anymore because they figure AI can
Speaker 4: handle a lot of this and you've got to be
Speaker 4: a quote unquote senior.
Speaker 5: However you define that term.
Speaker 2: They're not entirely wrong. They're not entirely right either.
Speaker 5: Jobs. I mean, that's just, you know, I don't have
Speaker 5: any numbers to back that up, but that's just I've
Speaker 5: been hearing that a lot lately.
Speaker 3: The same for me, and they're like you said, there
Speaker 3: is a certain amount of truth in that if I,
Speaker 3: as a senior developer, am able to be twice as productive,
Speaker 3: that means that, you know, if we are a really
Speaker 3: successful company, maybe we can do twice as much. But Alternatively,
Speaker 3: we could save on our expenses and achieve the same
Speaker 3: amount of throughput. But it's it's a problem. I mean,
Speaker 3: if there are if there are no juniors, who are
Speaker 3: going to be the seniors. Now you know, I'm on
Speaker 3: the I guess the tail end of my career in
Speaker 3: a sense, So I don't know. Maybe I'll be able
Speaker 3: to retire before before I swallows all the eventually, maybe,
Speaker 3: But look, first of all, what I've seen is we've
Speaker 3: kind of reached a certain wall, like I'm not seeing
Speaker 3: the AI. We saw a period of dramatic improvement, and
Speaker 3: it seems to be slowing down. We're still seeing improvements,
Speaker 3: but not at the same rate. It's more about the
Speaker 3: tools getting more refined rather than significantly better. Also, we
Speaker 3: are like one Chinese invasion of Taiwan away from this
Speaker 3: whole thing coming down like a house of cars. So
Speaker 3: I don't know. Now, you know, we're talking with people
Speaker 3: have been talking about self driving cars for decades, and
Speaker 3: you know, think about what that will do for the
Speaker 3: job market if and when that actually happens. And we
Speaker 3: are starting to kind of see it happen place in
Speaker 3: certain places. But if and when it does happen I mean,
Speaker 3: imagine all the taxi drivers, bus drivers, lorry drivers, truck
Speaker 3: drivers being out of the job, out of a job.
Speaker 3: You know, there are a lot more drivers, I think
Speaker 3: out there in the world, and developers. I don't know
Speaker 3: what to say, Like eventually it might happen, but when
Speaker 3: it does happen, that just means that I think AI
Speaker 3: took all the jobs anyway, and that's it. But but yeah,
Speaker 3: it is impacting the job market. But it's difficult for
Speaker 3: me to say whether the the difficult times that juniors
Speaker 3: are experiencing are because of AI or because of AI hype,
Speaker 3: or because of just the job market being what it
Speaker 3: is and things being cyclical.
Speaker 2: Yeah, so.
Speaker 1: I think I'm going to say some of the same
Speaker 1: things you're saying, Dan, But in a so I attribute
Speaker 1: at least some of the job market to the current economy.
Speaker 2: And you know, we we kind of had this downturn,
Speaker 2: you know, a year or so ago, you know, maybe
Speaker 2: a little longer ago. And so it because the job market.
Speaker 1: Has been different since COVID, and it's been you know,
Speaker 1: at least for the last while.
Speaker 2: It's it's it's been a little bit slow anyway.
Speaker 1: And so I see in some ways I see it
Speaker 1: coming back and in other ways I see it kind
Speaker 1: of staying where it is, And so I think there
Speaker 1: is some economic factor to it that has nothing to
Speaker 1: do with AI. That said, I do believe that there
Speaker 1: is some level of impact that AI does have and
Speaker 1: is going to have. And I think you guys both
Speaker 1: expressed this where, Yeah, if I'm running a company and
Speaker 1: my havelopers can be twice as efficient and I can maintain.
Speaker 2: A good market position.
Speaker 1: With half the workers and still get the work done,
Speaker 1: then yeah, it may be a consideration to you know,
Speaker 1: reduce my workforce or at least not replace people when
Speaker 1: they go. If you're in a highly competitive space, though,
Speaker 1: then if your people are more productive and you can
Speaker 1: afford to keep them on, then your strategic advantage is
Speaker 1: to figure out how to do it again so that
Speaker 1: they're twice is you know, they can double their capacity
Speaker 1: again and again and again to the point where you can,
Speaker 1: you know, overtake anybody ahead of you in the market
Speaker 1: and then continue to be competitive.
Speaker 2: And so I don't see it as an overall loss
Speaker 2: in jobs. I think it just depends on.
Speaker 1: Who's making the decision and why they're making the decision,
Speaker 1: and then the other piece of it, as far as
Speaker 1: juniors go, I think it presents both a challenge and
Speaker 1: an opportunity because if you're thinking about juniors in the
Speaker 1: sense that, hey, they're the people who kind of handle
Speaker 1: this level of task and we just kind of lean
Speaker 1: on them for that kind of a thing and that's
Speaker 1: all they do, then yeah, right, a lot of the
Speaker 1: AI LM stuff is going to handle a lot of
Speaker 1: those things.
Speaker 2: But and this is a big butt.
Speaker 1: The opportunity presented for juniors is also, in my opinion,
Speaker 1: a huge one because if you, as a junior, can
Speaker 1: figure out how to be productive on the level of
Speaker 1: a senior developer by using AI and using it as
Speaker 1: a learning tool and an opportunity to get stuff done,
Speaker 1: and you can begin to demonstrate that for potential employers,
Speaker 1: you have a much higher likelihood of getting a job.
Speaker 1: And some of these companies are going to be forward
Speaker 1: thinking enough to hire juniors or to hire interns, and
Speaker 1: so the opportunities are out there. They might be a
Speaker 1: little bit harder to find or might be a little
Speaker 1: bit less common, but this is the opportunity because I
Speaker 1: think a lot of folks just think, well, I went
Speaker 1: through the boot camp, and now I'm supposed to find
Speaker 1: a job or I just went through college and I'm
Speaker 1: supposed to find a job. And the reality is is
Speaker 1: there are a lot of opportunities that you have with
Speaker 1: AI where you can actually go out and make yourself,
Speaker 1: bring yourself to the top of that lower end market
Speaker 1: and then be able to find a position. And then
Speaker 1: the other thing I'm also seeing, and we talked a
Speaker 1: little bit about this, is go out and build your
Speaker 1: own thing, right, because you do have skills above and
Speaker 1: beyond kind of the business person that might try and
Speaker 1: vibe code something. You actually understand how some of the
Speaker 1: code works, and so you may be able to create
Speaker 1: an opportunity that is not a full time job like
Speaker 1: you thought you wanted, but there's actually some entrepreneurial or
Speaker 1: other opportunity that you can see out there.
Speaker 3: And so.
Speaker 2: I don't think it's hopeless for junior devs.
Speaker 3: I think the.
Speaker 2: Opportunity has just changed its shape and.
Speaker 1: Look, and so you have to be very aware of
Speaker 1: what's out there and what people actually want and then
Speaker 1: figure out how to have it. And you've got this
Speaker 1: amazing productivity and training tool in the AI LLMS that
Speaker 1: will help you pick this stuff up and move ahead.
Speaker 1: And so that is something that I just really want
Speaker 1: to encourage people. It's not a lost cause.
Speaker 3: I totally agree. It's kind of a disruption period, and
Speaker 3: disruptions represents risks and opportunities. It's like, you know, like
Speaker 3: when everybody kind of moved to react, it doesn't mean
Speaker 3: that if you finished a boot camp before react you're
Speaker 3: out of luck. In fact, you might have an advantage
Speaker 3: because you would know stuff that other people who have
Speaker 3: just learned realc don't know. Likewise, if you're now entering
Speaker 3: the market and you come in with if you learn
Speaker 3: how to make good use of these AI tools and
Speaker 3: to leverage their capabilities and be aware of their pitfalls
Speaker 3: and and learn how to make the best use of them,
Speaker 3: you probably have an advantage over most of the people
Speaker 3: in the market.
Speaker 2: Yeah.
Speaker 1: Yeah, well that's I mean that, That's been my take.
Speaker 1: I've been trying to encourage people. I haven't done a
Speaker 1: good job of it because I'm not talking about this
Speaker 1: as often as I should. But yeah, I think, I yeah,
Speaker 1: I think the opportunities out there are tremendous.
Speaker 3: And so.
Speaker 2: All right, well let's go ahead do picks.
Speaker 1: We're at an hour now and honestly I need to
Speaker 1: get back to work here soon anyway, you both so, yeah, Dan,
Speaker 1: do you want to start us off with picks?
Speaker 3: Sure? So my first pick is that this has been
Speaker 3: a really emotional time for me. For those of you
Speaker 3: don't know, all the living is really hostages. The remaining
Speaker 3: living is rarely hostages that were building held by Hamas
Speaker 3: for over two years have finally been released. Everybody here
Speaker 3: in Israel celebrating for days from yes I just tweeted
Speaker 3: like how I feel today on that day and put
Speaker 3: a link to here comes the Sun. It's like we've
Speaker 3: been walking with this weight on our shoulders for the
Speaker 3: entire time. Like you go out with friends, you have
Speaker 3: a good time, but in the back of your mind
Speaker 3: you constantly have that that nagging feeling of guilt of
Speaker 3: of you know, they're suffering, and I'm enjoying myself, and
Speaker 3: and what can I do? And and and so it
Speaker 3: it kind of lifts this huge weight off of your shoulders. Uh.
Speaker 3: And especially when you realize how they've been tortured in
Speaker 3: these tunnels during the past, especially the the the last year,
Speaker 3: you know, essentially from the beginning, but especially the last
Speaker 3: years has been especially hard. Some of them were kept
Speaker 3: literally chained in cages throughout the entire time. They were
Speaker 3: starved almost to death. It's they they were tortured, burned,
Speaker 3: it's it's awful. But they're released. It looks like hopefully
Speaker 3: they'll all be able to make a recovery, So, you know,
Speaker 3: I you know, it's it's such a huge relief. It's
Speaker 3: it's difficult to explain. Also the fact that it looks
Speaker 3: like the fighting is hopefully coming to an end, hopefully
Speaker 3: in a way that will guarantee the safety and eventual
Speaker 3: prosperity of everybody in this region. Unfortunately, I'm not yet
Speaker 3: sufficiently optimistic in the long run, but at least people
Speaker 3: are not dying on a daily on a daily basis
Speaker 3: right now. Although Hamas it seems, are turning their guns
Speaker 3: on their own population and executing Palestinians in the street.
Speaker 3: So then that's pretty horrific. But you know, nobody in
Speaker 3: the West seems to be caring about that. But you know,
Speaker 3: it is what it is. So so my first pick
Speaker 3: is about that. One last thing in that context is
Speaker 3: there are still the bodies of dead hostages. I know
Speaker 3: that some people don't like the concept seems weird to them.
Speaker 3: How can somebody be in like, how can a dead
Speaker 3: person be a hostage? But it's really important for the
Speaker 3: families to achieve closure, and I really hope that all
Speaker 3: the bodies will be recovered during the upcoming days and
Speaker 3: will really put this dark episode to rest. So that
Speaker 3: would be my first pick by far. My second pick
Speaker 3: is that I've just come back this week from two
Speaker 3: and a half week vacation in Tuscany, Italy, which was amazing.
Speaker 3: I highly recommend taking vacations. We talked about it in
Speaker 3: the past that people don't take enough vacations. From my experience,
Speaker 3: especially people in the US, seem not to take enough vacations.
Speaker 3: People in Europe and Israel are kind of mandated by
Speaker 3: law to take a certain amount of vacation, and I
Speaker 3: understand the situation in the US is kind of different
Speaker 3: in this regard, and there's like this whole like also
Speaker 3: cultural thing where you know, people are expected to take
Speaker 3: a certain amount of vacation, and again, it's really important
Speaker 3: for your health and well being. Like I said, we
Speaker 3: went to Italy, mainly Tuscany. We love Italy, we love
Speaker 3: going there. It's a lovely place with lovely people, lovely scenery.
Speaker 3: I tweeted out or exed out some of some pictures
Speaker 3: from our trip. You can take a look. It's really
Speaker 3: beautiful there. So I highly recommend visiting if you can
Speaker 3: make it, if you can afford it. And I oh yeah.
Speaker 3: One last technical pick, something that we probably will want
Speaker 3: to have a show about. Remis ree was announced. They
Speaker 3: had a conference about it. There's also been a conference
Speaker 3: about React itself React which some news came up, which
Speaker 3: probably have an episode about that. But those who are
Speaker 3: mostly lot of small things, remix three is one big thing.
Speaker 3: They basically kind of decided to ditch React. So if
Speaker 3: remix was was a meta framework built on top of React,
Speaker 3: as in remix one and in Remix two, Remix three
Speaker 3: is a reimagining at the framework level. They're building effectively
Speaker 3: an alternative to React. It's really interesting. They have some
Speaker 3: interesting concepts. I will put a link to the relevant
Speaker 3: uh part of their video in the show notes Uh.
Speaker 3: There's also an interesting alternative you can you should watch that.
Speaker 3: You can also in addition, watch Ryan Carniato we've had
Speaker 3: often as a guest, the creator of Solid actually responding
Speaker 3: in real time, like watching the remix video and reacting
Speaker 3: in real time to what he's stay seeing. I consider
Speaker 3: him to be probably the most knowledgeable person about frameworks
Speaker 3: in general, so it's really interesting to see his analysis
Speaker 3: and his response to what they're doing. Obviously, he's doing
Speaker 3: it from a certain position. He's the creator of solid
Speaker 3: so he does have his own thoughts and ideas about
Speaker 3: how frameworks should work. But it's still really really interesting
Speaker 3: to watch his response. I've already reached out to Ryan
Speaker 3: Florence to come on this show to talk about Remis three.
Speaker 3: He was positive about it. I'll remind him now that
Speaker 3: it's how he basically said that he wanted to wait
Speaker 3: till it's out. Now it's out, I'll try to reach
Speaker 3: out again. Hopefully he'll be willing to come on the show.
Speaker 3: You know, it looks like super interesting stuff, a lot
Speaker 3: of interesting concept and ideas. I've not yet played with
Speaker 3: it myself, but it looks really interesting.
Speaker 2: Yeah, definitely.
Speaker 1: I want to just back into a couple of your
Speaker 1: picks here. There are a lot of things that are
Speaker 1: said about the conflict in Israel. I'm not going to
Speaker 1: wait into the politics. I just think it's a tremendous
Speaker 1: thing when hostages come home, and so you know, regardless
Speaker 1: of value you feel about Israel, Israeli government, Gaza, Hamas,
Speaker 1: any of the rest of it, the fact that these
Speaker 1: people are being reunited with their families is just it's
Speaker 1: such a big, big, big thing.
Speaker 3: And I will almost almost totally agree with what you
Speaker 3: said in the sense that I agree that regardless of
Speaker 3: what you think about Israeli government, about Israel itself, about Gaza,
Speaker 3: about Palestinians and rights and whatever, anybody who has positive
Speaker 3: thoughts on Hamas is from my perspective is you know,
Speaker 3: is beyond the PA it's there and the neolistic fundamentalists
Speaker 3: GI organization literally murdering and torturing their own people. Even
Speaker 3: you know, I can't say anything I'm good about Hamas right,
Speaker 3: everything else, I totally agree with you. Yeah.
Speaker 1: My point is is, you know, people people say and
Speaker 1: hear a lot of things about the conflict. I agree
Speaker 1: with you on Hamas. I think if you think, if
Speaker 1: you don't think they're a terrorist organization that does ugly
Speaker 1: things to their own people and to other people, go
Speaker 1: do your homework because you're you're you're totally missing who
Speaker 1: these people are. But the reality is is I'm just
Speaker 1: delighted that these people get to go home to their families,
Speaker 1: and thank you.
Speaker 2: Again for the for the the people who have died
Speaker 2: who were being held hostage.
Speaker 1: Same thing, right, I mean, I imagine if it was
Speaker 1: one of my family members, I this is what I
Speaker 1: would want, is I would want them to be able
Speaker 1: to come home one way or the other.
Speaker 3: And so.
Speaker 2: Yeah, anyway, so that that's definitely a happy, happy theme.
Speaker 3: Thank you, Chuck.
Speaker 1: So anyway, Yeah, I just I just wanted to express
Speaker 1: that because it's I feel like a lot of these
Speaker 1: things they feel far away, but they they do kind
Speaker 1: of impact us all, and it's all part of being
Speaker 1: humans is recognizing that these are things that shouldn't happen
Speaker 1: to other people or to us.
Speaker 3: Some of the hostages were actually American citizens, by the way.
Speaker 2: Yes some of them were. All right, Steve, what are
Speaker 2: your picks?
Speaker 4: I could give a whole Die Die tribe on what
Speaker 4: you guys were just talking about, but I'll stick with
Speaker 4: the dad jokes for the day.
Speaker 5: Bring a little humor to things.
Speaker 4: So I went to the park the other day and
Speaker 4: I got kicked out for because I was organizing the
Speaker 4: squirrels by height. It turns out that people get mad
Speaker 4: if you start criticizing.
Speaker 3: That's a good one.
Speaker 4: Yes, And I know this next one is antithical to
Speaker 4: my usual opening, but I'll tell it anyway.
Speaker 5: Do you know why good.
Speaker 4: Looking people are busier than average looking people. I'll tell
Speaker 4: you later. I'm pretty busy right now. And finally went
Speaker 4: in to open a new bank account the other day
Speaker 4: and I said that the banker, can I open a
Speaker 4: joint bank account? I know that's not a marijuana joke.
Speaker 4: He said, sure, with who I said, I'm not picky
Speaker 4: anywhere any rich person will do.
Speaker 3: There was this stand up. There was this comedy show
Speaker 3: in Israeli TV where it was about this young couple
Speaker 3: who are starting their life together and they're kind of
Speaker 3: the they move in to live together, they're starting to
Speaker 3: think about marriage, and at one point they decide to
Speaker 3: have a joint bank account. So you know, they sit
Speaker 3: at the bank with the banker at the bank and
Speaker 3: the guy goes it tells the guy, oh, I see
Speaker 3: that you've been saving a lot and you've you've you've
Speaker 3: saved like thirty thousand dollars. That's really great start through life.
Speaker 3: And now together both of you have twenty five thousand dollars.
Speaker 2: Oh nice, and then he you know, his eyes.
Speaker 3: Open up like saucers. It's really funny.
Speaker 4: But anyway, Yeah, there was a remember there was a
Speaker 4: Sawther story about a basketball player in the NBA. This
Speaker 4: is yusual ago when Michael Jordan was playing, and he
Speaker 4: was a teammate of Michael Jordan's on the Bulls and
Speaker 4: he was a lesser known player, not anybody whose name
Speaker 4: you would know, and he had scored like I guess
Speaker 4: the game winning basket or some big basket, but he
Speaker 4: only had.
Speaker 5: Like two or three points.
Speaker 4: And he said, yeah, between Michael and I, we had
Speaker 4: thirty five points tonight.
Speaker 1: Right, all right, I'm gonna jump in with some picks. So, uh,
Speaker 1: I usually start with a board game pick, so I'm
Speaker 1: gonna do that. It's actually a card game. It's called Infiltrators,
Speaker 1: and it's Infiltrators spelled like traders, like people who betray
Speaker 1: other people R I T O R.
Speaker 2: Yeah.
Speaker 3: And so.
Speaker 1: Anyway, the way that it works is you basically have
Speaker 1: like Mafia. Anyway, it's got that kind of a feel
Speaker 1: to it. It's got like Japanese characters on it. So
Speaker 1: maybe they're yakuza or something. But anyway, so you have yeah,
Speaker 1: but it's it's a card. It's a color and a number,
Speaker 1: and it's face down in front of in front of
Speaker 1: each of the players has one, and then you have
Speaker 1: cards in your hand, and you can pass your cards
Speaker 1: in your hand to other players and then they orient
Speaker 1: the card to tell you whether or not it has
Speaker 1: anything in common with the card that's face down in
Speaker 1: front of them. So you know what's in front of you,
Speaker 1: you don't know what's in front of everyone else. And
Speaker 1: then once you figure out what the card is, then
Speaker 1: you and it actually has a little gun prop that
Speaker 1: eventually we just quit using because we were just like,
Speaker 1: you have the right, but you're supposed to execute the mobster.
Speaker 1: But yeah, we just point out you have the you know,
Speaker 1: the red fifteen or whatever, and so by process of
Speaker 1: elimination you're able to figure out what the other players
Speaker 1: have in front of them. You can also place the
Speaker 1: card and orient it the same way on the card
Speaker 1: in front of you. The difference is is if you
Speaker 1: put the card in front of somebody else, then you
Speaker 1: can draw a card from the draw pile. And if
Speaker 1: you place it in front of yourself, then you can't
Speaker 1: and there are ways to get cards, and you can't
Speaker 1: place it in front of somebody else if there are
Speaker 1: no cards left to draw, and you you know, you
Speaker 1: get so many tries in the round before you're done,
Speaker 1: before you lose, and so you're trying to catch all
Speaker 1: the traders before times up.
Speaker 2: I think we play it in like twenty minutes a
Speaker 2: half hour.
Speaker 1: It does have a little thing to keep track of,
Speaker 1: so you can like cross off colors and numbers that
Speaker 1: sit in front of each of the cards that you're
Speaker 1: trying to guess, and obviously you can't tell anybody.
Speaker 3: What you have.
Speaker 2: But anyway, it was a fun game, really fun game.
Speaker 1: I'm going to be teaching at the Game Convention in
Speaker 1: a few weeks and this is one of the games
Speaker 1: we're teaching, and yeah, anyway, it's super fun. So Infiltrators
Speaker 1: came out in twenty twenty three. Board game Geek has
Speaker 1: a weight of two point one one, so it's it's
Speaker 1: it's complicated enough to be interesting but very approachable for
Speaker 1: casual players. You can play two to five players. We
Speaker 1: usually play it with five players, and it's ages ten
Speaker 1: plus and I think that's probably about right. So infiltrators. Fun, fun,
Speaker 1: fun game. So I'm going to pick that and then
Speaker 1: the other pick that I have. And this is something
Speaker 1: that really has affected me lately, and I just I
Speaker 1: haven't been on the show since Charlie Kirk was assassinated.
Speaker 1: And for those of you who know much about me
Speaker 1: and where I'm at, Charlie Kirk was assassinated at Utah
Speaker 1: Valley University, which is literally like fifteen twenty minutes from here.
Speaker 1: I know a lot of people who are present when
Speaker 1: the shooting occurred, and there are a lot of aspects
Speaker 1: to this that affect the communities that I associate with locally.
Speaker 1: And you know, going back to this idea of you know,
Speaker 1: what we should or shouldn't see happen, nobody should be
Speaker 1: killed or have violence occurred to them because of what
Speaker 1: they believe.
Speaker 3: And so.
Speaker 1: I guess what I'm really just asking people to do is,
Speaker 1: you know, if you're harassing people because of what they believe,
Speaker 1: or you know, thinking that people deserve to have terrible
Speaker 1: things happen to them because of what they believe.
Speaker 2: Think again, right, what we're all doing our best, We're
Speaker 2: all trying to figure this stuff out.
Speaker 1: We're all trying to help each other live better at
Speaker 1: least I hope so, and I feel like that's what
Speaker 1: Charlie Kirk was trying to do.
Speaker 2: And so yeah, anyway, it's.
Speaker 1: Really made me think about, you know, where I'm at
Speaker 1: with my life and what I'm doing and what i
Speaker 1: want to accomplish and what I'm willing to stand for.
Speaker 1: And I hope people will kind of take that away
Speaker 1: too and take a minute to really figure out who
Speaker 1: you are and who you want to be, because at
Speaker 1: the end of the day, and I think this was
Speaker 1: part of the message that Charlie Kirk had was yes,
Speaker 1: it matters what you do, but a lot of it
Speaker 1: matters who you're becoming and what where that leads you
Speaker 1: and what you do. And so anyway, I just wanted
Speaker 1: to acknowledge him on the show.
Speaker 2: Again.
Speaker 1: You know, I try and not bring the politics into
Speaker 1: things too heavily, and so I'm not going to go
Speaker 1: into his political leanings and things.
Speaker 2: But yeah, at the end of the day, it you know,
Speaker 2: go watch.
Speaker 1: The memorial for that they had for him, you know,
Speaker 1: kind of go see what he was about a little bit,
Speaker 1: and then yeah, evaluate where you're at, what you're standing for,
Speaker 1: and what the ideas are that you espouse and then
Speaker 1: have a little compassion for people that maybe think different
Speaker 1: from you.
Speaker 3: For sure, that's that's an amazing message and I totally concur.
Speaker 1: All right, well, I think we're uh, that's everything, so
Speaker 1: we'll go ahead and wrap up until next time, folks
Speaker 1: max out hodios.
Speaker 3: Hmmm.