Programming Throwdown - 182: AI Assisted Coding

Episode Date: June 30, 2025

Intro topic: Getting an entry-level jobNews/Links:Mario Kart 64 Fully Decompiledhttps://gbatemp.net/threads/mario-kart-64-decompilation-project-reaches-100-completion.671104/Q-Learning is not... yet scalablehttps://seohong.me/blog/q-learning-is-not-yet-scalable/Grover’s Algorithmhttps://www.youtube.com/watch?v=RQWpF2Gb-gU&vl=enOrangePi has a RISC-V SBChttps://linuxgizmos.com/orangepi-rv2-a-cost-effective-risc-v-board-with-m-2-2280-slot-and-dual-gigabit-ethernet/Book of the ShowPatrickThe Will of the Many (James Islington)https://amzn.to/44DznszJasonThe Intelligence Traphttps://amzn.to/3TqoKCBPatreon Plug https://www.patreon.com/programmingthrowdown?ty=hTool of the ShowPatrick Pokemon Odysseyhttps://www.reddit.com/r/PokemonROMhacks/comments/1l9zdta/pok%C3%A9mon_odyssey_final_release/JasonNetflix Gameshttps://play.google.com/store/apps/dev?id=6891422865930303475&hl=en_USTopic: WhySpeed up developmentCatch errors faster than type checking/compilingWriting tedious boilerplate codeAsk questions and learn local informationLook good for hiring managersHowExtensions for VSCode & other IDEs for inline suggestionsChat with a selection/fileCommand-line Tools run at the root directoryLocal vs CloudExamplesCopilot (VSCode extension)Use the experimental modeCursor (Custom IDE)Jumps to suggest changes in other placesSimilar to copilot experimental modeRooCode (VSCode extension) ★ Support this podcast on Patreon ★

