 This is Christian Buckley doing another MVP buzz chat, and I'm here with Kevin. Hey, what's going on? Going good. Happy to be here. Thanks for having me on. Yeah, so why don't you tell us a little bit about yourself, who you are, where you are, what you do? Sure. My name is Kevin Bost, Microsoft MVP. I work for a professional services company, which is CodeSpeak for Consultant. We do a lot of, the company's name is Intellitec. We do a lot of work with various utilities, banking, and we kind of bounce around and do all kinds of stuff. My passion is a lot of XAML-based stuff. So I was a Xamarin-certified mobile developer before the certification went away. I absolutely love WPF. A lot of people might know me from working on the Material Design Toolkit Project out on GitHub. It's a WPF theming library to bring Google's material design to WPF, just so that you can have a nice, pretty-looking feel. Beyond that, I do a lot of Twitch streaming. A lot of it's just working on bugs and issues. A few other open source projects is the Microsoft.net command line API project. Some people may have heard it with the code name Dragonfruit, which gives you a strongly-typed main method so that you can write pretty-looking command line apps rather than the standard public static void main with the string arcs. And then one of my other passions is a lot of testability and unit testing. So the AutoMocker project for Mock is another one that I do a lot of work to and there's actually a release that's probably going out later today. That's very exciting. And so in your team, do I understand you have another MVP on staff as well? Yeah, so my boss, Mark McHales, is a MVP and regional director for Microsoft as well. He's also the author of the Essential C-Sharp series books. The 80 version is in the works and hopefully coming soon. I do not know what the date is on that, but I've also been one of the technical editors helping him out with that as well. That's very cool. Well, I had an interview last week with Jim Wilcox, who's another somebody that I've known through the SharePoint community for many years. So he's a developer technology MVP over out of the Boston area and was talking about some of the being excited about some of the changes that are happening around the .NET Core, the new .NET 5 and a lot of that activity. What else is happening in your space? What kind of things are new being talked about? Yeah, so with my area of interest, it kind of bounces all over the place. So the WPF stuff, I mean, the latest big thing was the .NET Core 3.0 support, which a lot of people get it confused thinking that it means that WPF is now cross-platform this out in the other. It's not. WPF is still definitely windows specific, but you get all of the benefits of .NET Core, all the performance gains and that sort of thing that come along with it. With all the new .NET 5 stuff, it's kind of nice seeing all of the .NET framework and .NET Core stuff kind of merging together. I think some of it's a little bit of a naming thing, just trying to point out like some people have said, oh, .NET framework's getting sunsetted. This is the next thing. I prefer to think of it as the merging of what both .NET Core and .NET framework kind of coming together and making one thing going forward, which is I think a much easier pill for a lot of people to swallow and get their head around, just because .NET framework is kind of this big monolithic thing that you take along with it. I remember in, I'm fairly young, but ye olden days when you had to make sure that the Windows machines always had the right version of .NET for whatever thing you were going to go and install and making sure that the installer package handled all of that. And a lot of those things kind of get solved with .NET Core, with the side loading, being able to effectively publish the runtime along with your app, so you don't have to worry about that. And seeing all of those things kind of come together with .NET 5 is really exciting. I look forward to the point where we stop having to have all of these weird multi-targeted projects, PCL and that standard and it is just .NET. And that's what I build for, that's what I distribute for, and everyone gets to be one big happy family. You're talking about some of the industries that you work with, what are some kinds of the projects that you're doing? So you were saying you work with some of the utilities, is that, are you? Yeah, so the local utility, I'm in Eastern Washington. The utility around here is a Vista utility. So my company does a lot of work with them. It kind of varies back and forth. We've done a bunch of different projects. Ultimately, they're looking to effectively modernize and push things out to the cloud. So we've got people on staff that do dev ops to optimize their CI CD stuff. Obviously, web developers for their web front end and also a lot of internal tools that there are people used to just monitor the grid and make sure that everything's working or when they send out a workman to effectively go and say mark your underground lines before you dig or something so that they have all of that information. So there's some interesting stuff with some GIS type technologies built into there, a lot of web stuff, a lot of automation stuff. A lot of it is just really trying to get the data into the right format and get it to the right spot so that people can do the right thing efficiently. Whereas a lot of stuff was very manual and moving things around. Just interesting. There's probably a longer conversation around this. I spent early in my career, I worked for the phone company, so formerly Pacific Bell back in the day or Pacific Telsus shared services team. So we owned all of that. Essentially, I was working with our multiple data warehouses. So the physical, going to the locations, doing server maintenance, writing, a lot of the documentation and support of the systems that we build out and working with this support organization. But prior to that, I worked for EDS and we worked with a number of utility companies and some of the projects. It's just changed a lot since the 1992 to 95 era when I was working on those pieces. It would be interesting just to go and have some conversations and dig in and just see how much things have changed. But for another time, that's exciting stuff. That makes for some just amazing video as well. Talk about it. Oh, I don't doubt it. One of my initial projects, when I, the very first job I had right out of college was actually building a WinForms app that was integrating with an Avaya phone system. And just the simplisticness of giving an operator, effectively it was bringing through some of the caller's data so that when the operator picked up the call that they had, you know, the person's information, kind of some backstory of what the interaction had been with previously and just building that out. The kind of stuff that we would do. And we would actually be integrating, I remember going in upgrading some of the GIS data so that it was just as important for a phone company if you're, for example, you're dealing with a client and you're gonna go dig up their yard looking for a line in the ground to be within three feet of accuracy versus 20 feet of accuracy. We have the latest maps and data around that. But yeah, anyway, so it's interesting when you get into some of the, it's one thing is to, in the software space where you think up interesting novel solutions and then come up with business cases that happens far too often to kind of justify the cool thing that you wanna go and build versus, hey, you know, we have people that are out in the field and these are the activities that we're doing and we need to streamline, so they get the product information, they get the customer, the site location information up there in real time, they can edit both of those things which may data live in two different systems. You start adding a little bit of complexity and the fact that somebody's in the field and what devices they're on and there's some really interesting problems that you can go in and solve to, I look at the world through the lens of productivity collaboration technology and essentially of all those things it all kind of fits into that collaboration story. A lot of the stuff that you're doing, you're just doing more of the backend of making sure that the data and the systems of the people can get the data at the right time in the right format. Exactly, and that's sort of why, I guess your comment there about backend is like the material design project, that's one of the things that I had initially just been contributing to it because we had a project where it actually involved a bit of hardware. We were building an industrial printer to print PCBs and we needed a pretty user interface for it to sort of help sell it because it wasn't just a software package, it was the whole hardware thing, like these are the printers where floor space actually matters, right? Smaller you can make it, the better. And so I had started contributing to the project just because it was one of the nicest ones I had seen out there and I wanted it to work well for our project and then ultimately the maintainer ended up running out of time and steam and offered to let me take over as maintainer. I was like, I'd love to, right? This is a fun project, like I really enjoy building out effectively dev tools and libraries. It sounds kind of weird, but I love it when I get users feedback of, hey, this is working really great for us. Like this is streamlined our process, it let us put together this beautiful app really quickly and because normally in especially enterprise stuff, enterprises where you kind of have a forced user base, there's not a lot of time spent on design. No, no, but it's a closed system. I mean, you're utilizing something that somebody else built and you can provide feedback versus this method. There's a lot of developers have that same reaction. To be able to go and build the tooling and things around there. It's like, yeah, but it's, you may not necessarily be building that because you think, hey, everybody in the world needs to do this. It may be that this year approach may fold into maybe a branch off of some other existing tool or an open source solution and you come up with a better method and fold that back in that, add to that collective product. Yeah, it definitely is one of those, enjoying seeing the feedback and getting that and building it out. I really do enjoy having that come through. Yeah, so for the developer technologies space, I don't know who some of the folks that you interact with through Microsoft through the MVP program. This was how long have you been in MVP now? This is actually my first year as an MVP. Just came up for renewal at the end of last month, I think. So I think like 11 months or something like that. Okay, well, yeah, you only get July. So you get the whole cycle. We all get renewed at this time annually, but were you able to go to the summit last year? No, I wasn't. I came in right after the summit, which was perfect timing. Yeah, that's a fortunate. Yeah, there's a few of the newer MVPs that it's unfortunate that we're not able to because it's coronavirus, of course, the whole thing got moved to virtual. It was a good experience, but it's just different. Yeah, it worked out well, especially for putting together an online conference and with that short of a timeframe at that scale, like I have to say it went about as well as one could have possibly hoped, which was pretty nice. Kind of going back to your question as far as the people I interact with most, typically on the Microsoft side of things, it's mostly been around a lot of the command line stuff. So Kathleen Dollard has been the project manager over at Microsoft, who's basically been championing this. The project started back from the .NET CLI. When they initially went through to go and build it, John Secura was the developer and they had looked at all the open source command line parsing libraries that were out there. And what they came up with is none of them, they either came up short in terms of complexity of what they wanted to be able to support and do with the .NET CLI, or they were deficient or lacking in some means. So they finally came to the conclusion of we're gonna build our own, which at a lot of times people were like, no, please don't do that, please don't do that. Like this is a problem that's been solved many times, please don't build it. And they went through and it was actually really interesting because they even pulled in, like Nate McMaster's library is a fairly popular one, trying to remember the exact name of it. But they actually pulled in Nate to the initial design sessions for this to try and make sure that they were building things out. And he actually was one of the guys that helped build out one of the initial versions of the Dragon Fruit API for the strongly typed main, which was kind of cool to have that collaboration and see all of that come together. Still not a full release NuGet package as they like a lot of it's been put it out there, let's get people using it and try and get feedback on where is this API deficient? Where does it work? Where does it doesn't work for you? But and again, it was one of those, it started as based upon what the .NET CLI was and has now effectively branched into its own project, which has been really cool. Just to plug it really quick, people here command line parsing library and the first thing they think of is taking that string array and parsing it into something. And that's only one piece of what the library does. So one, there's the strongly typed main, which is the code name Dragon Fruit. It's got a rendering API, which is still very rough, but effectively being able to draw stuff out. It's not like a full end curses level a bit, but a lot of times just writing stuff out to the screen, people want more than console write line, right? Like being able to do like table layouts or progress spinners or that kind of thing should be easy. And that's the goal of kind of the rendering one. And then the last one is actually beyond just the parsing, being able to do the invocation of it, right? So the user types in, invokes my command line app, passes a bunch of stuff. I wanna parse that into a model, but then I don't wanna have to go through and write all of the logic to figure out, okay, which command actually got executed. Just go and execute that thing for me. So that's ultimately what Dragon Fruit builds on top of is, hey, let's make that really, really easy. But if you want a more complex model, like what the .NET CLI supports, it's all there. And it's all there and works, so. I was just gonna say that when I think of command line interface, when I think of that, I think of sports cars, fast living and international espionage, but that's me. It's funny because I have a lot of dev friends and so they occasionally talk about some of the updates that are going on. It's like, of course the MVP summit when it happens, on campus, those are generally not the sessions that I gravitate towards. They happen in other buildings across campus, but I think there's a number of people that have gone cold on the topic. They've moved on to some other activities now that they're in this predominantly online or entirely online world and MVP summit online, as we all did. I was able to consume twice as much content because I was going through early morning sessions, full morning of sessions, and then they were repeating the number of topics in the evening, of course, and I was just going through a different set of topics in the evening. And so I was doing eight to 10 hours of content a day, each day for that week, consuming just a lot of this. I know there's a number of people that are doing the same thing and going, trying to catch up like, hey, this is a great opportunity for me to just kind of get back into my roots in this world. So it's been great to interview a couple of MVPs in this space and just find out, hey, there's actually a lot that's been happening. Well, Kevin, people want to get in touch with you. We've talked about your tweets, we've talked about some of your profiles, like what are the best ways to get in touch with you? People want to reach out if they got questions or just want to connect. If people want to reach out and connect, I would say find me on GitHub, so github.com, slash K-E-B-O-O. You'll find links to all of my other profiles there that will dive you into either videos or Twitch streams or YouTube or email or whatnot or whatever people want to find. Awesome. Well, thanks so much for your time today and I'll let you get back into it. I'll get back underway and hopefully we'll see each other at the event this next year. I don't know what I'm gonna get back over to your part of the world there before then, but... Hopefully next time in person and I can actually shake your hand. Yeah, well, stay safe and we'll talk to you soon. Awesome, thank you, Christian. Bye.