MIX-4 === [00:00:00] James: Frank, I wanna do something a little bit different for this week's podcast because it's been really an awesome, spectacular conference season, right? We had Google, yo, we got the builds, we had the dub dubs, we had a bunch of other things in between there. Get announced, you know, new releases at.net eight previews, a bunch of good stuff. And I feel like we've been touching on some topics we haven't been. Following up on those topics as things change and evolve. So I figure we may go back and just top kind of do like mini lightning ish topics, you know what I mean? Like maybe pick three or four top of mind things that were really on my mind and kind of go from there. Because you texted me earlier and you're like, I wanna talk about this thing. And I was like, that justifies 10 minutes. You know what I mean? Does that make, [00:00:43] Frank: uh, you don't think I could talk about it for more than 10 minutes? I'm pretty sure I can talk about it for more than 10 minutes. I, I, I see that as a challenge [00:00:50] James: now. We could, but we, uh, specifically we were talking about some new C-sharp 12 features and, you know, MADDs and Dustin, which I then went and watched their build the video. Cause I haven't watched very many videos at all from many of these conferences. Uh, some but not as many as I'd like to. I knew it was a spectacular session and, and I was like, oh, this is great. They had a great demo, better than I could ever do. And I was like, yeah, I wanna talk about that. And then I also wanna talk about some other things and kind of, yeah, not tell you what the topics are either. So how do you feel about that? [00:01:17] Frank: Uh, pretty good, except you said three or four things off the top of your mind. I don't keep three or four things at the top of my mind. I keep like one, you know that that's enough. That's enough for my mind, but yeah. Yeah. Uh, so I mentioned in an earlier episode that I did manage to watch one video. I've been a little bit terrible conference goer this season. I haven't been watching all the videos, but, uh, Mads and Dustin talking about C Sharp. I love languages. I love talking about 'em on the podcast. So had to do that one. And they, uh, had talked about a feature that we already talked about on the podcast. Uh, primary Constructors, I believe they're called. Is that, is that the right name? James? Primary Constructors. [00:01:58] James: Primary Constructors. That is correct, yes. Yes. We, [00:02:01] Frank: we talked about those a bit, but then they surprised. Me, us, all of us, with a new feature that I didn't know they were working on and it's super cool and it's so early they don't even have a beta of it or anything like that. Anyway, without further ado, it's collection Literals James there. Finally fixing the collection syntax. If you just wanna declare a collection in your code. From C sharp one, they're finally fixing it. You can now use square brackets instead of curly braces. That it, it's, it's a revolution. Square brackets over curly braces. I, I'm here for it. Are you here [00:02:40] James: for it? I am here for it because. When I was thinking about the feature, you know, I saw them demo, which was, they had this great little small demo, and I'll put a link to the video for everyone. Was a student basically that had a name, an id, and it had a, had an array of, um, decimals I guess at this point, right. And. They wanted to change it to a list. And that became very complicated because they had to raid out empty. They were newing up a new array with the, the brackets and then the squiggles and putting stuff inside of it. And a lot of things just weren't compatible and they had to change a bunch of stuff and actually lists. You can't even, you can't even do list dot empty, like doesn't exist. So you have to like new up a new list. And it was like, wow, what if you could just solve this Frank? And what if there was just a way for it to figure out what the thing should be? And now there kind of is, right? [00:03:28] Frank: There, there totally is. And like, it, it's such a simple feature. Um, they're just making it so that you can declare, uh, collections just like you would in, as like JavaScript, uh, just using the square brackets and some commas between the items and it's got more advanced features than that, but we won't get there. Um, but if you think about it, it's actually a really hard implementation because they have to support array. Uh, array list, remember Array list. Remember that one, uh, list of tea. They gotta figure out the tea in that list of tea or what If you have your own collection, uh, class or what if you have an immutable one that needs to use the builder pattern and where is that dot empty method? Who knows where dot empty is on any of these classes? So it's a, it's a. It's a gorgeous little syntax improvement. Mm-hmm. It's gonna make all the code a little bit shorter. But it's also really kind of cleaning up the house, making sure that all these collections are compatible in a way beyond just the good old I numerable and Ilist [00:04:32] James: interfaces. I think that makes a lot of sense because when, if you're new to CT brand.net in general, you're just like, wow, there's so many like ways to make lists just like. There's so many list. There's like you only mentioned like five of them, but there's like 5 billion, right? There's like yeah. Observables and there's like, IM like you said, immutable and read onlys and this and that, and then the iron numer, all this stuff, right? This really definitely trims it down. Now the important part is someone still needs to define somewhere what the actual type of it is, right? Like from, well, the demo, at least that's my understanding, because they were passing in a list, Frank of. Grade. Yes. Corrective decimals. Yes. [00:05:11] Frank: The 99.999% usage scenario is the compiler is smart. It figures out what type it needs to be, and it calls the most efficient By some, hopefully, they document all this stuff. It'll say, it's gonna call these methods on your collection if you support 'em in order to create that collection. But, but these are crazy C sharp people and they wanna go one step further and do something crazy and support VAR X equals bracket. Bracket. Mm-hmm. Uhoh. Now what? Wow, what is this thing? Or I should really say like bracket 0, 1, 2, 3, bracket. So there's no type there. It's a var. It can be any type. So, It's a funny thing. I personally don't think they should even bother supporting that. Just pop up a compiler error. But they're crazy and they're like, we're gonna solve this. We're gonna pick a type and it's gonna be the right type. And I'm like, I don't know, man. I don't, I don't know how you're ever gonna pick that type, but I, I love that they are committed to this feature. Getting in. It sounded like, uh, there are a few stumbling blocks. Like, what the heck do you do with a var? [00:06:25] James: Yeah. Uh, that is definitely something that's definitely tricky. I, I think that, I think that the feature all up will help people kind of get into it and just say, Hey, listen, there's a simplified way of defining lists of data, right? I mean, that, that's really what it is at the end of the day. Like, why do I need to care? Because, you know, so how often am I always like, Trying to figure out how do I create a dictionary versus like a thing and like, oh, get this thing. And like the, they've, it's improved, but they're all different. So I always kind of mess it up. Just in general. I. Yeah, [00:06:59] Frank: and I mean, this is a fairytale feature at the moment. It's not implemented, but they had to talk about other fairytale additional parts of this feature that are super cool. So, uh, if they're gonna have the syntax, well, they might as well support, uh, this concept of slicing or merging. Um, Arrays or other collection types together so that you can kind of, you know, like if you're ever trying to like concatenate a bunch of arrays together or a bunch of lists together, maybe they even have different data types. It's always a little bit awkward to figure out how to get them all together. The syntax also supports the dot.dot syntax from good old pattern matching. And, but instead of, uh, breaking up a list, like in pattern matching, it's actually gonna build up. The list, which will be super cool. I've been using a lot of Python lately, and Python has that feature and I really like it and I'm really happy that, uh, C Sharp will be probably maybe getting it, it's step two on a very long step one process. [00:08:05] James: I feel like they demoed that, that it was actually at least implemented and working. And I thought that was neat because they had like, here's me defining my, uh, mean, my. Co collection of, of something, of grades or whatnot of, of Mads. And then they did dot, dot dustin dot, or maybe it was dot, dot, dot dot Dustin do grades or whatever and just sliced them all together. And I thought that was really neat. I was like, yeah, that makes a lot of sense to me. And you could jam those all together. I think one thing they showed. That did have all the squiggles definitely not implemented, was like a, how do you do like a key value, like how do I do a string key or whatever. Like I thought was kind of neat. Like a dictionary, like I have a dictionary string grade, right? So it could be like biology or math or whatever, and here's my grade for it. That one they quite didn't have in there yet, but also would. Make some sense because often when you're messing around with dictionaries, even that syntax is a little funky. You know what I mean? Because you're kind of doing a new dictionary and then you got the squiggles and then brackets and assigning it something, and it's improved a bit. Yeah. But it's still a little funky. [00:09:08] Frank: I, I totally think they should support dictionaries though. It, it's just natural tho those are the two natural data types in programming lists of things and dictionaries of things. So I think it should be supported nicely. I do have to make a complaint for a feature that is super fairytale. Um, They did choose square brackets for dictionaries, whereas dictionaries should obviously be curly braces in this case. So now they've gone the wrong direction and we're using the wrong one. But I think the problem is C Sharp already just has curly braces for a million different things and they just couldn't jam it into the syntax. But I'm gonna, I'm gonna post at least one comment saying it'd be nice if these are curly braces and not square brackets for [00:09:48] James: dictionaries. That'd be nice. Yeah. Yeah, [00:09:52] Frank: it's, it's super cool. Um, I'm, I'm also gonna post one last comment. I would like to be able to just put, um, link queries within the square brackets mm-hmm. And have it execute the link query and turn it into the correct collection type. Basically, I want like link query coercion. Which would be super, super nice and well, I always have to like, I write this elegant link query and then I have to put these ugly parentheses around it and say like, dot two array or dot two list. [00:10:20] James: And I think it's ugly. Well, who's to say that this doesn't already work? Like where you're putting in a G P, what if you jammed in a link query and then it just returns something and it just, and it, you could do.dot and do the link query that returns whatever, and it just jams it in. Right? Who cares? That would be [00:10:35] Frank: nice. Gotta get my hands on the super pre alpha release. Find out. That would be great. Even if it takes a, yeah, a dot, dot dot or whatever. [00:10:45] James: I do really believe that if one of the goals is just to remove the two list to array, to whatever on link queries. Yeah, that's all I actually would want. More than like, yeah, we, we should post. That's super annoying. Just this needs to solve that problem. Solve this ongoing link query from the beginning of time. Go to the super duper annoying. I agree. [00:11:06] Frank: Yeah, and then it, then it'd be nice because your declarations, you would just have the data type that you want there. The variable name equals, and you get used to just always starting your things with a bracket. And it'd be nice, beautiful syntax. I love it. Anyway, so did I hit 10 minutes? Yeah, I got 10 minutes. Let's see. Got that? That's a good topic. [00:11:26] James: Let's a go one. I'll link that video. It's definitely worth watching cause there's a bunch of other goodies in there. I do have another topic, but before we go any further, let's thank our good friends over at Sync Fusion, sponsor of this week's pod. Listen, we've been talking about Sync Fusion for a long, long time. In fact, they were in the.net expert area bill that got to chat with all the amazing folks over at Sync Fusion and they have the world's best UI component suite for building powerful web. Desktop mobile apps and so much more no matter what you're building, whether it's down at Maui, flutter, Zarin, uwp, JavaScript, blazer applications, angular applications, react, you name it, they got it. They got file formatting, processing and all this good stuff. So much amazing stuff that's built in. But they also have a new product that's really cool. Um, and it has a full a API including down that API too, which is called Bold Sign by Sync Fusion. Basically think of it like this. Have you ever done like um, a PDF where you need to have people sign stuff? You need that to be like, you know, A contract, you need to sign it. What if you could have e-signatures online with enterprise grade, basically? Integration into your applications and a full API so you can easily spin it up in seconds. You can do that with Bold Sign By Sync Fusion. You can learn about all of these amazing products by going to sync fusion.com/merge conflict over there and check out all of their amazing UI components. And there are other things like Bold Sign, which is super duper cool because I've always wanted to figure out how to integrate these types of contracts into my applications cuz I use them all the time. Well, thanks for sponsoring this week's pod and onto the next topic. Frank on dropped a bunch of stuff if you heard that. How, how, how [00:12:55] Frank: can I move on? Uh, you just reminded me of, um, the vendor expo part of conferences. I, I missed that James. I, I missed the expo part of our good conference and boy, now they're getting into, uh, services. What a crazy world we live in. How crazy [00:13:12] James: it was. It was cool because actually I build a bunch of the different, like partners and sponsors were integrated into the expert area. So you're going around and it's like, it makes sense. It's like, oh yeah, like there was like all these different amazing extinct fusion within in the donut at Oh, cause they have all the donut controls. That makes sense. It was really cool. So that was, mm-hmm. That was neat. Um, alright, I do have something. I got some feedback, Frank, I got feedback. [00:13:32] Frank: Oh boy. Okay. Uh, you're not making a good feedback face, but I'm gonna assume it's the best feedback I've ever heard in my life. [00:13:40] James: People were like, wow, James, you're really negative on the Apple Vision Pro. Like, wow, okay. Wow. James, like, really, really didn't see that coming. You hate, you hate, you hate the future, James. [00:13:52] Frank: Okay, look, I, I stopped myself from posting a tweet, so injure your defense. I was about to tweet something and it was gonna go something like, I'm having a hard time getting excited about the Apple Vision Pro. So were were, were they saying you were negative on this podcast or were you just being negative? Nelly on the internet and other places also. You [00:14:14] James: know me, Frank, I don't post anything on the internet that isn't just pure positivity, aka basically me just retweeting stuff from work, and that's about it. I don't post. Mm-hmm. I don't, I, I honestly don't use. The social platforms for more than engaging with either listeners or folks that have questions or doing stuff that's really like the platform there. Uh, many moons ago I decided that I wasn't really gonna be vocally opinionated on the Twitters, and I really haven't very, very minimal. It was more about this podcast specifically in general, and they were kind of, well, you're [00:14:49] Frank: allowed to be negative. It's a safe place. We, we create an environment and look, we're. Techno enthusiast. You have to remember, we're already at 90% excited. So when James is unexcited, he's still 90% excited, cuz he is still like toys. Even if you're not gonna buy it, you still like it. But in our defense, I, I, I said, uh, it's, it's just not the device right now. I, I just don't feel a need for one. Yeah, for 3,500 hours. If it was 500 hours, I might feel the need for it. [00:15:20] James: I've had a lot, a lot of conversations about about it in general and, and I will say this, I am still not super crazy excited about the entire space. It's not actually about the Vision Pro at all. I'm just really not ex excited too much about ar, vr, or. Mr. At all, in my opinion. However, I have had many more conversations and one thing that I did wanna talk about on this podcast specifically with you is, You have a game that's in 3d, it's called I Circuit 3d. Like you've now had a week to settle in or so, or a few days at least. Like have you been thinking like, Hey, you know, maybe I circuit 3D is like the perfect 3D application for a 3D virtual space. I don't create 3D things. Frank, I got outta that game when I got outta game development. All my things are flat and just have numbers on them. I mean, I guess it could have a big, you know, You know, big number that's up here with just, uh, your cadence. But still, I, I wanted to get your thoughts further on if you've been thinking about this. I have been [00:16:24] Frank: thinking about it. Um, I, I, I, I think an asteroids game would be much easier, but, um, so when I, when I was building eye circuit 3d, of course I was thinking about ar because AR kit had already come out. And I made a few design decisions a little early on that made ar hard, but I was able to backtrack a few of them and I was able to like, jam it into an AR session. And I tried, I, I had my phone in front of my face and I had my finger in the real world and I was trying to do AR stuff, but it just wasn't a good experience. I could put the circuit on your table. I could do that. That was within my skillset. But the interaction model was awkward. You had the phone in front of your face, you had your finger. Like I, I just didn't know how to interact with it. Do you interact with that on the phone, but then you're losing the arness of it? So that's all to say the Vision Pro. It could work there pretty well because if they support AR kit and a UI kit app, I'm pretty sure I could get it compiled over there. Might be a little tricky since I'm not sure if Microsoft is gonna support it out of the gates really quick. So I'd have to see what's possible on that front. But I do believe that it could happen. The problem is I'm not sure if I wanna spend $3,500 to find out if I can build an interaction model that's gonna be any good for it. Plus Ice Circuit does best with the student world and all of that, and I'm not sure, um, if it'll sell well on there. We don't know about the sales of these things. I guess we just don't know a lot of things and maybe I shouldn't worry about them then. So all that's to say is I haven't decided, but I had been thinking about it. [00:18:11] James: You know, I, I think when it comes to this, I've also gotten a lot of people ask me different questions if I'm interested in developing four and, and where I would go. And, you know, I think, I think at least to start it is sort of very similar to how views are with anything vr, which is. I'm just gonna see how things work in the simulator, right? Like mm-hmm. Or the emulator, whatever it is in that space in general. So out of the box, kind of run it, kind of play around with it, X, Y, Z, and kind of go from there and, Then, you know what Apple said was that they were actually gonna invite developers to come in and test their apps. I don't know what that works looks like, but I'm imagining that they really want some showcase applications on it for from the jump. And you still have a year on this? Yeah. Because you can't even buy it yet. Right. So the real question is for you is at this point, they're not even. Going to let developers spend the $3,500, right. For who knows how long. Maybe they love DEF kits. I do not know. Right. Yeah. But really it's like if you started today, would you be able to like sign up? I guess, would you have to fly down to Cupertino or something and then actually like. Or drive, you could drive well to try it out, you know, as an option. Does that intrigue you as a developer? [00:19:25] Frank: So, I've done it, uh, this is actually what they did when the Apple Watch was released. Uh, there was, the SDK was released first. No hardware. And then out of the blue I got an email from Apple saying, Hey, do you wanna come down to Cupertino? Hmm. And play with some Apple watches. And I had already written a few little apps for it. So I did that and I literally did drive, I had the Prius at the time and it had the, uh, adaptive cruise controls. It was actually a really nice drive down the west coast. And I got to hang out at Apple. Uh, went through crazy security and all that kind of stuff. They let it like, A bunch of us in a room, got to play with the Apple watches, got to actually plug 'em in, try out all the apps on it. It was a lot slower than I thought. Like any lab session, we all spent the first three hours just trying to get software installed on it. So that was all fun. Would I do that again? So I, I was debating with myself. I think I, I would sign up for the lab. Yeah. And if they did allow it, I would, uh, probably go, I don't know how they're gonna handle it. Like I said, last time it was just out of the blue. Um, it wasn't, there was no signup process. I'm curious to see how they handle it this time. Uh, and they, I did get a developer version of the watch and I honestly can't remember if I paid for it or they gave it to us for free. I don't think they're gonna do the same for the Vision Pro though. [00:20:55] James: I do not believe so. I don't even know how the HoloLens works specifically for dev kits. I'd have to find someone from. It's one of the advocacy teams that did that, or some page online or if someone knows right into the show, merch conflict, I fm or hit us up on Twitter. If you did like try to get a dev kit early or like how that worked. I'm not really positive. Uh, I think that I'm in the bow view. Like I definitely think it would be really cool to try out some applications, do some stuff, uh, if I had any, I would like to be your, um, Like co-developer, if they do invite you down, then I can just tag along like, oh, I gotta bring James. Cause it's a co-developer. You know what I mean? It's a team member just saying, I can't [00:21:35] Frank: remember if there was a plus one on the invite last time. It was years ago [00:21:38] James: now. Please, please, if so, I will. I'll pay. Pay. I'll split. I'll split the trip. There we go. All right, sounds good. I'll expense it for business related activities. Podcast, [00:21:50] Frank: by the way, you can join the Patreon at any time. [00:21:54] James: patreon.com/merge. Like, um, yeah. Okay, cool. This is good to know. I, I've been thinking about it because I was rewatching some of the videos with, uh, my friend who was coming up and driving during the events, so we didn't get to watch it. And they did have like, you know, things talking about education, but you're right. It's like, unless they really subsidize this in some way or get into schools like, like, I don't know. If that education is gonna jump off that way, but I do think Irco 3D would probably be pretty cool. So, [00:22:22] Frank: It, it would definitely be an awesome looking and fun app to have on there. Yeah. Like as, as long as like, you could keep like the virtual table pretty still in front of you and things like that. I think it could be a really fun environment. I could guess I could make this circuit float in front of you also, whatever, but I, I think of it as on a table would be most interesting. It'd be a great demo. I think, you know, I, I keep saying I'm not gonna buy it, but it's still kind of 50 50 in my head, so We'll, we'll, we'll see if I, um, well, like you said, you get it running in the simulator first. If it's any good there, then you gotta really make the [00:22:59] James: decision. Now talking about software, that would be very interesting to try out. Uh, you did. I'm not really sure how, if I'm supposed to talk about this, because I don't know what our developer contract actually says, so I'm not gonna say too much about it. However, that being said, uh, we were trying to figure out a new date for our recording of said podcasts, the one that we're recording right now. And I had to text you and say, sorry, Frank, I can't reschedule because I decided to upgrade my phone to iOS. 17 and the calendar app keeps crashing on me when I try to change the event. So I can't do it. Sorry, I had to delete it, so I had to create a new one in general. And you're like, oh, maybe I'll, you know, hold off. And I think I also upgraded Iowa 16 right away. And like everything they say, it's early software and you should not install it on your main phone. So what do I do is I install it directly on my main phone and. You know, the first few days were a little rough, but I feel like it's kind of coming around as far as some of the features. But it is, uh, I'm not, I'm not gonna say much about it, but it is early. It is early days, and I'll just leave it at that because news flash newsflash, I've been definitely doing all of the iOS 16 betas and they're completely fine, you know, as after the initial release. But yeah, it's definitely early days, uh, that it, it's feeling. Early. So if you're a normal consumer, it's a reason. It's a dev build. So I'm gonna translate [00:24:26] Frank: everything this is, this is without much knowledge. Um, I think by early he means his battery life isn't good and things crash and he can't do Calen. Why calendars? Calendars? Why are they changing calendars? Uh, remember when they would change, like iCloud syncing between versions? Those were the really rough IL ILS updates. I guess what you're describing is roughly normal. Um, it's doing a lot of logging, a lot of logs, logs going everywhere. It's doing a lot of, not cashing, a lot of cahe is turned off. Uh, I don't know, man, it, it's, I, I think like saying, comparing it to the iOS 16 betas, that's nothing. Obviously, all the big terrible changes go in between the big point, the big major releases. So yeah, I wouldn't judge. I don't know. I just don't do it anymore. Beta two, beta three. [00:25:25] James: I'll hop on. I'm on. I'm all on board. They have made the onboarding experience much easier though, like in the settings for updates. You can just easily talk it on so much better. Thank you Apple for making that much choice. I haven't looked at the watch. I do need to get a new watch. I'm gonna wait for the Apple event this fall. That is for sure. How about [00:25:42] Frank: uh, X Codes? No. Vision Pro SDKs right in the X Code? As far as I know, I [00:25:47] James: haven't seen anything yet. No. [00:25:49] Frank: Yeah. So we're all just sitting around Twittering our thumbs. At least [00:25:54] James: they announced it. Yes. All right. I got one last one at least I put out a video about this and I think that it's worth talking about cause it's a great developer productivity tool. I, about a month or two ago, I talked about something called dev tunnels. You remember Dev tunnels? Frank? They talk about dev tunnels. No, not at all. [00:26:12] Frank: Not at all. Okay. What? What's a dev tunnel? James? Okay. [00:26:14] James: Dev Tunnels was like my new, one of my new favorite features in Visual Studio. Um, on, on Windows and it's in a whole new area. And we have two things to talk about too. Other things that are new areas too, actually. But the first one is Dev Tunnel. So dev tunnel's really cool. Imagine you're, uh, debugging a web API or a local website, and it's running on local host, Frank. Mm-hmm. Let's say. You want to like share that with me? You're like, oh, I want to, like, I'm paraprogramming with you. You're in the office and I want to like, share that with you. Ooh. And maybe, I guess we, your naughty, [00:26:47] Frank: naughty internet things are, are about to happen here. Depth, tunnel, proxy. I see what's happening. Okay. I like [00:26:53] James: it. So, so let's say like, you know, I wanna share with you, but I don't wanna like publish it or I don't wanna do anything. You don't wanna, I don't wanna share screens or something like that. That's one scenario. Other scenario is, let's say I'm just debugging, uh, on an, an iOS device or Android device or an emulator, um, you can't really talk to a local host because it's not how it works Right. At all. So you need to, I've tried, I I've [00:27:13] Frank: tried the nastiest network setups you've ever seen to try to get that to work. [00:27:17] James: Nope. It doesn't work. It doesn't work. Now, um, what if you could take that local host. And you could put it online and you could tunnel your way from the internet down into your machine. Frank, it's it. There's many products that do this, by the way, but imagine if it was just as easy as debug. Well just right click debug, create a new dev tone. You can make it public, you can make it private, you can make it authenticated, unauthenticated, whatever you want, and it just is there all the time. Wouldn't that be great, Frank? [00:27:48] Frank: Uh, I say yes, and I want to know how much I'm about to spend on bandwidth because I can shove a lot of things through a tunnel. I would find such a tunnel very useful. [00:27:57] James: Well, Frank, what if I told you that while that feature was included and is included in Visual Studio 2022, all the additions, what if now it broke away from just Visual Studio? And what if Frank, it was a command line. Tool called Dev Tunnel, c l i, and you could do this from Mac, windows, or PC or Linux. That is a [00:28:17] Frank: bit crazy. Okay. Yes, I like it. I still wanna know who's paying for the bandwidth here, but I love it. Uh, I, I wonder if it's tricky. Does it always use a proxy? I'm just guessing it implementations people because, uh, this is, I mean, we deal with this all the time as developers trying to get one machine to talk to another. Um, pretty, pretty excited. Curious to see what kind of bills I can rack up with it. [00:28:44] James: Well, I don't think there is any bills because it doesn't cost anything, so. Magic. Magic. Yes. I did a video on this. I'll talk about it, but I think it's something that just to kind of talk about. Right. This is great. When you're debugging even web hooks or something like that, um, it is really, really nice. At least right now it's in preview, so at least it's, there's, there's, there's no SLA on it and mm-hmm. And I don't know what features would, would be on there, but as far as I know, everything that's in there right now is just included out of the box. Um, they can set up, uh, ports with ips. You can make 'em persistent. Um, Yeah, just all, just the relay service. It does everything, it handles it all for you automatically and gives you a cool URL on the internet. Yeah. Uh, [00:29:25] Frank: I, I was looking at the cool u URL on the internet, so that, that's a little bit funny. It actually generates a random u r url, uh, to represent you on the internet, so I guess that's the easiest way to share. Boy, I, I have at least three local servers running right now, port 80, 80, 80, 85. Four, 4,000. So, uh, I, I should be tunneling all these puppies on over to you. Yeah, this is great. I love this. This is a great little [00:29:52] James: tool. Alright, last one for you. Um, and, and what you'll get your hands on, you'll let know how that goes, is you followed the news this week or last week, I should say. Uh, there's some new enhancements coming to vs. Code. Did you hear about this? Did you hear about the news for C sharp developers? Blah, blah, blah. Is it [00:30:08] Frank: all ai? I I need ai. I I need AI chat. I was trying to get the GitHub co-pilot chat to install, and I cannot get that stupid extension to work. Everyone write to me on Twitter and tell me how to do it anyway. What were you saying? [00:30:21] James: I have it in VS. Proper, but I don't have it in VS code. Maybe I do have it in VS code, but no, it is the C sharp DEF code. There's many things that happen in the world of C sharp for VS. Code specifically. Three things Frank. First I wanna start off with this, is there was this thing called C sharp dev kit, but I don't wanna go there yet because this is the second layer. The first layer, Frank, is that the C sharp extension? You know what the C sharp extension inside of vs. Code, that was I of it. And breathe [00:30:45] Frank: it. I, I, I use it all the days, every day. [00:30:48] James: What if I told you it was previously powered by Omni Sharp, but what if I told you now it is now powered by a fully, a new, fully open. L S P language service protocol hosting. They've enhanced the performance extensibility and the overall entire experience with it, and kind of built it from the ground up that you can use sort of anywhere, and that's just updated and ready to go. [00:31:15] Frank: I would say I'm super afraid because I hate change, but at the same time, I'm super excited because it, it's nice to just make it an internal tool. I mean, it was, it was weird that the extension was using, um, an open source project. Great job, open source project. I. But, um, yeah, I mean, Microsoft writes via code. Microsoft writes the C sharp compiler makes a little bit of sense for them to write the language server. So kind of, kind of just good to see that, uh, uh, they're taking the responsibility for it. I'm a little bit nervous though already. I've, I, I have like, 85% luck with vs. Code opening my projects. I am, I'm hoping this one's able to handle my crazy rat's nest of projects and solutions. [00:32:00] James: So this one, if you just go and flip the bits to the pre-release, it's there. You can go back to the Omni sharp version as well. There's a setting to do that, but this one fully integrates. You know, Rosalyn and Razor to give you the rich type information. A whole bunch of other stuff too. So lots of nice features there. Um, refactoring code, navigation, code completions, Roslyn Powers, semantic awareness, all sorts of good stuff, right? Those all available. You can flip it back. All open source, no license change, all as it was just new goodness from the ground up. So everyone that's been using that, wow, you're good to go. But Frank, there is something else on one thing. One more thing. Okay. Two more things actually. One is the C Sharp. Dev kit extension. Now, this C sharp dev kit extension builds on top of the C sharp and includes the C sharp extension and another extension too that I'll talk about, but it includes a whole bunch of great fundamental things that CS Sharp developers are used to. Inside of Visual from Visual Studio and Visual Studio for Mac inside of VS. Code. For example, solution management. [00:33:04] Frank: Oh, I was gonna guess I was gonna say, is there a solution explorer, because that's everything. Yes. That's, that's, that's what a.net person wants. We have solution files and project files. I need a thing to let me edit solution files and project files. I know, I, I, I know there was an F sharp one that could do it also, but thank you. Yes, for finally allowing me to edit and look at solution and project [00:33:27] James: files. Boom. Yeah, so has solution. It has a native test explorer built right in. It also has, that's nice templates. So you can just create, and it has template integration, so you can create, you can add new projects to existing solutions so you can just spin them up right inside of it, which is very nice. You don't have to go down to the command line and if you don't want to, um, it'll help you do test discovery and debugging and does a bunch of other stuff as well, which is really, really cool. Okay. [00:33:51] Frank: This is great. Thank you for telling me, because I'm gonna install it at the moment we stop chatting here because I've needed all these features for a while. Yes. I'm gonna say hashtag finally. Finally. But okay. Thank you. Thank you for, uh, making this, and I know I, I did some of these. [00:34:06] James: Yeah. For F Sharp. Yeah. Yeah. Now on top of that, there is also Intelli code for the C Sharp dev kit. So when you install the C Sharp dev kit, it's gonna upgrade your C sharp extension and additionally give you intelli code for C sharp dev kit, which is gonna give you AI powered start and whole line and completions one of my favorite things in the entire world. Um, that's optional. You don't need to install it, but, and you now get in telecode inside of VS. Code for C Sharp, which is awesome. [00:34:34] Frank: I think I'm a co-pilot person, but that's only because I haven't had access to in Telecode for the last years when everyone else has had access to it. Um, we'll see. I might ab test them, but for now I'm gonna stay strong as a co-pilot [00:34:48] James: person. I think. Now I will tell you this much because of a lot of people have questions, so this is me like clarifying and doing a podcast, but I'm very excited about this cause I've known about it for a long, long time. Uh, c dev kit. And the Intelli code for seizure dev kit, those are closed sources, and so it's closed source, those two. Not the C SHARPP extension. That one's open source still is. No license changes, m i t licensing, all that good stuff. The C sharp dev kit stuff specifically. And the Intelli for C sharp dev kit are closed source and they're licensed under the Visual Studio subscription, which means you sign in with your Visual Studio subscription, including community edition, which is free. If you make under a million dollars, you can sign on in Good to Go if you already have, yes, it'll give you all that good stuff as well. So there's two bits. You got an email address basically? Yeah. Gotta sign in. So those are the two things, but including community edition. So if you That's great. Are are good there? You're good to go. Um, but I. Again, the Seashore extension built sort of from the ground up there with the L S P stuff, which is really cool. So that's what what I got. [00:35:46] Frank: I want to complain about having to be, uh, signed in, but it seems like every extension I've added to VS. Code makes me sign in now. So it's just like, yeah, yeah. Everyone sign in. When are we gonna get single sign on for the internet? [00:35:59] James: Oh, yeah. Yeah. I mean, cause I don't think actually you can sign into VS code, but only to sync your settings and your extensions across. Um, but I don't dunno if that's subscription status. Yeah. Yeah. I don't know if like, that's used to like auto log in. Like what I would like is Yeah. Give gimme an optional login that can then log into my extensions. [00:36:20] Frank: That'd be correct. Yeah. Cause I, I'm logged into GitHub. I'm logged into GitHub co-pilot, I'm logged into Azure. There's an Azure browser thing, or you can get mm-hmm. You know, you're just logged into all this stuff. So, Whatever. It's just one more, [00:36:33] James: that's all I got Frank. I just have some news. There was a lot of news that, that, that happened after build. So, so many things happened this week, Frank, and last week and the whole month before that. Well, I have to say [00:36:42] Frank: I was most excited about the thing I discussed. Of course. Um, I, I think the collection literals are just gonna be the greatest thing ever. But I love your productivity tips, especially these are good. The tunnel. We, we should do more shows, which are just, uh, tips and tricks and tools. I don't know. We should try [00:37:01] James: one of those. This, that's what kind of what this episode was. If it wasn't for me just talking about The Vision Pro for like 10 minutes for some odd reason, complaining. Yeah. Whatever. It's good. People like it updates. Um, alright, well I think that's gonna do it for this week's merch conflict. If there's other things that you want us to talk about or discuss, hit us up@merchconflict.fm. Uh, or hit us up on Twitter as well. You can find all that information at Merch conflict dom. But until next time, this has been another Merch Conflict Time, James Mos Magno. [00:37:26] Frank: And I'm Frank Krueger. Thanks for watching and listening. Pace.