mergeconflict324 === [00:00:00] James: Hey Frank today, I wanna talk about something near and dear to your heart, which is AI. [00:00:15] Frank: Ooh, my favorite subject. What are we talking about? James? I'm so excited. [00:00:19] James: Oh, I wanna talk about a new topic that we've talked about before. So I guess it's an old topic, but we've actually had time now for you specifically to have a lot of hands on experience, which is [00:00:30] Frank: co-pilot. Ooh. I love it. Yes, yes. Okay. This is my favorite AI by far because I use it every day and every day I use it. I smile a big, big smile. so cool. Uh, recap episode, um, looking back, was it worth it, all that I'm curious because I've been hooked on it, but I think you were saying you're not quite so hooked on it. So I'm really interested in getting your perspective. [00:00:57] James: So here's my problem. And the reason I'm not hooked on it is because while I have it installed, I have it turned off and I, I that's work. Okay. So it doesn't work. So I, I think I just haven't experienced anything yet. Okay. And the reason I had turned it off, so I installed it originally in vs. Uh, on windows like vs uh, the main line vs not vs code. I had it in vs code and I mostly use visual studio on windows for most of my development, but the reason I turned it off is because I do a lot of coding, uh, for presentations and for videos and, oh, and I didn't wanna have it on to sort of mess with my role because half the time, uh, you know, in Telecode and full line completion. It writes the code for me. So I, I was, I was doing a workshop recently and I was going through my code in my workshop and I'm typing my code and I'm just hitting tab because visual studio yeah. Is just literally full line, completing everything. And I was like, I don't even have to do anything. It's implementing my interfaces. And of course I'm blown away cuz it's so good. The full line completion. I, I was scared to turn on GitHub co-pilot because if I'm doing a workshop, I don't want it to automatically start writing all my code for me, which, which would be really fun and cool for it to go through. But I was always, I was always worried that, that it would, it would try to do something and rather mess up my demo, or it would do the right thing and write the right. And then it would kind of confuse people. And I didn't wanna show, you know, I never wanna have extensions on when I'm doing those demos. So what ends up happening is I forget to Reen enable those things. So if it's not in the box and on by default, I'm most likely haven't actually use it. So I've been missing out on this sort of. [00:02:51] Frank: Experience have you, have you, you know, it's funny that here's the problem. I don't use Intel code. Uh, I don't have, uh, awesome via, uh, uh, windows visual studio to use it on and it's not on the Mac. So I have zero experience with Intel code, but I found it pretty interesting that what you said was the most beneficial part of it is the full line completion. And that's what I. My biggest benefit from co-pilot is also that feature. Mm. You were saying that you're worried about it generating a whole bucket of code or something like that. Yeah. And honestly it does. And I always hate it when it does that, because I really love the single line completion aspect, because it's really good at guessing what you want, but it's never, you know, a hundred percent, right. Uh, sometimes it's single line, it's almost always right. But filling out, you. 10 lines of code or 50 lines of code it's, it's gonna do something a tiny bit different than the way you want it to. And so I actually really prefer, this is something maybe it's personal, maybe other people work different ways, but I really prefer the single line completion version of it. I guess there are two modes that I've enjoyed. So single on completion that is 99% of the time what I'm doing, but sometimes. if there's like a whole bunch of boiler point code, I do do that thing where you put a comment in and you're like, here's a function that does this and that. And parses a string and pulls this out. And here's an example of that string. And then I just hit new line and I hope I cross my fingers and the magic AI will fill in like the entire function. But it's funny though, that is definitely more rare than. Doing the boiler play. I swear to you 99% time. It's just adding a semicolon to the end of the end of the line because I I'm in a sharp programmer. I always forget those semicolons [00:04:50] James: is it, is it very clear because there's because there's in inte sense. In Telecode and then there's COPI now in Telecode I'm pretty sure. And Telecode is, is like the recommendation engine. Right? So if you have in tele sense, it'll give you little stars, but then it also does I'm wanna look up. I wanna really make its sense. Right? Cause Intel sense is. Been with us forever, [00:05:12] Frank: correct? Yeah. Yeah. I, I think I can summarize it. Um, Intel sense is kind of looking at the metadata, all the declarations in your code, and they're looking at the exact expression that you're typing and they're figuring out the data types and they're using the data types to look up members and all of that. That's great. Um, the problem is that list got kind of big somewhere around.net two or three. And so we needed to start sorting that list. And that's something, I think that that was also called Intel code at one point, but very quickly, Intel code became much smarter than that and would actually do some predictive, um, fill in the blank, not just. Try to guess, which one of the APIs you actually wanna do? [00:05:57] James: Yeah. I'm looking here at, well, the, the in Telecode documentation and there's yeah. Whole line completions, which does kind of what it sounds like. It, it attempts to, um, Do whole line completions. So it's like I start writing if, and then it'll try to figure out based on the additional context, context. Yeah. What it is. So, for example, let's say you had a method that was, that passed in a file and you did, if it might do like file dot exist and like, try to fill that in or file does not equals equals dollar or whatever, it's just kind of like doing it. Mm-hmm so that's one thing. The other thing is just suggestions, right? It tries to do like smart suggestions for what you might do next. Um, in, in, in general. So I might recommend, Hey, like, you know, most people after this. Do this, or they might use this next piece of SAML or something like that. And then there's other things like you can do full models. Like you can run like a model on your code and you can then do a little bit deeper inside of it as well. And there's not anything for Mac I thought in tele code did was on Mac. No, [00:07:02] Frank: I think they keep teasing us. And saying it's coming, but as far as I know, it's not here. Um, we, we just got the Intel sense happening. So on Mac, if you have vs code, you can use co-pilot. That's how I use it. If you have rider, you can use co-pilot unfortunately, visual studio for Mac does not support it. So I have to switch over to code whenever I want to use it. But, you know, that's okay. , it's fine. Got it. Um, yeah, you , it's funny. I like, uh, I, I looking back at how I actually use it. I, I guess I'm being a little short by saying I just use it for the line completion because I remember I typed like a whole algorithm. Like I have a. They're aligned, defined by two other points. And I need the distance between the point and the line, and it can pull out those whole algorithms. Do you know if, uh, Intel code is capable of that kind of stuff? [00:07:59] James: I it'll, it will pick out stuff from like the, what else is happening inside of your context of your context? Yeah. So it's context aware, but only for the next line. So for example, if you have a, a method, this is my assumption, right? Mm-hmm is I have a method that's called like download file from the internet. It takes in a file. GitHub. Copilot will attempt to. Write all of the code to do that in your specific language where sometimes too much oh yeah. Where like in Telecode I would start typing if, and it would recommend, Hey, based on what other people do. Yeah. This is normally what would happen next, but only for that line, it's not gonna like write your whole thing. Then you might go into the next one and they might, so again, you might be just tabbing a lot, cuz it's, it ends up writing your whole thing for you. Whereas get up. COPIs like, Hey, and here's what, here's what you want to do based on. What you're writing and what you're passing in context wise. [00:08:59] Frank: Yeah, I, I still do it the line by line Tabby Tabby, but sometimes it'll just recommend a whole lot. It's funny. Um, uh, I'm really bad at pronouncing his name. So I'm just gonna say Chris, from the F sharp community, if Chris from the Sharf community is listening, they know who they are. your, name's really hard to say. And , you know, I've tried, um, Uh, they were the ones responsible for writing the copilot UI code. So the, the UI is not exactly like Intel senses cause Intel sense would pop up a window and then you would a big selection box and you would choose the thing. Uh, copilot fills in a bunch of text and it's more just kind of temporary there until you hit the tab button and go through it. And he was remarking on Twitter. Everyone who's implemented a code prediction engine has basically stolen his UI because it just worked out to be really wonderful that that satisfaction of just tapping that tab button and then every so often going back, like, no, no, no, you overshot your bounds. You know, that, that wasn't good enough, but I want to give, um, Christopher, the F sharp community. And I apologize for not saying your full name. Uh, all the. Credit in the world for developing a really good UI for that one. I totally plan on stealing for continuous. [00:10:16] James: Nice. Yeah. It, it makes sense. Yeah. I mean, I guess that's the other question is have you found, cuz you also went, we talked about it previously. We, you went through a lot of testing, a lot of other co-pilot code generators as well. Like you obviously now have it and you're using it, which is fantastic. Are you finding it beneficial? Do you think it's. Helping you write more efficient code, better code, faster code. Like what is the, the ups and, and downs, cuz this not only applies to copilot, it probably applies to Intel code and inte sense. Yeah. And anything else that's out there too, right? Because I think the big fear when copilot came out was the computer is gonna take our jobs. Like, you know, oh, we're going back to the sixties and we're not gonna be able to have developers anymore. Cuz computers will write all the code. Like that'll happen one day. Maybe. Maybe not. Yeah. I don't know. Doesn't sound like we're there yet? [00:11:09] Frank: No, we're not there yet. Nope. um, but I, I could see it happening. You know, the, the we've always been trying to get user programmable software, and this seems like the best way so far to get user programmable software, but our programmer going away anytime N now no, uh, what it is is a fantastic, um, Pilot, what a good name. that is, it's a [00:11:33] James: great name. It, it defines exactly what [00:11:37] Frank: yeah. Yeah. cause it really is just a really good assistant. So does it make me write better code? Yes. Yes, absolutely. Um, here's something. Odd that I've discovered with it. Oftentimes there's a lot of blah, blah, blah, that we have to put in our code. Mm-hmm that I've written a thousand times. I've written a for loop, a billion zillion times in my lifetime. I've written classes, a billion zillion times in my lifetime. And honestly it gets. Tedious and tiring, and it kind of SAPs out a little bit of the fun in programming. Like I might have this cool algorithm in my head and I get it working, but I never write the, um, file saving code, you know, like, uh, I never make it load the data again. And therefore the app comes up blank every time or something like that. And. What I found is because copilot is so, has so much zeal for writing, blah, blah, blah code . I just have to tell it like, uh, and this function, serializes all that data up there into Jason and. Throws it out into a file and then it writes that function. I'm just like, oh, thank God. I didn't have to write that. You know, I'm just so tired of serializing things to Jason and bringing him back up it's and it turns out that all that. Bookkeeping code is it's that 80% of the code that none of us really wanna write. And it's the 20% of the code is fun. The, the actual algorithmic park, the one that's doing the heavy lift, but there's just so much junk involved in writing a modern app and getting things done. And I found. It's even better than like a typing efficiency. It's a mental efficiency. I don't have to bother myself with, um, how am I gonna serialize this data? Well, you know what, I'm gonna let copilot decide how I'm gonna serialize that data. Oh, you decided to use Jason. I approve of that choice. Copilot let's move on. So I would say that that's been my. Biggest takeaway from it is I'm more willing to write the garbage code, cuz I don't have to write the garbage code. I let copilot do [00:13:45] James: it. Yeah. I'm so I did, while you were talking, I installed copilot and I was running through the demos and oh yeah. It's I, I mean my mind is kind. Boggled in every single possible way. Cause like, not only does it write like, so there is just very something simple, which is like X document load. And then you're just like loading like an XML or whatever. And it's like, you just write a comment and it's like find all images. Cause I understand the idea, like when I do full line completion with in tele code, it's looking at the context and I'm I'm writing code. Yeah. And then it is trying to figure out what I'm gonna do next or based on recommendations. As on a series of things, but this is very fascinating because not only does it do that and it writes the whole method, but it can say find all images and then it's reading your comment. And then it's going to try to understand what I'm doing. [00:14:41] Frank: Right? It's reading your comment. It's reading code that you've previously typed. It's looking at all your file names. It's looking at your project structure. It's actually a little unclear how much it's looking at, but it's looking at a lot. It's not just looking at one line above or anything. It has a wonderful context. Uh, I haven't been able to figure out exactly what its context is. yeah, but it's, it's very smart. Um, again, it's almost like two modes. So I do the Intel code line completion. I love that, but it is nice having it be able to do that comment trick. [00:15:15] James: Like I just wrote a line of code. That's says I created a new H CTP client, and then I waited. So I did, this is what I did folks. Two lines of. VAR client equals new HCB client. We've all done it a hundred times. Mm-hmm then I said, VAR JSON, right? Cause I'm gonna download a string from the internet. I said, client, get string async Monte commander.com/monkeys do JSON. And then I just hit new line and then it, it wrote VAR monkeys equals JSON convert, D object list of monkey and passes the JS O. And that doesn't make any sense to me because how do I even have like a monkey? Like how did it new? Like, I mean, I understood that it knew that it needed a monkey. [00:16:01] Frank: Yeah. Uh, well, it knows English and to know English, you have to understand relationships between words to understand relationships between words. You have to have a general concept of thisness and objectivity and it learns, it learns whatever, you know, we don't have the right vocabulary to describe what these things are doing. There's giant pattern mattress, super pattern mattress, and yeah, it figures that stuff. And that's, that's easy mode. It can do better. It can do more like honestly, it's, um, I dos documents, UI documents a lot, and that requires serialization. I'm always just like, I don't know, man, just serialize this stuff. I don't care how I don't care where you put it, pick your format and it just does it. Yeah. Fun. Yeah. [00:16:47] James: It's, it's really kind of bananas in general. I do. I do feel like the examples that they gave too, or at least one of them was documents and files. And that to me makes a lot of, a lot of sense because yeah. Or even doing like JSI type of stuff or, you know, looking at things like, oh, that makes a lot of sense. I'm looking for a thing in this document. We've all done it a thousand times or an attribute or something like that. Yeah. The question is that class hurricane. Yeah, the class. Is it, is it, um, Is it doing the, is it doing the right stuff? Like, you know, because I feel like within Telecode I'm not gonna lie. I feel as though, you know, 80% of the time it writes the code a hundred percent of the time it writes code that's valid. Yeah. But 80% of the time it writes code that's like new modern C sharp and tactically corrupt. Right? Like it's not always doing is NA or it's not always. Giving me the pattern match by defaults. I need to go like, you know, flip around and do a thing. Yeah. Which makes sense. Right. It's like, you know, it can only be so smart and it's, you know, it doesn't, it does, you know, in general, but what's the accuracy of like the code you written in just that term? Let's say like, let's say that the logic is correct. What about the syntax sugar? That's on that? [00:18:03] Frank: Well, I'm gonna preface this with I don't care. Okay. It wrote the code. It's correct. I'm I'm not one of those. I'm using C sharp 10. Therefore, every I have to code golf, everything. Mm-hmm if it wants to use C sharp one syntax, you know what. I can read that just fine. I don't feel any need for it to push the standard or anything like that. So I'll say it doesn't even try, um, because this is a giant pattern, matcher trained on code. It's gonna write in the style that it's seen most frequently. So it probably will use longer versions for properties than what you could probably get away with in C sharp 10, but a really good feature is all those, uh, refactoring tools still work just fine. So you let copilot do its thing and then maybe you hit a few refactoring buttons, a few rename, um, maybe yeah. You know, You can have fun, reformatting it, however you want. But in general, I just don't care, man. I just, I just want it to work and I want it to be readable. I care more about readable than using the latest syntax or anything. And yet it's still pretty good at picking up the latest syntax. I've learned syntax things from it. I'm like, oh, I didn't know. You could do that. cause other people knew you could do that, but I didn't know. You could do that. So pretty cool. Oh, [00:19:16] James: nice. I, I like that. Um, it's also very like with in Telecode and COPI, there's like in these visual studio, there's like little tiny buttons and you can like, just turn it on and turn it off, like with, with a button click too. So, yeah, [00:19:29] Frank: it's kinda nice. Uh, so going back to big mind blowing things, um, I wanna say my. The next thing I appreciate a lot from it is when I'm in a language that I'm not used to. Ooh. So I do a lot of Python programming because I like to do neural nets and it's all in Python but it's, it's definitely not my best known language. And it's wonderful to have co-pilot filling in the syntax stuff that I don't really know. I can never quite remember how initializers are supposed to work in Python classes and little details like that. Like what is the getter syntax and things like that. And it just does all that for you because it's syntax is trivial for these kinds of programs. And so it just, it writes and it it's a fun distinction within tele code because it's not guaranteed actually to be synt tactically, correct code it's synt tactically, correct. Code 99% of the time. yeah, but just from its nature, it's not guaranteed. Um, and, uh, for, for languages, it knows really well, like Python and JavaScript. Um, it's gonna be fine for C sharp. It's absolutely fine. Uh, for a language like F sharp though. mm. It quite often makes mistakes because it does not have as good a understanding of F sharp as it does the other languages. And so quite often it'll actually make a syntax error in F sharp, but it's usually kind of. Acute fun syntax that you're like, oh, I see what you did there. And then you just go fix it. It's fine. Uh, but that is funny. It, it it's downside is that it's, um, trained on data, but you know, it's, it's an upside too. We've just gotta throw more F sharp code at it next time. Next time they train it. Yeah. I guess [00:21:16] James: the, the other question that will be really fascinating as GitHub co-pilot and other things progress is as more code becomes available and as more folks. Write more modern code, right? Like, you know, as C, 10 and C 11 becomes more mainstream and more that's pushed to get up and all this other stuff, I assume that that means that these models, cause it is, it, it is, it's not doing the models locally, right? It's doing the models. No, in the [00:21:42] Frank: cloud. Right. I, I would love to do 'em locally and that's what I'm trying to do with continuous. But, um, computers are still a bit slow. You'd be amazed at what machines they're running this thing on how much money they're spending to make it as fast as it is. So companies like I keep saying Facebook and I really hope it's Facebook. They have a neural network called in coder and it's one, you can go download and you can just run it on your machine. But what you'll notice is it fills in words kind of like one. Word at mm-hmm a time it's, it's just not as fast as those servers. Um, not to say in the future, when we get more specialized hardware for running neural networks, which is totally gonna happen, you know, more TPUs are gonna be coming down on computers perhaps in the future. These networks will be more local, but, and, and there are services out there. Uh, we're forgetting companies. I apologize to everyone screaming at the podcast right now. I know there are many vendors for these things. Now it's become, it's become an industry. Um, but I would say the general, general program or computer out there, it's pretty slow for running these. Got it. That [00:22:56] James: makes sense. That makes sense. Yeah. That that's really fascinating to think about too. And also you'd also need some relatively large model a as well. Yeah. And then you'd need to maybe download a model for every programming language and all the different things that are with it [00:23:09] Frank: too. Well, it's kind of fun. Um, we don't have to go into the details, but those, those are the kind of optimization tricks you can do later. Like copilot right now. Is trained down a million different languages and it's a giant model and it's fantastic. You can definitely make the model smaller by narrowing it down, have an F sharp only model a C sharp only model things like that. That's what I'm hoping to do with continuous and just make the model a little smaller. So it contains less information. Uh, these, we we'll find the fine point, you know, I, I think colo. Pretty darned good right now. I don't really see a need for it to get dramatically better. So I think it's gonna be incremental probably for the next five years. And it's just gonna be these networks getting bigger and bigger. I wanna say, uh, going back to using them for other programming languages. When I was writing all that JavaScript code to run that translation network that we talked about on the show. I, I don't do modern JavaScript I, I, I know, I know JavaScript. I, I can write the JavaScript, but it was hilarious watching copilot helped me write that code because I'm like, oh, I didn't know. JavaScript could do that now. Oh, look at that. It has actual loops. Oh my gosh. Capture variables. oh, you've really grown up JavaScript. Uh, so I just wanna reinforce the fact that, um, copilots such a wonderful learning tool. If you're, uh, find yourself in a new programming language. [00:24:34] James: That's a really great point too, because whereas if, if you were just getting started with a programming language and, uh, you. Um, could just write comments, right? I think that's the other nice advantage here of co-founder or something like ch Jenny, you like kind of tell it what you want it to do or what you want it to code mm-hmm and then it kind of does it, and that's a really magical moment. So that's a, that's a nice thing. I didn't even think about that in general. Cause I, I have been, I have had instances in where I needed to write, uh, Python code as well. Python, Azure function. Mm-hmm and I was pretty lost because here's the amount of times I've written, uh, Python codes on my. That's just a fist. There's zero. Is that a one? Well, it's one cause I, yeah, I actually called up Seth Juez and I said, Hey, Seth, uh, can you help me write this? Can you help me write [00:25:22] Frank: this Python? Cause I don't know [00:25:23] James: what I'm doing, uh, in general, but to your point, right, it kind of is that it can be that nice onboarding experience to, if you were opening a project or needed to do something, it could give you some basic building blocks to get off. Yeah. To get you. [00:25:40] Frank: Okay. So I've said, I, I like it for the mental ease. It gives me, I, I don't have, I don't wanna write serialization code so it can just do it for me. That's wonderful. I've mentioned it's great for learning, but it's also it's knowledge base is quite impressive sometimes. So you were impressed. It went from monkey to monkeys. And I brought up the one where I said, I need a point line intersection, but I can do more advanced things than that. When I was again, writing that, um, translation, JavaScript library, there's a really, uh, there's a data structure. You build up a tree, it's a certain way to tree. It's kind of like a binary tree. You walk up and down the tree looking for different things. And I just wrote the class name for it, you know, no comments or I then describe it. I just wrote the class name, put a bracket in and it filled in the entire tree. Wow. I was like, oh boy. . And the, the, and the, the trick is it. Wasn't. A hundred million percent correct. Because it didn't have enough context to know exactly how I wanted to, to use the trees. Mm-hmm I still had to go back and modify things and all that, but I found it to be a wonderful resource of knowledge, things that I used to Google. So like, I don't Google APIs anymore. Generally. It's able to guess the correct APIs and I'm finding, I have to Google concepts. Less I'll just write in use oiler equation and it'll write out oiler equation for me. Wow. And I, I love that as a giant nerd techy engineer, nerd, I love having all that information right at my fingertips. [00:27:22] James: That was really neat. I think that's a cool use case for it, uh, as well. Yeah, I'm I'm, I'm gonna flip it on. I'll flip on the bit. That's my plan flip on the bit and then give it a go. [00:27:33] Frank: Oh, uh, sorry. I, I can just go on old day, James, stop me when you get bored. I wanted to go back to, uh, what you were saying about programming languages. I have a sneaking suspicion that these kind of networks are actually gonna stall. Programming language development. Mm. I think what we're gonna want our language, um, our languages that are easy for it to learn from our languages that are it's good at outputting. And I think that the more we use these kinds of things, they're. Gonna slow down, changes in languages because a, they won't be necessary. Programming languages at their core fundamental are pattern matches. They're taking a set of code that everyone writes and they try to simplify it down into simpler syntax. But if something's just outputting the longer version of that syntax, and it's fine and it's readable and it's good. There's no need to make it shorter. There's no need to code golf. Like code golfing is. The antithesis of all of this, it's gonna write it out clearly and plainly, and I think that all the programming languages, that code golf, , I'm sorry to keep using that term, but that pride themselves on look how short you can write this idea down. I. I think they're just gonna be less useful and we're not gonna need that kind of stuff in the future because it just won't be necessary because we'll have more advanced text editors that will output the, the junk, the stuff we don't feel like typing. Yeah. [00:29:03] James: That's sort of the dream. And I feel like it's been, you know, with into sense first, which is why I fell in love with visual studio really early on mm-hmm and then in tele code. And now with copilot, I, I feel like that that furthers the journey of, of, of let me write less [00:29:18] Frank: stuff. Yeah, and we can't confuse, you are running less stuff, but maybe your code got bigger and maybe that's an okay. Trade off, maybe all this don't repeat yourself stuff. Maybe it wasn't great advice, but we'll find out. [00:29:34] James: We will find out. All right. Well, I like this revisit of, uh, topics, you know, not none that we've done a lot, but you know, we talked about it early on. Right. We didn't have a hands on experience for months like you've had, so it's kind of good to get this real world. co-PI. Experience down because when you try something for the very first day. Oh, okay, cool. But actually using it is very D. [00:29:55] Frank: Yeah. And I, I think I made this joke on Twitter. When I go into an editor that doesn't support copilot. It's so awkward, I'll just type something. And I'll pause because I'm waiting for a copilot to fill in. I'm like, oh gosh, darn it. This app doesn't have copilot. And so that's how I know I've actually fully converted. [00:30:12] James: There you go. Yeah, I've done that with, with even in teleco. I can't even okay. Flipping it on I'll report back for our next next update where James completely doesn't write any code at all. Well, Frank, thank you for walking down memory lane with me here and giving me a nice little update. And, um, this has been fun. You know, our, our podcast has always been, uh, a joy and hopefully all of our listeners are enjoying it. If you do, and you happen to be on an iPhone right now, you know, it would be really cool is you, you could actually write us a review. We haven't had a review written for the show. In over a year because no one really writes podcast reviews. Yeah. Yeah. I never write 'em. We used to ask for them. And when we did people wrote reviews, so we have at least in the us 82 us reviews a 4.9 outta five. That's pretty dang good. That's really good. Thanks everyone. You can leave a rating, but you can also write a review and both of those are great. If we can hit a hundred before the end of the year, I will go head over heel. And I will read some of those back on the podcast. And you can, there's a link in the show notes to actually just open up the apple podcast app. Boom, go there. I think you can also review it on Spotify, but I, I don't use Spotify, but , I don't, I don't even use apple podcast, but that is the place where most of our listeners are at. So I know there's, there's, there's thousands upon thousands of you that are listening right now. To this podcast and we would love it. If you could go in and lead us review, I don't ask for much, but [00:31:31] Frank: I love that that that's a reasonable goal. Let let's hit a hundred by the end of the year, [00:31:35] James: fun, hit a hundred, at least in the us. And then we'll do a global goal. Once I figure out how to log into the podcast portal and go from there. How's that sound? Okay. Cool. [00:31:45] Frank: Sounds awesome. [00:31:46] James: Awesome. Well, thanks everyone for listening. Uh, let us know what your experience is of, uh, co-pilot you put that in the, put that in the comment, right? Or, or, uh, send us an email merge conflict. Dom, there's a little contact button there, or you can hit up on Twitter. All of our contact information is right there on the website, but I was gonna do it for this week. Merge conflict. So until next. I'm James Monte Magno and [00:32:07] Frank: I'm Frank Kruger. Thanks for listening. Peace.