DiscoverThe Modern .NET Show
The Modern .NET Show
Claim Ownership

The Modern .NET Show

Author: Jamie Taylor

Subscribed: 883Played: 28,491
Share

Description

Calling all .NET developers! Dive into the heart of modern .NET technology with us. We are the go-to podcast for all .NET developers worldwide; providing an audio toolbox for developers who use modern .NET.

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!
191 Episodes
Reverse
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "You actually cannot do proper vertical slice if you are bounded to controllers. Because there are some additional dependencies that you can download, like Ardalis [ApiEndpoints] or like Fast Endpoints that will give you actually what Minimal API is giving you. But with the standard controller-based approach you are not able to do the full vertical slice, because every time you'll need to take this, let's say presentation layer, outside your slice because it needs to be, just as you said, in the class that is inheriting from Controller and doing all the actions and stuff like this."— Kajetan Duszyński Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, we're joined by Kajetan Duszyński to talk about some of the new things that are coming up in .NET 10. We cover some of the big things that you might have missed, some of the optimisations you can make by removing code (listen up for one in a few moments), and we also talk about his new book ".NET 10 Revealed." "So you all need to remember that if you are using Minimal APIs and you've used the extension method WithOpenAPI(), which created a proper OpenAPI schema. Right now it won't be used, so you'll need to delete every usage of this method from your whole application, because it will be um added by default in the pipeline of creating, of starting up the application."— Kajetan Duszyński Along the way we talked about allocations, the importance of learning MSIL (what your C# and F# code is compiled to), memory management, how fast .NET is moving and when we're likely to see the first public preview of .NET 11, and the vertical slice architecture. One of the biggest things that I think will cause some head scratching in .NET 10 is the new local self-signed TLS certificate. I've linked to an article by the folks at Duende about this, and it'll be worth adding it to your reading list. It's a great addition to .NET 10, but it'll catch some folks out. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/building-on-net-10-a-chat-with-kajetan-duszynsk-author-of-net-10-revealed Useful Links: Ardalis ApiEndpoints REPR pattern Fast Endpoints Why You Should Be Using .NET 10's New TLS Certificate Kajetan's .NET school Kajetan on LinkedIn .NET 10 Revealed 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 Podcast editing services provided by Matthew Bliss Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Editing and post-production services for this episode were provided by MB Podcast Services 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Show Notes Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. This episode is a super important, top-of-the-heap, bonus episode that you definitely need to be listening to. I, basically, reached out to Hayden Barnes, who we've just now had on the show to talk about .NET never-ending support and what happens when you drop out of support with Microsoft. The reason that I did that, and the reason that this intro is so raw is because we talked about what is known as "the worst CVE for the internet as a whole. If you want to Google it while we're talking right now, look for "CVE 2025-55315". We'll get into it in a moment, but pretty much everything on the internet is susceptible to this, and only .NET 8, 9, and 10 have a fix. Nothing else has a fix in the. NET space. You will find out in this episode what it is, what problems it can cause you, and how to solve those problems. Please stick around and listen, folks. Thank you, Matt, the editor, for putting this together so quickly. Anyway, on with the episode. I'm not even going to do the dotnet new podcast thing. It's that important. 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-8/hayden-barnes-and-cve-2025-55315 About the CVE: Understanding CVE-2025-55315: What CISOs, security engineers, and sysadmins should know ASP.NET Security Feature Bypass Vulnerability Funky chunks: abusing ambiguous chunk line terminators for request smuggling Understanding the worst .NET vulnerability ever: request smuggling and CVE-2025-55315 Hero Devs on X on YouTube on LinkedIn Hayden's links on X on LinkedIn on his 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 Miscellaneous links: Podcast editing services provided by Matthew Bliss Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Editing and post-production services for this episode were provided by MB Podcast Services 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "There's a good chance it's not gonna flag for you that, you, know your point of sale system is on .NET six and is now vulnerable, you know. So to a certain extent, companies often aren't even aware and this is something I've learned to be in this space. They're not aware. If they are aware, they know they need to upgrade. They're not sure, you know, when they're gonna find the resources, the time, the capital to upgrade"— Hayden Barnes Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, we're joined by Hayden Barnes to talk about HeroDevs and their Never Ending Support offering; a service where HeroDevs backport security fixes from later versions of dependencies, allowing companies to hold off on upgrading their important dependencies until they are ready to. "In some cases we simply hire the upstream developer or the upstream development team and they can continue to work on new features and the latest versions while maintaining the post-EOL versions and backporting those security updates. In some cases, we hire that library maintainer on contract."— Hayden Barnes Along the way, we talked about how the release schedule for .NET (one year per major release, with rolling support for up to 36 months) is a little to agile for some enterprise companies, and how HeroDevs can help. We also talked about how, where possible, HeroDevs actually hire the open source maintainers for packages to do the backporting, feeding funding back into the open source ecosystem. We also mentioned that this support doesn't just apply to post-end-of-life for versioned software. We also talk about the very unfortunate position where a developer is suddenly unable to support their work. An example that I bring up is previous guest on the show Jon P Smith, who in 2024 was diagnosed with dementia; meaning that at some point his libraries will need to be passed on to other open source developers. During the recording, I couldn't remember Jon's name, and for that I apologise. Jon has a very in depth blog post about the start of his journey with dementia called "How to update a NuGet library once the author isn't available." Please go read his blog post when you have the chance. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/hayden-barnes-on-net-nes-why-we-need-a-new-approach-to-open-source-maintenance/ Useful Links: How to update a NuGet library once the author isn't available HeroDevs on X on YouTube on LinkedIn Hayden on X on LinkedIn on his 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "It's not just guessing. It's not just saying, "oh, there's something to log in. I think we'll call the button login." It actually knows the button is called Login, it's seen it. So that makes a big difference and makes it much more resilient. So that's definitely a big change, right? It's not just guessing. So definitely you should try it out."— Debbie O'Brien Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, we're joined by Debbie O'Brien to talk about both Playwright and the Playwright MCP server. We started with an introduction to Playwright, and talked about how both it and the MCP server for it can help you to automate both the writing and running of tests for your applications. Pro tip: If you've been using the Swagger UI in your applications, you've been using Open API. "And that's where the Playwright MCP comes In because it can automate a browser, it can basically go to the website, it can navigate, it can click, it can hover, it can do everything that you are doing in your tests."— Debbie O'Brien Along the way, we talked about how Playwright's MCP server can help you to find test cases that you might not have thought of initially. As a perfect example of this while recording this episode, Debbie found a bug in the app that I use to record episodes of the show, and talked about how Playwright MCP would help to recreate and debug the issue. It's worth pointing out that we recorded this in early August 2025, and that AI quite literally moves very rapidly. Whilst Playwright and MCP servers are not likely to change too much between recording the episode an when it went out, it'll be worth bearing that in mind as we talk about some of the AI stuff. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/testing-made-easy-debbie-obrien-explains-playwright-and-its-game-changing-mcp-server Useful Links: Playwright Jamie's "small" open source project Playwright VSCode extension Playwright on GitHub Playwright's tests on GitHub... written with Playwright Debbie's Movies App website GitHub Spark Debbie's website Debbie on LinkedIn Playwright Docs Playwright YouTube Channel playwright 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 Podcast editing services provided by Matthew Bliss Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Editing and post-production services for this episode were provided by MB Podcast Services 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "And we talk about that contract. We say, "this is your contract. This Open API definition that you have is the contract for your service." And in the end, that's how customers interact with Azure is through APIs. And so it's important to have that contract so that customers know how things work, how to use them, hopefully how to use them easily, right?"— Mike Kistler Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, we're joined by Mike Kistler to talk about two topics (we usually only tackle one topic per episode, so you're getting a bonus with this episode): Open API and both MCP and the MCP SDK for C#. We started our conversation by focussing on Open API, as this is a passion of Mike's. We talked about what it is, how you've likely already been using it with any ASP .NET Core WebAPIs that you've worked on, and how the latest versions of ASP .NET Core can generate a lot of the Open API specification for you without having to add lots and lots of metadata an attributes. Pro tip: If you've been using the Swagger UI in your applications, you've been using Open API. "And when the LLM decides that it wants to use an MCP tool or access an MCP resource, it doesn't go and do that directly. It comes back to the MCP host and asks the MCP host to call a tool with a particular set of parameters, or to access an MCP resource. And at first, when I saw this in the MCP architecture, I thought, "boy, that's clunky. Why not have the LLM just call these things directly?" And there's a deliberate reason why it was done this way."— Mike Kistler We then pivoted over to talking about MCP (or Model Context Protocol) which is a rapidly evolving standard for creating your own agents and applications which can communicate with or be instructed by, LLMs. We talked about how the MCP standard works, and how the standard is written in such a way that there's always a human in the loop. We also talked about how you can build your own MCP servers using the MCP SDK for C#. It's worth pointing out that both MCP and Open API are evolving standards. While Open API tends to evolve with a much more relaxed pace, the MCP standard (having not even reached a year old when we recorded) uses the date as it's version number. And Mike actually references the latest version of the MCP spec in our conversation, which will give you a clue as to when we recorded it. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/building-the-future-of-apis-mike-kistlers-insights-on-openapi-and-mcp Useful Links: OpenAPI API Blueprint RAML ProducesResponseType attribute Minimal API TypedResults S07E16 - From Code to Cloud in 15 Minutes: Jason Taylor's Expert Insights And The Clean Architecture Template GitHub MCP Server MCP Transports MCP C# SDK Current version of the MCP spec as of the date of recording (aka version 2025-06-18) Microsoft MCP Servers List Mike on LinkedIn .NET Community Standup 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "What do I mean by compute? Compute is whenever you want a computer to do a thing, okay, it requires the CPU to exist and I want the CPU to do a thing. How well it can do it Is based upon what kind of CPU you have. What kind of CPU they have since have it in miniature chip. So, if you have an NVIDIA chip, it does a lot of really good things, but as we know, they're very expensive, and that's why NVIDIA is like what, I guess, the largest company in the world right now."— Michael Washington Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, Michael Washington joined us to talk about his open source project "Personal Data Warehouse", what a data warehouse is, and the why we collect data in our applications. We also talk about the differences between storing data in the database and storing it in a data warehouse—one of the biggest differences, as you'll find out, is the difference in cost. "The only reason why we collect any data is because at some point a human being needs this data to make a decision. Seriously, and I challenge anyone to come up with any exceptions to that."— Michael Washington Along the way, we talked about the benefits and pitfalls of leveraging AI (particularly LLMs) in your applications. Both Michael and I agree that there is little "intelligence" in LLMs in the traditional sense, and Michael brings up the most important point when deciding to an LLM in your application: that a human must always make decisions based on what data they have and what the LLM can provide. We must never hand over decision making to LLMs. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/data-ai-and-the-human-touch-michael-washington-on-building-trustworthy-applications/ Useful Links: Apache Parquet Personal Data Warehouse on: Windows App Store GitHub Michael on: Find an MVP GitHub Bluesky Blazor Help Website blazordata.net AI Story Builders 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "Simple is always the better choice, but easy is not always the best. So sometimes you'll go to graph, it's a little bit harder for us to write the code for around it, but the bandwidth consumption is considerably smaller. the compute consumption and the ability for it to run on a mobile device is considerably easier."— Jerry Nixon Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, we're joined by Jerry Nixon. Jerry is a Principal Product Manager at Microsoft, focussing on the tooling and Developer Experience around Azure SQL Server. Jerry shares his advice for architecting web-based APIs, RESTful design, and using what fits within your team, and of course we talk about Data API Builder. "When you think about what an architect really is and their responsibility, the decisions, architectural decisions are the decisions that are the most expensive to change. That's kind of like who should be making this decision? Well, how expensive is it to change? It's very expensive."— Jerry Nixon We also talk about the importance of interpersonal skills in modern software engineering (whether you're working in open source or not), psychological safety, and the importance of self-reflection in our day-to-day work. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/designing-apis-like-a-pro-lessons-from-jerry-nixon-on-data-api-builder-and-beyond/ Useful Links: SQLBits The original definition of REST Data API Builder documentation Data API Builder on GitHub on MS Learn samples docker Registry SQL Dev Path FusionCache Jerry on X (formerly known as Twitter) Podcast editing services provided by Matthew Bliss 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "I think, regardless of how technology evolves, it's very important and us the most important thing is for us to be decent and understanding of each other and to be willing to like work towards a common goal."— Safia Abdalla Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, we're joined by Safia Abdalla. Safia is one of the engineers at Microsoft who works on ASP .NET Core, meaning that most of her work is in the open. We talk about Safia's journey in development, what it means to work entirely in the open, and what it's like to read through and triage issues on the ASP .NET Core repo. "I have certain people in my open source career who I have met and interacted with on a number of different projects, And the ones that stand out as great mentors and role models for me were people who were so good at creating psychological safety in open source spaces so that people could present their ideas. And they were really good at uplifting other people's ideas and pushing them further."— Safia Abdalla We also talk about the importance of interpersonal skills in modern software engineering (whether you're working in open source or not), psychological safety, and the importance of self-reflection in our day-to-day work. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/compassionate-coding-safia-abdallas-insights-on-empathy-in-open-source-development/ Useful Links: Safia on GitHub Safia on Bluesky Safia's website ASP .NET Core issues on Github Podcast editing services provided by Matthew Bliss 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
Strategic Technology Consultation Services This episode of The Modern .NET Show is supported, in part, by RJJ Software's Strategic Technology Consultation Services. If you're an SME (Small to Medium Enterprise) leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk. Show Notes "From the first engagement with any from Umbraco, it's been a friendly approach. We are friendly. It's a part of our DNA. Professional. We take our work dead seriously, but we want to have fun, but we are friendly."— Mats Persson Hey everyone, and welcome back to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. I'm your host Jamie Taylor, bringing you conversations with the brightest minds in the .NET ecosystem. Today, both Emma Burstow and Mats Persson of Umbraco are here to share their expertise on building Umbraco—a completely open source CMS, known as the friendly CMS. Emma is Umbraco's Director of Developer Relations and Mats is their newly appointed CEO. "One of our values is openness. And once again, I'll say we really walk the walk. So we alert people early. We work in public, truly. We don't just, you know, update things on git as in terms of code. We write words around it. We have discussion boards We have ongoing issues that are open, and we talk to people that are working with the product"— Emma Burstow We also dive into what it's like to build Umbraco completely in the open, which led to some fascinating insights into how to build and manage a world-wide community of contributors, but also how to help manage expectations of those developers and technologists. Before we jump in, a quick reminder: if The Modern .NET Show has become part of your learning journey, please consider supporting us through Patreon or Buy Me A Coffee. Every contribution helps us continue bringing you these in-depth conversations with industry experts. You'll find all the links in the show notes. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. 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-8/umbraco-unplugged-emma-burstow-mats-persson-on-umbraco-the-friendly-cms/ Useful Links: Umbraco homepage Umbraco Community Umbraco on LinkedIn Emma on LinkedIn Mats on LinkedIn Podcast editing services provided by Matthew Bliss 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show. Editing and post-production services for this episode were provided by MB Podcast Services.
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So the cloud adoption framework actually has a lot of steps for organizations or IT teams to start assessing their existing environments first and planning the stage before they modernise and migrate to Azure. And then the well-architected framework allows the team, whoever is involved, developers, engineers, or architects, working in that migration project to think how they're going to think about architecting for the cloud in a way that it meets all the pillars in terms of resiliency, performance, architecture, and everything. Security, for example, that they need to think about."— Jonah Andersson Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, which is the final one of season 7, Jonah Andersson joins us to talk all things Azure, the many pathways involved in migrating and modernising .NET applications, and publishing to the cloud. "So one tool that I actually highly recommend when it comes to .NET, there is a plug-in for Visual Studio, actually, for .NET, and even, I think, with Java. There';s a tool called AppCAT plugin, and it's like a modernization tool that is part of the Azure Migrate that allows .NET developers who are ever working in a migration project with .NET, that they can add a plugin in Visual Studio and they can assess their existing source code, .NET source code, based on the well-architected framework, if it's ready or not, or there are gaps in the code."— Jonah Andersoon Along the way, we talk about Jonah's podcast "Extend Women in Tech Podcast" (which I would highly recommend), and her book "Learning Microsoft Azure: Cloud Computing and Development Fundamentals" and why she chose to write it. Anyway, without further ado, 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-7/learning-azure-with-jonah-andersson-a-developers-guide-to-cloud-computing-and-development-fundamentals/ Jonah's Links: Jonah Andersson Azure Usergroup Sweden Extend Women in Tech Podcast Learning Microsoft Azure Jonah on LinkedIn Useful Links: Cloud Adoption Framework (CAF) Well-Architected Framework (WAF) AppCAT Azure for .NET Developers Azure ARC Azure Dev/Test Find an MVP Ollama 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "Yeah, exactly. In fact, one of the central premises of Dapr has, you know, one of its goals is not only to be multi-language, in that anyone can use the APIs from any language they come from. So it has SDKs. First, you can call it HTTP if that's all you care about. But it has SDKs for Java, JavaScript, of course, .NET, Python, and Go."— Mark Fussell Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Mark Fussell from Diagrid joins us to talk about Dapr—that's D-A-P-R—the Distributed Application Runtime, which aims to make it trivial to build applications in a distributed manner: covering things like service discovery, Pubsub messaging, and distribution of your microservice-based applications. "And the reason why I mentioned that is because, going to your AI discussion, is that we had an amazing contributor actually from Microsoft, actually he's ex-Microsoft now, a guy called Roberto Rodriguez, who worked in Microsoft Research, We built an agentic AI framework on top of Dapr workflows because it had this power of being able to do recoverability and coordination."— Mark Fussell Along the way, we cover the history of Dapr, how it started as a Microsoft incubator project (and was heavily inspired by Project Tye), and how it's now a full graduated project of the CNCF (Cloud Native Computing Foundation). Anyway, without further ado, 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-7/dapr-the-secret-sauce-to-simplifying-distributed-applications-with-mark-fussell/ Useful Links: DAPR Web Services Enhancement Diagrid Dapper Tye Spiffie mTLS istio Linkerd Dapr/quickstarts Dapr university Diagrid Conductor Workflow Engines: Comunda Apache Airflow Azure Logic Apps AWS Step Functions Episode 21 - Orleans with Russell Hammett CNCF Dapr Catalyst Dapr on Discord 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "If your app has a backend, it's Aspire-able. And so it's tools, templates, and packages for really any type of app… So just being able to walk up to a repo, clone it, and hit F5. When was the last time we were able to do that? Like, ten years ago, maybe?"— Maddy Montaquila Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, we talk with Maddy Montaquila about .NET Aspire, what it is, how it's not just for .NET developers, and how it can help you to run a repo by simply hitting F5, regardless of what's in there. "To me, it really is just a dev tool in a bunch of different ways. It makes you just hit F5 again, no matter how many containers, or local, or deployed services you have to deal with, or projects, or languages, or if you're in VS, or VS Code, or on a Mac, or on a command line, or on a Linux machine. Like Aspire just makes all that magical without replatforming"— Maddy Montaquila Along the way, we also talk about the importance of reducing the complexity of going from, "I have an idea," to, "my app is running in the cloud." And Maddy drops a wonderful metaphor for .NET Aspire using a Logo-based metaphor. And we address the community invented elephant in the room: that .NET Aspire, somehow, locks you into using one vendor. Spoiler alert: it can deploy to any cloud vendor, and even to on-prem servers. Anyway, without further ado, 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-7/net-aspire-how-maddy-montaquila-and-the-net-team-are-revolutionizing-development/ Maddy's Links: Maddy on Bluesky Other Links: CNCF OpenTelemetry Helm Codespaces Podman Devcontainers Vim GDB FreeBSD Jail .NET Aspire Community Toolkit CORS MCP Phi-4 Four stages of competence dot.net Cloud features of .NET Customer Stories: customers.microsoft.com dot.net/customers Ollama 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
DotConnect and Entity Developer dotConnect and Entity Developer boost .NET development with high-performance ADO .NET providers and visual ORM builder. Try a 30-day free trial now! Show Notes "I remember I had the entire life cycle of the web forms printed on a wall. It was like six sheets of paper and it was very complex, and it was very useful to have it on the wall because, like, you could always look at it and say, "okay, this is going on before this one." So you have to like switch the order of things. But that's exactly what I call interesting"— Tomáš Herceg Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, we talk with Tomáš Herceg about strategies for modernizing .NET Framework web applications such that they leverage the very latest in the .NET stack. Tomáš shares his insights from the journey of upgrading his own applications and those of his clients, both of which provided the background for his new book: "Modernizing .NET Web Applications". "The biggest problem of the YARP migrations: that they will force you to do a lot of infrastructure things at the beginning before you even start migrating some real functionality."— Tomáš Herceg Along the way, we discuss how using his DotVVM project can help with the migration. Not only is the upgrade path for DotVVM projects a process of swapping a NuGet package, but is also keeps the upgrade as a single in-memory process—something that YARP-based migrations aren't able to do. Anyway, without further ado, 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-7/dotnet-web-app-modernization-made-easy-with-tomas-hercegs-new-book-and-dotvvm/ Links: DotVVM DotVVM.Owin DotVVM.AspNetCore Yarp Strangler Fig Pattern Modernizing .NET Web Applications Gauss Curve (aka Normal distribution) Tomáš on LinkedIn Model-view-ViewModel Supporting the show: dotConnect 30 day trial Entity Developer 30 day trial Leave a rating or review Buy the show a coffee Become a patron Getting in Touch: Via the contact page Joining the Discord 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "When you program for the NES you deeply need to understand the hardware, right. And that's not a thing; like as a .NET developer you don't really know what a register is, or like or a bus, or like NES has a thing called a PPU"— Jonathan Peppers Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Jonathan Peppers joins us to talk about something which is a little out of the ordinary for us here: programming the Nintendo Entertainment System but in C#. We talk about the process behind his (some would say absurd) idea for an AOT transpiler which can convert a subset of C# over to the Assembler required to write and publish a NES game. "So you think about that example, what I described there on the NES side is actually very similar to what's on the IL side, is that in IL, you have a string, right? It goes and looks up in a string table, the contents of the string, and puts it on a stack, and then it calls vram_write, and then it's the runtimes job to actually like make that happen at runtime; or in the case of an AOT compiler it would emit, you know, native machine code that does the same thing."— Jonathan Peppers Along the way, we talk about that Ahead-of-Time compilation is, have a brief intro to what IL is (that's what your C# code is compiled to before running it), and how all of that fits in with .NES—the wonderful name for Jon's AOT NES compiler. Anyway, without further ado, 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-7/jonathan-peppers-unleashes-code-chaos-how-dotnet-meets-the-nes/ Links: Native AOT Development System.Reflection.Metadata 8bitworkshop.com neslib BinaryWriter Retron5 Flight68k .NES on GitHub .NES 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Software Development Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So on my side it was actually, the interesting experience was that I kind of used it one way, because it was mainly about reading the Python code, the JavaScript code, and, let's say like, the Go implementations, trying to understand what are the concepts, what are the ways about how it has been implemented by the different teams. And then, you know, switching mentally into the other direction of writing than the code in C#."— Jochen Kirstaetter Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Jochen Kirstaetter joined us to talk about his .NET SDK for interacting with Google's Gemini suite of LLMs. Jochen tells us that he started his journey by looking at the existing .NET SDK, which didn't seem right to him, and wrote his own using the HttpClient and HttpClientFactory classes and REST. "I provide a test project with a lot of tests. And when you look at the simplest one, is that you get your instance of the Generative AI type, which you pass in either your API key, if you want to use it against Google AI, or you pass in your project ID and location if you want to use it against Vertex AI. Then you specify which model that you like to use, and you specify the prompt, and the method that you call is then GenerateContent and you get the response back. So effectively with four lines of code you have a full integration of Gemini into your .NET application."— Jochen Kirstaetter Along the way, we discuss the fact that Jochen had to look into the Python, JavaScript, and even Go SDKs to get a better understanding of how his .NET SDK should work. We discuss the "Pythonistic .NET" and ".NETy Python" code that developers can accidentally end up writing, if they're not careful when moving from .NET to Python and back. And we also talk about Jochen's use of tests as documentation for his SDK. Anyway, without further ado, 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-7/google-gemini-in-net-the-ultimate-guide-with-jochen-kirstaetter/ Jason's Links: JoKi's MVP Profile JoKi's Google Developer Expert Profile JoKi's website Other Links: Generative AI for .NET Developers with Amit Bahree curl Noda Time with Jon Skeet Google Cloud samples repo on GitHub Google's Gemini SDK for Python Google's Gemini SDK for JavaScript Google's Gemini SDK for Go Vertex AI JoKi's base NuGet package: Mscc.GenerativeAI JoKi's NuGet package: Mscc.GenerativeAI.Google System.Text.Json gcloud CLI .NET Preprocessor directives .NET Target Framework Monikers QUIC protocol IAsyncEnumerable Microsoft.Extensions.AI 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "So I've been focused on the code to cloud journey, I like to call it, for the template. And two years ago, my goal was to provide a solution that could take you from code to cloud in 45 minutes or less. So I wanted it to be "file new project" to deploy a solution on Azure—because that's where my main focus is—within 45 minutes."— Jason Taylor Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Jason Taylor (no relation) joined us to talk about his journey from Classic ASP to .NET and Azure. He also discusses clean architecture's maintainability, and his open-source Clean Architecture Solution template for ASP .NET Core, along with strategies for learning new frameworks and dealing with complexity. "Right now the template supports PostgreSQL, SQLite, and SQL Server. If you want to support MySQL, it's relatively easy to do because there's already a Bicep module or a Terraform module that you can go in and use it. So I went from 45 minutes to now I can get things up and running in like, I don't know, two minutes of effort and 15 minutes of waiting around while I make my coffee"— Jason Taylor Along the way, we talk about some of the complexities involved with creating a template which supports multiple different frontend technologies and .NET Aspire (which was news to me when we recorded), all the while maintaining the goal of being the simplest approach for enterprise development with Clean Architecture. Anyway, without further ado, 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-7/from-code-to-cloud-in-15-minutes-jason-taylors-expert-insights-and-the-clean-architecture-template/ Jason's Links: Jason's Clean Architecture repo on GitHub Jason's Northwind Traders with Clean Architecture repo on Github Connect with Jason Jason's RapidBlazor repo on GitHub Other Links: C# DevKit for Visual Studio Code Code, Coffee, and Clever Debugging: Leslie Richardson's Microsoft Journey and the C# Dev Kit in Visual Studio Code with Leslie Richardson dotnet scaffold devcontainers .NET Aspire Azure Developer CLI GitHub CLI Obsidian 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
Show Notes "If you talk to people that have been doing Terraform for many years, they're going to tell you that, "Terraform is the law and Terraform is the way to go." But like you said, there's different tools, I would say, or languages that you can use for infrastructure as code. And it really depends what you want to do, what your developers are used to or are comfortable with and what works with your organization as it should be with any tool in software development. You got to grab the one or use the one that is more appropriate for your use case, your scenario, your organization"— Sam Gomez Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Sam Gomez joined us to talk about Infrastructure as Code, why you might want to think about using something like Terraform and Bicep, and how they can help you to automate your deployments to the public cloud. Sam also talks about best practises for CI/CD and ways to test your Infrastructure as Code ahead of running it--something that we've all felt the pain of in the past, I'm sure. "Terraform has what's called validation for your parameters. So like I said, you can set up a validation that says, "the only values for the SKU for a SQL server are basic," for example. And if somebody tries to give a different value to that particular parameter, it'll stop automatically and say, "okay, this validation has failed. You know, the value allowed is this one." You can do the same thing with Bicep. So that's another added layer of protection against making these kind of mistakes and adding or configuring the wrong values in your deployments"— Sam Gomez Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. Podcasthon 2025! One last thing before we start the episode: we're super happy to participate in the 3rd edition of Podcasthon For one week, more than a thousand podcasts will highlight a charity of their choice. And today, I have the pleasure of welcoming Andy's Man Club to the show. Throughout this episode, I'll interrupt the conversation a few times to talk about the importance of mental fitness. The reason that I've picked Andy's Man Club is because mental health support is very important to me. I've used their groups for almost two years and have had the honour of being asked to step up and help run one of those groups. If you'll forgive the name for now, Andy's Man Club is a UK-based charity which organises weekly, informal, peer-to-peer talking groups for anyone over the age of 18 who identifies as male. I'll talk more about Andy's Man Club later in the episode. 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-7/deploying-with-confidence-sam-gomez-on-terraform-bicep-and-infrastructure-as-code/ Music Used In This Episode This contains some copyright free music during the interstitials. Each of the pieces of music (linked below) were created by YouTube user HoobeZa, and we thank them for making their work free to use. If you liked the music we used, check out links to the pieces below: "Lounge" "Mellow" "Golden" "Release" Podcasthon 2025 This episode of the podcast contains support for both Podcasthon, Andy's Man Club, and Capes on the Couch. Please feel free to check out both projects at the links below. Podcasthon! Andy's Man Club Capes on the Couch And please remember to check in on your own mental fitness from time to time. Useful Links Sam on LinkedIn Dad's in Tech The bus factor Terraform Registry Azure Verified Modules Bicep for VS Code Terraform extension for VS Code Terraform CNCF Hashicorp Developer Website Sam's MVP profile Sam on X Sam on BlueSky 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "And I think this is really the key factor in software development. I think it's really to keep complexity low, because in most projects, unless you are writing an operating system, a framework or rocket navigation you are not coding against hardware; like the hardware is not your bottleneck. You are coding against human brains, cognitive abilities of your team; like how many smart people your company is able to put on your team, this is your limiting factor so we need to keep complexity low and I think it's really the most important benefit."— Gael Fraiteur Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am not your host: Jamie. I'm Delilah and I will be recording the intro for this episode because Jamie is suffering with a throat infection. In this episode, Gael Fraiteur joined us to talk about Metaprogramming with Metalama. Gael is the original author of the wildly successful PostSharp and has been working with the aspect-oriented programming pattern for over 20 years. In this conversation we talk about how metaprogramming (regardless of whether you use Metalama to achieve that or not) can save on both the complexity and the number lines of code in your projects. "Well, there are studies that try to correlate the cost of software projects to the number of lines of code. And the conclusion is: it is more or less a linear dependency. A bit super linear. That means that if you have 15% fewer lines of code, you are going to get 15% lower development cost. So that's the easiest part"— Gael Fraiteur Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. My voice was created using Generative AI. 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-7/metaprogramming-with-gael-fraiteur/ Gael's Links: Gael on LinkedIn PostSharp on LinkedIn Metalama: Metalama homepage Documentation Marketplace 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "I always believe, and this is taking my kind of Microsoft hat off, and I'm sharing my personal view here. I definitely believe regardless of the public cloud provider in question, they're all part of a bigger ecosystem. And I emphasize the word ecosystem. I believe security as, you know, a problem statement of our time, it's just so complex that it really can't be solved by a single company or by a single organization or a single individual. You really need to see like collaboration and cooperation taking place across different sectors, across different public cloud providers."— Bojan Magušić Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Bojan Magušić joined us to talk about both his new book "Azure Security" but also his work as part of the security team at Azure and his top tips for protecting your digital landscape (aka your apps and services) on the public cloud. Not only did Bojan and I talk about the security aspects of protecting your public cloud digital landscape, but we also talked about how all the public cloud providers actually work together to ensure that everyone is protected from CVEs and exploits when they are discovered. An application of the Infinite Game, if you will—if you're not sure what that is, we cover that in the episode, too. "So instead of at times you know thinking of it as a zero-sum game, I definitely believe there is opportunity to kind of expand the ecosystem and partner in meaningful ways where we can share information and share insights and guidance and even skill sets that are going to make us all as an industry and, you know, as clients more secure."— Bojan Magušić Anyway, without further ado, 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-7/the-infinite-game-meets-azure-security-with-bojan-magusic/ Useful Links Bojan on LinkedIn Azure Security OWASP ZAP—now owned by Checkmarx 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
RJJ Software's Software Development Service This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, whether your company is looking to elevate its UK operations or reshape its US strategy, we can provide tailored solutions that exceed expectations. Show Notes "This should be a mantra for anyone working on web applications or web APIs: you should validate any input of the application as much as possible. When you conceptualize it, all the malicious input into your application comes across in an HTTP request at some point. It's either in the URL or in the body. That's generally speaking, unless you have a supply chain attack, that's generally the vector by which your application will be attacked. Before you even start to kind of think about specific vulnerabilities, if you narrow down what is permissible input right out of the gate, then you kind of close the door on so many different vulnerabilities without even thinking about it."— Malcolm McDonald Welcome friends to The Modern .NET Show; the premier .NET podcast, focusing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Malcolm McDonald joined us to talk about the importance of Application Security, knowing the basics of secure coding, and backing that all up with both "secure by default" designs, and subscribing to CVE notifications. "So what you find in your career is that if you set down kind of sensible default behaviour in your codebase earlier on, then everyone will follow that. You establish, kind of, best practices. It might take a little bit longer, but if you say, "this is the way we do this over here," then even yourself when you, kind of, come back to, will kind of, reproduce that path. So the initial, kind of, like first few check-ins to your source control are key to, like, establishing best practice"— Malcolm McDonald One note before we begin: some of Malcolm's audio is a little rough. Mark, our superstar editor, has done what he can, but there are parts that might be a little unclear. If you have trouble with the audio, please remember that there is a full transcription linked in the accompanying show notes. Anyway, without further ado, 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-7/grokking-application-security-malcolm-mcdonald-on-securing-your-apps/ Useful Links Malcolm on LinkedIn Grokking Application Security Hacksplaining Hash function Don't Accept The Defaults Bcrypt 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 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. Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show
loading
Comments (5)

James Yoo

enjoying the content but yikes the audio in this is unbearable

Dec 17th
Reply (1)

Max Almonte

I really love this podcast 😍

Apr 11th
Reply

Pedro Machado

The audio from Ed is awful... It's a shame because the subject is pretty awesome

Mar 25th
Reply

Javier Pazos

it's a great podcast focused on .net core. Thanks Jamie for sharing your knowledge

Sep 13th
Reply