Show cover of The Modern .NET Show

The Modern .NET Show

Calling all .NET developers! Dive into the heart of modern .NET technology with us. We're thrilled to introduce our revamped podcast, dedicated to guiding you through the latest and greatest in the world of .NET development. Our show, previously known as The .NET Core Podcast, is all about keeping you up-to-date and empowered in this ever-evolving field. Tune in for engaging interviews with industry leaders, as we discuss the topics every .NET developer should be well-versed in. From cross-platform wonders to cloud innovations, we're here to ensure you're armed with the knowledge to excel with the modern .NET technology stack. Join us on this exciting journey, where learning, growing, and connecting with fellow developers takes centre stage. Let's embrace the new era of .NET together!

Tracks

Navigating the ASP .NET Core Maze: From Middleware to Minimal APIs and Modern C# with Andrew Lock
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Yeah, exactly. And it means you can, if you see it in its sort of native place, next time that you're writing something, maybe you don't go and change all your IEnumerables to IAsyncEnumerable because that's not worth doing. But maybe next time you're writing a new API you're like, "oh, you know what, I will use that newer API because it will give me better performance. And when I'm writing it, it's easy to just use the new thing and it's more applicable to this situation." — Andrew Lock Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Andrew Lock joined us to talk about ASP .NET Core's new Minimal APIs paradigm. Along the We also talked about validation, and the third edition of his book "ASP .NET Core in Action" from Manning Publishing. So it's sort of interesting, the philosophy, because obviously validation was one of the things they had some pushback. In MVC You've got validation there by default, and clearly you always want to have validation of your arguments. So why didn't they include it in minimal APIs? And the answer basically is because there's more than one validation framework. There's the data annotation attributes... but then there's other frameworks like the fluent validation, for example, is a very popular one. And the only way that works in MVC is you have to sort of try and plug it in as an extra part and remove the old validation. And they didn't want to prioritize any particular style of doing validation. — Andrew Lock So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/navigating-the-aspnet-core-maze-from-middleware-to-minimal-apis-and-modern-c-sharp-with-andrew-lock/ Useful Links A discount code, good for 45% off all Manning Products: dotnetshow24 ASP .NET Core in Action Andrew's previous appearance on the show: Episode 17 - ASP .NET Core's Middleware Pipeline with Andrew Lock Andrew's blog OWIN version The .NET blog posts by Stephen Toub Episode 72 - Emulating a Video Game System in .NET with Ryujinx Express.js build Web APIs Using Python & FastAPI with @KJayMiller Andrew's series of blog posts on Source Generators Andrew on: X (formally known as Twitter) LinkedIn Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
68:20 7/12/24
Breaking the Compromise: Unravelling the Truths of Cyber Security with Lianne Potter and Jeff Watkins
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes What do they go for? They go for one that's separated from the herd. And the idea behind cyber security nowadays should really actually be: put enough security controls in that they just go, "you know what? There's someone down the road that's got it all wide open. I'm just gonna go for them." And if you can just make yourself look as unappetizing and unappealing as possible, that's half the battle. — Lianne Potter Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Lianne Potter and Jeff Watkins of the Compromising Positions podcast joined us to talk a little bit about the practical side of cyber security. Both Lianne and Jeff are cyber security professionals and have a ton of experience in the industry. But I had them talk about cyber security from a developer's point of view: what can we do, what do we need to know, and how can we help our colleagues on a daily basis? I think the other side's true as well. I think companies in general need to encourage a more holistic, and shift-left, and integrated approach to security. I think we talk about that quite a bit about the idea of this should not be an "over the fence," because I guess there's two sides of the coin. One side saying, "oh look, there's the security team, they're the Department of Work prevention, they're the ones who are going to stop you." And there's the other side of that coin where nobody's bothered to ever include people from the security in their ways of working and daily practices — Jeff Watkins So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/breaking-the-compromise-unravelling-the-truths-of-cyber-security-with-lianne-potter-and-jeff-watkins/ Useful Links Compromising Positions podcast Leeds Cyber Security Conference Kaizen by Masaaki Imai Toyota Production System The Goal The Phoenix Project The Dark Money Files ISC2 ISC2's Free entry-level cyber security training + certification exam Lianne Potter on LinkedIn Jeff Watkins on LinkedIn Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
72:39 6/28/24
.NET Unwrapped: From Workflow Engines to Identity, A Developer's Journey with Dustin Metzgar
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes I want it to be like one of those books that you can pick up and you can, like, you don't have to have .NET experience. You might, you know, maybe, you know, Java or maybe, you know, Python or something like that. You should be able to pick this book up and get to a point where you can actually build real world applications with .NET that are secure, they're fast, they're well tested. They have localization built in. They're put into containers that you can throw into like a Kubernetes. I wanted to get to that point where it's like, you could build applications that I've built like, say, with UiPath — Dustin Metzgar Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Dustin Metzgar joined us to talk about his new book ".NET in Action Second Edition." This book takes the first edition, written back in 2018, which targetted .NET Core 2 and upgrades and expands it to both cover a lot more content and to focus on .NET 8. Along the way, we also discussed the basics of identity and the common pitfalls that developers fall into when they work with one of the current identity standards. So certificates are still involved too because it's because you need that certificate to sign the tokens. And I think what's interesting about certificates is like you have that, you know, this kind of asymmetric encryption where, you know, you have a private key and then you publish a public key that everybody can see to use to kind of decrypt your, what you sign, what you encrypt. And that's a kind of a feature of like these identity providers. — Dustin Metzgar So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/net-unwrapped-from-workflow-engines-to-kubernetes-containers-a-developers-journey-with-dustin-metzgar/ Useful Links A discount code, good for 45% off all Manning Products: dotnetshow24 UiPath .NET in Action Second Edition Episode 3 - CoreWF With Dustin Metzgar S06E05 - Navigating the .NETverse: From Assembler to Open Source Marvel with Scott Hunter Episode 104 - C# with Mads Torgersen S06E09 - From Code Generation to Revolutionary RavenDB: Unveiling the Database Secrets with Oren Eini UiPath/CoreWF on GitHub Duende Oauth OpenID Connect Okta Auth0 OpenIddict Papers Please Entra IdentityModel Auth0 Blog Dustin on Mastodon Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
82:53 6/14/24
Temporal: Orchestrating Success in Distributed Systems with Security and Simplicity with John Kattenhorn
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. NService Bus This episode of The Modern .NET Show is supported, in part, by NServiceBus, the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand. Make sure you click the link in the show notes to learn more about NServiceBus. Show Notes When you talk to the Temporal guys and look at the way that they've done some of their work is they have a... they have stuff that can run for years. So for instance, they'll kick off a workflow for one of their customers, kicks off a workflow when the customer's created, and that workflow is like managed by Temporal for as long as that customer is a customer. So it could be, you know, I don't know, occasionally sending out an email to, you know, "happy birthday" or something, or sending them promotions or whatever. So they see, they see workflows as like lifetime things — John Kattenhorn Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, John Kattenhorn joined us to talk about Temporal.io and their platform for building durable workflows which can operate for years at a time. John in the CEO of Applicita and wanted to talk about the ways that developers can build applications and workflows which can live in the cloud for a very long time. And the great thing about Temporal is it manages all of those resources for you. So if you imagined me and you trying to do that, we'd end up standing up, I don't know, a running service or something that was constantly polling the data, looking for eligible customers or something. You'd be burning some resources looking at that stuff, and that's not how they do that. So if you've got like a million customers, the Temporal system dehydrates everything that isn't relevant and only hydrates the workflows that have an action to perform — John Kattenhorn So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/temporal-orchestrating-success-in-distributed-systems-with-security-and-simplicity-with-john-kattenhorn-with-john-kattenhorn/ Useful Links temporal.io Polly Durable Tasks from Microsoft Azure Event Hubs [Azure] Service Bus Cadence Godot Hangfire Saga pattern System.Text.Json Namespace GitHub samples eShop Temporal's YouTube channel Temporal's Slack John Kattenhorn on X Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
71:02 5/31/24
Uno Platform: One UI to Rule Them All with Martin Zikmund
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Uno Platform started off as the core UI framework. UI and non UI, because as part of Uno Platform itself, you have some non UI APIs like accelerometer and like these device sensors that you can use in a cross platform manner. So that part is the core framework, which is the backbone to everything that we built on top of it. — Martin Zikmund Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Martin Zikmund joined us to talk about Uno Platform and how it's way more than just a UI framework. It has support for APIs such as reading device sensors like accelerometers, too. But the bread and butter of Uno Platform, like AvaloniaUI, comes from the fact that you can use the familiar WPF syntax and either the new MVUX architecture or the more familiar to most MVU architecture to build your apps. Yeah, ideally it should work on any Linux where .NET runs. And we are currently using GTK as the underlying framework that simplifies our like that access to Linux specific APIs. So there is kind of a middleware layer of GTK. And you know, that makes the development for us much easier because it already has those shims for different versions of Linux and so on built in. — Martin Zikmund So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/s06e18-uno-platform-one-ui-to-rule-them-all-with-martin-zikmund/ Useful Links Episode 60 - Uno Platform With Jérôme Laban Uno Platform's dotnet new templates S06E17 - .NET MAUI: Navigating the Cross-Platform Code Seas with Maddy Montaquila Uno Toolkit Uno Extensions Uno Figma MVVM Community toolkit MVVM MVUX Comet https://platform.uno docs.platform.uno Uno Samples repository on GitHub Uno Platform's YouTube channel Uno.Gallery Uno Platform's case studies and showcases Uno Platform on Discord GitHub discussions on the Uno Platform repository Uno Platform on X Uno Platform on TikTok Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
66:17 5/17/24
.NET MAUI: Navigating the Cross-Platform Code Seas with Maddy Montaquila
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Yeah, so .NET MAUI is the .NET stack, framework, whatever you want to call it, for writing one code base that runs on what we call client devices, client platforms. So you have the web, you have ASP .NET Blazor and all that stuff. You have the console apps, you can write with C#, of course, so many backends and APIs and all of that stuff running in the cloud. But with MAUI, it's for client app development. So Android, iOS, macOS and Windows, you can target using XAML and C#, or just C# if you don't like XAML, or Razor if you want to. All are options. But you can write one code, business logic, your UI, all of your endpoint management and everything, all of that. And it's just written in C#. It's a .NET application. It's using .NET MAUI — Maddy Montaquila Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Maddy Montaquila joined us to talk about .NET MAUI—the Multi-platform Application User Interface—what it is, it's history, and why developers who are looking for a first-party UI-framework their modern .NET apps should check it out. We can do that totally within MAUI. It's actually pretty easy. So you can just say like, "on platform Android, do this," or "on idiom," we call them idioms, right? Tablet, desktop, or phone. "On idiom, do this." We actually have customers who will ship in the same code base, like two completely different navigation stacks. So it will say, "on desktop, load it up with this nav stack and load into these pages. On mobile, load it up into this nav stack and load up these pages." But since you can share the components, you can basically say, "the navigation of my desktop app, everything is horizontal, but I pull in the same components. It's just like a different grid view than I would do on mobile where it's all stacked on top of each other and it's a scroll." Right? So you can get super flexible with all of it. — Maddy Montaquila So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/s6e17-net-maui-navigating-the-cross-platform-code-seas-with-maddy-montaquila/ Useful Links .NET Upgrade Assistant .NET MAUI VS Code extension C# Dev Kit David Ortinau's GitHub MAUI samples repo UIKit Mac Catalyst Maui.Markup ReactiveUI MVVM OpenJDK .NET MAUI documentation Android Studio aka.ms/mauidevkit-docs Bitwarden Cliff Agius Handy-App .NET Podcasts app eshop-mobile-client learn.microsoft.com James Montamagno Gerald Versluis You can email Maddy at maddy@microsoft.com .NET MAUI on Twitter The official .NET discord server .NET MAUI GitHub repo Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
59:32 5/3/24
Building Secure Software: Unveiling the Hidden Dependencies with Niels Tanis
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes And keep in mind that, not to bash OWASP and the top ten at all because I'm a big fan of OWASP, but people always tell me like, "yeah, I'm OWASP compliant," and that's the biggest BS, to be honest. Because a top ten could not like, it should be an awareness piece and you should work from it. And there are better ways of dealing with that. But I think a security scorecard should never be a goal. It should be a means to reach the goal, to have better understanding, right? And hopefully they can change stuff and be more expressive. — Niels Tanis Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, Niels Tanis returned to the show. He was previous on the show back in episode 69 - The Risks of Third Party Code With Niels Tanis - which was released back in February of 2021. I asked Niels to back on the show to talk more about securing the software development supply chain and SBoMs (Software Bills of Materials). Yeah, that makes sense. It's funny. So I think when I started out talking about supply chain, and there were some tools that have been introduced to do SBoM data, and then you also come into an area called provenance, which tells more about the build and about "this build server was used. And I've run on GitHub actions, or I run on a GitLab instance, or I have stuff done differently," right? Maybe even the Redhat one: Tekton, that kind of thing. And based on that, I'm producing an SBoM. And I did a talk and I concluded with that, "it's like, these are cool tools, you need to look into it." And then somebody at the end asked me the question, "and the what? You have all the data? And then what?" I said, "yeah, that's solid question because that will be the next step." And it's funny that you mentioned it as well. So over the time, I think it was around already when I started out talking. But there's a project that Google created called Guac. — Niels Tanis So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/building-secure-software-unveiling-the-hidden-dependencies-with-niels-tanis/ Useful Links Getting started with Tekton Guac NDC in London NDC security Vercaode BinaryFormatter serialization methods are obsolete and prohibited in ASP.NET apps Second Breakfast: Implicit and Mutation-Based Serialization Vulnerabilities in .NET Charles Lamb - To Be Creative, Don't Think So Hard Log4j vulnerability - what everyone needs to know Google SALSA CycloneDX Open Source Security Foundation ossf/scorecard: OpenSSF Scorecard securityscorecards.dev Newtonsoft.Json Open Source Insights What deps.dev has to say about OwaspHeaders.Core nielstanis/Fennec.NetCore: Fennec.NetCore Metalnem/sharpfuzz: AFL-based fuzz testing for .NET AFL) libfuzzer Five years of fuzzing .NET with SharpFuzz CodeQL SonarCube Cargo Vet Common Vulnerabilities and Exposures defintion OpenVas RLBox Emscripten Extending Webassembly to the Cloud with .NET Microsoft Build 2023 - Hyperlight Bytecode Alliance Wasmtime CyberBunker WasmCon 2023 Talks Playlist XKCD - Dependency Connecting with Niels: on Mastodon his website Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
75:18 4/19/24
Code, Coffee, and Clever Debugging: Leslie Richardson's Microsoft Journey and the C# Dev Kit in Visual Studio Code with Leslie Richardson
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Yeah, so C# Dev Kit, it is a pretty new extension in VS Code. We just GA'd it back in early October. And it's an extension that basically enables you to be productive writing C# applications in VS Code. —Leslie Richardson Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Leslie Richardson about the C# Dev Kit, a new extension for Visual Studio Code which aims to make the experience of writing C# and .NET code in the free editor more productive. It improves the experience of working with almost all code bases which use modern .NET, and includes the ability to even run and explore your unit tests within VS Code - something that wasn't easily doable previously. I know before C# Dev Kit existed, the Test Explorer is a window that exists by default in VS Code. But yeah, you're already laughing like, "oh yeah." So it wasn't very great pre Dev Kit from my understanding, like simple things such as being able to automatically recognise your test once you build your test project. That was not a thing, which blows my mind. I'm like, "but then what are you supposed to do? Just manually add them in? That doesn't sound fun at all, especially if you're trying to do the whole test-driven development." You've got tests everywhere and it's like, "well, that's 50 some tests I have to log in. Yippee. I love testing." Yeah, I can't imagine that's a great experience. So thankfully, with C# Dev Kit, we've actually made the window functional. I know, bare minimum, but I still think it's pretty good. So when you build your test projects, it should be able to recognize everything that you have registered as a test via like a test method attribute or whatever kind of test type that you're using —Leslie Richardson So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/code-coffee-and-clever-debugging-leslie-richardsons-microsoft-journey-and-the-c-sharp-dev-kit-in-visual-studio-code-with-leslie-richardson/ Useful Links C# Dev Kit .NET Aspire The Visual Studio Toolbox: on YouTube on Twitch ASP .NET Core 101 Jamie's recommended books for juniors: The Life-Changing Magic of Tidying Up by Marie Kondo Essentialism by Greg McEwen The Design of Everyday Things by Don Norman GitHub Copilot Visual Studio subscription .NET MAUI extension for VS Code Unity extension for VS Code Codespaces Microsoft Dev Box What is VS Code and C# Dev Kit? [Pt 1] Leslie on Twitter The OmniSharp-based C# extension Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
59:34 4/5/24
From .NET to DuckDB: Unleashing the Database Evolution with Giorgi Dalakishvili
NService Bus This episode of The Modern .NET Show is supported, in part, by NServiceBus, the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand. Make sure you click the link in the show notes to learn more about NServiceBus. Show Notes Yeah. So what I was thinking the other day is that what we want is to concentrate on the business logic that we need to implement and spend as small as little time as possible configuring, installing and figuring out the tools and libraries that we are using for this specific task. Like our mission is to produce the business logic and we should try to minimize the time that we spend on the tools and libraries that enable us to build the software. —Giorgi Dalakishvili Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Giorgi Dalakishvili about Postgresql, DuckDB, and where you might use either of them in your applications. As Giorgi points out, .NET has support for SQL Server baked in, but there's also support for other database technologies too: Yes, there are many database technologies and just like you, for me, SQL Server was the default go to database for quite a long time because it's from Microsoft. All the frameworks and libraries work with SQL Server out of the box, and have usually better support for SQL Server than for other databases. But recently I have been diving into Postgresql, which is a free database and I discovered that it has many interesting features and I think that many .NET developers will be quite excited about these features. The are very useful in some very specific scenarios. And it also has a very good support for .NET. Nowadays there is a .NET driver for Postgres, there is a .NET driver for Entity Framework core. So I would say it's not behind SQL server in terms of .NET support or feature wise. —Giorgi Dalakishvili He also points out that our specialist skill as developers is not to focus on the tools, libraries, and frameworks, but to use what we have in our collective toolboxes to build the business logic that our customers, clients, and users desire of us. And along the way, he drops some knowledge on an essential NuGet package for those of us who are using Entity Framework.. So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/from-net-to-DuckDB-unleashing-the-database-evolution-with-giorgi-dalakishvili/ Useful Links Giorgi's GitHub DuckDB .NET Driver Postgres Array data type Postgres Range data type DuckDB DbUpdateException EntityFramework.Exceptions JsonB data type Vector embeddings Cosine similarity Vector databases: Chroma qdrant pgvector pgvector .NET library OLAP queries parquet files Dapper DuckDB documentation Dapr DuckDB Wasm; run DuckDB in your browser GitHub Codespaces Connecting with Giorgi: on Twitter on LinkedIn on his website Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on  Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
65:15 3/22/24
Navigating the Web of HATEOAS and HTMX: Unleashing the Power of Hypermedia and Simplified Front-End Wizardry with Sander ten Brinke
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Hateos allows you to add links to the actions you can perform with the data you're returning. So imagine a tweet and imagine, for example, just a links. It's just an object with some arrays. And one of the links could be a retweet link or like a favourite link or like a delete link. And each link contains a type, which is like the HTTP type, it contains the URL to where you perform this action, and it also contains like a name. So kind of human readable kind of name. So like like retweet, delete, stuff like that. —Sander ten Brinke Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Sander ten Brinke about HATEOAS and HTMX. These are two separate but complementary technologies which help to build reactive web applications. In fact, as Irina pointed out back in episode 2 of the current season (released on Sept 22nd, 2023), you're likely not building RESTful services if you're not doing HATEOAS. And HTMX is something, as you'll find out, which aims to simplify building HTML-based apps that utilise web-based APIs by taking care of the boilerplate JavaScript code that you might need to include, using a series of attributes that you can place on elements. So HTMX is in the principle, it's a JavaScript library, which you can use. So you can use it in your application to write a whole lot less JavaScript. Let's think back to the good old days, right, where we were writing, like, Web 1.0 applications and our servers were simply like, we're using HTML templating engines, which they still do. It worked and it worked fine, but it wasn't very interactive because then we kind of got to the point where we were like, we want to do some cool clients application, but we don't want to reload the page the entire time. And that is kind of where the SPA movement came along. We want to be able to have a rich interactive application where clicking a button or clicking multiple buttons, just a bit of the page refreshes, right? That's kind of the Web 2.0, I suppose. —Sander ten Brinke So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/navigating-the-web-of-hateoas-and-htmx-unleashing-the-power-of-hypermedia-and-simplified-front-end-wizardry-with-sander-ten-brinke/ Useful Links HATEOS Chapter 5 Representational State Transfer (REST) of Roy Thomas Fielding's paper which introduced REST in 2000 HTMX munisio - Sander's HATEOS NuGet library riskfirst.hateoas Sander's blog post introducing munisio HTMX.NET HTMX for ASP.NET Core Developers Getting in touch with Sander: on Twitter: @SanderTenBrinke on LinkedIn his website Everything you need to know about configuration and secret management in .NET Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
60:17 3/8/24
nanoFramework: Unleashing the Power of C# in Embedded Systems and IoT with José Simões
Avalonia XPF This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with José Simões about the .NET nanoFramework, a powerful platform for embedded systems and IoT development. I was incredibly impressed when José spoke about just how quickly you can get started with .NET nanoFramework and an ESP32: You grab a breadboard, you stick an ESP 32 module onto it, and you plug an Led or a sensor or wherever, and in half an hour, you have a proof of concept of something that you are building or just having fun with. And this is great not only for learning to code, but to come up with a proof of concept that you want to show to a customer If you want to do that in C, I dare you to do that. On the same time, you won't be able to. Meaning that with that code and that proof of concept, then you can evolve, you can keep working on it, and then you can easily migrate that to a production grade system because you will be using the same code. You don't have to change much to get it working. —José Simões So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/nano-framework-unleashing-the-power-of-c-sharp-in-embedded-systems-and-iot-with-jos%C3%A9-sim%C3%B5es/ Useful Links .NET nanoFramework Eclo Solutions Zoom H4N HD60s+ IoT Hub ESP32 STM32 GitHub Copilot Microsoft Learn Portal SPI (serial peripheral interface) bus .NET nanoFramework Visual Studio extension nanoFramework Flasher nanoFramework discord community Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on  Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
69:38 2/23/24
From Mono to Wilderness: Unleashing the Wild Side of .NET in IoT with Bryan Costanich
Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Bryan Costanich about both IoT and Wilderness Labs. We discussed what IoT actually is, and the many differences between developing systems for IoT devices and developing modern .NET applications which run on servers, desktops, and mobile phones. Yeah, you know, it's funny. It's one of those terms that is so broad and encompassing. I mean, really "Internet of things." So things that are connected to the Internet and really, what does that mean? Is your TV an IoT device? Well, maybe. Is your car an IoT device? A lot of these cars today are connected to the Internet. In our world. And I think colloquially what folks generally accept as IoT are non standard compute devices that are typically embedded. So they're often small and deployed to the field generally that are connected devices, right? Typically this means an embedded device, a device that is powered by, like a microcontroller, sometimes a Raspberry Pi -which is really just a small computer. But generally anything that is what we think of a thing connected things or small devices. —Bryan Costanich So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/from-Mono-to-wilderness-unleashing-the-wild-side-of-net-in-iot-with-bryan-costanich/ Useful Links Wilderness Labs System.Text.Json STM32F7 Jetson Nano Flight 68k Motorola 68k Blues Wireless Particle Azure Event Hub DataCake real-time operating system Anthropocene Wilderness Labs Slack Wilderness samples on Hackster Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on  Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
64:54 2/9/24
The .NET Trilogy and Learning .NET with Mark J Price
NService Bus This episode of The Modern .NET Show is supported, in part, by NServiceBus, the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand. Make sure you click the link in the show notes to learn more about NServiceBus. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Mark J Price, a software developer and educator with over 20 years of experience. We talked about .NET 8, Blazor, server-side rendering, and more. We also explore the compiler changes in .NET 8 and how they can improve performance and efficiency. Mark also discusses his upcoming trilogy of .NET 8 books, which cater to developers of all levels, from beginners to professionals: What I find when I’m learning something new is even if something has some documentation and it might have a kind of introductory tutorial, they are not always kept up to date and they’re not always easy to follow because what tends to happen is the experts who build the platform are then told, oh, just write a tutorial for it. Now they’re the experts, but they’re not experts at education and so they’re not always that great at actually explaining how to get started with something. So that’s where my books come in, I feel. I’m an expert at education and I’m an expert because I’m actually not a quick learner. I’m not the quickest, I’m not the brightest, but I do notice the things that trip people up. And so when I first learnt GRPC, I had some misconceptions, I struggled with certain areas, but I notice all of that and I can write it down and so I can write a chapter that I think really helps people get started. —Mark J Price With a focus on providing accurate and up-to-date educational resources, Mark's dedication to the community and continuous improvement shines through in this engaging and informative conversation. With a focus on providing accurate and up-to-date educational resources, Mark's dedication to the community and continuous improvement shines through in this engaging and informative conversation. So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/the-net-trilogy-and-learning-net-with-mark-j-price/ Useful Links Mark's previous appearances on the show: Episode 44 - Learning .NET Core with Mark J Price Episode 91 - C# 10 and .NET 6 with Mark J Price Episode 117 - Our Perspectives on the Future of .NET with Mark J Price Mark's .NET Trilogy books: C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals Apps and Services with .NET 8 Tools and Skills for .NET 8 Pros (there is no link for this, at the time of creating the show notes) Announcing .NET 8 Release Candidate 2 Tools and Skills for .NET 8 Pros GitHub Repo Conversation about PGO Episode 72 - Emulating a Video Game System in .NET with Ryujinx Performance Improvements in .NET 8 target framework moniker (TFM) The LangVersion element Dapper Cosmos DB JetBrains Rider Visual Studio Code Design Patterns: Elements of Reusable Object-Oriented Software Packt Publishing discord server Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on  Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
69:47 1/26/24
From Code Generation to Revolutionary RavenDB Unveiling the Database Secrets with Oren Eini
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. Contact us at RJJ Software to explore how we can help you create the best possible podcast experience for your audience, elevate your brand, and unlock the vast potential in podcasting. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Oren Eini about RavenDb, he shared some practical tips for databases (it's not just a case of "index all the things", who knew?), and we talk about the speed at which Modern .NET is evolving and how that could possibly put new developers off. Oren has a very unique perspective on Modern .NET's innovation speed, as he's been around since the beginning: "I can tell you something really frightening. I started using .NET when it was before the One release, which was C# 10, which didn't have generics. And then we got generics at 2.0 and link at 3.5 and async I think in 50 or something like that. And when you realize the pace of change is amazing. Some of the things that I'm looking at right now, we have switch expressions now and pattern matching. They allow you to write very succinct code. But I think to myself, if I was trying to learn C# right now from scratch, the scope that I would have to deal with is far larger and some of those things are really complicated" — Oren Eini So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/from-code-generation-to-revolutionary-ravendb-unveiling-the-database-secrets-with-oren-eini/ Useful Links RavenDB Rhino Mocks Episode 111 - RavenDB with Oren Eini RavenDB's search engine: Corax Apache Lucene Oren on Twitter Oren's blog Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
71:01 1/12/24
Breaking Barriers: Unleashing Accessible Software for All with Dennie Declercq
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. Contact us at RJJ Software to explore how we can help you create the best possible podcast experience for your audience, elevate your brand, and unlock the vast potential in podcasting. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Dennie Declercq about accessibility, it's importance in modern application development, and how it's not just a case of adding ARIA tags to HTML elements. Developing your web applications with accessibility and all users in mind should be the default mode for all user interface developers; and that change needs to come from us: "And I don't have good eyes, so I have bad eyes. I'm not blind, b ut my eyes can be way better by example. That's the reason I don't drive a car. So thinking about this, "is a website for people at autism. it shouldn't be accessible on the other ways." It's just telling fairy tales to yourself. In fact, those fairy tales are not there because a lot of people on the spectrum have one or multiple additional, let's say, diagnosis. So really important to push back and say no. We need to make accessible websites for everybody. Also, for whatever case it is. I love all the things that you're saying in the last part, so I hope I checked them all" — Dennie Declercq In fact, in the time between recording this episode and it going live, version 2.2 of the Web Content Accessibility Guidelines where published. At the time of recording this into (Oct 18th, 2023), version 2.1 is still the required standard for UK web applications, but it will be superseded by 2.2 by the time you hear this episode. So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/breaking-barriers-unleashing-accessible-software-for-all-with-dennie-declercq/ Useful Links ddsoft WCAG Microsoft Accessibility Insights GitHub Action Microsoft Accessibility Insights Guide Dennie's Blog Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
70:00 12/22/23
From Atari to Sep: Unleashing the Power of Performance in Programming with Niels Rassmussen
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. Contact us at RJJ Software to explore how we can help you create the best possible podcast experience for your audience, elevate your brand, and unlock the vast potential in podcasting. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Niels Rasmussen about a CSV parser he wrote called Sep - one of the fastest CSV parses in .NET - and the the mysteries of performance optimization and mechanical sympathy. "And I just got hooked by it. It has to be faster. It has to be faster than the fastest known to man. So that's what I worked on a lot and that's what I find fun. I'm very passionate about performance, mechanical sympathy, all that. That's really what I dig, things I read about and stuff like that." — Niels Rasmussen Along the way we discuss the power of simplicity, the importance of understanding hardware intricacies, and the birth of Niels' lightning-fast CSV parsing library, Sep. From exploring different programming paradigms to dissecting the legendary Doom source code, this podcast is a must-listen for developers seeking to enhance their skills and unravel the secrets of software development In preparation for this episode, Niels actually provided a veritable cornucopia of performance-related stuff - from important points to links to blog posts and other resources. There was no way that we could include them all in this episode, so I have gotten his permission and have been able to supply them as a PDF, linked at the end of the show notes page on the website. How cool is that! So let's sit back, open up a terminal, type in dotnet new podcast and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/from-atari-to-sep-unleashing-the-power-of-performance-in-programming-with-niels-rassmussen Useful Links Sep Niels' blog pi-hole Jellyfin The original source code for DOOM Game Engine Black Book: DOOM Edition NCsvPerf by Joel Verhagen CsvHelper Sylvan AVX hardware intrinsics Vector256 Pack With Unsigned Saturation Extract Most Significant Bit BitOperations TrailingZeroCount Disasmo Peter Cordes pshufb SIMDized check which bytes are in a set Introduction to vectorization with Vector128 and Vector256 by Adam Sitnik BenchmarkDotNet 10x Performance with SIMD Vectorized Code in C#/.NET by Alexander Mutel Niels on GitHub Niels on Twitter Niels on Mastodon Introducing Sep Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
94:31 12/8/23
Unearthing the Secrets of Open Source and Collaborative Development with Jeremy Sinclair
RJJ Software's Podcasting Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary. We take a different approach here, just like we do with our agile software projects. You see, when it comes to your podcast, we're not just your editors; we're your collaborators. We work with you to iterate toward your vision, just like we do in software development. If you're ready to take your podcast to the next level, don't hesitate. Contact us at RJJ Software to explore how we can help you create the best possible podcast experience for your audience, elevate your brand, and unlock the vast potential in podcasting. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Jeremy Sinclair about how it's vital that developers understand the code that they are looking to fix, especially when the code they are fixing is complex. Sinclair also emphasises the importance of collective learning and collaboration in the workplace - it's never a competition. But one of the biggest things, says Sinclair, is our ability to learn in the open, using open-source technologies. "We can apply this over here, if we want this to work together as a full solution. I'll take this part and we need to upgrade this. I'm like, 'wow, this is awesome.' It was like full collaboration because there was so much stuff that I figured out by reading through the docs. I can't tell you how many times I've built the project, debugged, stepped through" - Jeremy Sinclair. So let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/unearthing-the-secrets-of-open-source-and-collaborative-development-with-jeremy-sinclair/ Useful Links Jeremy on the web: sinclairinat0r a GitHub sinclairinat0r.com MinGW ILSpy Power Toys Identity Server v4 Identity Server from Duende Microsoft Learn Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
76:10 11/17/23
Navigating the .NETverse: From Assembler to Open Source Marvel with Scott Hunter
The Definition of Done This episode of The Modern .NET Show is supported, in part, by "The Definition of Done and Other Tall Tales". The Definition of Done and Other Tall Tales now available on Amazon. Get your hands on this literary masterpiece either as a beautiful physical book or conveniently for your kindle. Don't miss out on this unique intersection of tech and text. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Scott Hunter about the dynamic world of .NET, open-source, and a bunch of the related technologies that Microsoft have released. Things like DevContainers: "Yeah. So I would tell people that listen to this: please check out dev containers. I waited way too long to check them out. I knew they existed for a long time and just was too busy and never actually dug deep into it. And now that I have, it's a really cool feature" - Scott Hunter. Along the way, we touch on the fact that .NET is not just open-source but actively accepts contributions from the wider development community - something unheard of in the .NET Framework days. As an example, .NET Seven had over 1,000 contributions from the developer community - not counting the changes that Microsoft's engineers made to it. We also touch on some advice that Scott has for participating in open-source communities, along with some hints as to how Microsoft helps to lead the community around their open-source projects. There's some great advice here, from someone who works in enterprise-lead open-source everyday. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/navigating-the-netverse-from-assembler-to-open-source-marvel-with-scott-hunter/ Useful Links Wildcat dot.net Azure Developer CLI aka "azd" Dapr Code Spaces dev containers nvm .NET reliable web app pattern Fedora Silverblue .NET Blog The Modern .NET Show Code of Conduct HomeBridge Shared Source Initiative JSON.net JSON.net on NuGet.org Episode 72 - Emulating a Video Game System in .NET with Ryujinx Microsoft Graph Performance Improvements in .NET 8 Graal Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
79:58 11/3/23
Unleashing the Power of Windows Development with Peter Bull
The Definition of Done This episode of The Modern .NET Show is supported, in part, by "The Definition of Done and Other Tall Tales". The Definition of Done and Other Tall Tales now available on Amazon. Get your hands on this literary masterpiece either as a beautiful physical book or conveniently for your kindle. Don't miss out on this unique intersection of tech and text. Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Peter Bull about the Windows App SDK and the hidden bonuses of learning in the open via blogging, podcasting, and creating tutorials. We both also talk about how we feel that Windows as a compilation target has been lost in the cross-platform shuffle recently: "Yeah, exactly. And I think that's the simple fact that gets missed with... there's a lot of talk about the cross-platform stuff, but just not enough about just write a Windows app if that's where you're going. And as I say, you get a lot of the benefits of hooking into the really cool features of Windows 11 that you have there that you can leverage. You can leverage that in part or in whole. It's really up to you. And it's still Modern .NET. You can still use the latest version of .NET with Windows App SDK, like the older platforms that might be more limited, you benefit from all of that extra functionality that you get. So when the next version of .NET comes out, that's going to be supported and so on. So you're not having to compromise with .NET, unlike with UWP, which is still around, that is stuck where it is. It doesn't benefit from the latest version of .NET. So that's a good migration. If you've got a UWP or Universal Windows platform app, you can migrate that to Windows App SDK and then you're going to immediately be able to use the latest version of .NET, which is something you can't do if you stick with it" - Peter Bull. Whether you're a developer looking to enhance your Windows application development skills or simply interested in the latest advancements in Windows development, this podcast episode provides valuable insights and perspectives. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend of colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at:  https://dotnetcore.show/season-6/from-silverlight-to-windows-app-sdk-unleashing-the-power-of-windows-development-with-peter-bull/ Useful Links Peter's podcast: Rogue Planetoid Windows App SDK episode Peter's Wife's podcast: Scottish Murders Project Reunion Jamies: Game: Runaway CPD logs rapid application development Dev Home experience Windows App SDK on GitHub Peter's Windows App SDK tutorials on tutorialr.com Peter on: twitter GitHub Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
67:35 10/20/23
From Self-Taught to MVP: Navigating the Event-Driven World with Josh Garverick
Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Josh Garverick about event-driven and domain-driven design, and his recently published book "Implementing Event-Driven Microservices Architecture in .NET 7". When talking about the book, he had this to say about it's target audience: "Absolutely. And one of the aims, I think for at least this book was to make sure that it's kind of applicable across a lot of different audiences, not just the folks coming in super green and just looking at it like, I've never seen this stuff before. There are some disclaimers in the beginning of the book, obviously saying, 'you should probably have at least a baseline understanding of things like domain-driven design containerization and things like that,' but we'll link out to resources to get yourself up to speed. So even if you don't have any background in that stuff, there's at least a place for you to go out and get that information and then come back and then start going through that journey." - Josh Garverick Not only is his book designed for people, regardless of where they are on their journey with .NET, but, as we'll find out in the episode, it's also filled with pragmatic lessons that developers can apply to any application that they're working on. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend of colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at:  https://dotnetcore.show/season-6/from-self-taught-to-mvp-navigating-the-event-driven-world-with-josh-garverick/ Useful Links Josh's new book "Implementing Event-Driven Microservices Architecture in .NET 7" from Packt directly from Amazon Chaos Studio chaos engineering Josh on socials: @jgarverick on Twitter LinkedIn Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
55:23 10/6/23
From Junior to Jedi: Navigating the Web Development Galaxy with Irina Dominte
Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Irina Dominte about web development and API design. Irina offers valuable insights for beginners, the conversation covers topics such as building a strong foundation, learning cloud technologies, adopting modern technologies, API design and development, importance of testing, and choosing the right approach. With practical tips and a simplified approach, this episode provides a wealth of knowledge for those looking to excel in web development and API design. "Yeah, so I never done a fully Rest API in production. To be fair to me and to the book, a real Rest API is the API that actually respects the REST constraint - the four of them, not the six of them. So it has the first constraint as being the client server architecture. There is two entities involved, the client and the server that need to talk to each other. And then we have statelessness like we're using HTTP we shouldn't keep state as we used to do with older versions of .NET. So everything should be self contained in that specific request or response. Why not? Okay, so then we have the cache. Your resources should be able to be cached like the server marks the response as being cachable, the client understands and looks at the header and so on. So state machine-wise using the right verbs, right?" Plus, we discuss the recent release of Irina Dominte's comprehensive book on the subject - Web Development for Absolute Beginners - and why it's an essential purchase for anyone wanting to learn how to create web-based APIs with Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend of colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at:  https://dotnetcore.show/season-6/from-junior-to-jedi-navigating-the-web-development-galaxy-with-irina-dominte/ Useful Links Irina on the web; Irina's website Irina on LinkedIn Irina on Twitter/X Irina's book "Web API Development for the Absolute Beginner: A Step-by-step Approach to Learning the Fundamentals of Web API Development with .NET 7" On Amazon On Springer The Expert Maslow's hierarchy of needs Try.NET the Socratic method http cats HATEOAS Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
76:13 9/22/23
Building Cross-Platform Apps with .NET MAUI: A Developer's Dream Come True with Matt Goldman
Show Notes Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor. In this episode, I spoke with Matt Goldman about .NET MAUI and his recently published book ".NET MAUI in Action". His new book is about .NET MAUI, but also contains some lessons on UI design, such as: "And you can have a really good UI in black and white with one typeface, but all the fancy iconography and color and typography in the world isn't going to rescue a bad layout." Matt's book, as you'll find out, aims to make the journey of learning .NET MAUI easier for developers. One of the most exciting features of .NET MAUI is it's links with Blazor Hybrid, a tool that allows developers to build an app that can run on multiple platforms, including macOS, Windows, iOS, Android, and watches or TVs. We go into this in the episode, but a tl;dr for Blazor Hybrid is that it enables developers to write their UI in Blazor, a web technology, while the rest of the code runs as .NET managed code on the device. This approach provides the benefits of full access to platform APIs, true multithreading, and the ability to share code and UI components between different apps and platforms. Oh, and make sure you stick around to the end of the episode too, as Matt has a discount code which is good for 35% off the price of his new book. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend of colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at:   https://dotnetcore.show/season-6/building-cross-platform-apps-with-net-maui-a-developers-dream-come-true-with-matt-goldman/ Useful Links .NET MAUI in Action The discount code is: podnetcore23 Good for 35% off of your order of the book between September to December of 2023 Matt on: GitHub Twitter Mastodon YouTube Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.
59:33 9/8/23
The Modern .NET Show Trailer
Transcription Are you a .NET developer looking to dive into the world of Modern .NET? Well, get ready for a brand new season of The Modern .NET Show! Premiering on September 8th, The Modern .NET Show is THE podcast that focuses specifically on what .NET developers can do with Modern .NET, aka .NET 8 onwards. No more sifting through JavaScript discussions – we're all about what's happening with Modern .NET! In Season 8, get ready for extreme performance tips, accessibility hacks for your CI/CD tests, demystifying REST compliance, starting from scratch as a beginner, and exclusive interviews with Microsoft's very own .NET experts! Hosted by Jamie, each episode is a laid-back and informal chat with guests, using the Socratic method to represent you, the listener, and asking all the right questions. Whether you're a seasoned pro or an absolute beginner, The Modern .NET Show is the podcast that's got your back! Tune in and walk away with all the knowledge you need to level up your development game! The Modern .NET Show - your ultimate destination for all things Modern .NET! Links Editing by RJJ Software Promo voice over provided by Matthew Bliss, professional podcast host and editor. If you would like to engage his services for your podcast trailer, ad-reads, instructional material and more, head to https://matthewbliss.net/voice-over or send a message to blisserypodcasts@gmail.com Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord
01:27 9/3/23
Season 6 Teaser
Brace yourselves, developers! The .NET Core Podcast has transformed into The Modern .NET Show.  We're stoked to share our revamped identity and music with you. This teaser gives you a sneak peak - there's a lot more to come! Editing by RJJ Software Narration by David S. Dear: https://davidsdear.com/ Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in touch: via the contact page joining the Discord
00:40 8/28/23
Our 2023 Summer Break
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page. Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof. Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet. I am your host, Jamie "GaProgMan" Taylor. It's the time of year again: time to get a little meta and talk about the show on the show. As it's now summer, I wanted to talk about why the show takes a break, what's coming up in the next season, and drop a little surprise on you all - so stick around to the very end of the episode for that. We're currently on a month-long hiatus from the show, and new episodes will start appearing in your feeds on September 8th - or September 6th if you're a patron of the show. Because of that, this episode will be a little shorter than most. But it still has a lot of information in it that I think you'll find useful and interesting. If you find this episode useful in anyway, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend of colleague, buying the host a coffee, or considering becoming a Patron of the show. The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/our-2023-summer-break/ Useful Links from the episode: The show's contact page The show on Twitter Hire Mark to work on your show The press kit for the podcast Follow the show on your favourite podcatcher Contact the show Join the Discord server Background Music: Back to 1981 — Iaio FreFreedom – Roaedom Happy – Mike Leite Hot Summer Party — MaikonMusic Like You — Declan DP Secret To Happiness — JayJen Welcome — Declan DP Wild Summer — WOMA Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
26:00 8/4/23
Bunifu Framework with Wilberforce and Wilfred
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page. Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof. Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet. I am your host, Jamie "GaProgMan" Taylor.  In this episode, I talked with Wilberforce and Wilfred of Bunifu Framework. We discussed Windows Forms development and how it's perfectly viable to build things with Windows Forms in 2023, and where we think the development industry is going.   Along the way we discuss ChatGPT, generative AI, and some of the amazing things you can do with these tools.   The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/episode-127-bunifu-framework-with-wilberforce-and-wilfred/ Useful Links from the episode: Bunifu Framework BitHidraulyco Bunifu Documentation Bunifu's YouTube channel Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
69:44 7/21/23
Slimming Down .NET: The Unofficial Experiments of Michal Strehovský
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page. Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof. Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet. I am your host, Jamie "GaProgMan" Taylor. In this episode, I talked with Michal Strehovsky about what bflat and flattened.net are, and how he created these amazing experiments. We double back to Michal's previous appearance on the show (back in episode 47) in order to give a little back story as to how he got bflat to where it is, and why he built it. It's worth remembering that bflat is an experiment of Michal's own creation. Whilst he does work on the .NET team at Microsoft, these experiments are entirely his own creation and have absolutely no support from Microsoft or the .NET team. This is just one of his fun, open-source projects. Along the way, we talk about the importance of knowing about what happens to your code when you hit compile and how knowing even a fraction of how your code runs on a .NET runtime can help you to write better code. We also talk about the importance of knowing what your dependencies actually are, and how vital it is to understand what they are actually doing by reading the source code - i.e. the Unix philosophy Remember folks: don't use bflat for production or anything other than playing around with and seeing what you can do. It's not meant for anything other than allowing .NET developers to play around with, or to allow non-.NET developers to get into .NET. Please don't use it to create anything important or anything related to production. Then again, this is just a fun conversation about how Michal managed to boot his computer directly into a snake game that he wrote in .NET... without an operating system. Pretty cool, huh? The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at https://dotnetcore.show/episode-126-slimming-down-net-the-unofficial-experiments-of-michal-strehovsky/ Useful Links from the episode: flattened.net Michal's previous appearance on the show the Unix Philosophy Building a self-contained game in C# under 8 kilobytes Microsoft.CodeAnalysis bflat on GitHub Running Doom on my C# OS(Doomgeneric) TinyOS Michal on Twitter Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
62:51 7/7/23
Mixed Reality, the Metaverse, and Making Magic Happen with Simon Jackson
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page. Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof. Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet. I am your host, Jamie "GaProgMan" Taylor. In this episode, I talked with Simon Jackson about mixed reality, the metaverse, and what they actually mean for software developers and designers. We also discuss some of the most interesting uses of mixed reality from the last few years. Along the way, we have a discussion on accessibility and what developers and designers should be thinking about when building their applications and experiences. The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at https://dotnetcore.show/episode-125-mixed-reality-the-metaverse-and-making-magic-happen-with-simon-jackson/ Useful Links from the episode: The origins of Simon's nickname Darkside) Which was the sequel to Driller) Microsoft Inclusive Design Principles SightlessKombat Empathy, Sympathy and Compassion Project Fizzyo Snow Crash "Standards" by XKCD Scratch programming language) Godot MonoGame Microsoft's XNA High on Life) Arizona Sunshine Red6 AR Ways to contact Simon GitHub LinkedIn Twitter Simon's books (at the date of recording) Mastering Unity 2D Game Development Unity3D UI Essentials (currently out of print) Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
65:47 6/23/23
Breaking Up with Tech Debt: A Love Story with M. Scott Ford
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page. Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof. Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet. Software maintenance is an integral part of any software development project, but it can often be neglected, leading to a range of problems down the line. M. Scott Ford, the co-founder, chief code whisperer, and CTO of CorgyBytes, is passionate about helping teams make improvements to their existing software systems rather than throwing them away and starting from scratch. In this episode of The .NET Core Podcast, Ford and Jamie discussed the challenges of maintaining software and some of the tools they use to make it easier. One of the tools they discussed was Freshli, a tool that visualizes tech debt and shows how difficult a codebase is to work with. It tracks the age of dependencies and can help identify potential risks before they become major problems. They also discussed the Equifax hack from 2017, which was caused by a single outdated dependency. This highlights the importance of keeping dependencies up to date and the potential risks of neglecting them. The conversation also touched on the need for more spaces for developers to meet up and exchange ideas and feedback. Ford and Taylor believe that the real nuggets of information are shared in the conversations that happen between talks or at the pub afterwards, and that these sessions allow people to do that organically. One key takeaway from the discussion was the idea of making small, incremental improvements to a project rather than trying to fix everything at once. This approach is similar to a sports team focusing on individual attributes to improve overall performance. It can be more manageable and less overwhelming for a team to make small changes rather than trying to tackle everything at once. The podcast also highlighted the challenge of dependencies becoming out of date and the importance of tracking and updating them regularly to reduce risk. Ford and Taylor discussed the use of dependency freshness metrics, specifically the libyear metric, to track the age of dependencies and how it changes over time. This metric can be used to communicate the level of risk a development team is carrying to leadership. Overall, the conversation in this episode sheds light on the importance of software maintenance and the tools available to make it easier. Outdated dependencies in software projects can have a significant impact on productivity and security, but it is often an invisible problem that goes unnoticed by leadership. By implementing tools like Freshli and tracking the age of dependencies, teams can reduce the potential risks and make software maintenance more manageable. The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at https://dotnetcore.show/episode-124-breaking-up-with-tech-debt-a-love-story-with-m-scott-ford/ Useful Links from the episode: The .NET Core Podcast Discord Server Part one of my discussion with M. Scott Ford CorgyBytes Legacy Code Rocks Legacy Code Rocks on Mastadon MenderCon libyear Measuring Dependency Freshness in Software Systems FrequencyReducesDifficulty by Martin Fowler Freshli https://freshli.app/ https://freshli.io/ https://github.com/corgibytes Software bill materials Ruby Gems PyPy https://owasp.org/www-project-cyclonedx/ Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
68:01 6/9/23
Docker for .NET Devs With Carl Sargunar
Remember: you can also always follow the show on Twitter @dotnetcoreshow, and the shows host on Twitter @podcasterJay or visit our Contact page. Welcome to season 5 of the award-winning .NET Core Podcast! Check that link for proof. Hello everyone and welcome to THE .NET Core Podcast. An award-winning podcast where we reach into the core of the .NET technology stack and, with the help of the .NET community, present you with the information that you need in order to grok the many moving parts of one of the biggest cross-platform, multi-application frameworks on the planet. This episode features Carl Sargunar, a web developer who has been freelancing for nine years and specializes in the content management system Umbraco. Sargunar noted that the barrier for entry for trying new technologies has been greatly reduced. It is now as easy as finding the right tutorial, YouTube video, or Sargunar’s own resources. Visual Studio Code is one of the nicest editors available, and developers can right-click on a project to add a container to it. We discuss how Docker can be used to create reproducible builds and have truly cross-platform code. The .NET technology stack now runs on any operating system and architecture, including Arm, Raspberry Pi’s, and other IoT devices. Developers can dual boot to Linux or use a Mac machine, and can run their apps on a variety of devices and architectures. Umbraco embraced .NET Core and took on a full platform rewrite to migrate the entire code base from Framework to 3.1. .NET developers have the luxury of using any tool they are comfortable with, and they can run their apps on brand new CPU architectures like the M1 and M2 chips. Docker makes it easy to try out new technologies without needing to buy expensive hardware or install Linux. GitHub Code Spaces and JetBrains Fleet allow developers to spin up an IDE in the cloud so that they do not need a powerful machine to develop applications. Containers can be shared with others so that they can work on the same project without needing to install the same software. Docker files are plain text files that describe the changes made to the environment, making troubleshooting much easier. Carl recently ran a workshop at the Code Garden Conference, introducing people to containers. He explained how Docker containers can be used to quickly and easily spin up an application with multiple containers, such as a web server, a database server, and a small website running Blazer and an API. Docker Compose can be used to build and run the application with just one command, and containers can be used to abstract away the operating system and dependencies, making it easier to deploy applications. The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at https://dotnetcore.show/episode-123-docker-for-net-devs-with-carl-sargunar/ Useful Links from the episode: Carl on Twitter Carl's Blog Carl's Umbraco Workshop on GitHub the infamous Rob Miles Tabs and Spaces Docker for Windows Mac in Cloud GitHub's Code Spaces JetBrains Fleet open container standard Project Rider – A New Challenger Appears Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast
66:24 5/26/23

Similar podcasts