mergeconflict295 === [00:00:00] James: Frank, Frank, Frank, Frank, I swear as developers that have been developing for these devices for the last decade. Plus there seems to always be a problem, Frank. Oh, [00:00:24] Frank: yeah. I mean, that is the terrible life of a software developer. We are creating problems for ourselves and dealing with other problems, suffered developers created for us. It's never ending James. It's never [00:00:37] James: ending. It's never ending because things continue to move and new APIs continue to emerge now. We talked on the very, very long-winded podcast about in-app subscriptions, how there's a new, a beautiful, a spectacular elegant API for making purchases with iOS, but it's only available on iOS 15 and. In swift. [00:01:09] Frank: It's crazy. Huh? Um, okay. The it's only available on iOS 15. That is classic apple. Uh, they do not support old operating systems. So I think we've all gotten used to that, but I feel bad. I kind of wish apple had a different policy because. Speaking as app developers, it takes us years to adopt new features because it's just not worth breaking compatibility with old feet or platforms. Lots of people are stuck with all devices and they're stuck at certain operating system versions. And we don't want to drop the support for those users. Uh, the, the swift only, now that's a shock. That's a, that's a whole different ball game. Um, that is a strange of them because I was kind of digging the wonderful world that we had going on there with everything was still written in an objective C uh, I'm a little worried for like Xamarin support and all that, but, uh, Fortunately, the old API is still working. I'll keep using that, I guess. Yeah. [00:02:14] James: So that's the thing I really wanted to talk about today is, you know, for all the complaints I've had over the years of Android and the Android support libraries, which are terrible, they do one thing very nice, which is. Uh, Google ads, new API APIs into the Android operating system. They create compatibility libraries, which are what you're basically always going to use that we'll use the new stuff automatically for you on the new platforms and the older stuff on the older platforms. And that is quite nice. However, in the world of apple, as we have talked about. That does not seem to be the case. Now this isn't an issue, right? When it's a new API, you know, you know, over the decade, plus that we've been building up because there's always new APIs and I'm not complaining Frank about new API APIs that are only available. Right. I love him. [00:03:12] Frank: I love honestly, they give you a little bit of freedom too. Cause if the API is only supported on the new iOS, you're like, oh, it's Greenfield. Then the app is going to require the newest version of the OS. I can use all the newest API APIs. I actually kind of love it when apple gives us the excuse to do that. I'm like I started 3d. The the very first time I saw seen CA I was like, oh, I want to do a 3d app. You know, I, I gotta do some nice 3d apps with this thing, but it still took me years to actually finish it. But, uh, it's still inspirational, you know, it can really inspire you. [00:03:46] James: Yeah. And I am, I guess I'm a huge proponent because those give you the opportunities to either. Add some really unique functionality into your application that didn't exist before. And, and that might exist in like an, like, let's say an AR VR space or some 3d rendering. And it's, it could be like a nice compliment to your existing app, or maybe it is your entire new app. The problem I have Frank is when there is a brand new API in which you're supposed to use, because it's so elegant, so beautiful. Just like absolutely delightful to use, but then. You can't use it because you're going to have two implementations at the same thing. Do I want to, not only support Frank, like all of in-app billing for all of Android, all of windows and two virgins for iOS. Very problematic. Am I wrong? [00:04:38] Frank: It's um, you know, you're not supposed to use table view anymore. James. You're supposed to use collection view in mode. I know. And it's already at that point, I'm just like, no, no, no two ways to do one thing. One way to do one thing. If I want rows, I'm going to use the table view. Um, but it's that, but worse it's that, but worse. Is really hitting home with me. I recently discovered James, are you aware of how many neural network libraries there are on Apple's platforms? Now, let me first. Good problem to have, there are neuro network libraries on Apple's platforms, but change, guess how [00:05:17] James: many there are. Well, you know, I'm assuming that apple crafted an extremely elegant single API that really handles everything. And then they just sort of, you know, added new functionality to that existing API. So like you could just, you know, spice it up on occasion to take advantage of some new operating system or hardware capabilities. So, you know, knowing that. From everything I just said for the last five minutes, I'm going to assume there's a single, beautiful, elegant API that you can just train and really just hammer home on neural networking on a, on a. And yeah. Um, [00:05:55] Frank: yeah, like, like a beautiful little seed, maybe version. One's got some, a little rough edges, but you know, version two, you Polish those edges a little bit, add some features. All of a sudden a stem is coming out. You're getting a plant, beautiful things. You're really adding onto it. That's not how. Hmm. It seems to be that every time they want to make a fix to their library, they create a new library that just it's terrible. It's terrible. No, it's wonderful. I love that there are multiple neuro-network libraries on here, but they did not do what. Um, they did not do a beautiful core that they have built on. So they started with metal performance, shaders. Uh, that's pretty low level API that was really GPU focused. And honestly didn't have a lot of standard neuro-network features and everything, but it was a good foundation, you know, something upon which you could build. James, you know, there's a beautiful plant thing, plant engine on top of, but no, uh, they then. Implemented another version of the library, but this time for the CPU, you're like, okay, that kind of makes sense. Maybe I don't want to use the GPU all the time, even though that doesn't make sense. It's neuro-network stuff. Of course. I want to use the GPU, but okay. We need a CPU library too. Okay. That's fine. And then they came out with another library or I'm sorry. And then they came out with Korea. Okay, caramel, wonderful library. We all need a new model format and that's the one people like to use, but then they decided what's my core ML trainable. Okay. Now you've turned it into a whole neural network. And then they released another neural network library called ML compute MLC neural network library. So we're up to four James. Uh, the ML compute one is very fascinating because it combines the low level metal GPU one with that CPU. So you can mix and match. So you can, you know, with the same API, you can use both things. That's a good abstraction. This is a good foundation upon which to build really good stuff. Right. Right. Well, yes, yes, yes. Maybe no, James, you're wrong. You're wrong. You've got to start over again. So introducing, and this is. Everything. I just wanted to say this on the stream. I'm so overwhelmed by this. There is a fifth neuro network library now on iOS and somehow WWDC happened and I maybe I just blocked it from my memory, but how did I miss this? And it's called, it's still in metal performance shaders. So it's still, um, it's still very GPU focused, but it's called MPS graph and it's a beautiful API, James. It's beautiful. It's beautiful. But over the last two years, I've written tons of code and the old API APIs, tons. I don't am. Am, am I supposed to convert over to this one? Because it's newer and, and I'm starting to get the feelings that like, they're not supporting the old ones, which one will they support? If you have five libraries, you can't, your teams are too thin, right? You're a PM. Like only you can only work on one or two of those at a time. So how do I guess which one they're working on? Help me, James, help me. Uh, [00:09:15] James: that was a great question. Now I will say this much, um, the metal performance shaders, which has been around for a long time, we talked about this. They support iOS, iPad, iOS Macko, STOs, Mac catalyst. Um, the. NPS crafts, I think are only iOS and iPad iOS, correct? [00:09:34] Frank: Oh, is that right? Not max supported. Well then you answered my question. No, uh, Mac iOS 11 Mac catalyst 14. Oh, it's everywhere. TV [00:09:43] James: alone. Oh, I'm on the train. A neural network thing. Oh, here we go. I'm on the. Yeah, [00:09:52] Frank: everyone. Let me tell you this. This is a very confusing one. The old metal performance shaders neural network library was called MPS N N graph metal, performance, shaders, and PS and neural network graph because we like graphs. Um, the new library. NPS graph graph, not to be confused with an N graph, which is the old tech, throw it out. Now, this is what, this is what annoys me is. I had just created these libraries. Aren't easy to use. Everyone thinks that they're tricky. So I created a rapper library called metal. Tensors just to make my life easier because the APS were just too hard to use. Um, I finally got that library working well, this is, this is like your in-app purchase library chains. I finally got that library working good. Am I supposed to convert it over to this new thing? Cause this new thing has so many more features than the API I'm using has so many. [00:10:51] James: This is one of those weird ones where. You know, the metal performance shaders, they support iOS nine plus. And this one is iOS 14, 14. Yeah. So this really ends up becoming one of those cases, which is. The new applications get metal, performance, shaders, and old up graph. And the old ones don't I guess, or, or you're, or you're just going to have to wait. You're going to be like, okay, I'm going to wait another year. And then that year I'm going to convert it. And then what they do, Frank is they have. Metal performance, shaders graph plus, and that's only iOS 16 class, and then you're really in a Canada. [00:11:33] Frank: Okay. Well, I just want to make a complaint here. It's too much to learn. Yeah. These libraries are not small. It's taken me two years to really wrap my head around two of their neural network libraries. And I don't know what they expect out of us. Like, um, I find I can learn yet another API, but are they actually like, is your joke going to come true? Will they change the API again while I have to devote myself to it? What I worry about is I can't get good at these APIs. If they're constantly churning, I am really good at when 32 programming. I am really good at app programming. I'm really good at UI kit programming because they have been stable for well over 10 and 20 years, you know? If for API changes every year or two, no one can get good at it. No one can learn the ins and outs of it. I don't know why I'm just complaining. I'm complaining to you. PMs, stop making new libraries. [00:12:34] James: Well, you know, we, we, last week we talked about Don had seven and C sharp, 11, all this other stuff. Uh, it is hard, right? It's it's as the world turns and as application development and software development continues to turn, you know, these things continue to get in an advanced and mature state. Right. You know, when we were in the state early on, this has been put them up. Hold old app developer hat back in my day. Love that hat iOS third, I had 320 pixels by 480 and I hard-coded every single value. Let me tell you, um, it was all you needed. Um, now that being said the, it is complex, right? Because it makes it harder in the situations where you have mature app model. And then we're we're we're Hey, like I have this application has been going great for a long time. And now at this point, am I spending the year? You know, we, we get into the beta summers, right? And then guess what they're coming up. Uh, the stop and the hope, the hope of the beta summers is please apple. Please go. Please make yourself, please don't change anything. Like, can you just not change anything? Cause that would be [00:13:46] Frank: great. Additive, additive as good. We all like additions. We don't like removals removals or what current life hard. [00:13:55] James: But when you have five machine learning libraries and neural network libraries, they're like, okay, I gotta be on that. Am I actually rewriting this? Cause I think something's coming down the pipe. Okay. [00:14:04] Frank: In fairness I do kind of wish they would deprecate one. Yeah. Deprecate MPS and N graph. Like it freaks me out that they didn't when they have this other one that's superior basically every way. [00:14:16] James: Yeah. Well that, and that's the thing is will it be coming because they need, is it N minus two? Is it N minus three when they announce iOS 16? There's that, but I think the problem is it here's the other problem. It makes it really confusing for new people on the platform. What do I use? [00:14:33] Frank: I don't. If someone came to me and said, I want to do a neural network on iOS, I just smile and not say anything and make casual conversation about the weather. Yeah. Yeah. Um, it's that, but it's also like, imagine. I'm not trying to be an app developer. Maybe I have on my data, scientist hat. I just want to run some neural network experiments. You know, I just want to play around and see what's possible. I want to play with some of these functions. I want to try to train this thing. You can't. Write code easily like that. Um, unless you really know it, unless it's, it's really baked into your head. And so you'll see data scientists out there who know only one neural network library it's usually torch or they only know attentive. And that is common. And then they teach their students that their students only know one they teach, you know, and it is that shop. They use that library and that's why I find it. Absolutely hilarious that apple has the cult. I have five it's like, oh, okay. There are people who won't learn more than one and you've already introduced five. So there's just a cognitive burden. You just can't have fun with it on this. [00:15:52] James: It's true. And then it also, it makes it a little bit, uh, complicated and the other factor, which is like, okay, like now I don't really know exactly what I should use. Should I go use this other thing? Because there's like one option, right? Like you're talking about like, do I just go use torch, for example? So I guess [00:16:08] Frank: like the engineering answer to that question is use the one that minimally supports your problem and that is efficient. And that's honestly good enough for engine. Like if I was a proper engineer, my boss gave me a spec and said, this is what the app has to do. I would look at the different libraries, see which one does it see? Which one looks easiest. And I would pick which API, but for someone more like me who likes to explore solution spaces, I E writes a billion different random apps constantly. Um, it's a pain in the butt because I don't get good at one or the other. [00:16:46] James: Yeah, that's true. It is trying to become an expert in, in these specific fields. Right. And, you know, we had, we had the added complexity that we're also not only writing things for a, uh, an, an apple or a Google platform, but then we're also doing it in not. Native language for that platform, uh, on top of it. So there's actually, you know, the, the fun fact of being a dotnet developer, right. And building things in, in.net is that you actually have two options, right? Like how do you want to make an HTTP call? Do you want to do it in, uh, in the, in the swift date and the, in the objective C API? Or do you want to do in the dinette API as well? You always want to do in the done at API. Yeah. But you know, you do have those options. Right. And those are the things that can get a little complicated over time. The ministry for me, trying to keep up with things that are happening in the.net world are really exciting. Like, I don't want to belittle the fact that like apple coming out with a, yet another thing is like not exciting, right. Or we're done at 7:00 AM. It's very exciting. I'm, I'm super excited, but I feel as though the tools are the things that need to help us get there. And here's what. So C-sharp, uh, 10 comes out has one of my favorite features of a file scoped. Namespaces Frank [00:18:07] Frank: I've been using them. I feel a little bit awkward of where the usings go. Now. Oddly enough, do you put your usings before or after? I know you probably global using everything, but let's say for the one-off usings above. Okay. You're you're keeping that order. Do they enforce. [00:18:25] James: I'm not an animal. No, no, they don't enforce it. No. Cause there are some people that like to put they're using statements like inside of Elmira. I don't know who else, because [00:18:34] Frank: if for no other reason, it starts to look like F sharp also, and then a sharp, you would put the namespace at the very top and then you're using SNI. [00:18:42] James: No. I, I mean, that probably actually makes the most sense to be honest with you. Maybe I, maybe I should do things at the top using devil's house, but I, [00:18:50] Frank: I agree, [00:18:52] James: but here's one thing I open up visual studio and when 2022 came out the 17, oh, the very first release, it would give you a little, uh, light bulb has a, Hey, did you know that you could. Um, turn this into a file. Scoped namespace. I'm like, oh, let's do that. Right. And then it, it fixes the code for you now, though, Frank, I know this feature, like I already, I know that this thing exists. Yeah. So now what they've done in seventeen.one, maybe 70 whatever version of the new update of visual studio, at least on a windows. Okay. You can go to your namespace and let's say, it's not updated yet. Right? You're updating some old code or you add a new class and it's not updated for some reason. You can do, let's say it's, let's say it's namespace Frank, right? And then squigglies, namespace. However you can do namespace, Frank, you add the semi-colon at the end and it fixes the code for you. Automate. [00:19:45] Frank: Oh, like even without removing the curly, [00:19:48] James: it does it for you automatically. There's no light at the light bulb. So there, but if you just put the semi-colon you're like, Hey, visual studio. I know what I'm about to do. It's like, Hey, I'm smarter than you. I'm going to remove the code and de indent your code for you automatically. The tool taught me the new feature with a light bulb. And then once I knew the new feature, it was able to do that. Right. So in the world of this new API, the tool. Right. Needs to be like, Hey, did you? I see that. You're I say, it's like Frank, it's like, imagine there's a little like apple Clippy in there. And it's like, oh, [00:20:23] Frank: this is gonna be great. This is a great analogy. I got it. I got it. Yeah. [00:20:28] James: I see you're building a neural network. Yeah. Did you know that you can use this new API? In fact, let me upgrade your code for you to this new API automatically. It's going to make your neural network so much better. Thanks Tim. Apple. Thanks, Tim. Apple. You did it. You know what I mean? Like, imagine that was like a workflow. That'd [00:20:46] Frank: be cool. I have a few arguments for and against. Um, yes. In general, I agree with you. One, that'd be a wonderful world. Um, I had the weirdest bug. I, you always initialize your own networks with uniform weights. They take on uniform values, but it turns out if you don't do this very special kind of uniform initialization called chloro initialization, nothing works. You know, how many people talk about that on the. Zero zero. Yeah, I found it because I looked through the source code of every other neural network library. I'm like, huh, there's a pattern here. They're all doing the same thing. Um, uh, geez. I just lost where I was going with that. Um, w where were, where were you going? Jane's. [00:21:28] James: Uh, I was going on the, on the code that auto helps you upgrade your stuff, but I'm assuming, you're saying, Hey, James guys, what? And they're all so complex. And I'm so smart. There's no way that anyone could upgrade my code for automatic. Okay, [00:21:43] Frank: well, it's going to say that, you know, too well, but I'm just going to phrase it differently. I was going to phrase it and those analyzers are hard to write and it almost becomes easier. Fixer API, rather than write the analyzer. It was a really cool ambition. I love the Roslyn team, how easy they made it to write analyzers. So possibly, yeah, every library that comes out could come with a bunch of Roslyn analyzers with it. But, uh, This writing those as quite a bit of work, and I'd almost rather people just fix their APIs to make the API is a little more obvious. [00:22:19] James: Yeah. Yeah. [00:22:22] Frank: Um, the, the solution is kind of. Right. So I wrote my own library metal tensors and although it's not a cross-platform library, it does abstract away from the actual apple library, just because of its API. In fact, it's so abstracted that I even could move it to. Uh, libraries, different apple libraries themselves, which even constantly gets me to thinking maybe I should be looking more into the.net cross-platform libraries and.net. We have a mel.net, uh, Onyx library, and we have diff sharp and there's some other good ones out there and I'm just completely blanking on the name, but there are some. Uh, nice new gets out there. The problem I always run into is they don't work with like apple hardware, but sometimes I think what I really should be devoting my efforts to is writing like backends for those. And then at least, at least that would provide the buffer from the changing APIs of apple, you know? [00:23:28] James: Yeah. Yeah. It's, it's always tricky. I think that. You know, writing abstractions around anything is like good or bad I've and, and as things upgrade too, I think it's good and bad. Like I struggle sometimes, especially with, um, you know, especially with the, in a billing library, for example, is when the API changes and then you're abstracting. Does it, yeah. [00:24:00] Frank: Yeah. We can have structured. I think [00:24:03] James: it is really hard now in your case, right. You're you would be abstracting into a helper helper class libraries for just like the one API. But imagine that you also were trying to do this for Android, right. That would be a very complicated much thing to abstract. And, and that's sort of the case with. Billing is like, all the platforms have very similar features, but the API to do them are all extremely difficult and indifferent and they all have different quirks to them. Right? Yeah. Um, like we, we discuss right. Oh, on, on apple, it returns you all of the past purchases on Android. It's like only the active one. You're like, oh, okay. Like, come on now. You know what I mean? And, and you know, there's a whole companies that do that stuff. So the, that then the next question becomes is there. There's someone out there that's built a library on top of this thing that would up update where necessary, you know, for you. So you didn't have to maintain the abstraction. Is there someone out there that also wants to maintain the abstraction because here, right? You would, you would basically need to have your abstraction. Here's why you need the abstraction here is cause you need to say if on iOS 14, use this API, if not use this old one, because how long are you going to support iOS? You know, 10, 11, 12, 13. Another few years, I guess. Well, [00:25:22] Frank: honestly, my, in this particular case, my hesitation isn't even around the version numbers, because I don't even have anything released using these API APIs. So I'm clear my grumpiness is it took me two years to learn one API and now they've created a better one. That's my grumpiness. So I got a feeling. I am just being a little too grumpy, but I am. When you said, um, the obstruction to support cross platform, it was occurring to me, it's roughly the same amount of work. If I wanted to support you say all five of Apple's API is under one library, that'd be dumb. I would never do that, but it would be roughly the same amount of work because everything that you said, they all have quirks, they all do things in different ways. You know, that all applies to even these API APIs within the one system. Uh, but yeah, that makes me think. The proper way to go has probably, probably keep with the abstraction, but definitely look more toward the cross-platform because if I'm bothered, if I'm going to bother to do the effort of an abstraction, you might as well get some benefits of it, right. Not be stuck on one platform. Yeah. [00:26:32] James: Yeah. That's very true. [00:26:35] Frank: Uh, Android B that's the easy, right. They probably have a support library for two different neural network [00:26:44] James: libraries. That's a great question. I actually what's the Google. [00:26:51] Frank: TensorFlow. I think they run TensorFlow light on the phone, but I'm not a million percent sure. Is that true? That's what they do. That's true. Yeah. Yeah. Okay. [00:27:00] James: Um, but I don't know if they have other machine learning. I don't, I'm not positive. Hey man, how's ANC. Cause you know, they also started introducing like neural cores in, into their phones in the last few years. And that's what I, you know, here's the, I think that the also probably the interesting part of these API APIs is that as the hardware, as a hardware changed, the API has also changed. Like I think that they almost were like, oh, like if we do this hardware thing, You know, where we can take advantage of this new hardware, because we know it's going to be on X platforms or whatever and, and do a thing and they need to change it. But it's all still not great for developers. [00:27:42] Frank: Yeah. Like I remember when apple adopted metal, Android adopted Vulcan as their GPU library. And I'm not sure if there are. Vulcan libraries or they just wrote something totally separate. Google's a little interesting because they love to sell their cloud computing. So they always want you using their cloud TPU to do that kind of stuff. But I think they finally. The smarts and having a fast processor on the device also. Yeah. So did we just decide since apple broke me, it's like the straw on the camel's back, like the fifth API, you broke me now I'm going to write a across platform librarian. [00:28:20] James: I believe. So. I believe that that is your beta summer. No. [00:28:25] Frank: What if they come out with a six, then what would I do? Oh [00:28:28] James: man, I don't give up, uh, [00:28:31] Frank: you know what I, all, I want to see this, this would be my great dream. Is to see them. To any one of those libraries just show me that they think there's life in one of those libraries, you know? Cause I just want to know which one I should be learning honestly, too. So signs of life, give it to me. Apple. [00:28:52] James: Yeah. Come on apple. Uh, well, you know, I don't know what I'm going to do with the NF purchase stuff yet because I can't do anything with it because. It's swift [00:29:03] Frank: only. I hope that's not a portent. [00:29:06] James: Well, yeah, I think that's a new norm, but thinking of this, like, even if I was doing, let's say I had a swift app, I don't, I don't even think I wouldn't upgrade. Right. It has to be like, I'm creating a new application. That's only iOS 15 plus, which is like inappropriate. [00:29:22] Frank: That's a tall order. I th they have great adoption, but that's what you're dropping probably 20%. [00:29:28] James: Twenty-five percent less adoption adopted. There's a website it's called. Uh, Nope. I thought I was going to get a good, I thought I was going to get a good website. There's like one that's out there. Um, well, every market's [00:29:43] Frank: different too. I've noticed even between my apps, my user's device, uh, distribution is a little [00:29:49] James: different. That's true. I think I still support iOS nine because somebody's thank you. [00:29:56] Frank: I start good. Still is on iOS nine, but I desperately want to up that to iOS 11. [00:30:01] James: Yeah. Oh, apple. You know, and they have a, they have an app store developer.apple.com/support/app-store. Actually no iOS 15, only a 72%. Wow. [00:30:16] Frank: 28 [00:30:17] James: loss. They do say here though, that now that's just for iPhone for all devices at 63%, 30, 30% on 14 and 7% earlier. Um, yeah, I think iOS 14 and 15. I mean, it's not bad, but it depends, right. If you look at it like, uh, IPad OOS I think is, is, is the harder one. [00:30:43] Frank: Um, I, cause I pads aren't turned over as much as I phones. Yeah, exactly. [00:30:48] James: Yeah. iPad to, uh, [00:30:51] Frank: um, for the rest of our lives chains where me programming the iPad too. I [00:30:56] James: think right now iOS 13 plus would be totally fine. And those are maybe this fall, right. Six posts. But then here's the thing that happened to me is I had this one user and it's like, Hey, you know, they're like, is there any reason why. I was like, no, there's not a reason why I don't wanna just, you know, so I was like, I was like, okay, I'll put you on test flight. And they're like, iOS nine, doesn't get test flight. And I'm like, oh my God. All right. I said, I'm just going to push it out and got, I feel [00:31:25] Frank: like at this point, iOS nine is pushing it. Um, iOS 13, I think is a very comfortable place, especially if it's a new app. I don't know if I'd have the guts to go 14, 15 on a new app. Yeah, classic. Um, but I'm probably going to do 11 for I circuit just because there are a lot of old iPads. It turns out [00:31:48] James: there are. All right. Well that is going to wrap up this week's podcast. It's a short and sweet one this week. Um, however, um, we are slowly Frank. I don't know if you have gone to our website recently, but everything fully. There's a number that keeps moving up. On the website. Do you know what that is? [00:32:09] Frank: Um, number of beanie [00:32:11] James: babies, we don't know is the number of podcasts that we've recorded. Frank clever every week. It goes up by one, we're at 2 95, 5, 2 95, 4 5 5, [00:32:24] Frank: 5. [00:32:25] James: So that is, that means we have a few weeks left. Now we are going to do Frank doesn't know this, but we're going to do a special celebration upcoming for. You're going to be, it's going to be live. It's going to happen. It's going to happen. Live on YouTube. It's going to be great. And we are going to. Take questions live or going to slice in some videos. If you want to send in some videos, I'm going to repeat this. Basically at the end, you can send us a 32nd clip, either asking a question, telling a cool story, maybe something inspired you. What was your favorite podcast? Every one [00:33:02] Frank: in a million of these. [00:33:04] James: You can go to our website and there is a contact button and you can send it in, just give us a, you know, a link to a private YouTube, or to a Dropbox link or one drive or Google drive, whatever you got. Right. Just give us a link to a random file on the internet. That's not unsafe. Um, give it, don't put it in a zip file. Don't put in a zip folder, a RAR file. Don't be that person. But if you up, like, especially on Google drive, you upload a video. It shows you the videos. It's very safe. Okay. If you do that, we can, then we'll, we'll use Dreamyard and we'll, we'll going to do a stream and we'll play that or a pick pick our favorite. You're [00:33:37] Frank: going to edit a video or you're going to try to live DJ this [00:33:40] James: thing. I'm going to live DJ at Frank. Oh boy, [00:33:44] Frank: this should be amazing. Everyone I'm excited and [00:33:46] James: this will be different than our previous live streams that we've done, where we've kind of just recorded the podcast live. We're actually going to be real interactive. It's going to be a real fun one. Um, and then your topics, if you've got topics you want us to cover you at 30 seconds, 30 seconds. Send us a 32nd. Name, whatever you want to do, shout it out and we'll edit it. Um, and we'll put it in there and it'll, it'll go up on YouTube later. So if you do a video, your video will be visible Frank, or you think of that. [00:34:10] Frank: Uh, sounds wonderful. Have you done the math to figure out roughly when this is. [00:34:15] James: Um, okay. So why Vish weeks? [00:34:20] Frank: So everyone, you have a little bit of time to prepare your videos, but no procrastination. I'm very excited for this. It'll be a merged conflict live. It's the first time I'm hearing about it, but I'm excited probably [00:34:32] James: record it, um, before April. So the last week of March, so we'll probably record it the 29th or the 30th of March, um, a lock down the date. Um, Um, in there and we will get it done. So stay tuned. But yes, there is a contact button, emergent comma.fm, like all the other things that are over there, like all the podcasts, the Patrion, the discord, the subscribe button, the, all the things. Head over there, but that's gonna do it for this week's podcast. So until next week, I'm James Monson Magno [00:35:04] Frank: and I'm Frank Krueger. Thanks for listening.