mergeconflict300 === [00:00:00] James: well welcome everyone. To episode 300 of merge conflict, your weekly developer podcast. I am one of your hosts, James Monson, Magna, and with me every single week right here live in person because we're streaming this live. Mr. Frank Krieger. How's it going, buddy? [00:00:25] Frank: Hello, James. You know, w we used to do this thing where we would chat with each other with video, and when we first started the podcast and I guess, I don't know why we did it cause it's totally awkward. I don't, I don't know if I can stand seeing your reactions to my terrible jokes. [00:00:41] James: You can always, you know, minimize the tab I guess, and just completely ignore me. That's another thing. That's great. [00:00:47] Frank: I'll forget to look at [00:00:48] James: the camera. Well, we're all excited because we don't stream that. Often our podcast, our podcast is developed merge conflict.fm in your podcast app. Overall is this 300 episodes. We wanted to do something special. Every 10th episode, we do lightening topics and today is going to be the same, but we have a few listener videos that they also sign into. Frank. Can you believe it? We've only been begging for a month and we got to, we [00:01:13] Frank: got to, yeah, well, it's tricky because almost by definition, podcasts, listeners like to listen and not maybe talk. Uh, yeah. But, uh, we appreciate everyone for, uh, at least, um, dealing with our commercials and requests. And I can't wait to get to the two because we are going to do a clip show. We wanted to do a clip show and two counts were different [00:01:37] James: clips. Yeah, it's true. And I haven't even watched the clips and we'll just play them back and we'll see what ends up happening. And my mom's here. Hey mom, pop. Yeah. And that's, that's the same react to their audience, James and Frank react to their audience. That is correct. Um, as well as kind of what we do, we either react to, you know, our lives or to our listeners lives in a way too, because there's always topics that are top of our mind or top of, um, our listener's minds. I mean, you know, we're here to try to solve that as well. So yeah, I'm loving the chat as well. You know, if we want to do these more often, we're only game for them, even though Frank is like, nah, this is terrible. And I love you to set up by the way. I haven't been watching it on Twitch, but I got to say, you got, you got plants, you got greeneries, you got Blinken eyes back there. You got a 3d hologram thing. Um, if you're watching this on-demand later, I will put a link to the live stream. You should just tune in just at least see Frank's background is very. [00:02:33] Frank: Yeah. Um, I'm sure this is going to be great on the podcast part of this podcast, but yeah, I, I've done a little bit of set dressing for my Twitch show, but mostly just so I'm not embarrassed every time I look at the camera because I'd go watch some of my old videos and be like, oh geez, or should have done some cleaning first. So thank you. I appreciate it, James. And these are mostly just past projects from the Twitch show. So I'm just trying to stack them up as we [00:02:58] James: go. I like that. It's sort of your actual projects, your, your side projects or live streams. You're, you're what you're doing for the people actually is a reality in your office, which is kind of amazing. So things coming to live live, and then staying alive, which is also very impressed. [00:03:17] Frank: Compliments to you though, you are representing YouTube very well with your hexagons. They [00:03:21] James: look great. Thanks. Yes. Spent way too much money on them. And I got some greenery over there behind this chair. Look at that. There's a plan. There's a Kinko machine. There's a monkey. There's a little thing. There's a DDR pad over here. You know, I, I do what I can for the people. So I don't think [00:03:37] Frank: you're playing the DDR pad though, if it's always on the wall. [00:03:41] James: Uh, that is correct. Yeah. I mean, I have this set up. I bought the games I have played. I think the problem is it it's a little bit too loud if I want to play at night. You know what I mean? And, and, uh, Heather is off to sleep in or she's like, honestly, I don't want to watch you play DDR. I want to watch myself play DDR, but no one else wants to watch me. So, um, and there's no arcades close by that. I'm like in walking distance, I could go DDR at up. So back in my day, I used to DDR all day, but Frank, we're not here to talk about me and DDR bring, um, are we. [00:04:13] Frank: No. Well, no, that would be incredibly embarrassing for [00:04:16] James: myself personally. I think we're here to talk about our ridiculously long hair and I haven't seen you in awhile and your hair is also, it's almost past the complete awkward phase. [00:04:27] Frank: Yeah. Uh, yeah, I guess so it's in these shedding, in the shower phase, which is really wonderful. I'm like, oh yeah. Long hair. Isn't that wonderful. [00:04:35] James: Ooh. May I highly recommend to you and every listener that has hair, uh, in general, um, the, the, the, this thing it's called the tub Shroom, there's also a shower Shroom, and there's a sink shrimp. This is a game changer. Okay. Because like you, Frank, as you wash your hair, sure enough hair goes in the drain and what does it do? Clog the drain. Frank, it's just gonna happen. So I, after I guess, almost a year, Things started to slow down as far as the water draining. And that concerned me. So I went and I got a snake. Yeah. [00:05:17] Frank: And that was the once industrial snake? [00:05:20] James: Uh, no, no, no. I didn't do the industry. I just did like the plastic one that was like $5. So who knows what's left down there, but I did put it in there and out came basically. I'm like, how did, how would I have to talk to Heather? Because she knows she understands how long hair works, but I'm just like, how does all the hair be in the drain and on my head at the same time, it doesn't make any logistical sense. [00:05:43] Frank: It's just gravity. I blame gravity for everything. I like a 300 episodes we find we flipped in. We're just going to talk about home improvement and dealing with things like that. Yeah. [00:05:55] James: Well the shrubs room, the shrub, the tub, Shroom the showers room, the sinks room. The thing all about it. That's quite amazing is that you put this little ingenious thing into the tub and your place, your place, your, your, your Stomper. And it goes in and it catches all the hair, all the hair. And you do have to clean this out every few weeks or so, but it catches all the hair. It's amazing. It's the best investment I've ever made in my life. Um, in, in, in an, as seen on TV. [00:06:27] Frank: Yeah. It feels like something you'd see in a locker room all sudden, but sure. I'm going to go for it. [00:06:33] James: I like to see it room equipment. Um, let me see if I can, I'm going to pull up an image here. People live okay. Here too. This is the one I have. Oh, this is going to Amazon. Perfect. Okay. This is the tub. Shrim all right. I'm going to switch to the, share this tab. Ooh. Check it out. Live technology [00:06:48] Frank: people. Oh, [00:06:50] James: okay. Okay. Well it's not loading, but there it is. See that this on the left that is going to get all of. Look at it. Ooh, gross. That's what it does. But imagine more hair than that, that person, you know, is that [00:07:04] Frank: podcasts, listeners, imagine the grossest little thing covered in hair you've ever seen, but at the same time, imagine it's probably darn effective. So I I'm in, you sold me [00:07:16] James: I have the ultra ultra platinum bundle anyways. That's what I have. It's amazing. It is a game changer. [00:07:25] Frank: And you know what, long hair is fun. Uh, haven't been probably been two years, right? I think you said two years, but no, I came and say that cause I buzzed off all my hair at one point during the COVID I got sick of it, but hair, it just keeps growing. So here we are back to COVID hair. [00:07:43] James: It truly does. It truly does. Um, all right. Well, we got lightning topics, Frank, and we got people on the. Um, people are enjoying this. Uh, yes. Michael Michael says in the chat, the light switches, which I love, I love my switch bot, not a sponsor of this podcast, but the switch bond. Game-changer like, it turns on and on, off my lights, on the house at random intervals, all by Bluetooth. It's amazing. They also made a humidifier which has sensors in it, so it can automatically turn on and off the humidifier based on the humidity in the room. Frank game-changer I love IOT devices, [00:08:21] Frank: so well that that's finally actually a smart device. I think we've had the manual IOT devices for too long now, like tell your lights what to do. I want my lights to just know what to do. Yeah. The humidity is a bit high. Of course you should turn the dehumidifier on, but doesn't every furnace do that. I thought you lived in a real home. [00:08:39] James: Uh, I do, we, we do have, the HVAC system does have a built-in humidifier, I guess not a dehumidifier, cause that would be different, but doesn't have a humidifier and I, I assume it works, but I don't know. It's hard to say. Okay, so this is better. I'm excited. [00:08:58] Frank: Yes. What else do we have in the home improvement department? [00:09:01] James: That's all I got. That's all I got. I think we're ready for some real I'm going in. I don't know if you can see, I can start [00:09:07] Frank: fascinating. There is, um, a dearth of indoor plant selection at your big box stores right now, just because the supply chain, I guess the plants were affected by supply chain. Yes. I have that to Frank conspiracy [00:09:21] James: theories. I watched an entire YouTube video recently on supply chain of plants. And additionally, you know, you can save those plans from your local big box store because they are sad many, many plans. I think it's like, it's very happy now I'm making it happy. I think it's like seven out of 10 plants will die. I think it's two out of 10 will like die before they even get there. And then in the store to moral dye and then at home, the majority of them will die because we all know that we are terrible at taking care of plants. And yet we want these beautiful green plants, this plant fake. I'm all about the fake. Yeah. Yeah. We do have real plants, but they're, I'm not going to say they're in the greatest of shapes. So, um, well I do want to make a shout out to everyone that is joining us live. Michael Laughlin, Ivan, Andrew, Tim, um, Tony, um, Damian Rex, my mom. Who else is in here? Kyle. Alex Blount. Steve. Who else is in here? This is fun. [00:10:20] Frank: I love chat rooms. I'm around the world too. I love Aztec. [00:10:24] James: Thank you so much. Yeah. From around the world. Good vibes. I love this. Look. I ain't even high going to highlight these people. Um, my goodness. Wow. There we go. I am produced in real time. Frank, before we get into some lightening topics, do you want to have a, do you want to start with the mystery lightening topics or do you want, [00:10:42] Frank: well, I have a follow-up. Can I do a quick follow-up [00:10:45] James: follow up with, okay. [00:10:47] Frank: Copyright 2011, John Syracuse, [00:10:50] James: please hold. Please. Hold there. Check this out. Ready? For people that are watching are watching, they have a need for tuning in. I just added a new guest to the stream, my stream timer counting up on Frank's five minutes of lightening topics. Look at that. It's amazing. I [00:11:05] Frank: don't think I need five minutes here. I just wanted to correct myself because I was listening to last week's today's episode. However you want to think of it. And I kept saying, write only databases and you just let me keep saying it like 8 million thousand times and that those words don't make any sense. It's a right only database that doesn't make any sense. I meant to be saying append, only databases where you only add to it. You never overwrite things. You never destroy data. You don't delete data. You don't update data. You can only add to it like via transactions. And so you don't need to just be a pending transactions on top of it. And something like that is a lot like blockchain, whether you like it or. So that was my quick adenda. What do you think of that? How did you let me get away with saying write only like a thousand times? [00:11:57] James: Um, because you know, I don't know anything about, I don't know anything about databases, Frank that's the problem. [00:12:04] Frank: Does append only make more sense? [00:12:07] James: Yes. UPenn Pendo may makes way more sense. Well, there, there are right. Only databases, but I guess then there's no update, but it's always a pen. Yeah. I guess that makes way more sense. Yeah, [00:12:17] Frank: exactly. Of course. You can still read from the database. It's very important to be able to read from databases. [00:12:23] James: I only prefer to write to databases and then just now here's, here's a fun fact, actually, my app, which also starts with my, my cadence. There's a mode, Frank, and this is maybe why I got caught off. There's a mode that is right only. Do you know this? Oh, that's [00:12:39] Frank: scary. I, I, but I think we talked about it on the episode before, and I'm trying to remember it because, you know, it's kind of a joke in the electrical engineering world that we. It's easy to create, right. Only memory and that kind of stuff. And so I find it funny that you actually found a practical use of it and I'm just racking my brain, but I can't remember what was, [00:12:56] James: so what I do is if you just install the application, you don't give me any money, which is what the vast majority of people do. They don't give me any money and that's good. I don't, you know, my time is worth some money. So, you know, if you want a pro upgrade, you can upgrade for a dollar or two. Uh, but if you don't upgrade to pro and you ride, I, I write all of those things to the database. I don't ever read. I only write data and that is it. But eventually that they give you [00:13:23] Frank: money, right? Yeah. [00:13:25] James: Because then it's like, you know, that transaction into the database that one's good. That one costs money. Every time that reading writing's free. Yeah. Reading that's when the get [00:13:34] Frank: ya. I was actually thinking about pulling your trick there in an app and working on a 3d scanning app. So you do like a bunch of LIDAR scans and that turns it into a mesh, but, um, For like the free version. I'm thinking like, I'm not going to let you do have like a history of ones. You can only have like one file open at a time kind of thing. And so I was thinking like what, I would still store the data for your old projects. So if you ever did upgrade your data is actually sitting there, but at the same time, it's, it's, it's a few megabytes. It's quite a few megabytes, let's say a hundred megabytes. So I don't know if that's fair to the user, if I'm not displaying the list, if it's fair to have all that data there. So, uh, sometimes it's worth deleting data. Maybe. I don't know [00:14:23] James: that. I think so. I think it's worth it on occasion. [00:14:26] Frank: So I did, I was also remiss to not mention, um, smart contracts and, uh, the blockchain for all of this, because I do like the concept of smart contracts. What I don't like is the security model behind them, where everyone has to do this obnoxious, burned down the universe and electricity kind of thing to prove, uh, To prove their access rights. If you just have basic access rights, like any old database normally does, you know, this user's allowed to do this, that user's allowed to do that, but take the idea of an append only database that is everything is recorded in a transaction. And then you sum up all the transactions to find the current state. I still think that's a really good database design. [00:15:07] James: The, the thing that you're talking about is the proof of work. The [00:15:11] Frank: proof of work is the bad part. I want to throw away the proof of work. What I want to keep is the Merkle trees and the way data just builds upon past data. [00:15:18] James: That's the, the get model, right? I get is always a sort of an append only type of situation, unless you yep. You don't [00:15:25] Frank: delete the world is only a pen and then there's [00:15:28] James: hacks. Yeah, that makes sense. You know, I did, if I can find it, I'll put it into the podcast afterwards. Oh, you know, I did find this amazing, but it's like, it's like five hours long. This guy, it blew up the world of, of like explaining an FTS and like, why they're terrible, but he does the most amazing job of explaining this stuff. It's well worth it. I even, I started to understand it. Like, I can say those words, like proof of work in Smartsheet chondrites and I kind of almost understand, but he also talks about the distributing of the, that proof of work concept of how many people need to be in a agreeance. How many people need to have the entire database? Like all these there's a lot of things going on the blockchain that I don't understand, but this video is like super-duper again. Yeah, [00:16:11] Frank: yeah. And a lot of that is the security model. So I say throw away the security model. Keep that ledger because that ledger is of great idea. Yup. [00:16:21] James: Yup. Okay. Let's get into it, Frank, our very first topic. We're not going to do a mystery one, but we are going to do one from Ms. Sharma tab here from VJ. I would suggest for the 300th episode, can you kind of give a state of cross-platform app development? Now we could just list Frank the state of app development and multi-platform development, just each one of them. But I think it'd be fun to talk about how things have changed, where things are going, our hopes and dreams for the future. How do you feel about that, Frank Krueger? [00:16:58] Frank: Sure. I don't want to speak about once. I don't use them to be honest. I don't use that many because life is short and UI frameworks are huge and you can only memorize them so quickly. So I want to say my biggest win for me personally, in the cross-platform world. And this is going to sound so small, but I like it. Mac and iOS are finally the same API. I can finally use UI. Which I've been using for 10 or 12 or 8 billion years, and I can apply all those skills to build Mac apps to, I only make a fraction of the money I make on iOS compare on Mac. That is, I make less on Mac, but that's how it always is with cross-platform apps. You make more money in one place and the end last the other. But for me, having actually one API for both of those platforms, two platforms I personally care very much about has been the biggest win for me personally. Uh, I'm so excited about that.net six previews. They work fine. If they could just decide where to put the end float data type and we could all move on with our lives. [00:18:09] James: You know, I think the thing for me about cross-platform or multi-platform development and how it's changed over the years is when I first got started. Right. Even before. Landed on building applications with C sharp and.net. As I was doing this tour, I was, I was testing our core, uh, phone gap at the time titanium at the time. Um, there must have been one or two other ones that weren't web maybe. And then of course I landed on Xamarin, which made a lot of sense, cause I'm a C sharp developer. So no brainer. Um, that being said, the thing that has amazed me is how good and how like really productivity, like how good the apps have been, that you can build with these things, how flexible they've been to blend in different pieces of technology. Either they be native UI, native API APIs, or hybrid web application of stuff in the. And then just developer productivity. Right. You know, in the world of.net, we have like multiple, multiple choices. We have, you know, Xamarin and Maui, UNO Avalonia and the world beyond that there's react native there's flutter. There's still Cordova. There's ionic. There's all these different things out there of out there. It's like a thing interruption [00:19:25] Frank: are there. Dotnet bindings to flutter yet. Someone's got to get off. [00:19:28] James: Oh, no, there's not. Uh, although there has been attempts back in the day to do that. I think it's a dark runtime type of thing. Um, scary stuff. Yeah. Yeah. That being said, I'm really amazed of the choice that we have is for developers. But to me, it's not just about app development, right. And this is the thing that I've been saying for 10 years. Let me put my developer advocate hat on. I've always thought about the ecosystem, the community, and all of the other things that you're going to want to do with your applications, because yes, some applications are just apps, but other applications, majority of. Have adjacent websites, backend services, scaling things authentication. And for me, obviously as a Donna developer, I'm biased because I'm able to do all of those things in one language or multiple languages. If you want to mix in some function on this and there to me, that's the thing that has been really amazing. And I think we've talked about that for 300 episodes, right? You've done some AI, some machine learning, uh, you know, you've built websites, you've done serverless things. Uh, we did an entire stupid, um, login system with no login. Frank, if you remember a beautiful and I've done that all in one thing, and I think that's, what's really great about dotnet obviously, and I'm super biased. I work at Microsoft and I've been a.net developer for 15, some odd years at this point, but I love it. Uh, but in, in this space, there's just so much going on. There's so much good stuff going on that you really have a lot of. [00:20:58] Frank: Yup. Yup. Um, I do answer some of the questions that have scrolled by no, I'm not personally on the Maui bandwagon yet still rocking the forms when I want that kind of stuff. Um, I'm sure I will be though, because the thing that I love most about Xamarin forms, and this is a late feature, but the like live preview kind of stuff. And so I'll, I'll be honest. I'm going to write some iOS apps that I only release on iOS, but I'm going to use a cross-platform framework because I want me some live updates of a declarative UI, you know? So it's funny. Like I just, uh, even with a cross-platform framework, it's still a lot of work to support multiple platforms. We've listened to you go through your payment model thing. And a lot of times it's not the UI, you know, I like to combine them about how much work you guys are because they are, and I don't think app development and UI development kid gets enough respect. But that said the painful points in cross platform development. Aren't usually the UI layer. Once you have a decent cross-platform user interface working, it's always, when you try to do the other kind of crazy stuff, like you like to do like an app billing, which Sunday I will do, but I haven't yet done yet. [00:22:16] James: Yeah. I always, I talk about this, you know, these libraries being cross-platform and there's like a lot of good, and there's also a lot of work because guess what? You're supporting a lot of platforms and sometimes you're going through abstractions. Your library [00:22:30] Frank: is leaky, very leaky abstractions. They are, [00:22:34] James: or, or the same point that, you know, apple, Google, Microsoft are, are not the same company that makes the same API. That can be abstracted seamlessly. So, you know, essentially or billing libraries or other third party components, we do our best, right? The community does our best. They can't give you everything. But the biggest change for me has been how open everything is right from not only people building apps that are open source in them, the libraries, um, the frameworks being open source, a lot of the tooling being open source, not only the Don Eddy stuff, but also non Don Eddy stuff, too. That to me is cool. You can grab that implementation, make it your own. So to me, I think that is the, the really super cool. [00:23:19] Frank: Yeah, sorry, I'm getting lost in the chat room. We have real time follow up. Uh, Ben Rierson has a great comment. If you are actually suggesting proof of work isn't needed to secure Bitcoin, and yet still don't understand it. Pretty sure. I have a vague idea of how Bitcoin works, uh, and totes not disagreeing there for a distributed system. You need something to create security. My argument is if you have a single server, security is really easy because if someone has to log into that server and they have to have right access to that server. So I'm saying throw away the distributed part, but lectures are still a [00:23:54] James: good idea. Yeah. But you know, and every sorta like cross-platform mobile development or mobile development or any development is like everyone's needs are different. Right. And we talk about the landscape of development that's out there. And the platforms and the frameworks that you can use, it's so vast and everyone's use case for what you're building is different. You know, so for example, Frank building a complete IDE for the iPad is very different than me displaying a number that counts it down from five. So those are different. Those are different needs that, that I need and what Frank needs for his applications or what you might need for your application. So to me, what I love about 2022 is choice. And within that choice, having a lot of good things beyond just the framework, right? Like you were talking about with hot reload being like table stakes at this point, you know, that we're we're as developers are getting there. Um, I don't know if you've gotten to play around with, um, co-pilot. Mind boggling. Do we thought we talked about on a podcast? [00:25:05] Frank: I try to talk about it on every podcast. I think it's the greatest thing ever, um, to the point where I've tried to make my own versions of it. I thought it was so good. I want to increase the code completion quality in my IDE to be, it won't be as good as co-pilot. I mean, I don't have servers. I don't have that much money simple as that. Um, but you know what? 10% is good as co-pilot is still darn good. Yeah, [00:25:30] James: that would be pretty good. I mean, and just even, you know, you open up visual studio, you get full line completion, you get all this, tell us science, all the refactoring, all this goodness. All right. Anyways, there's all sorts of good stuff on this. What I'm talking about. Right. When I started develop back in my day, Frank, there was no vs code. You know, like that was the thing, you know, it's, it's like, it's, that's the thing that's really cool is like the tooling that we have and that people are creating not only from big companies, but also. You know, independent developers helping us be more successful. It's just mind boggling. And [00:26:02] Frank: the competition is good. It's a little annoying, like, you know, there's at least four decent UI frameworks to choose from on mobile right now, even in the net space. And which one to use is really kind of up to you. Uh, and it's good that we have the four because they're all pushing each other to be better. That's why we have things like hot reload. Cause they're all, it's a competitive market and it's good to see them compete for, uh, my attention I approve of [00:26:30] James: this. I agree. All right. You ready for a mystery? Call-in [00:26:35] Frank: oh, yes. I'm excited. First time, [00:26:38] James: caller first-time caller longtime listener, Clifford. We know Clifford clear has been all over the place. So Clifford sent us a YouTube video. I'm going to go ahead and share that now and make sure that we can hear the audio. So you have to give me a thumbs up, so you have to pay. Hey, James. Hey, Frank. Um, I just want to say great podcasts. Listen to, uh, I think I started listening around the upside four and then I went back and listened to the previous one. So I've listened to all of them. I, it couldn't episode 2 99, 9 listened to that yesterday. Um, love what you do. Um, uh, for me a couple of questions. Well, firstly, a statement, uh, firstly, started out as merged conflicts and the conflict was the fact that he had James, who was, uh, who was Mr. Android. And Frank was Mr. Mr. iOS, apple. Um, but Frank seems like you've won. You've merged James into your, into your apple. Uh, and we'd no longer get any updates on now on Android. So please bring that back as an Android user and, uh, Xamarin and Maui developer has always, it was always nice to hear that the competing sides of what was going on in, in, uh, in what you got. Uh, I think that's missing that conflict is missing now. Um, but as for a question, um, as then BP, Microsoft MVP, a cheater, and a few people were mentoring. A few people are coming into that once one wants to get into mobile development. Um, it's really difficult now without having, um, the tools like Xamarin university to, uh, to help as a path to learning. Um, so what do you both think is a great way to help, um, new developers come into the world of mobile development? Because I can't really see much that's out there. Microsoft learning is fantastic, but there really isn't that pathway for new developers to come into, uh, with dotnet dilemma, um, that known, uh, mobile government, but all the intricacies around mobile development and how new developers learn those. Um, we obviously got Gerald, uh, is doing these fantastic, um, YouTube series and yourself, James. Um, but they assume a level of, uh, of, uh, ability and knowledge of the platforms. Um, and it's that initial, um, part that I'm, I'm looking to see where we could, uh, uh, develop that as a, as a community, maybe. Um, so you, uh, to help young developers and new developers, maybe not young, maybe so news. And it's just starting again, but certain new people come into, uh, into the industry, uh, learn the tools that we know and love Dane down. Um, keep up the fantastic work, uh, and, uh, always love hearing about your robots, uh, Frank and the work you do with AI. Uh, I know about AI, I've learned from listening to your podcast, so thank you for that. Uh, and, um, and yeah, it's a fantastic podcast and, uh, um, yeah, I'll keep listening as long as you keep making them. Thanks a lot. Absolutely fantastic art. We're going to repeat the question here from clever first thing, Clara [00:29:29] Frank: called out, are you paying called out? [00:29:32] James: Okay, so let's break it down here. So in case you couldn't hear, if you're here alive, we'll obviously edit this a little bit so everyone can hear it back organically. Uh, so Clifford first says that the conflict and merge conflicts Frank is gone because I used to be an Android user and user and apple die. And I have been converted. Not only do I have an iPad on my bike, I have an iPhone se and I have an apple TV where, when we started the podcast, I had a nexus seven tablet. I had an Android TV set up and I also had Android phones along the way. [00:30:11] Frank: Well, the good news is. We conflict. We conflict on many dimensions and infinite multi-verse of dimensions worth of stuff. When we came up with that name, we said, yes, we do disagree a lot. This is perfect. So I think the iOS and Android thing was just maybe our most famous of our conflicts. It's, it's an important dimension. And maybe you haven't been representing very well. I don't know that that's a personal thing. I don't feel like I won. I'm actually a little sad to see that dimension removed because I love making fun of, and um, now you agree with me when I do that and it's, it's just not as fun. [00:30:55] James: The problem that I've had. So address this for us, then he then clever had an amazing, uh, comment and question for us that we'll answer to is, you know, for me, we've talked a lot on the podcast. You know, the state of app development across iOS, Android, uh, at least for mobile and then desktop Mac and windows is our primary focus and Lennox as well. Um, but at least on Android and iOS, they've just gotten so similar. As far as feature set, it's hard to really, to get super excited for things. Um, they're I am excited that Google IO is starting. That being said, we know back on Monday, you know, a decade plus ago when I started mobile development, it was constant innovation and news. It was dramatically changing how I developed apps. I think that's the important part. And there's not a lot of there's innovation, but there's not. Is fundamentally making me change how I build my applications. I mean, even in the most recent, uh, Android version that has a material you, which kind of changes your app and your colors based on your preferences and this and that doesn't interest me. I'm just like, eh, it's all just gobbledygook. Right? It's um, it's a paid to coach and you know, and I'm not saying that just for Android, for iOS to right, like how, what what's exciting. And then the newest of things like the innovation is coming from the new hardware that's being put in to unlock some new capabilities in AI and machine learning and the camera and the vision and things like that. So that stuff excites me heavily of where things can go. But I do think Frank, and then I'll shut up. I know that your, who are your agents of bad? I think the catalyst for me may be. Some actual new form factor. I know we have some, some, you know, foldables and stuff, but I want that Westworld, triple tablet, thingy, fold out thing where it opens up and it's a cool thing. And it, and it revolutionized it. I don't have to carry around three devices with me all the time. And I have this thing that can revolutionize how I work act, you know, play and do things like this. That's my thought. [00:33:08] Frank: It won't be revolutionary. It'll be evolutionary as the problem. So when, as a kid, all I wanted was a computer in my pocket because I liked computers and I like things in my pocket. Cause they were always with. And for my whole life, I just kept trying to find ways to get a computer in my pocket. I bought that little personal organizers. I got a cell phone as soon as I could. I, uh, whatever I got the terrible run of smartphones that we had before the iPhone. And I went through all those. And finally, when I, we had the ability to write apps for that phone, I had a million ideas. There were all these things I wanted to try because I'd been waiting 20 years for this ability. And I think that applies to the entire world when all those first came out, we didn't really know what apps to write for it. So we wrote a little bit of everything for it. Now, 10 years on, we've seen how the market works. Uh, we, we know what's popular. We know what works. We know what's worth putting our time into, and what's not, there's a maturity that we've. Gained, uh, a loss of creativity and in a sense and fervor and all that kind of stuff. That's what I'm saying. I don't think you'll have a revolution again. Not at least for a while, because that was a revolution. Everything else. We're still just incrementing on top of it. And I think that, that, that at least speaking for myself is why I still have an iPhone 11 right now and not whatever we're up to because that plateau just got so [00:34:40] James: flat. Yeah. So we still have more conflicts and we'll make sure that we incorporate more conflicts into our merging over here. I do think that, you know, Frank and I are very different people with very different things that we, we like. And we do that being said, funnily enough, that Clifford did write in because I've been very interested in this new, nothing phone from nothing, the company. I think it's all, nothing is phone. One, very excited about it. It's an Android phone, but it looks very good. So I'm excited about that. I'm also excited about some innovation in the handheld space and a lot of things going on. There's a lot of them, all right, next thing here, because we got a lot of good questions and comments as well and the chat, but the thing that Clifford asks was the hard part, the hard part, part, the getting started part, right? Introducing new developers into mobile development and, and on that as well, which has half my, and my team's job at Microsoft is to do this. So I hope I better have a good answer for this, but I'm not going to start because Clifford ass, it seems real difficult because there's so many platforms, so many frameworks, so many deep technical things to get started with. It's so vast. How do we help more people be successful and work and they go Frank and leaving. [00:35:54] Frank: Oh, I, this is a real weak spot for me. I'm sorry, Clifford. I, I don't think I could offer a really great advice or comments here because it's just not my world. I haven't taught kids in a long time. I haven't taught new people programming in a very, very long time. That's sad. It's definitely something I want to get back into. Um, I think we all want to get to teaching at some point, so it's a very relevant and pertinent question. I wish I had a great answer. Uh, James mentioned that, or I actually, Clifford, I think you mentioned that there are YouTube videos out there and the YouTube is good stuff, but James, your videos do require a certain level of knowledge to make any sense at all. Um, I have been impressed with educational YouTube during COVID. I have fallen down the YouTube rabbit hole. I have subscribed to just about every single channel. There is on YouTube, especially the education once. And I am continually impressed by the level of quality and all that work. And people's engagement, a good use of that word, not the negative. Use that word. You'll see, you know, 10,000 comments of people, really excited to be learning that thing. So I think that that is still a good and valid medium. Beyond that. I mean, it's a little above my pay grade. I don't know how to answer to be honest. [00:37:16] James: So to me, uh, and I appreciate that Steven and the chat says he learned his Amor from me. I think you learned it on your own. I just got you started maybe, uh, maybe I think the thing is it has to be a multi-pronged approach, right? Someone has to spark the interest and drive the awareness that, Hey, you can do this. And then there's the point, which is you need to be able to create content for all sorts of different people that learn differently because I learned differently than Frank learns. The mom learns then Stephen learns. And what I mean by that is that some people learn by like creating a project as they go. And doing it by themselves and figuring it out. Other people want written documentation, like Microsoft learn or other adjacent products like that, which are self guided learning, where you learn different topics. Then some people want to follow along someone like a Tim Corey or a Nick Chapas or, or me, or that. Or some people want to watch live streams, like Frank Wright and other streamers, like, like C-sharp Fritz, right. And all these different streamers that are out there, like Layla forward, like all these people building stuff, there's amazing ecosystem. So there are those things out there. Right. But the other problem with that is you also need to give the awareness of that content, right? You think about it. All of this content can exist, right? If you go to dot.net/videos, there are hundreds of videos in the beginner series to learn C-sharp to learn.net, to learn ASP on it, to learn all these things. And they have millions upon millions of views. I know because I track them as a metric in my dashboard. Right. I can see them on YouTube. They're all public data. Is that good enough? How do we reach the other five, 10, 20 million people, right. It's so hard. What about people that best with hands-on in classroom learning? How do we get into the colleges, right. To get in there. It's such a hard, tricky problem because it never, there's always an something else, right. That you can be doing to reach more people. And I hope that my team is, is doing that. And, and, and teams at Microsoft are doing that to help people reach in. But I'm generally curious what other people think too. And Frank, you have a company. [00:39:26] Frank: Yeah, the, the live streaming, I'm just upset with myself for not mentioning the live streaming because all my goodness, the opportunity people have to learn these days is just ridiculous. If someone comes into my chat room and asks a basic programming question, I love to just stop what I'm doing. Get out of blank, text editor, and be like, let's work on this problem because I love working on beginner problems. It's my chance to explain things the way I think they should be explained, not the way perhaps the teacher explained it and things like that. So I think those are fantastic resources where they fall down is you're only doing so well as your audience size at the time. And so I've always thought. YouTube. It's a much better platform because anyone can watch your video at any point in time and they can come to it whenever they want. And so I'm just a little remiss to myself that I should be doing a little bit better to make sure that, um, things get posted like that. Uh, rambling thoughts, just, uh, gosh, are people lucky with Twitch now? [00:40:31] James: U2? I mean, it's, it's, it's ginormous, you know, to the point that, um, Katie on my team recently worked with channel nine and our YouTube team to Republic Bob Tabers C-sharp eight hour curriculum. That was MVA a Microsoft virtual academy that was like old, right. I think he was using visual studio 2015, but all of that stuff, right. To get them in as good. But again, if that's not how you learn, then what's the next step to get that in front of you. [00:40:59] Frank: Right. But we have to take advantage of the wonderful tool that we have at our disposal, which is the internet. I agree with you in classroom is great. That's good stuff, but this is the internet. Everyone's got the internet at this point, if they want a program. So it is our first place and we have to make sure we're doing a good job there. And I just want to pitch this, James, you and I reacting to old Microsoft learn videos. We just sit there and we react. We watch them, we can do that. We give our feedback and it'll be a great YouTube channel. [00:41:29] James: I love that. Um, Mike and the chest has been, uh, he's a big fan of watching others program, how they think, what tools they use and how they debug. I think how they debug is the thing that I always loved about presenting. Uh, live streaming is that things do go wrong, right? Not everything is shiny and perfect. And when they do go wrong, how do you dive through that? But the problem with that is how do you not lose people? Right. At the same time, I feel so bad. [00:41:55] Frank: Yeah. I'll just look straight to camera and be like, look, this could be a half hour of misery here. Like strapping. [00:42:01] James: Yeah. Uh, David asked me a question is I've never used Twitch as a good for programmers live coding. Yeah. There's a whole, there's a whole live coders, um, initiative. What is, I don't even know the URL, the live coders without live [00:42:17] Frank: coders. Okay. [00:42:18] James: The live coders, twitch.tv/with the live coders. There's a whole bunch of them. There's a whole website. There's tons of streamers out there all the time. Go check them out. Um, pretty much January [00:42:31] Frank: four, seven, there's always someone and I recommend finding four or five people that you like. And then whenever you're in the mood for it, someone's probably. [00:42:40] James: Five coders out dev or that's what it is. Live coders out dev. There's a bunch of people on there and also on YouTube. Um, yeah, the, the people that are in my mind on YouTube, like Nick Chavez, I'm going to probably say Nick's names. Are I apologize, Nick, but Tim Corey as well. Um, those are the two big names I would say beyond, you know, things that we do on the.net YouTube itself. Right. Again, it depends how you, you engage the nice thing about the live courtesy. They do all sorts of different topics. I do think that the new medium of learning with video is super engaged because there is different types of levels of content, right there is that I want to learn, you know, that I'm just getting started versus, Hey, I've been now doing mobile development for six months and I need this deeper thing. Walk me through it. The only problem we have. With on-demand content is things change so fast. So [00:43:34] Frank: well, especially in the native app development world, it's just a constant rat race and you don't want to, you don't want to scare people off, but there is a little bit of like fortitude. They have to build up to, uh, a little bit of misery ahead. You gotta be ready [00:43:50] James: for that. All right. Frank Krieger, we got a bunch of people in the chat asking about this. We got Steven. Hi everyone, everybody. That's the name of someone's name is hi everyone. I'm asking about Donna Maui over there, kind of giving some insights. So a lot of people done in Maui. The next evolution is Ammar forms. A lot of people are interested in comment, which is an MBU style thing. You know, it's ready to go our see any day GA still cute too, which is, I guess we're on Q2 now. I don't know it's spring now. So they're there, but wanted to get your thoughts on when you're making the jump, where you're at, when you update in your libraries and then I'll give you my insight. [00:44:28] Frank: Uh, me personally, I'm going to go first then as soon as I can get apps over to that platform, I'm moving home. Um, I've already done it to a couple of my apps. I already have.net six versions of my apps, and honestly, they've converted over pretty smoothly and slope never forget that. Um, uh, so Maui, you know, I'm just going to remove the Xamarin forms, references and add Maui. That's not true. I mean, we're all going to have to create new projects. The projects, the project files have changed enough that we're all going to have to create new projects. And so I'm just going to do with that. And most of it's going to translate over and I'm not too worried. I gotta be honest. When it comes to Xamarin forms, I use labels, buttons stack. I don't even really use grid, you know, so I'm really not worried about my XAML translating or anything like that. And so, uh, I do have a lot of native code though. So the native code, uh, is going over just fine. And I like that. And I'm happy with that. I do want hot reload for my Mac catalyst steps. I'm going to work a little hard on that for my cross-platform stuff. Um, it's hard for me to say, but is, I'm just hoping in my process of creating dotnet six projects for everything that Molly will be kind of trivial to add to everything. [00:45:52] James: Yeah. I'd like your approach here, which is what I'm going to do in all of my projects. There is going to be a tool like an upgrade assistant tool, but how I think I can merge. I think that'd be really easy if you're not using Xamarin forms, you're just using an iOS or Android project. Like it's basically a change of the CS project go minus end flowed. But, uh, regardless of. The thing I might do is I might just add a new Don MLB project and then drag and drop files over because in general, you know, or maybe run the tracking virtual on that and do a bunch of stuff in there. It's going to depend on your size of your application as well and how you want them to look and feel. So Carla was asking about the controls, like they're still native UI, so they're going to be different ask on platform unless you're styling them. You can sell a button to look exactly the same. That being said, though. I think what's cool. As I've watched Don and Maui evolve, is that it's much more than. People think, which is just, oh, here's a new namespace here, some new stuff and Xamarin forms. In fact, it's not like from the tooling itself with the single project running on.net six. So the cross-platform images and fonts and raw assets and the SVG support that's built in and the cross-platform version numbers and the CS proj and, and naming, and this, all this stuff and how you can use the built-in dependency service and, and everything just trickles through the system and putting in platform code is so much easier to other things like, for example, you know, I was talking with Shane today, as I'm making this workshop that I'm about to publish. Uh, things like they've, they've rethought about the navigation stack all up. So using shell, you can pass objects now on a page there's more than on appearing on disappearing. There's navigating to navigating from and navigated to. So there's different lifecycle events. There's a windowing system. There's multiple windowing support. There's all these things, um, in there. So you kind of get to decide. I'm very excited about that. And in fact, the tooling to, well, it's mostly windows right now and it'll come, um, PNK was asking about Mac, it'll come to visual studio for Mac at some point. Um, but I think the other thing like, and Steven is talking here is like, not only are things like essential is built in, but there's this amazing thing called source generators and.net five. And now Don has six and I'm blown away by Jason. Source generators. And also these MVVM source generators. And like, I just want to start living in this dotnet six.seven and this new modern world, like, I think I didn't, to me, Frank, I don't think I really missed a lot of what was happening in the early, at core days with Samarin. Cause they kind of always kept up and I could flip on the language flags, but to me as a, as a Xamarin developer and John Emory developer, like thing that I'm excited about is like, we're just always going to ship in the box. Like it's always going to be there when we get new language features, get new things in the runtime as all just going to kind of work. [00:48:49] Frank: I think that's why we're all just kind of desperate for the release. We want that proof, like it's not in the box until it's stopped. Vapor until it's in the box, you got to get the vapor in the box, put it in the box and put the box on my desk. And I think that's, um, that that's where I'm at. So I'm mentally prepared myself for all the float changes I'm going to have to make, because I already ran the experiment. I think we even talked about on the podcast where, um, I started a new app from scratch and I poured it in an app over to net six and both I was able to do in a day. You know, it's really not that big of a deal. And so it is that larger ecosystem. Like I, I joke that half of Maui is in the Ms. Build targets [00:49:33] James: files. [00:49:34] Frank: Yeah. True high layer is actually pretty small, but man, and you've got to deal with images and really funny ways on Android and, you know, deal with all that kind of stuff. I'm excited. Like even when I'm doing iOS stuff, I'm probably going to take advantage of those sophisticated. Tools to do like SVG stuff and all that. And so I'm excited for that to come in. And my previous comments were about converting an app, but of course I want to take advantage of all this stuff. All I want is hot reload. I'm going to change whatever it takes on my side to get hot reload working, because that's the way I want to write apps. That's the way I've always wanted to write apps. [00:50:12] James: Yeah. I agree with you. And you know, um, some good comments too from Vanu has like a hundred plus views and pages and custom controls. Here's my strategy is that with Donna Maui, pretty much almost everything is going to be there. That was in Xamarin forms and all the control vendors. They're all moving along and all the libraries are moving along. You're going to have like a year plus to move. I'm going to keep rocking my Xamarin forms. For a bit, right? Because like, if, if it's, if it's working and it's there, it's good to go. I need to wait for the ecosystem, the Bluetooth stuff. Just make sure everything is working. I'm going to do trial runs. Maybe some, like my skiing, apple upgrade way easier because my libraries that I use, you can tell when I'm getting ready, because my library start to support the new stuff. You know, like, like all my libraries have recently added, done at six support and dynamically support. That's weird. I wonder if I'm getting ready to start using Donna Maui and the answer is yes. Um, but obviously all new projects at this point now, today being so close to I'm probably going to start going that route. [00:51:15] Frank: Yeah. And, and for those giant projects, you keep mentioning this hypothetical converter thing, but I would do that one by hand. I would file new project to see what a blank project looks like and just change my project. Project files really aren't that bad once you get in there. And if it's something huge, like a hundred views, you probably just want to do that in text editor, very carefully. Yep. Uh, I'm excited and hesitant and excited. I, I, I was actually surprised to hear you say that you would wait a year. But, um, the thing that gave me the most confidence was when I converted continuous because continuous references, because I didn't have the ability to download new kits, it referenced a billion new gets and more and more and more. And so when I converted that thing to dotnet six, that was kind of my worst case scenario. This thing referenced everything it pokes around in the internals. It does all sorts of nasty stuff. And I was able to get that onto dotnet six. So I feel like if I'm able to get that thing onto dotnet six, I'm going to have all my normal apps that just, you know, draw the pictures and talk to the web. They're going to be fine. [00:52:28] James: Initially. I want to correct you because I'm not going to be waiting a year to migrate my applications. What I said is some of the apps I'm going to rock until I can't rock it anymore because I build all my apps on my spare time. Frank, I only got so much time. I think I'm actually going to start with my stream timer because I want my Mac app to look way better. Cause it's really gross right now. And it's and Mac has never officially support it. So that's going to be a huge win, um, and also to use when you . So to me, that'd be super easy to move over. I think the UI look weight tons better where, you know, apps like, um, Like my cadence and the skiing app, they're probably fine for a bit until iOS or Android changed some rule and regulation. But I do think that those will be the ones where I'm like, Hey, as soon as the Bluetooth thing. And as soon as this chart and graph thing is up updated and good to go, I'm in. Right. But I'm trying to diagnose my apps and say, okay, what is the dependency chain? When are those things going to update? I'm good to go and I'm ready, ready to roll. But that doesn't mean I'm not going to like learn and do new projects in Maui. Right. Which I've obviously been doing already. So that's kind of my recommended advice as it goes there. So, but like anything you also have to move with with it. And I think in this case, moving to done at six, moving to the new tooling, moving to this, if it takes a little bit of work and effort now, based on your, that might take a little bit more, I think the productivity gains and the things that the engineering team is doing with trimming and all this other stuff is mind boggling. Like literally. Engineers are looking at this podcast app that we built. And they're like, why is this app so big? And I'm like, oh, we're using monkey cash. Oh, what's monkey cash using. I was like, oh, jason.net. Oh, why don't we use this other thing? Oh, why don't we use source generators? They literally converted. But like, we're, we're gonna make everything better. So like there's amazing work going into this thing. Uh, I'm just, I'm just excited about it in general. All right. Frank, any last comments on non-emergency stuff? We talked for our, we went past our five minutes. I don't know if you know, [00:54:30] Frank: uh, you didn't put the timer up. I blame you. I know. No. I mean, we can't, we're at preview 14. W w we'll check back at preview 34. [00:54:40] James: Well, you know, RSD is supposed to be in like April, so people [00:54:44] Frank: keep saying that we'll see. [00:54:47] James: Well, you can follow me on YouTube, youtube.com/ , and then you'll see the updates as well. Shaming big [00:54:53] Frank: in the thumbnail as long as it's giant. And then, [00:54:57] James: yeah. Okay. I'll let you know RC one through 25. No, just kidding. Um, stop it. All right. We got one more video. It's a short 1 22 seconds. It's it fits into a YouTube short. So let me go ahead and share this. This is from John, who might be in there. This is just, it's just as high immerse complex. I don't know. He's about to say, so let me go ahead. Share this tab. [00:55:17] Frank: I'm a gambler. Sounds [00:55:19] James: good. There you are. Okay. Not the email, this one. Okay, here we go. Boom. Okay, here we go. I, Frank and James, I found you guys from dotnet rocks. I think James was on there. Um, anyway, I started listening to merge conflict, liked it, uh, went back and bins watch or binge listened to the whole catalog. And here we are. So congrats on episode 300. That's an amazing accomplished. Just keep up the good work. Look forward to listening to you guys every [00:55:47] Frank: week. [00:55:49] James: Awesome. Thank you so much, John. My favorite, [00:55:54] Frank: I'm not going to pick clips, not out of two. That was my favorite clip. [00:55:59] James: That's pretty cool. We both been on Donna rocks as well. You were on Donna rocks or something recently, weren't [00:56:03] Frank: you? I finally got on to Tottenham rocks. That's right. I think it was way back in the, we, that is, yeah, that was exciting. Um, I was, uh, I, that's why, as I was hoping, he found this show through me, but you know, I'll give you props for that, but that was a big deal for me. I'd always want it to be on that. [00:56:24] James: Yeah, it's cool. I, I, I, uh, I'm always, I love to talk Frank, so I love being on podcasts. I love doing stuff. So, um, yeah, I was glad to, I'm glad when I see friends, you know, up on different podcasts, you know, we've had lots of people that have read named can I mom, um, uh, in the, in the chat, um, you know, I think the, the thing that we've talked a lot about is like, you know, do we do a guest show? Like, do we manage, do we schedule, do we do things right? Like, uh, like a done at rocks or a cancel minutes or something like that. And I know you feel it's been 300 episodes. If you want to change course a hundred percent Frank, at this point, it's only up to you, but I don't know. I'll let people in on a little secret about how this podcast comes together. [00:57:08] Frank: Oh, it took 300 episodes here we are. So Frank [00:57:12] James: tell the truth. Frank has a calendar invite that I put out that's on Tuesday nights at five o'clock and it says time to record a PI. He gets a notification. I get a notification, we hop on Zencaster and I hit record for our patrons 10 minute recording. And then we're just like, what are we gonna talk about tonight as like, what are you working on? What are you working on guests? We're talking about that. Like, I think we each show up and after 300 of those, we all, we have no idea what we've talked about in the 300 episodes, to be honest with you. So I literally was like, whatever, it doesn't even matter at this point, but we always have things that are way top of mind that somehow become great topics. We used to do spreadsheets and we have topics and reasonably like, oh, we were talking about this. Nope, Nope. I think Frank after 300 episodes, I think we found our flow that we just get. [00:58:03] Frank: I still like to look back at the topic sheet. Yeah. It's, it's fun to see optimistic goals, all the things I wanted to talk about, but James said, oh no. Oh no, we are not going to talk about that. It works. It works. I feel like you're not giving the listeners enough credit. I'm pretty sure they can tell that. We're just talking about the things that we're thinking about that day. I think it's a little bit obvious. Um, but that's exactly what programmers do anytime you and I hang out in real life and someone is around, that's not a programmer. They're going to get really bored because literally every one of our conversations turns into talking about programming. And so, although I might get, I like the idea of having a topic and being focused on something, just so that there's some theme to the episode. I have absolutely no doubt that you and I can talk about program. For 30 minutes. It's not even the smallest doubt about that [00:59:01] James: in my mind. Well, you and I met because literally we were talking about settings, you know, and storing persistent state and databases. So yeah, I think we can go, I [00:59:11] Frank: guess what I was working on today, I was working on a setting screen where to store it. How should I store it? What did James tell me about settings? What, what, what should I be doing [00:59:22] James: here? [00:59:23] Frank: It's there, it just can't write an app without a settings form. And someday I'm going to release an app without a gear icon and without a form with a bunch of, um, noxious options [00:59:34] James: in it. You know, I mean, the dream back in the day when apple started was that there is a way to integrate your NS user defaults into the default settings applications. So your app is nobody uses it hardly. Maybe I don't even have apple. Yes. [00:59:49] Frank: It was so much fun to learn. I thought this is great. Everyone's putting their settings into one place, but you know what happened to that list just got too big. No, one's going to go in there. That app is just ridiculous. No one scrolls that far in the settings app. Uh, lots of apps do it. I did it for all my early apps. I thought it was a very clever way to do settings and apple used to saying the HIG don't make a settings UI, true. Use this thing. What are you going to do times change now, now you've got to click your icons everywhere. [01:00:19] James: That's true. That's true. I know. And, and I, and even, uh, one thing that I think is missing from the setting screen, well, then we'll get on to another topic here, uh, to kind of round it out. I think this will be a good one to close on. Um, or we can keep going too, but. I think the thing with the setting screen, and maybe you'll create this and I'm hoping to do this with Donna, or maybe we can get an open source project is we need some like source generator setting screen type of thing. Like give me a bullying, give me a, a text field, give me the stuff to, in groups to make a really beautiful thing. Mano touched on dialogue used to do this [01:00:55] Frank: here. Here's what, here's what it's gonna do. It's gonna look through all the metadata in your app. Find every global variable, every static variable, and just put that into a UI and see, go through and change any variable that you want [01:01:10] James: that magic. Um, all right. So to end it out, I think that this is a good one. This was from our discord, which I now have discord installed on my phone, which means I look at it and I've also, de-cluttered the PA the discord. Anyone can join your patrons subscriber. You get cool patches just saying, and you get exclusive podcasts. Patrion.com/merge conflict of event. Um, this is from our lighting top topics, which was from who is it? Samir loves him here, him and I work on a, he contributes actively to the store plugin. It says, what is it liking? What what's it like working with, or having worked with Miguel de Caza digging the bell. What's his personality? Like, have you ever ha have you ever invited him to speak on the podcast before? Which we have, um, I want to say working with Miguel or other people, some other visionaries in the space, we've worked with amazing people over the years. Yeah. [01:02:10] Frank: Yeah. Um, I, I love Miguel, Miguel, um, but I haven't had too many opportunities to like work one-on-one with Miguel. So I can't make too many comments, but I will say this. He is full of energy, everyone. Yeah. It's got the energy. Okay. And if you say something like I have this random app idea, he'll go like, Hmm, let's work on that. And we'll sit down and we'll open computers and we'll actually work on it because I like to hypothesize about things. Miguel likes to do things. He's a doer. He likes to get things done. He likes to start them. And so I would say the most fun part about being around me gal is just that energy, that, that passion for technology, but also the willingness to do the nasty, dirty work to get the thing done. And instead of like, just talking about it, anytime I'm lost in 500 errors or something about that, I just kind of think about, well, if I was sitting in a hall and I saw me gal, I would work through those 500 errors. So I could show me gal and so that we could talk about it and do that, all this stuff. So I'm not working with him, but he's still definitely an inspiration. [01:03:20] James: Yeah, I sorta working at Xamarin had this holy Trinity of the three amazing co-founders that I all got to work really close with. Joseph Hill was my manager. And, um, he, um, was co-founder of the company along with Miguel and now, right. Uh, me coming down to San Francisco being on the west coast. Um, I got to hang out with a lot of the documentation teams and engineering team, uh, and sales team, and then as Nat as well. But then when I would go to Boston office, that's where Joseph and Miguel. So I got those great things, you know, I think from a I'll start with the, uh, every interaction I ever had with Joseph was amazing. Cause he's my boss for so many years, but the great Nat interaction was, I remember late night were there after hours and everyone also kind of trickled away. And when I'm down there, there's, you know, it's kind of, it was in the financial district. So it kind of wasn't like pop in or anything like that. And I'm not really a partier, but now that would be hanging up. Maybe a few other people. Right. And I remember one day the Xamarin phone rang just like the phone rang and it was someone calling in for support and Nat, Nat co answers a phone and he goes, uh, um, thank you for calling Xamarin net here. How may I help you? And he literally like diagnosed this individual's problem. I don't know if it was with, with actual code or if it was in the sales system or what it was, but he sat there and he was just like, just so like such an authentic, amazing individual. And I think that that really, you know, was true for all of the, almost everyone I ever, everyone I worked with at Xamarin, but especially, you know, Joseph Nadam and gal, like all three of them really unique, amazing people. And I've told the story. You know, going out to dinner with Miguel, which I've done a few times, but being in Redmond and out with you, hanging out with some friends and Miguel came over, I was like, Hey, how's it going? Like, Hey, you guys want to go catch dinner and he's just inviting random people out. And I remember miles was like, oh my God, like, that's Miguel like, oh, wait. I'm like, does this Miguel? Yeah. You know, I mean, he sure he had a cameo on a movie, um, and you know, antitrust at one point, um, I think it was like a clip of him or something like that. But I'm like, you know, besides that, it's just Miguel, Miguel, Miguel, Miguel is just a soul. A very, everyone is just very wholesome people, but I think you're right. You know, if you go to Miguel's GitHub, it is a catacomb of things that I can, I could never. Fathom putting together like gooey CS. We talked about it with them [01:05:50] Frank: garden of some plants grow slowly, some grow more quickly. It is not a catacomb of death. It is a garden. At least I'm trying to defend my get hub repository. [01:06:02] James: Here's Frank also correcting me on, I don't understand words, so I appreciate it. Yes. It's a beautiful garden that some things are, are nicely trimmed and hedged and other things are just sprouting. They're just been planted. They're just little, little, sometimes they're just a read me file. And that's all you need is just a repo name. That's the best project. How they start? No, I, I I've loved every single person I work with. I will get to. Amazing people at Microsoft, amazing people at Xamarin over to the amazing people at Canon. I going to amazing people on this podcast, [01:06:37] Frank: the whole world's amazing. We get a chance. [01:06:40] James: People are amazing and they never, you know, you Frank have put up with me for 300 episodes, Frank hundreds of hours of your life wasted with me. And I love you. [01:06:54] Frank: I don't do it for you. I do it for the listeners. [01:06:57] James: I, everyone. Goodness, I do it for that. That's right for the users. [01:07:05] Frank: Uh, you know, there, there's one more thing I like about Miguel, I mean, is cameo you've said you can't ever say, just make out by the way. It's it's not allowed or any of those kinds of things. Well, I like that. It keeps up with technology he's into neural networks. You know, I'm into neural networks, he's into terminals, I'm into terminals. You know, it just creates these weird things. I've always wanted to create a Q basic app, but based on his work and I just haven't done it. And I think every day I'd be so excited to show a new Q basic to Miguel, just to impress them, [01:07:39] James: that kind of thing. It's true. I have, I appreciate that aspect of, of Miguel as well. I think when he was pushing a lot of things forward and continuing to push a lot of things forward to in these really cool, interesting spaces. And I like his, uh, views on NFTs [01:07:57] Frank: and not to be like too specific, but what I, he's very focused on users and supporting people that are already there and adding Polish to products. I think that that's, it's, it's, uh, it's something that can go lacking in company is very easily and it's always good to have someone there, uh, very Tron style fighting for the. And that was something you chose to [01:08:21] James: have. Yeah. Yes. All right, Frank, I think that's going to do it for episode 300. How do you feel about that? [01:08:28] Frank: Well, you did compliment me, so now I have to give my one compliment to you that I always struggled to find on these hundred episode number. James, you're looking fantastic. Your hair is just amazing lately. I wish mine was so volume, this and all of that. And you really are doing fantastic work on YouTube 300 episodes. I didn't think we'd make it past a hundred. I'm looking forward to episode 600. When all we do is talk about lawn [01:08:53] James: care or something like that. That's my life. I was only talking to a friend and there were there, there was something that they had, all these plants and all these other things. I'm like, I can, I can barely make my grass stay alive outside. Let me just be honest. And I have arrogation systems and everything, all this stuff. I want to thank everybody for hanging out in the live stream, in the chat I'm putting in questions, people that send in videos. Super appreciate it. I appreciate every single one of you that listen for all of these years, or if this is your first podcast, what a doozy for you. They're usually not this long, unless sometimes they are this long we're back. Every single week. Merge conflict dot F. You can find us there. You can find this in your podcast app. It's a great name because Frank came up with it and we will continue to merge and conflict altogether, but that is going to do it for episode 300. So until next time I'm James Montoya Magno and I'm Frank [01:09:47] Frank: Krueger. Thanks for listening [01:09:49] James: pace. When we edit a podcast, I'll Bri. Ooh, few am 2:00 AM. Um, thanks everyone for hanging out. Appreciate it. [01:10:01] Frank: You're all amazing. Sorry, we didn't get to everyone's comments. It's a little hard to mix it all into the show and all that, but that looks really fun. I really appreciate [01:10:09] James: the chat room. I think it was great. I think we got some, some good ones and mixing it in. Let us know. I think I'm super interested in like, you know, how do we think the podcast is progressing? You know, things that we can do better. We're always open to suggestions of you write into the show. It always loved that. And thanks everyone for hanging out. Really appreciate it. [01:10:27] Frank: Yeah, we did this, uh, what we did this like a year ago. Um, I'm totally, I'm totally down for, [01:10:34] James: uh, doing it more. [01:10:36] Frank: Yeah. [01:10:36] James: Maybe once a year. We'll do what we'll do. Maybe every 50 episodes. We'll see how it goes. I, Frank, I got to go run. I got to go figure out some, some stuff, but thanks everyone. Thank you, Frank. I appreciate you. [01:10:46] Frank: Thank you, James. Uh, hopefully you'll still be around for 3 0 1. Hopefully I didn't scare you off. [01:10:51] James: I'll be around. I'll be around. I just can't record it next Tuesday, but next Saturday or Sunday. Well, I'll let you know. I'll let you be a little delayed. All right. Thanks everyone. Have a good night. [01:11:03] Frank: Bye-bye.