Transcript
Discussion (0)
Starting point is 00:00:00 programming throwdown episode 182 AI assisted coding take it away Jason hey everybody how's it going out there? How are you doing, Patrick? I am doing well. I like how you asked a non-existent audience how they're doing. I mean, the audience exists. They're just not live. Well, they'll be alive when they...
Starting point is 00:00:38 Oh, never mind. I hope everyone's doing well. You can email us, even though it's like weeks later. But, um, so it's actually the day after father's day when we're recording this. So, uh, did you do anything yesterday for father's day? Uh, we did some, does some low key stuff. I don't know. I don't feel like it needs to be over the top. How about you?
Starting point is 00:01:00 Yeah. I mean, pretty much the same. I mean, we just, uh, we, the soccer ball with the boys, just pretty, uh, pretty mundane stuff. Like I don't really do anything too crazy for Father's Day. Well, I feel like we should have had something more interesting to say. No, well, we're going to jump into getting an entry level job. So this is something that someone asked on Discord. This comes up very often in our pouring through down email and,
Starting point is 00:01:33 and I get a lot of messages on LinkedIn about this. For whatever reason, like LinkedIn is, uh, uh, the place where everyone wants to talk. I'll make a post on Twitter and get like 13 views. I don't know why but LinkedIn is just the place. I guess because we are work-related people talking about work-related stuff so that makes a lot of sense. So okay lots of folks are saying hey I'm having a hard time getting entry-level job. I have friends who are maybe a generation older than us and their kids have finished college and their kids can't get a job.
Starting point is 00:02:15 I know folks who have extremely respectable positions at companies in Silicon Valley and their kids went to very prestigious universities, got computer science degrees, sometimes even a master's degree, and can't get a job. And my first reaction is, well, why can't you get them a job at your company? I mean, you know, you're very distinguished and everything. And, you know, obviously I don't ask that because you know clearly they have tried that But but it really shows shows me and I think everyone that it's a very tough market. So let's just be frank It's it's a really difficult market out there
Starting point is 00:02:57 It's a difficult time to be looking for a job And so for folks who are just graduating you should just know that that this is a tough time And so that just recognizing are just graduating, you should just know that this is a tough time. And so that just recognizing that I think is important. And I have a bunch of ideas of suggestions, but Patrick, why don't you give me kind of your raw take on the situation that will jump in to help tips. Yeah. I mean, I think it's a, always a very nuanced question. So when I get asked this, not on social media,
Starting point is 00:03:29 but in like real life, you know, with that, no. What is that? I think that it can be a great many things. So, I mean, the university education systems, you know, do offer a great many degrees that people are asking for related to nominally computers or computer science or computer programming. Those jobs aren't always 100% aligned with the specific actual being employed at, you know, a Silicon Valley company or, you know, a major company doing pure sort of software engineering work. And it's not a trying to quibble about the words.
Starting point is 00:04:13 I just think the background and the education you're getting and the kind of classes can matter a lot. So if you're learning a lot about how computers at a conceptual level work and about administering computers, right? Then we're talking about something a little bit different. So I get a lot of people reach out, they get towards the end of their education,
Starting point is 00:04:35 which is very difficult to help out, but get to the end of their education. And they've kind of realized this that, oh, what I want is actually like a programming job, but I didn't really take programming classes either because I didn't know, or because, you know, they were considered too difficult or I wasn't aligned with it.
Starting point is 00:04:55 It doesn't, you know, reason doesn't per se matter. So then they're trying to find like the sort of next best thing. And so they're looking at sort of like engineering project manager roles or related sort of like test roles or something that they feel is like the next best thing. SRE, Site Reliability Engineers, they're looking through the Google response. Now you would say like the AI response to like what do you do if you want to like work with or adjacent or get into programming but you don't have a programming degree. And for me that's really hard because
Starting point is 00:05:23 I just don't know, like I work with those people sometimes but I don't have a programming degree. Um, and for me, that's really hard because I just don't know. Like I work with those people sometimes, but I don't, I'm not super familiar with their hiring process and what discriminates against, you know, well qualified and discriminate is wrong word there helps you decide it is the right word. You've been doing too much AI, too much AI work. It, it, to determine between, uh, you know, really well-qualified candidates and sort of the average candidate.
Starting point is 00:05:47 So I like it that other way, because I think that is sort of a separate problem. But for people who are trying to do like, I'll say programming high technical interviews for programming, technical positions, then yeah, it becomes sort of the same issue that propped up, you know, awhile ago with, you know, for getting into university, everybody's kind of figured out you need to understand how to code. You need to practice leak code style problems. You need to, like everyone got past that hurdle. I think Jason, like when you sort of joined Silicon Valley or when I did,
Starting point is 00:06:17 you could still get a significant edge by practicing those style programming. Because most people didn't do it, didn't want to, or didn't know to do it. But I think that time is gone. And most people who are going to get close are going to have already know how to do that stuff. So it becomes, what do you do to distinguish yourself? And the thing you said, it's just a really, really,
Starting point is 00:06:40 really tight market right now. I mean, we've done this podcast long enough through time's thick and thin, I guess. And it's just a very tight market right now. And that makes it really, really hard, especially for entry level positions. Yeah, that's a great synopsis. No, that was awesome.
Starting point is 00:06:59 I mean, I think, yeah, let me unpack that. I think, yeah, let me unpack that. So, the SRE IT cloud management, project management, these are areas that are super important. We both work with those folks, but we don't just frankly know that much about... I've never sat in an SRE interview panel or anything like that. So, um, so I really couldn't say, uh, also couldn't say much about that. Um, focusing on the software engineering, you
Starting point is 00:07:38 brought up an interesting point. So, so yeah, just to recap. So I was like, I think I was like in 30th place or something on the top coder collegiate challenge. And that meant a lot. I mean, basically that, like, I could just put that on my resume and leave everything else blank and I could get interviews, all the top companies in 2009. Right. So, um, it was basically like a, like a contest and, um, basically like a contest and basically like a contest and the people who scored high
Starting point is 00:08:11 in that contest could that alone, it was like an SAT type thing. And I don't know if we really have that anymore. I think certainly the like talent piling into it, I don't keep up with that scene anymore, but you just don't hear about it as much. So I'm sure people are still out there doing competitive programming. And it is still helpful. I mean, I think it's almost seen as a,
Starting point is 00:08:36 I mean, ranking could still matter, but it's almost seen as a, okay, and? Like, yes, yes, we agree you should have done that. Okay, and what next? Yeah, like in my case, you know, what I wanted to do was, you know, do advancements in AI. I didn't really want to be a systems engineer or, you know, make the database
Starting point is 00:08:56 at any of these companies faster. That just wasn't my goal. But it was kind of like an SAT or IQ test type thing. It's like, oh, you got the bullseye on top coder, so you must just be a good person to be in tech. And there really isn't anything kind of like that. If you want to, I'm gonna pick something different here on purpose, if you want to really work
Starting point is 00:09:24 on distributed databases, I mean, different here on purpose. Like if you want to really work on like distributed databases, like I mean there isn't like a thing you can really do like a top coder type thing to really just show everybody. And so one of my fears is that it will come down to like where did you go to college and full disclosure I went to went to a state college that wasn't even the flagship college of my state. I felt like I got a great education, but if you're going to go based off prestige,
Starting point is 00:09:55 that definitely wouldn't have helped. But I do feel like, since the other thing about these things like Topcoder ander and hacker rank and all of that is, it's too easy to cheat now with these AI tools, which we're going to talk about in this podcast, but it's just too easy to cheat. And so it's kind of broken as a yardstick. Yeah, that's a great point. And I think of the kind of programming, like you mentioned, you can't get training in sort of building a distributed database and the AI assist isn't there. But for those, you know, leak code top coder problems, actually the training data sets
Starting point is 00:10:37 are already incorporated into a lot of the AI. Yeah, I mean, another thing kind of related, a lot of people are saying they're getting auto rejected and stuff like that. I feel like the interview process, companies are pushing like return to office, but they're not making the interviews in person. I think they're trying to have it both ways.
Starting point is 00:11:04 It's like, we're gonna interview people over the internet so you don't have to pay for all these plane tickets. But then if we hire the person, we want them to come to our site. And I think what you end up with is a lot of cheating. I think that it's easier to cheat if you're on a Zoom call versus if you're right there with somebody. I mean, I'll pose this. Do you think that maybe really high skilled engineering is less important than it used to be? I don't think it's less important. I think it's, and when you say auto rejected, I think you, maybe we jumped it there. I think that was maybe the thing is, like right now, how would you tell how many people given big tech company, I don't want to name one because I don't want, I think they're
Starting point is 00:12:02 all kind of the same. If you were to insert whatever Fortune 500 company based in Silicon Valley. How would you find out how many actual people they're wanting to hire in the next 30 days or the next 60 days? Now I'm going to go to their website and I'm looking at their job posting. I'm telling you that's not that's uncorrelated. Right? That is not expressed to you their actual desire to bring in X number of candidates
Starting point is 00:12:25 on site for a job, you know, interview, uh, new hire processing in the next 60 days. Those posts stay up as like, uh, and I don't mean it in a negative connotation as like trawling nets to just look for super, super high quality candidates and then they'll make space. But if you say, Hey, I'm okay hiring zero people, but if someone really talented comes along, of course I'll, you know, want to talk to them. That is indistinguishable from, I have a desperate desire to hire a hundred new engineers in the next 60 days. But if you, if you think through now, like you're saying that the cheating, but
Starting point is 00:12:59 also from the company's side, the ability to leverage up recruiters to just talk to lots and lots of people and sort of do whatever grading ranking they want to do and talk to the top few, just looking for, you know, I'm casually just browsing, right? When you go to the store and you're like, I literally just want to walk around and look. It's hard for them to tell the difference between that. And like, I have, you know, $10,000 in my pocket and I'm burning to spend it in your store, right? Like from, from an interviewer interviewees perspective, it's very difficult to tell. And so part of it is that, and I think that those jobs, the
Starting point is 00:13:37 desire to hire just isn't there. So really qualified engineers probably don't go through that process. They do occasionally have been, they don't have networks that process. They do occasionally happen. They don't have networks or coming out of a different industry or whatever. But the way I've seen a lot of that happens is you sort of directly already know someone and it sounds really harsh. Most it's sort of like that self, you self realism thing you got to do. Like when you're coming out of college, are you really going to distinguish yourself?
Starting point is 00:14:06 Like if the industry is tight and some companies are laying off, you got to look like there are people coming out who are going to be more experienced than you for sure. So if you're all competing for speculative jobs, like a company is going to be really hard for you. Right. And that's not a criticism of you. It's a state of the market that probably I don't, I don't have a good suggestion. Like there's not getting involved with open source, you know, finding something
Starting point is 00:14:34 to do in the meantime, finding an adjacent, like finding some way to continue to hone your craft and build up your resume is sort of the best suggestion I can give. But it's, it's unfortunate that we can't be honest as industry with people and say, look, we're just not really that interested right now. Like you're welcome to apply, but we're really not interested. Um, there's not a incentive for honesty in that conversation. Yeah. I mean, yeah, that makes a ton of sense.
Starting point is 00:15:01 Like, as we said, if they don't have to fly you halfway across the country or the world to do an interview, then they have really no skin in the game either, right? So yeah, that makes a ton of sense. Okay, so I do have a couple of suggestions for people coming out of college. All right, so first of all,
Starting point is 00:15:25 and that's why that was one of the inspirations of this episode, is get on board with the latest tools. So, have the latest tools at your disposal, be adept at them, understand kind of what the limitations are, so these chat tools tools and we'll dedicate a whole show to it right now, but, but they, they might suggest something very confidently that is total garbage. Like, um, Oh, you know, you have this problem. Well, why don't you like write a unit test for the unit test here? I wrote one for you. It tests the unit test
Starting point is 00:16:01 and then you still have all the same problems you had before. Like it didn't actually do anything. Um, so like, you know, as you get adept with these tools, just like any tool, you're going to find where it's good, where it's not good, how it's helping you, how it's not helping and you'll be kind of ahead. I think one of the challenges, let's say that Patrick and I have is we're very busy, you know, we, you know, I have to spend all weekend kicking a soccer ball and then I have a day job and I'm doing the podcast. And so I don't have as much time to, you know,
Starting point is 00:16:32 look at what is on the bleeding edge as I would like, right? And as someone who's coming out of college, that's one thing you have is a ton of time to learn all the things they didn't teach you in college because they weren't even invented when you started college four years ago. So I would definitely dive into all of that. I think that with respect to the auto rejection,
Starting point is 00:16:59 if you're getting automatically rejected, to Patrick's point, a lot of that is because there really was never a job, right to be honest right and so they're looking for 30 years of experience and like you're just not gonna have that or there's yeah looking for something incredibly specific that like no one coming out of college actually has right and so it's not really a position for entry level, even though it might say so on the description. Um, but, uh, um, um, oh yeah, but, but what you can do is, is, uh, um, put
Starting point is 00:17:38 the right things on your resume to kind of like highlight those specific things that you feel like are in demand. So like a lot of companies, my guess is are interested in dev X. Like if you can make your engineers a hundred X faster and they're at, I mean, I made up the hundred, but you know, it's a 10 X faster and their engineers are going 1.5 X faster in the past two years. Well, and there's like a room for improvement there and they're gonna wanna be interested in like, who are the people who have all those tools? So like having like a resume that hits a lot
Starting point is 00:18:12 of those bullet points, I think would be really important. Yeah, and I'll say too, I mean, I think in doing that, having a focus to it, so, you know, so they're watching YouTube videos on it and not actually doing it. Sometimes I don't, I've never made a video game, it's on my list, but like, I guess I have very simple ones, but never really, but you sort of see this when I watch,
Starting point is 00:18:36 and you know, I'll be running on the treadmill and I'll watch a YouTube video about some game engine or whatever. And people make this comment occasionally like, oh, there's lots of dabbling or people who get started but actually Completing something, you know, it's really difficult people don't always do it so, you know, we've alluded to before game jams or You know sessions where they hurry up and build, you know some AI tool to demo something a company is sponsoring
Starting point is 00:18:59 I think those can be really good ways I I wouldn't say it's an only thing but it's a nice add-on where you learn to not just use a new tool, but, and when Jason and I were talking about this a bit for unrelated thing before the podcast started, that we were, I was going through, but like use something to actually do the full cycle with sort of not just do the middle part, the interesting part, the, you know, hey, I have the LLM plugged into my editor we're talking about today, but how do you actually deploy that code? We've talked about that on episodes before. How do I integrate it? How do I make it into a product? How do I use it?
Starting point is 00:19:31 Because I think that when you go into those conversations and interviews when either the market turns around or you finally do get you know somebody to actually talk to you, you're gonna come across much more confidently as having done the cycle a few times even if it's in miniature. And so I would say sort of those kinds of like game jams or just coming up with your own. I hesitate to use the word startup. I think that's sort of like a different path, like making a startup and running it through, but building almost like, like a demo company, if that's a thing, like building something where you do the full set of things and understand what it takes. Think about it, learn it, not for the sole purpose of making money, but for the purpose of teaching
Starting point is 00:20:10 yourself more than just the very narrow slice that we were kind of saying that is our focus now for Jason and I. But I think if you want the ability to get in, it's really hard to get really deep on distributed databases by yourself. But that doesn't mean you can't learn about all of the pieces of why a distributed database makes sense or what the various trade-offs would look like. Yep, that makes sense. So, okay. Would you, so, you know, the Bay Area is I think a great place to start a career. You know, I think if I was starting my career, I would move to the Bay Area,
Starting point is 00:20:46 which is exactly what, what I did and what Patrick did. Um, so I think that's still true today. So question, would you move to the Bay Area before getting a job? I, I, maybe this is a hot take personal opinion. I would not. I would also not. maybe this is a hot take, personal opinion, I would not. I would also not. I think there, if you were willing to move,
Starting point is 00:21:09 there are probably places, even if you were looking for exposure of those kinds of meetings and fellow like-minded individuals, some college towns, I think, we talk about places like Austin or other places where those are even, places you could visit, plan to coincide with these events and sort of it's more useful for your money assuming you're sort of in a lower cost of living
Starting point is 00:21:33 than the Bay Area already. Moving to the Bay Area is very, very expensive and most of the people in the Bay Area are either already there or are going to school there or have a job and aren't really doing that as much anymore. Yeah, totally agree. I think, you know, what you want to do, and I'm not sure how to do this, but you want to signal to recruiters, you know, that you're willing to relocate,
Starting point is 00:21:59 maybe just literally putting willing to relocate on your resume. There's a lot of people who are not willing to relocate on your resume. There's a lot of people who are not willing to relocate and so the recruiter doesn't have to worry about that with you if you put that on your resume. I think that there's a lot of posts on social media that Patrick doesn't see about how, SF is where the action is, you have to move to SF and you know, putting that aside, I think. Even if you accept the premise, um, I think going to where the action is without a job, uh, is not, not a good idea to be frank. I think that it's, as Patrick said, extremely expensive area.
Starting point is 00:22:42 Um, and you will meet people, but again, a lot of those people might not be hiring. They might be doing their own thing. They might be at big companies and so they're limited in what kind of influence they have. How much influence can you have on that person in a day or a month? If it's gonna take a year to build a relationship,
Starting point is 00:23:03 are you really gonna spend all the thousands of dollars to live there? Um, it seems like not a wise decision. I feel like, um, you know, if a company is, is, uh, I think putting, putting willing to relocate, really trying to focus on companies that are going to have you interview in person. So they're serious. Um, and then ultimately getting relocated with a company would be the way to do that.
Starting point is 00:23:28 I agree. I think even if a company says they have options for remote working and even though, you know, that may be very appealing or desirable to you, if your primary focus is to get a job and like to get started, I do think regardless of what they say, there is still preferences and it sort of comes back to that job. Like there may be a job available. That job is almost certain, like has a much higher probability of wanting to be in person in whatever location,
Starting point is 00:23:58 you know, that they're looking for with a small outside chance that if there was an exceptional candidate and the thing that moved the needle to hire that candidate was letting them work remote, that there's like an option. So they'll put it in, but that doesn't mean it's an option for you. And I know that sucks. Like there are companies that if a company is a remote first company, you know, this is completely disregard that information. But I think similar to what Jason is saying, I think you can disregard our advice if you have a strong focus or desire to be in the Bay Area or if you're willing to do extreme things to get extreme results. Yeah, of course, take your own thing. I think what Jason and I are saying, trying to take this within one standard deviation of the normal
Starting point is 00:24:43 distribution. Do something, but don't of the normal distribution, like do something, but don't do the most extreme, most risky thing. So we're trying to sort of strike a balance there in this advice. Yeah. Yeah. I think that makes sense. Um, yeah, I do think that, you know, for entry level folks, I think being remote, you know, it's nice here.
Starting point is 00:25:02 You get to stay, you know, uh, you know, in, in wherever you're living, um, you know, it's nice here you get to stay, you know, in wherever you're living, you know, unless you happen to get a job where you're living now. But I think that the just, you know, we're all social animals at the end of the day and I just don't know if psychologically people really kind of handle remote workers and local workers the same way and just really are really treating them like equally. I just think that that's that's just the fact of our nature and so you're looking to get ahead I think that if you're entry-level and you're looking to get ahead I think that moving to wherever the company is is probably a good idea. Okay, now Patrick, would you move to like the middle
Starting point is 00:25:49 of nowhere? I guess, you know, yeah, I would. I'm kind of a, didn't give you a chance to answer. Okay, would you move to the middle of nowhere if they offered you a job but you had to move there? I mean, it sounds really, I don't think your primary focus should be, you know, per se money, but if it was opportunity and for a prize. I mean, it sounds really, I don't think your primary focus should be, you know, per se money,
Starting point is 00:26:05 but if it was opportunity and for a prize, I mean, I think- And your entry level, you know, you're not Patrick, your entry level is- Yeah, as entry level, I mean, and assuming you don't, you know, have 10 offers, right?
Starting point is 00:26:17 Right. Yeah, I think, yeah, having, getting a job and getting experience, I think for most folks, historically talking to parents, grandparents, that kind of stuff, the number of jobs they had was a lot lower. The number of places they lived was a lot lower.
Starting point is 00:26:32 But personally, even just being mildly flexible and I know people who were more flexible has been an advantage. If you're willing to move, if you're willing to change jobs, that there's a balance there, but in general that makes you, I feel like it's a help.
Starting point is 00:26:45 Yeah, yeah. Yeah, I'm thinking about this amazing opportunity that I had that was in the UK and you know I had kids so I wasn't willing to really do that, uproot my whole family and go to the UK. But if I didn't have kids, someone else took that opportunity, which is a great one. So I think if you're fresh out of college, that is an option for you, is your location flexibility, I think, is a huge asset. All right, oh, go ahead.
Starting point is 00:27:20 I was gonna say, well, if you haven't tuned off, because it's really depressing, I will say also times change, and we've seen things go from, and long-term I was gonna say, well, if you haven't tuned off because it's really depressing, I will say also times change and we've seen things go from, and long-term I'm still bullish, so I guess hang in there. Like it sounds cheesy, but yeah, this is not all doom and gloom. Like things can be tough now,
Starting point is 00:27:35 but they can turn around and just keep at it. Oh, totally. I mean, I'll give my prediction right now and we'll see if I'm right. Someone who listens to this episode five years from now can send me an ASCII email, but I think there will be more people building tools for AI than web developers within the next five years. So I think that there's a massive need and we're just on the cusp of even
Starting point is 00:28:04 recognizing this need, but I think it's enormous. And so I think that, you know, things will absolutely bounce back. And actually, I mean, just riffing on that. Yeah. I mean, you know, maybe the best thing to do right now is to take that job in South Dakota, working for the chip factory. I mean, like literally the potato chip factory as their software engineer, you know, just to get you through the next couple of years,
Starting point is 00:28:29 give you experience. Cause I do think that things will bounce back in a big way. All right. Well, you heard it here first. All right. So after our longest intro topic ever, news and links, go for it, Pat. Yeah, that was, that was rough to be a little speedy here. So I'll be quick. Alright, so this one is a recent news, but to talk about a broader topic classic news news of the show move here, but Mario Kart 64 was fully decompiled. So this is
Starting point is 00:28:58 actually an interesting rabbit hole. Specifically, some of the Zelda games this has been talking about now, Mario Kart 64. And this is an interesting thing where people attempt to write source code that compiles basically to byte identical ROM. And you say, well, why? I mean, well, for one, if you have source code that just happens to compile, it's sort of like a loophole around copyright. So you can't distribute assets like sprites and things are covered by copyright, but if you write your own unique source code that just happens to compile to the same thing,
Starting point is 00:29:33 that opens up some interesting open source opportunities. It also allows people to get in and sort of change behavior as well as like do optimization, fix bugs, make small changes. And we're gonna talk about a little later, I'll bring this back, but just opens up an environment around sort of doing things with an existing game. So Mario Kart 64, obviously a well-aged game at this point,
Starting point is 00:29:57 but even things like, you know, sort of running it natively on your computer rather than an emulator of the ROM is opened up by things like having the source code and doing optimizations and just a really fascinating sort of thing. So if you've never looked at it before, we've talked about sort of emulation and stuff off and on, but definitely a really kind of cool thing.
Starting point is 00:30:18 And there's a whole bunch of them that have been done at this point, sort of some GameCube games. And so some N64 games now too. So it's sort of a fascinating thing that I think, even me as like a, I'll call like an enthusiast, since I just generally didn't know about, but like reading about it, it's definitely pretty cool. Yeah, I mean, this code is like very readable
Starting point is 00:30:38 compared to what I had imagined it was gonna be. Yeah, it's not just like whatever, what is that, IDA or whatever, where you disassemble and sort of like, that's not what like whatever, what is that IDA or whatever where you disassemble and sort of like, that's not what they mean here, even though the wording isn't super clear. It's not just, here's the assembly instructions that this maps do. Yeah, yeah, I mean, all the functions are named
Starting point is 00:30:56 with like a semantic name and a lot of the variables are named correctly. This is really impressive. So someone did this by hand? I think it's a combination of sort of getting those very coarse garbage C, C sort of like messed up names and then slowly teasing apart the threads, right? Like, oh, this variable does name something irrelevant. Let me give a semantic name because now I know it's the velocity of the cart or whatever, right? And so I think you slowly by slowly work through unpacking the code. Wow, that's amazing.
Starting point is 00:31:33 Wow, what a work of art. Very cool. Okay, mine is, my first news is Q learning is not yet scalable. And so this is an article. I've had like five people send me this article. It's kind of funny, but I read it a few times. It's a good article. I mean, the gist of it is, yeah, without spending a lot of time, because I do want to get to AI tools, basically, Q learning is what powered AlphaGo
Starting point is 00:32:07 and Atari players, a whole bunch of things. It works for some of these environments because there's almost no noise in the state. It's like an Atari game, it's very clear what's happening. A Go game is totally deterministic. Um, and so if you were to try to use Q learning to like drive a car or, you know, operate a robot with a camera where it's very noisy, it has all sorts of challenges, um, and, uh, um, you know, and I think this really shows that
Starting point is 00:32:43 there's just so much more work that needs to happen in reinforcement learning. I mean, I'll throw my hat into the rink here. I think that the reward function engineering is not really the way to go. So just to recap, they take Go, for example. You play a game of Go, you win, you get a point at the end of the game. If you lose the game, you get a minus one point. And then the Q learning tries to take actions
Starting point is 00:33:12 that will give you that point. But that is like extremely clean, right? Like it's zero sum, it's perfectly zero sum and you don't have to do a lot of massaging to that reward to make it, uh, make it work. Um, by contrast, like Atari is more difficult where you get a score. The score is always almost always positive, right? So it's like, you always did something.
Starting point is 00:33:40 Right. Um, but it's like, I got a score of a thousand in breakout. What does that even mean? Is that a good game? Is that a bad game? Like we just, I don't know. I mean, I literally don't even know what a score of thousand is in that game. Um, and so what you have to do is construct a baseline and say like, okay, I got a score
Starting point is 00:34:00 of a thousand that used to be really great, but my AI is better now. And so a thousand is not actually that good. And so don't do that. Like that thing that got you a score of a thousand, try not to do that next time. Do this other thing that got you a score of 10,000. Right. Um, and so you constantly have to keep moving the goal posts and, uh, there's not a good way to do that.
Starting point is 00:34:23 And I think that this is like a fundamental, like foundational flaw in reinforcement learning because humans don't work this way. I mean, humans have like, so humans have this in a sense where like, you know, when we first started coding, it's like, oh my God, I got a linked list to work. It's like amazing. Like you go celebrate, right? And now it's like, why did you code a linked list? Like, why didn't you just use the package? Like we kind of like moved on. But I think that the way humans go about kind of learning and advancing is they set kind of a goal
Starting point is 00:35:00 in their mind's eye. Like you use your really high level thinking to set a high level goal that may or may not be attainable and then you try to attain it. And so this is very different than saying like I just want more points. So I do feel like the reason it's not scalable is that we're not really kind of solving the right problem. I think that we should have like a really high level system, maybe an LLM or something like that, say, hey, try to get Mario on this pipe. And then Mario gets on the pipe and then the LLM says, okay, try to have Mario like jump over this chasm versus trying to have this reward function that captures
Starting point is 00:35:46 everything. So that's my opinion. I'm sure there's a hundred other opinions. We'll see, you know, over the next few years what happens, but it does feel like reinforcement learning could benefit from all this LLM stuff. LLMs have benefited a lot from reinforcement learning, but we haven't seen it go in the other direction as much. Oh, okay.
Starting point is 00:36:08 Yeah, I have some thoughts here, but yeah, I think you're right. Let's wait and see and move on to the next one, completely unrelated. My next news article is a YouTube video actually by 3Blue1Brown. This actually came out a little bit ago about Grover's algorithm, which is sort of a generic quantum algorithm for solving like a complete class of, oh gosh, what did you say? NP-complete problems. And so if, you know, traveling salesmen, there's a bunch of things work around sort of mapping algorithms to be this NP complete and how many of them are, or most of them, all of them are, are the same fundamental thing. And Gerber's algorithm is sort of a way of, of kind of solving that.
Starting point is 00:36:54 And, uh, this video explains something that I guess I had missed for a long time. So we covered, um, quantum computers a couple of times in the past, several times people have, you know, Hey, you guys didn't quite get it right. Yeah, they were right a couple of times in the past. Several times people have, you know, hey, you guys didn't quite get it right. Yeah, they were right. I didn't completely understand it. It's a very complex, nuanced topic. This video sort of walks it through and helped me sort of understand. I won't say I've got it now, but I definitely understand that I didn't understand before. So I guess that's step one is, you know, knowing that you don't know is half the battle. Wait, that's not quite right. Anyways, so if you've not seen this, I mean,
Starting point is 00:37:31 pretty popular YouTubers, or most people, I think Grant is his name. Anyways, is most people will have seen this. But if you haven't, definitely watch it. I will also say there was a bit missing for me. He released a follow-up video to sort of like give sort of like a little bit more explanation of what was sort of a gap in kind of why some of the things he was saying made sense. But actually, very illuminating. Also, we've talked about before some of the problems around quantum computers and even understanding what will happen when we have quantum computers and what will or won't sort of, uh, happen. And there's a lot of interesting nuance around that in this video helps sort of explain some of that.
Starting point is 00:38:15 Like what, what do you think this speed up will kind of be? And my, you know, there's even a poll at the very beginning and yeah, I got it wrong. Um, well, I kind of knew I was going to get it wrong. So I didn't get it wrong, but that was only because, you know, you kind of see a trap, you don't walk into it. Yeah. That kind of thing.
Starting point is 00:38:30 Anyways. And so it turns out, you know, we all think about Shor's algorithm, which is factoring of prime numbers and how that's, you know, a sort of huge speed up over, you know, any traditional method, but that's a sort of unique case. It isn't necessarily true that every computation that, for instance, is NP-complete will get that level of speed up. So it's definitely a speed up, but not
Starting point is 00:38:57 sort of the same profound as people who. It's sort of weird, because I think most people wouldn't even know about the thing of quantum computers, or even what it is other than just it's a name mapped to a concept. But for people who kind of like, oh, I know about computers. What are quantum computers? You know that next level then there's like, you know, two or three more levels of understanding past it. And so if you're in similar boat as me, which is I don't know maybe a fair decent number of people. Here's a good way to level up your understanding.
Starting point is 00:39:27 And I thought it was well handled in treating sort of the state space of the quantums and the vectors for it, as opposed to just the hand wavy magic qubit. And so I definitely would recommend it. Hopefully folks have seen it already because I thought it was really interesting. But if you haven't and this at all, vague description of it,
Starting point is 00:39:49 I'm trying to like not recite the video because I'll screw it up. And he was very diligent to be very careful. So sorry, pardon the lack of detail. But if I've interest you by saying these keywords, quantum, computer, algorithm, NP complete, speed up, missed expectations yeah nice all right so my second one is a product actually so the company called
Starting point is 00:40:16 orange pie I guess making fun riffing off raspberry pi although it doesn't work right because raspberry pie is a pie and it's also a computer but orange pie it's like they didn't quite get it like there isn't a they should have called it pumpkin pie right because there is no orange pie that you can eat. Is there a raspberry pie? I've never had raspberry pie. A raspberry pie is delicious I think. Is it a legit thing? I know a blueberry pie.
Starting point is 00:40:47 I'm pretty sure. Yeah, okay. Look it up. Look it up. But there is definitely no orange pie. That sounds disgusting. Like baked bread and then just orange rinds. I don't know. It seems gross. Okay. Orange Pi has a RISC-V single board computer. So it looks exactly like a Raspberry Pi. I'm probably going to pick one up just for fun. It has the same form factor. It has like some AI chip, which I don't know if we're too early for that. But it has ethernet ports, it has HDMI and all that good stuff, just like a Raspberry
Starting point is 00:41:23 Pi, but it runs RISC 5 instead of ARM. And so in one sense that makes things a lot more difficult. I probably wouldn't want to run an emulator. I wouldn't want to use this for video games because the ARM core is so central to a lot of the video game emulators and all that. But it'd be fun as a toy to play around with and maybe it would do video transcoding well, so you could run a Plex server on it or something. But what I took away from reading this in my news is that, you know, RISC-V is here. I mean, you can buy RISC-V SBC today
Starting point is 00:42:09 and it will come to your house in a couple of days. That's pretty amazing. I mean, I feel like it's really here now and I hope that a lot of developers, you know, jump on this and, you know, the ecosystem just continues to evolve. Oh, this is cool. I hadn't seen this before. Yeah, I'm excited. I hope they continue to flesh this out.
Starting point is 00:42:32 It also, yeah, it says it's optimized for DeepSeq R1 distillation models, but I don't know. I have a hard time exactly understanding what you would do with such an accelerator. It doesn't have a ton of RAM. So, okay, interesting. Yeah, I mean, it's optimized in a sense that like you get one token per second. So it only takes you like 10 minutes to get your answer as opposed to an hour. Okay, I'm just gonna leave this one here. Okay. That's cool though. Yeah, I'm excited. I think more competition in the space is going to be good, especially with the sort of more open source nature
Starting point is 00:43:08 and reduced licensing fees for the instructions that architecture I think is going to be pretty cool. All right. We'll get the show. All right. Mine is the Will of the Many, which is a newer series by James Islington. I think I've mentioned a previous series of his before
Starting point is 00:43:28 on the show, but I started on this one. And I was finally back into reading. I will say I have fallen a little bit back off. So I haven't finished it yet, but I got a decent way into this book, which starts off on sort of a classic trope that everyone hears about, you know, some, some, uh, you know, young child ends up getting enrolled in a school and, you know, anyways,
Starting point is 00:43:50 but I'm told that it's, it's, it's a really good twist on the thing. And I really liked the previous books by James Islington. So, um, I was going to do actually pulled up the back cover just to read the back cover summary. Uh, and I was like, that's kind of silly. People can do that on their own rather than just listen to my amazing voice. Read it to them. They can maybe use one of those texts to audio things if they want. But, but anyways, I definitely sort of like the concept here so far.
Starting point is 00:44:17 That's interesting, which I don't know. So probably wrong, but, uh, people do what's called seeding their will. So will is like your sort of mental physical energy and you like give a portion into this hierarchy where people kind of continue to collect them up into these organizational structures. And so you sort of join into this hierarchy as part of like your political and civil life
Starting point is 00:44:42 and you're seeding a portion of your individual autonomy into this to become a little bit weaker yourself and sort of join society. And, and this, uh, So it's like a, it's like a mental, mental multi-level marketing. I didn't think about it that way, but yeah, at the top, someone has some knives that are so incredibly sharp. Yeah, right. That's amazing. But yeah, and obviously even just saying that, right, you can start to think about problems.
Starting point is 00:45:16 And I'm really hopeful this book will explore some of the interesting problems that come from that and corruption and so on. Wow, that sounds awesome. I'm gonna have to give that a read. I wish I was creative enough to come up with these concepts, but instead I just read. My book this show is The Intelligence Trap, which I've had a couple of friends who have read this.
Starting point is 00:45:42 I don't remember who recommended it to me, but it was in my, I keep a list of books. Whenever someone recommends a book to me, I pop this app open and add it to the list. And this is on the list, and so I picked it up. It's interesting. I mean, the premise is, you know, there's intelligent people, they do dumb things.
Starting point is 00:46:04 Sometimes like, there are things that are anti-correlated with intelligence that you wouldn't expect. So like, for example, more intelligent people tend to be more gullible. Um, that might like not be obvious. Um, and it lists a bunch of things. And then, uh, yeah, the latter half of the book is, is how to not fall into these traps. So it's, so it's interesting that the audience for this book are either intelligent people or people who think they're intelligent.
Starting point is 00:46:34 And, and so the book kind of like affirms your, as a reader, your intelligence for, for reading the book and then, but then also tells you that you you're intelligent but you have these weaknesses because you're so intelligent so it really kind of like fans you a little bit and then and then and then talks about ways to get around it so like for example they have this thing called the off to look up, but like the RQ test and I forgot for the life of me what the R stands for but it's meant to like, oh it's meant to complement the IQ test but it's for kind of like common sense and some of these things that they feel like. Oh the readiness quotient test assesses an individual's preparedness for
Starting point is 00:47:26 various situations, including emergencies and challenges. So I do feel like I kind of fell into the intelligence trap trap of where I look. Exactly. So I fell into the intelligence trap trap. But, you know, given that, you given that you and I have to read, well, we're doing shows a little less frequently now, but I'd like to read a book every two weeks. So I'm not massively invested in any one book, but I don't feel like it was a waste of time. There are some interesting tidbits there,
Starting point is 00:48:01 but I do feel like it was phenomenally pretentious. You know, like the overall kind of atmosphere of the book is, you're so smart. Here's other like super geniuses are going to talk about, like Nobel Prize winners and stuff and dumb things that they've done. And here's how you could not be dumb in the same way that they're dumb, despite being so incredibly smart. That's kind of like the way I felt like the book was speaking to me, which is not a way I really like to be spoken to. So I think that there are some interesting parts.
Starting point is 00:48:39 Here's another part of the book. They talk about some guy who was like a physicist at CERN but he basically got catfished into going to Brazil to meet like a model who didn't actually exist. And then when he got to the hotel room there was a note saying, Hey, sorry, I have to do a photo shoot. But you know, and then he got an email from the model saying, Hey, I left my bag in the hotel room. I'm sorry I lost you because of the photo shoot. Let's go to Florida or someplace in America and let's meet up over there. Could you bring my clothes with me? And so this guy ends up bringing a whole suitcase full of illicit drugs to the US where he gets caught by border patrol. And he has to kind of like explain this whole story about how he got tricked.
Starting point is 00:49:38 And so. You know, this is one example of basically they chair in my opinion they cherry picked Cases were incredibly smart people did really dumb things You know, and then they try to like also do broad things But they don't really connect them like for example, I know point did the books say more intelligent people are more likely to be catfished You know like tricked by fake identities because that's probably not true, right? more intelligent people are more likely to be catfished, like tricked by fake identities. Because that's probably not true, right?
Starting point is 00:50:08 That correlation is probably not there, but they found one guy, you know? That's what I was trying to figure out, is like, what is the probability that you're very intelligent, given that you were catfished, you know? Like, I don't know, it doesn't sound like it's trying to draw that conclusion.
Starting point is 00:50:24 It feels like you can get scammed no matter what. And don't think yourself too intelligent. So what is like, if I treat it like an RPG, if I buy the book, does it increase my intelligence by 10? Like, if I'm gullible enough to buy the book, I want to be gullible enough to buy the book because it means I'm more intelligent. Like is that the, uh, so that the trade here? Here's what I think the book is doing to its readers is, you know, all of us have friends who are smart and either do or say dumb things, right? We're, we're smart and we do or say dumb things all the time. Right. And so our
Starting point is 00:51:03 friends see us do and say dumb things. We see our friends say dumb things all the time. Right, and so our friends see us doing say dumb things. We see our friends say dumb things. And then there's people who are like just mortal enemies with other smart people. And so the question inevitably comes up is like, if this person is so smart and so rational, how can they not have my opinions on whatever? And so this book is trying to like, I think, give people like an out, you know, instead of saying, well, there's, this is a really complex question. There's a handful of right answer, right isn't the right word, but there's like a handful of strategies.
Starting point is 00:51:43 And this person picked this strategy, you pick that strategy, but neither of you are really entrapped. You just pick different strategies. Instead of going that route, it kind of creates this false dichotomy where, where it says, Oh, the people who don't agree with you, they're just trapped. They're, they're trapped by this like thing that only affects smart people and makes them dumb, but only in this way. And so it kind of allows you to escape having to face the fact that there are like just complex situations that don't really have any one right answer. I think that's kind
Starting point is 00:52:20 of what's going on. Maybe I'm being too cynical. No, I, I, I hear you. I think there's this thing interestingly where most people walk around without like a true good assessment of the people around them. Like I know people who I would, I don't know, I would just say are not particularly intellectual or you may call them dumb or whatever. I don't think it holds the same. Yeah. Other podcasters.
Starting point is 00:52:46 Like all of them. I'm probably one of them. But like, he's probably talking about me. He's the only one I've ever seen on the show. No, I'm saying all the other shows. Oh, oh, oh, oh, okay, I got it. Anyways, yeah, I mean, I think people don't walk around with a good assessment.
Starting point is 00:53:00 I think people just, yeah, do these things. But I know, I will say, like, you got me thinking, there's just something we talk about at some point where I've noticed part of, I think people just, yeah, do these things. But I know, I will say like, you got me thinking, there's just something we talk about at some point where I've noticed part of, I think, leveling up at work is in a way that's fair and not make you a bad person, having an actual good assessment of who around you knows what's going on,
Starting point is 00:53:19 who around you is good at their job, and who around you isn't. What I realized is a lot of people go through their career without thinking about this. They just sort of like assume everyone else is like at their same level or is really, really good. Or, and I don't think that's a personally, I don't really think that's a strength.
Starting point is 00:53:38 I think like it's, you can decide whether or not to take action on that, but like understanding and being attentive on GitHub pull requests or whatever you want to look at as your sort of... But understanding who really knows what's going on, who's really a mover and who's... It's not playing politics, it's a way for you. And I think the same is true in your day-to to day, like figuring out when you go into a business and like who are the people who actually understand what's going on and is the person you're dealing with not understanding. And it's better to just roll the dice and ask for someone else because I go in often to the bank and I need something mildly complicated. At some point,
Starting point is 00:54:21 you just got realized like, Whoa, the person I'm talking to isn't understanding me. I just need to ask for someone else. Like I need to just, and it's not a being mean thing. It's just, uh, there's a communication gap here. We just need to resolve it. Wow. Yeah. You're blowing my mind right now. I mean, I have to admit, I, I've never done this. I mean, I've never, maybe I'm just too inside my own head or something, but at work I generally ignore. I mean, other than when I'm doing performance reviews and all of that, but like, let's talk, let's say like my peers, for example,
Starting point is 00:54:56 until it's time to do a performance review, I kind of just assume that everyone around me is doing whatever they're doing, but it's a good point. I mean, yeah, I really- yeah, really like super improbable. Yeah. Yeah. You're blowing my mind. I'll really, I'm gonna have to take some time and really think about that.
Starting point is 00:55:12 Sorry. Wow. Yeah. Oh, I do feel like, um, sometimes if a project isn't going very well, uh, and I just feel like there's not a future in it, it's easier to just kind of put it on the back burner. Yeah. Versus like try to save everything. Like some things aren't worth saving.
Starting point is 00:55:35 Ooh, okay. That cuts deep. But programming throwdown is worth saving, which is why you should subscribe to us on Patreon. We don't run ads. You know, every time I start an episode, Zencaster is like, hey, you have all these listeners. Want to insert dynamic ads? You could be making this much money. And I click the no button because we did the ads thing for a while. I didn't like
Starting point is 00:56:00 it. I just didn't like the way it made me feel and And so, you know, we really the show really relies on you folks We don't make any money from the show. Whatever is left over we give it to various kinds of charities or we do giveaways or stuff like that, so it's really just a Contribution to our community here and we thank you for that Thank you everyone. All right well try to speed up the train here. Tool of the show, mine is a game, not surprising, just released. Pokemon Odyssey. Now before you go look for this on the Switch 2, this is a ROM hack of a Game Boy Advance and so okay this is my segue to talk about ROM
Starting point is 00:56:42 hacks. I got into this recently. I played a ROM hack called Pokemon Unbound, which is a quality of life improvement and a new story on an existing Game Boy Advance Pokemon game. I, we were talking about, I talked about Pokemon, I think last time, and about the random number generator. And anyways, not gonna rehash that. There's some people really into it. I think you mentioned, is it Wolfie NGC or something on YouTube who does
Starting point is 00:57:07 like competitive Pokemon play? Oh yeah. So I got into that, like, not good. I still haven't played it yet, but I do watch it occasionally. Very fascinating. I realized I just don't know anything about quantum mechanics or Pokemon. Anyways, just going to keep moving on. Anyways, just gonna keep moving on. Pokemon Odyssey came out, super fascinating,
Starting point is 00:57:28 retelling of the story. Most of the battles are duels, which is the tie-in to competitive Pokemon is often played as two Pokemon versus two Pokemon because you end up with a much more complex dynamic rather than just the normal sort of non-transitive rock, paper, scissors of a 1v1 battle. And so you get two Pokemon on both sides, more interesting decisions to strategies.
Starting point is 00:57:51 So this game uses a 2v2 format for most of the battles. It's a more dungeon crawler sort of oriented game than the, you know, go to the gyms and fight the gym leaders. Uh, I'm really looking forward to playing this. It has been an early release up till now, but they sort of declared it as complete. And we talked about decompilation earlier, but I didn't know until mildly recently about this sort of whole thing about ROM hacks.
Starting point is 00:58:16 And now I've learned there's a bunch of ones for Mega Man. There's some here now for Pokemon and other games where people go in and either like add future generations of Pokemon to old games or make changes that take away frustration or there's a whole video game thing around speed running or live streaming playing these games. And so sometimes they make changes to make it harder. Like the base Pokemon game isn't particularly hard.
Starting point is 00:58:41 So they'll do things to make it more challenging, allow the trainers to have better AI or better items or level their Pokemon to match yours. So you can't just grind away in the bushes outside and then come in and fight. They'll always sort of have the same level as you, which means you have to rely more on strategy than on just overpowering.
Starting point is 00:59:00 So a bunch of things related to that, all falling under this category of ROM hacks. And the way it works is you need to have the original ROM? Just leave that and then you get basically like a diff file that you apply on to that which makes you know all of these changes But it's super interesting because it still needs to fit within the sort of parameters specs engine abilities of The original games in the original system. So super fascinating community I just wasn't aware of. And this thing looks super cool. Watch some videos on it.
Starting point is 00:59:30 Definitely looking forward to trying this one out. Very cool. Yeah, I beat the Final Fantasy Tactics 1.3, which is the name of a ROM hack for Final Fantasy Tactics. It made the game way, way, way harder. Oh no, I'm out. There's also a ROM hack for Mega Man that makes it beatable by mortals. But yeah, very cool. Yeah, ROM hacks are awesome. I'll have to check this one out. My tool to show is
Starting point is 01:00:04 also a game. You know, we didn't want to have actual tools when the show is about tools. So my tool is actually a category of games. If you have a Netflix subscription, you can play all the games that are in that link for free. And they're all full games. In fact, they purposely don't have microtransactions
Starting point is 01:00:24 because Netflix doesn't want to deal with what if you put $30 of microtransactions in a game and then cancel your Netflix membership. So Netflix doesn't want to deal with that problem. So the games have zero microtransactions, zero ads, you're all totally free. The catch is, you know, every day it checks to make sure you still have a Netflix subscription. And if you don't, then it won't let you into the app. And because of that, there's some challenges around airplane mode and stuff. So I think maybe it's more than every day.
Starting point is 01:00:53 Maybe it's every month or so. So you'd have to like open the app right as you're boarding the airplane, make sure that it knows you have a Netflix subscription, that you're good to go. But there's a bunch of amazing games. I was playing with my younger son, Monument Valley. The whole series, the trilogy is there for free if you have a Netflix subscription, so check that out. There's equivalent link to all the iOS apps,
Starting point is 01:01:19 but I linked to all the Android ones. I'm sure people can find it. Yep. All right. Time for our topic. AI assisted coding. Well, we asked the AI. No, I'm just kidding.
Starting point is 01:01:31 This is an AI. We've been duping you the whole time. Okay. So AI assisted coding. Patrick, do you use AI assisted coding right now? I have recently gotten on this train, so I have feelings. Okay, I've been using it for about maybe a year or so, but I'm using it a lot more now than I was before, so it's been kind of ramping up.
Starting point is 01:02:01 So I'll jump into why, why to do this. Right off the bat, I mean, if you've been listening to this episode since the beginning, you know, we talked about this, it looks good for hiring managers to know that like you're on the latest tech. And I mean, that's a little bit cynical, a little bit shallow, but it's still important, especially, you know, given all the stuff we talked about. Moving on from that, the practical reasons are, it speeds up development. I do feel like I am coding faster when I'm using these tools. I felt that way even going back to autocomplete and Visual Studio 4 or whatever, when we were in college or even high school, and you could just press tab sometimes and it would skip, you know, complete a word for you. So, so this is just that but better. And so that makes you faster.
Starting point is 01:02:57 Another thing that I've noticed, which I didn't expect, is it catches errors. So for example, I had a situation where, you know, I wasn't like the scope wasn't, so in Python you can't actually scope variables. Like in C, you know, or C++, you could put brackets, right? And then say int i, and as soon as you close the bracket, that int i is like gone, right? as soon as you close the bracket that int I is like gone right in Python you can't do that so I had a variable that was kind of out of scope but I was I was copy pasting like a block of code and so
Starting point is 01:03:39 when I pasted it I didn't paste I didn't update that variable correctly. And so I was using, basically a variable had the wrong name. And the tool actually said, hey, you should change this name to this. And I was like, oh yeah, you're totally right. I need to do that. So that's an example where it's not even a speed thing. I would have just missed that, ran it, got some error and had to figure it out.
Starting point is 01:04:05 And then I'll put a third thing here in the practical section, which is, writing code that is just tedious, that just doesn't feel good to write. Maybe like scaffolding for unit tests or things like that, that just kind of like drains a bit of your energy. So those I think are the three big things. Are there any other things you think of
Starting point is 01:04:27 for why to use the tools? No, but I wanted to point out something that I guess I'll make more explicit that I think you did a little bit implicit, which is when we say this topic for, I'll say sort of no code people, there's the, you know, I go to Gemini and ask in the canvas for a web app that
Starting point is 01:04:47 does what is the one that was do and a rotating octagon with particles in it. I see. Oh yeah. Right. Yep. Yeah. And ask it to generate code. Right.
Starting point is 01:04:54 And these are people who aren't fundamentally coders and I, I, I have, I don't think we're talking about that. Um, but there's a scale from there. And then on the other end of the scale, I'll arbitrarily, didn't go too deeply, put the thing that I think we're going to talk about in a second, which is sort of like the tab completion. And so for people in the space that we're talking about, to me, it's, that's a whole gradient from, I give a English text and I get code back, you know, and then on the other end, like I'm already writing code and I
Starting point is 01:05:25 just need you to do like a better auto complete or a better, you know, fill in. And I will say that, you know, internally, when we started doing stuff, people were very, very pessimistic, you know, tried stuff like a year ago, like you're saying it was no good. We didn't, you know, do it. But now even just really subtly, if we think about it in terms of speed of writing code, the tab completion was shocking. I turned it back on for the first time in a long time. I used Sea Lion, IntelliJ had did an update and they were saying, oh, you know, we added some better AI assisted, you know, tab completion local, not cloud. We're going to talk about that in a minute. And even just turning that on was like a game changer. Like instead of just tab completing the name of the class I was doing, it would know like,
Starting point is 01:06:09 oh, I want to do a range evaluation of this array. And so it would like go ahead and it knew the objects in the array. It knew like what to do. It opened the print, the brace for me and put the closing brace. Like it basically completed the block and it was probably like 80% correct. But because it's typing so much, it was still worth it even to just fix the small issues because I knew what I was doing. And so for me, it's thinking about that scale.
Starting point is 01:06:35 Like what can you get today? Is it a 10X, you know, improvement? Yeah, probably not, but it's certainly not a zero or a sort of one X multiplier, you know, a zero improvement. It's somewhere in that scale. And for you it's finding where's the right spot and what task maybe is at a different level. And so I think just calling out that conversation, we talk about it for
Starting point is 01:06:58 programmers, people already in the field, already doing the work. How do you get faster?, how do you get faster? Not how do you get the fastest? I'm just saying, can you find a way to go a little faster than you do today? Yeah, I mean, oh man, I'm so glad you brought this up. This should be a whole section, but basically, I wanna take a moment to throw shade on non-programmers
Starting point is 01:07:22 like using this to code. This is a terrible idea, right? I mean, I think that, and it pains me to say this because I remember, and you probably remember this too, or maybe you had less of this because you actually have this depth, but like, I don't have depth
Starting point is 01:07:40 when it comes to going down the stack, right? Like I've never written C, I've looked at it a little bit. I've definitely never done like my own compiler or anything like that. Like if anything like I've gone up the stack or I do more abstract mathy stuff, right? And so, you know, I would see people say like, oh, well, if you don't know what the compiler is doing,
Starting point is 01:08:02 then you know, you'll be screwed,'ll be screwed if your program has an issue. If you don't know how to use GDB, then eventually Python will have some really low level issue and you won't know how to fix it. That's basically turned out to not really be true, honestly. Now, being the person saying, if you don't know how to code, you know, you're like just talking to chat GPT to build your app is not going to work. Like, I feel like a hypocrite, but I really, I really do believe it in this case. I think that that this idea that like English will be the next programming language. Again like maybe true a very long time from now. Not really practically useful to think that way. I really do think that you should learn how to code and then use these tools versus the other way around. I think the tools will probably you know
Starting point is 01:09:01 teach you maybe patterns that are odd. You'd be better off building your own style. So that's that. Yeah. And the rest of this is all geared towards programmers who already know how to code. But yeah, so I would explicitly not put in the why category because you don't know how to code. That is not a good reason to use these tools. In my opinion. Yeah. So I had the, well, I guess we can start there maybe and then go down just to kind of make a, a, a structured way to get through it.
Starting point is 01:09:35 So if we start at the, go to your favorite chat agent and ask it to just generate code with a simple, you know, open AI, chat, GPT, Gemini level query, you know, I want an app that is Flappy Bird. You know, maybe that one's actually in the training data. So maybe it actually does reasonable. But if you say, you know, I want high level thing, you know, I think that's the call it the sort of chat interface. And I think to Jason's point, I'm skeptical that will, you know, kind of ever work.
Starting point is 01:10:04 And I right now for sure, I think it doesn't work that well. In my opinion, I'll just sort of make it up, is if you take it one level down from there, you get to sort of, I guess people are calling that like the agentic sort of interaction. And the way that seems to work, or at least the way I've been using that. And then, you know, maybe you can kind of take it from there is that for the Agenda one, you're sort of working together to maybe say like, let's define an outline, like a plan of attack, a software description document,
Starting point is 01:10:36 or, you know, a list of things to sort of say, we're gonna do step A, then step Bs, then step C. To your point, you're not, you are writing English, but you're writing a requirements document. And then you're sort of going back and asking, let's do step one. Let's test it. Let's do step two. Let's say, I have still not had personally good success with this.
Starting point is 01:10:58 It is definitely better than the, you know, just enter a chat. Um, but I, there are tools developing around it. I see Promise here, but today I don't get a lot of benefit from trying to do things this way. Yeah, another reason why... So, you know, okay, I think that, you know, you should know how to code. But, for example, I don't have a lot of experience with go the program language go and I was editing a go file and I needed to do something pretty basic and I can't remember exactly what it was. Let's just say I needed to append to an array very basic and So I just selected a block of code and I said, hey, after this code, can you append this
Starting point is 01:11:46 item to this array? Which like if I knew Go, it would take me like a second. And it said it took me a minute, but I'm kind of learning the language as I go. So I think for like specific things like that, it can work. But I think, yeah, it's very different from like build me a website kind of query. For the example you have I'll you know I think it is helpful for people who aren't doing it if you're already doing you maybe already know but like the example you're giving is actually really useful because it's really hard to find examples of what works so like you said
Starting point is 01:12:22 taking code highlighting it and saying hey, I want to add something new works. I'll say the example I did that is probably among the most sophisticated that surprised me that it straight up just worked the first time and was very effective is we had some sort of test code that I needed a topological traversal through something. And so I was just doing a depth first search. But then I wanted to run it on a data set
Starting point is 01:12:48 that was a lot bigger. And so the depth first search was not working. It wasn't efficient enough. And I needed Dykstra. You write Dykstra all the time. I know how to write Dykstra. I know what it's supposed to look like. It'll take me, what, 15, 20 minutes, you know,
Starting point is 01:13:00 to write it for my data set, to switch it over, test out, probably, you know, C++ has some weird thing around priority queues I can never remember, so I'll have to go look up. It isn't gonna be instantaneous, but it isn't gonna be a whole day either. I highlighted my, if I had asked it, I don't think it would have done well,
Starting point is 01:13:18 but I highlighted the depth first one, which is very fast to write, and it was able to see the API I wanted, the structures, the calling, all of the right moving pieces were there just like in your example. And it got the correct priority queue, the custom sorting function for my structure, all the calls were correct, no hallucination. It literally worked the first time.
Starting point is 01:13:39 It was exactly what I needed and whatever, it took 60 seconds for it to code it up. And, and then I could skim it and tell that it was, you know, generally right. And then had an easy way to test it because I already had the test harness done. And I would say that's the one that blew me away as like sort of the most sophisticated personal experience I had sort of just asking for something and getting it right. And it falls in line with what you're saying. You're highlighting something that has most of the context you want in a compact description, and you're asking for a variation on it.
Starting point is 01:14:09 Yeah, another thing I've done in that vein that works really well is highlighting a block of code and saying, I want this to be its own function. It does really good, because that's actually hard for a person, because you have to go and remember the types, like assuming you're strongly typing things or using type hints, you have to go and remember the types of all these. You have to first know what local variables is this block of code using and not using,
Starting point is 01:14:35 create the function, add those variables. Usually the way I would do it is I create a function with no arguments, paste my code in and then see where the red underscores are and say, okay, let me start adding these. Yeah. And so it was like, let's just let the AI do. So the AI is awesome at that. And okay, as far as like, you know, bigger things, I have asked AI to like, you know,
Starting point is 01:15:01 write a unit test from scratch and it seems to do a decent job. I would say the actual test was not very good. It's like the Sentinel values they chose, and they didn't test all the edge cases, but they got kind of the scaffold up, and I was able to edit it after that. So I will say, I think, and then this is obviously limited to now, and then maybe you know, this is, you know, obviously limited to now.
Starting point is 01:15:25 And then maybe we can, you know, talk more about some of the tools, which I think will evolve as the sort of underlying LLMs evolve and stuff. But the thing that bump up against it may be obvious to people, but wasn't intuitive to me, I guess, like I kind of know it at a conceptual level, but not how it works in practice. But the examples you're saying, the examples I'm saying all share that more or less you can take a whole file or a big portion of a file and have enough information plus knowledge of the standard language to write what you're wanting.
Starting point is 01:15:55 Right? So a unit test is a known concept. How to write a unit test harness in, you know, whatever go or C++ is known, um, in the training data that the model was tuned on. And then giving the context around your function call that you're refactoring or your thing, that's all known. And so what we're staying under here is the context length limit. What doesn't work or hasn't worked for me is anytime you start asking a more wide ranging question in a big code base and say, hey, can you refactor all instances
Starting point is 01:16:27 where this function does this thing and I want it to do that instead. And the reason it falls off a cliff is even cause it sounds the same as this, highlight this code and move it to a function is it doesn't sort of intuitively do the mapping yet of class definitions and all of this stuff. And so then it can't fit it in its context.
Starting point is 01:16:48 So it literally doesn't know about it because it's not in its training data and it's not in its context window. Therefore, it just doesn't exist. And so it ends up generating fake places. It's not sure where it's called and it sort of goes off the rails and you end up having to revert back, which is a big tip, revert back all the code changes it does because it just makes a mess. Yeah, that's a great call out. Like, yeah, if you're going to do anything big,
Starting point is 01:17:13 definitely git commit first so that you can easily undo it. Okay, so we talked about different things we've done with it, why you should learn this if you're not already. We'll jump into how it works. There are several different ways that you could use these tools. The most obvious is the VS Code integration or pick any ID. VS Code is probably there's already some kind of autocomplete there and this just makes it a lot better. You know, the one that they're really pushing,
Starting point is 01:17:53 you know, at Microsoft is Copilot, which is their solution. And Copilot is sort of like an intermediary between you and several different options. So you can actually choose to use Claude or use the Google Gemini or OpenAI, you know, ChachiBT. So CoPilot isn't itself an AI or an LLM, it's just handling that in between step. And so with CoPilot, if you type and you stop typing for a second or two it'll do a suggestion. I think you can also force a suggestion with a key although I don't remember what it is. But if you hit command I then it will open up in place a little chat window. So you can select a block of text, hit
Starting point is 01:18:42 command I and say what is this doing? Like you don't even have to ask something that would require a modification. You can say like, what is this code doing? Or, hey, put this in its own function, or et cetera, et cetera. And it might just talk to you right there in line with the whole dialogue that you could dismiss.
Starting point is 01:19:04 Or it will make some code changes and give you the opportunity to accept or reject its suggestion. The other big way that people are using these tools is through the command line. So Claude code is a command line interface. You basically go to the root of your source code in a terminal, type, I think it's Claude code, and it starts up a little engine, it does some work, and then it gives you this pretty cool cursors-based terminal interface
Starting point is 01:19:42 where you can ask questions, it will show you diffs, it'll apply changes, etc. So that is the other kind of main way that people use it. And there's another sort of access to this which is do you want to run locally or in the cloud? By default, you know, all the tools we just mentioned run in the cloud, however there are open source versions for running either locally or running in your own land. So you know you might have an LLM running in your company on your VPN and you might want to use that instead of all
Starting point is 01:20:19 the public ones. And so for that there's a bunch of options. There's Roo, R-O-O, there's Klein, C-L-I-N-E, there's probably a bunch of other ones. But these ones will run either models locally or at an IP address that you specify. Yeah, so I guess like, tactically, I thought you were gonna pitch your orange pie. That's a great idea. I think a couple of things. If you're going to run it in the cloud, just beware of pricing so you can get surprised bill if you're on a pay-per-usage. So don't just sort of, this happened. So my daughter and one of her cousins, they were like playing around making code and trying to, you know, generate an RPG.
Starting point is 01:21:09 And it said, oh, the best way to do that is just like make an interface that asks chat GPT. And so it was like, here's how to get your chat GPT token and put your token in. And then they were just basically making an app that would have had their chat GPT token in it. And if they had, which they didn't, a credit card associated to their account, and distributed this game, everybody in the world would have just been like hitting their token, right? To like ask, could have been a bad situation.
Starting point is 01:21:39 But to avoid that kind of like surprise billing, I mean, I think you can get subscriptions from a lot of these or, you know, things that tools will help you limit. But I also think it's instructive to run a local one, even if it's not as good, just to kind of understand, you know, what's going on and be familiar with the tooling. And to clarify what Jason said, it isn't that these tools sort of like, I think the open source version of cloud code is AIDER, A-I-D-E-R is the same kind of thing
Starting point is 01:22:10 versus a VS code extension. They won't run your LLM, you run one, you know, yourself in sort of like an engine like Olamma or something else and you download a model, you start up the server and then it sort of talks to your local server. But again, this is great understanding of how these services would work, how you would a model, you start up the server, and then it sort of talks to your local server. But again, this is great understanding of how these services would work,
Starting point is 01:22:28 how you would deploy them, how you would run them locally. And there definitely are coding-tuned models that are reasonably small, run reasonably fast enough for you to sort of like try it, get the experience, and have some of this stuff sort of not cost an arm and a leg. So even on my MacBook Airs, I can run the Quinn, I think it's the 3.5 or 2.5, I guess the Quinn 2.5 Coder tuned one isn't super big. And I can run it locally is fast enough to hook up to one of these things
Starting point is 01:23:01 to sort of get the experience and sort of try it out without any sort of like credit card information needed. Yeah, that makes a ton of sense. Another one that actually just speaking on the financial side, it is in the cloud but it's completely free is Amazon Q. And that's another one to check out if budget is a concern. But as Patrick said, with all these cloud ones, you are uploading your source code to them and so you really have to trust them. And in a corporate setting that might not be an option, but running locally is almost certainly an option.
Starting point is 01:23:39 I have a friend who they don't give them administrator access to their own computer. That to me is like, I feel like I have very few things. You know, I don't need a big monitor. I don't need a desk that goes up and down. I mean, I like having a desk that goes up and down. But if I don't have admin access to my laptop, I think that might be a deal breaker for me. More career advice. If you're looking for a job, it's okay if it's in South Dakota, but you need admin access to your office. Yeah, I would not ask that during the interview.
Starting point is 01:24:17 That was probably, I don't know, it could go either way. At least they know you're serious. At least they know you're serious. On these sort of interfaces, sort of like chatting, highlight selection, tab completion, which one would you say is where you think today, if you could only have one of them, which one do you think delivers the most value, like where we are sitting in June of 2025? I mean, definitely the tab completion. You know, I think that, uh, at least in Python, it's really, really good.
Starting point is 01:24:50 Um, you know, often like I only have to type the first part of a line, then hit tab and you get the rest of the line for free. Um, so it's one, it's, it's hard. It's a hard question to answer because. You know, the, the answer because you know the the select You know command I thing does bigger has bigger impact like the one you talked about. I had a similar one where Oh, this is kind of interesting. So I needed to do actually also a shortest path, but the problem was
Starting point is 01:25:22 It was not the shortest path to a destination. It was actually the shortest path to a set of destinations. And the network X library in Python doesn't have that as an option. You have to do either point to point, or you can do Floyd Warsaw, which gives you all shortest paths that would take like a year or something. So it wasn't an option. as a pass that would take like a year or something so it wasn't an option so um so what what chat gbt suggested is like why don't you make another node and have all your goal nodes point to that node with like a zero weight edge and then you could do point to point and i was like that's
Starting point is 01:26:01 smart i was like can you do it for me and it it's like sure yeah so that is like uh that was an amazing experience right so like I feel like it's kind of apples and oranges because the tab completion makes me 10 20 percent faster but the but the um but the command i thing is kind of magical. So okay I yeah I'm both I agree with you I think is kind of magical. So, okay. Yeah, I agree with you. I think the tab completion and a little bit the highlight thing, but I think my point there, which I agree with you, today, that's where I'm getting, I think, the most speed up,
Starting point is 01:26:35 which is sort of unexpected because it's not the key sort of demonstrable thing if you go to these websites. Like that's not what they're pitching. They're all pitching the, you tell it a high level thing and it generates magic code for you. Like that's the dream, but that's not the reality of like where I'm seeing like usefulness today
Starting point is 01:26:53 for a variety of reasons. And I think that's partly because of what we said, it's, you know, we're already coders, we're already in there, we don't want massive things that we can't review. And then you end up with this, I always think this is funny. I type English to the LLM and it generates a bunch of code, but it's too much code for
Starting point is 01:27:07 the reviewers to look at. So they grab all the code and ask the LLM to make English summary. And so it's just like a really inefficient transport mechanism. Wouldn't it be better if we just shared the like, anyways, it's a side, side, side, you know, ideation. But, but to your point about asking chat JVT, I think this is another really interesting thing that is very useful.
Starting point is 01:27:29 We sort of surprised that, but some things like those you're saying, I actually knew about that trick because you can find it in Stack Overflow or Google, which isn't that much different, but perhaps a more interesting sort of way of doing that. But those question asking things are really clutch when they come in. But I also think that's where when you get off of where there's open source or high level stuff and into
Starting point is 01:27:52 details about like, you know, the specifics of the kind of work that I do, or I'm sure some of the specifics of work you do, which isn't in open source, it's not in libraries, it's not common, you know, or you have some particular algorithm that's magic sauce to your stuff. None of that works. Like it all falls off the rails. It has no clue. It can't answer questions. It's too obscure and too detailed. And this is where, to your point, like domain experts either need to be trained or, you know, hired to really do that work. So like in your example, so talking about the future here, in your example where you said, hey, I need a Dykstra's, right, I have a DFS and you have Dykstra's. Like, couldn't you imagine, could you imagine a feature where, you know, in source
Starting point is 01:28:38 control, it's just that question. Like in source control is just like, hey, I need something. It's kind of like this DFS, but Dykstra is both the same API. And you check in that like one line text file. And then over time, it just gets better and better. Right, right. And if there's like a change to the language, you know, or something, you wouldn't have to worry about it. I mean, I think that's what optimizing compilers are more or less already doing. Right. You're writing a high level thing or the JIT in Python or whatever, right? Like you're writing a high level thing.
Starting point is 01:29:12 It's examining it at runtime and deciding the op codes to run on the processor. Yeah. Yeah. I think, I think that makes sense. I think, um, I think the, so then what people do, right, is they take it to his logical limit and they say, okay, well, and the logical limit there is your whole source control is really just text prompts, but I think the problem is. Um, that might be, that might happen, but it's going to be really, really far
Starting point is 01:29:44 from now and people are selling it as if it's going to be really, really far from now. And people are selling it as if it's today. And so that's a bit of snake oil. Yeah. I think you get, and it's hard for me to expand upon, but when you ask for those higher level things, like where you get functions calling other functions and you just don't end up with all of the software engineering, which maybe one day is okay, but for now it's very difficult to maintain the code because you don't end up with good principles applied. It looks like
Starting point is 01:30:10 someone who sort of read the handbook on how to write Python, but they don't really know how to write it yet. So we sometimes bump into this with entry-level new hires. They'll just write spaghetti code as an example. And it's like, no, no, no, you can't do that. Like, but why? Well, because you're not writing it once, you're writing it more than once. Well, but you've never written it more than once. You don't know that, right?
Starting point is 01:30:33 Yeah. So I think these kinds of things are missing, but maybe they'll get better. I don't believe it's a static answer. Yep, yep, that makes sense. Okay, a couple of details here. If you are using Copilot, turn on the experimental mode. That basically gives you all the features of Cursor.
Starting point is 01:30:56 So, Cursor is interesting. It's a very successful company, or at least they've raised a lot of money and they have a high valuation. And the thing that they forked VS code and the thing that they did that was unique was that part of the tab completion there's also instructions to do jumps. So for example, let's say you rename a variable and you need to rename it in like 10 other places and for whatever reason you don't use find replace. It will actually jump to the you rename a variable and you need to rename it in like 10 other places and for whatever
Starting point is 01:31:25 reason you don't use find replace. It will actually jump to the next place that variables used. I think it could even jump to other files. It does that through like a tab on the right. But, but you know, it's like, it's a more holistic versus just auto complete where you're at, like it'll auto complete somewhere else. And and copilot with experimental mode does the same thing. Uh, people ask like, Oh, why did cursor, you know, do this and co-pilot didn't.
Starting point is 01:31:53 And the answer is they had it. They have it in the experimental mode. They're just not fast enough, which is kind of interesting. Uh, you know, rolling it out. Um, but, uh, you know, cursor is another way to go. And it's a little different experience because you're kind of jumping around when you hit tab. So you basically hit tab once to jump to the location
Starting point is 01:32:18 and then tab again to actually execute the auto-complete. They can get a little confusing because if the auto-complete is right there at the cursor, it's only one tab, otherwise it's two tabs, but you get used to it. You could even do the one tab to get you there and then change what the auto-complete wants to do slightly, et cetera.
Starting point is 01:32:39 You got me thinking with that is, you're talking about almost like a new paradigm, right? So you start with just a new paradigm, right? So you start with just a text editor, then we end up with more of an IDE, an integrated development environment where you can run code and do debugging and it's like all built in. And then what you're talking about is sort of like a large but incremental step further where like, you know, today you would be very frustrated if you were getting jumped around
Starting point is 01:33:03 files but you're kind of a different view, a sort of guided, you're sort of working together with somebody else to move through the code in a way. And I wonder if that's part of the missing link for doing these sort of larger code block things is having it to where, I guess it's just CPU and eventually it'll get faster or just GPU. But, but not just generating the code, but also giving you like generating
Starting point is 01:33:30 sample data coming in, sample data coming out, and then offering you, do you want to adjust the sample data for you might, you could do that with the unit test, right? But you're not going to go write unit tests. Like that's too much thrashing back and forth, back and forth. But if you imagine almost an interactive, here's a block of code flow I wrote. Here's how data comes in. Here's how data comes out.
Starting point is 01:33:50 I've compiled it. I've run it, you know, to show this is what's actually happening and actually kind of rotating around. Like you said a bit, you have your text prompts, but then you also have the code and the output as sort of a, just a fundamentally different paradigm of how you interact with it. I don't know how to go build that, but I wonder if, like you're saying,
Starting point is 01:34:11 if we're sort of seeing the beginnings of that, this sort of extension, first you're trying to integrate where we're at, and then you're trying to go past, right? You're trying to come to the next level thing where it's not just a blind text box, it's a cooperative way of doing programming with a much more powerful. Tool plus compiler.
Starting point is 01:34:32 Yeah. Yeah, totally. Um, but that doesn't help anyone you're doing, you're doing actual actual tools. Sorry. No, it's fine. No. One other thing that, that I think is getting more popular are having these tools try to improve your code base.
Starting point is 01:34:48 So it's like every day they ask it like, hey, what can we do to make this code better? And then it auto generates a PR. There's been some really funny situations with that. But I mean, some of these things were like, if half the time you just close the PR and the other half of the time it's good that's still fine like you didn't really waste that much time on the 50% that weren't useful so so yeah I think that's another direction things could go in so call to action here is pretty clear I mean you should try these tools for so many different reasons. If your company doesn't allow it, you can
Starting point is 01:35:25 run the tool locally. It won't be as good, but still pretty good. If the company doesn't allow you to run it locally, we told you what to do. You got to find that company in South Dakota that will let you run it. Yeah, you work at the potato chip factory. That's what your advice was. That's right. Yeah, go work for the potato chip factory. Um, but, uh, you know, there's really no excuse for not trying these tools out, becoming adept at them. And I think you should advertise when you are adept at them because it does, it is for now a differentiator.
Starting point is 01:35:58 Another episode. Another episode, another father's day. Um, did you, uh, did you spend time with your father on father's day? You did? Yeah, me too. It was kind of nice. It's like a, I guess it's like a father's square day for them. A grandfather's day.
Starting point is 01:36:18 What? Yeah. No, I'm just kidding. Yes. Pretty mind blowing. No, we did. We did. I hope everyone out there had a great weekend, whether you, whatever you did that weekend.
Starting point is 01:36:27 I hope everyone's having a good time out there. I really appreciate the feedback. We got some emails, some Discord messages about how to get a job. And so that inspired us to spend a good 20 minutes talking about it. So your feedback, your questions, your emails, your follows on Twitter that I don't get.
Starting point is 01:36:46 All of that is greatly appreciated. And we do take it seriously and we've made all episodes, parts of episodes based on that. We're here to try and help you all out as much as we can. Thanks everyone. Catch y'all later. Music by Eric Barndaler Programming Throwdown is distributed under a Creative Commons Attribution Share-Alike 2.0 license. You are free to share, copy, distribute,
Starting point is 01:37:25 transmit the work, to remix, adapt the work, but you must provide attribution to Patrick and I and share alike in kind.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.