The Modern .NET Show cover image

The Modern .NET Show

Latest episodes

undefined
Dec 20, 2024 • 49min

Modern .NET NuGet Packaging with Scott Harden

Scott Harden, a neuroscientist and dentist turned tech expert, dives into the world of NuGet packaging. He explains the fundamentals of creating packages and introduces tools like NuGet Package Explorer. Scott shares his unique career transition, emphasizing the value of NuGet packages in .NET development. The conversation also highlights debugging best practices with SNUPKG files and the design impact of adding icons to packages. Lastly, he advocates for open-source contributions, urging listeners to engage with the tech community.
undefined
Dec 13, 2024 • 1h 15min

Open-Source and Our Digital Legacies with Scott Harden

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 don't want to go into the details right now, but for the listeners, I will say that we are right in the middle of an explosive situation right now with some WordPress drama. WordPress and WP Engine are experiencing a lot of the fallout, kind of related to what we talked about in the last episode, where you start out with some good intentions and then you get in a situation where both sides kind of feel burned. And I'm not going to say that there's a perfect solution out there, But I do think that this frequent check-ins and asking, you know, "is this good for me and what needs to change for this to be good for my life?" is important."— Scott Harden 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, Scott Harden joined us to talk more about open-source, software licensing, and a little on some of the most recent NuGet package updates that .NET developers should know about. It's important to note, Scott and Jamie talked about the WordPress controversy which was still unfolding as we recorded (which on October 19th, 2024). They brought it up not to make fun of WordPress or to add fuel to the flames, but to talk about the fact that it highlighted Scott's point about checking in with yourself regularly, as an open-source developer, about whether you're getting what you want from your public repos. Whilst talking about open-source development and licensing, Scott brought up a question on our collective and individual digital legacies. "And this is kind of a startling topic to bring up, but what if you just disappeared tomorrow? Because people just leave because they have some medical situation or some life situation, or they die. And this happens. This happens in software. We'll talk about some specific examples in a minute. But, you know, if you disappear tomorrow, it's interesting to think about kind of what your digital legacy would be. And, you know, you could have left this thing behind in a way that it could have been used by everyone or anyone."— Scott Harden This episode has a lot of resources in the accompanying show notes, so if you're listening along in a podcast player make sure to head to the website (there'll be a link). That way you don't miss out on all the wonderful things Scott and Jamie talked about. As a form of trigger warning, at around the 58 minute mark Scott talks about how his own journey with cancer brought the idea of his digital legacy to the forefront for him. Both Scott and Jamie also talk about the late Abel Wang and Pieter Hintjens. And they talk about other examples of developers who are very public with their health struggles: Jeremy Likness and (previous guest of the show) Jon Smith, who suffer with Alzheimer's disease and dementia respectively. We understand completely if you want to skip this entire section. But we also feel that there are very important points raised whilst talking about these, less cheery, matters. This conversation makes up the bulk for the final 10-15 minutes of the episode. Aside from a teaser for the next part (which is all about NuGet packages), you won't miss anything .NET specific if you choose to skip this part. 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/open-source-and-our-digital-legacies-with-scott-harden/ Scott's Links: scottplot.net swharden.com GitHub LinkedIn Jamie's Public NuGet Packages: OwaspHeaders.Core ClackMiddleware OnionArch.Mvc Useful Links GNU Terry Pratchett OWASP Secure Headers Project GitHub sponsors Jamie on Coffee and Open Source with Isaac Levin The WordPress vs VP Engine drama, explained What we know about the xz Utils backdoor that almost infected the world .NET Foundation Finding Strength in Weakness by Jeremy Likness How to update a NuGet library once the author isn't available by Jon Smith Entity Framework Core with Jon Smith A protocol for dying Get Busy Living with Abel Wang ScottPlot.NET: GitHub NuGet scottplot.net The charts that Scott was referring to when talking about downloads per day, can be seen here 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.
undefined
Dec 6, 2024 • 1h 23min

The Spirit of Open Source in a Modern .NET World with Scott Harden

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 "One of the projects that I work on right now that's probably one of my more successful ones, It's a scientific data visualization library for .NET. It's called ScottPlot. The name is silly. It's because when I made it, I thought I was the only person going to be using it. And then some other people started using it and that wasn't totally unexpected. But now it's about a million and a half installs on NuGet. I think it has like 5,000 stars on GitHub. It's really cool just to watch this thing grow."— Scott Harden 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, Scott Harden joined us for the first of three episodes on .NET, open source, and NuGet. This part of the conversation is all about what Scott calls "The Spirit of Open Source in a Modern .NET World." This is the background information on why Scott (and Jamie) believe that developers should look to creating open source works, putting them out there, and gathering feedback from people. Not only will it enhance your technical skill set (and very quickly), but it will also allow you to get experience at failing in a safe space: in public. "Now, humans evolved to like helping people in our in-group. And I think it means a lot that we treat anonymous strangers on the Internet, or we can treat them. Obviously, this can go wrong. But we can treat them as part of our in-group. Like, "hey, we are all in this technical world together. We are struggling. Let's figure this out together." And that bridge of trust and effort and you're sharing your knowledge with another person, it is such a positive experience all around the table"— Scott Harden This episode has a lot of resources in the accompanying show notes, so if you're listening along in a podcast player make sure to head to the website (there'll be a link). That way you don't miss out on all the wonderful things Scott and Jamie talked about. And remember, this is just part one. In the next two parts, Scott and I talk about creating NuGet packages, ensuring their safety and security, and how to be a good citizen of the open source community. Talk about a festive gift for you all. And definitely go ahead and check out Scott's work and writings. He's a really interesting person, an amazing open source contributor, and an all-round great person. 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-spirit-of-open-source-in-a-modern-net-world-with-scott-harden/ Scott's Links: scottplot.net swharden.com GitHub LinkedIn Useful Links Job crafting Left-Pad incident The story behind colors.js and faker.js What we know about the xz Utils backdoor that almost infected the world Hello, Duende Double-precision floating-point format Dave Farley Sigstore Add support for sigstore as signing method for NuGet packages The Primeagen Coding Blocks Some episodes of this show focusing on App Security and dependency management The Risks of Third Party Code With Niels Tanis Application Security with Tanya Janca Building Secure Software: Unveiling the Hidden Dependencies with Niels Tanis Managing Dependencies with M. Scott Ford Breaking Up with Tech Debt: A Love Story with M. Scott Ford Books that Jamie gives to interns: The Life-Changing Magic of Tidying Up by Marie Kondo Start With Why by Simon Sinek Essentialism: The Disciplined Pursuit of Less by Greg McKeown ScottPlot.NET: GitHub NuGet scottplot.net The charts that Scott was referring to when talking about downloads per day, can be seen here Code Licenses mentioned (in order): MIT CC0 Apache 2 L-GPL v3 WTFPL Programming languages Jamie mentioned (in order) Go Odin Zig 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.
undefined
Nov 22, 2024 • 1h 6min

Cleipnir and Beyond: On Resilient Development Practices with Thomas Sylvest

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 part of what Resilient Programming is about and what the framework does is that it kind of like tries to provide a nice abstraction, a developer-friendly abstraction for implementing distributed systems."— Thomas Sylvest Welcome friends to The Modern .NET Show; the premier .NET podcast, focussing 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, Thomas Sylvest joined us to talk about both Resilient Programming and Cleipnir .NET - a framework that Thomas worked on to implement the concepts of Resilient Programming in .NET applications. Cleipnir, and Resilient Programming, are fantastic for supporting message-driven architectures; whether you've built a monolith, series of microservices, or anything in between. "But the idea is the same, kind of like that you try and remember the result of actions that you've done in a way that if you then start again, you won't... you kind of like you'll check in your little notebook if you already performed this action. If you did then you'll just return the result of the previous execution. If you look in your in your notebook and you can see, 'okay actually I haven't done this before' you will then perform the action"— Thomas Sylvest 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/cleipnir-and-beyond-on-resilient-development-practices-with-thomas-sylvest/ Useful Links Paxos Raft Polly .NET Hangfire Quartz Inbox and outbox pattern Idempotence Azure Durable Functions Mass Transit Rebus NServiceBus Thomas on LinkedIn Microsoft Open: Introduction to Cleipnir.Flows a tool to get resilient code 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.
undefined
Nov 8, 2024 • 1h 6min

The Art of Teaching Programming using Unity: An Interview with Harrison Ferrone

Metalama This episode of The Modern .NET Show is supported, in part, by Metalama, reduce your boilerplate code by up to 15% with Metalama's C#-to-C# template engine and reduce your code complexity today! Show Notes "Like the whole point is to learn a system of thinking, like to learn how to analyze; how to, like, pick out what's happening and identify your problem, and then to implement a solution that fits your needs."— Harrison Ferrone Welcome friends to The Modern .NET Show; the premier .NET podcast, focussing 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, Harrison Ferrone joined us to talk about his journey from being an English major to a self-taught programmer and instructional author focused on accessible tech education. Harrison also talks about his book, "Learning Design Patterns with Unity," which is designed as a practical guide for game development using well-known patterns while emphasizing the importance of quick wins in learning. "Like we do so much work in the later parts of each chapter with like pattern variations and customisations, because I want readers and students and learners to like, look at it, look at the first, you know, 70% and be like, "oh, but what, oh, oh, we're going to talk about what ifs. Fantastic. Cause I have a lot of what ifs.""— Harrison Ferrone 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-art-of-teaching-programming-using-unity-an-interview-with-harrison-ferrone/ Useful Links Learning Design Patterns with Unity Design Patterns (AKA "The Gang of Four") Game Programming Patterns by Robert Nystrom KonMari method Thinking in Systems by Donella Meadows Chaos Monkey Atomic Habits by James Clear Rosetta Stone Unity Learn Explore the Unity Editor - Unity Learn GitHub repo for the book Harrison 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 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.
undefined
Oct 25, 2024 • 1h 9min

Powering Up with Erik Jensen: An Introduction to EF Core Power Tools

In this discussion, Erik Jensen, a Microsoft MVP and maintainer of EF Core Power Tools, shares insights on streamlining database development. He highlights how EF Core Power Tools simplifies reverse engineering existing databases and empowers developers to manage database schemas with ease. Jensen emphasizes the importance of user-friendly interfaces and effective error reporting. He also touches on collaboration in open-source projects and the integration of static analysis tools that help enhance code quality and maintain schema integrity.
undefined
Oct 11, 2024 • 1h 6min

Chainguard and Securing Your Containers with Adrian Mouat

Adrian Mouat, a technical community advocate at Chainguard and author specializing in secure container images, dives into the evolving landscape of container security. He discusses the Docker init command, which simplifies project setup with best-practice Dockerfiles. Adrian emphasizes the importance of multilayered security strategies and the role of Software Bills of Materials (SBOM) for compliance. He also highlights how attestation can verify software integrity, shedding light on securing development pipelines and managing vulnerabilities effectively.
undefined
Sep 27, 2024 • 1h 5min

CQRS, System Maintainability, and Pragmatic Tech Choices with Dejan Miličić

Dejan Miličić, Head of R&D at RavDB and a seasoned software consultant with 25 years of experience, discusses the essence of maintaining software systems over time. He emphasizes that developers spend 90% of their time on change requests rather than building new systems. Dejan dives into CQRS, exploring its benefits in system design, while addressing common misconceptions. He also warns against premature optimization and vendor lock-in, advocating for a deep understanding of historical programming practices to enhance modern development.
undefined
Sep 13, 2024 • 1h 4min

LinqPad and Building Developer Platforms with Joe Albahari

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 "You can use Linq to write database... to query a database and I thought, "well you can interactively write queries in SQL using tools like SQL Server Management Studio, so wouldn't it be great if you could do the same thing in Linq?" So I wrote a tool to do that—that was LinqPad—to as you can just type Linq queries in interactively. And then once I released that it became quite popular and there were a lot of people using it, including a lot of folks at Microsoft were using it. And I was getting a lot of feature requests"— Joe Albahari In this episode, Joe Albahari joined us to talk about LinqPad—yes, that LinqPad. The one tool which makes all .NET developers lives easier. Don't worry if you've never heard of LinqPad, as Joe and I talk about why you should use it, and how it can make your .NET life way more productive. We also talked about handling feature requests, and building a development platform. "When something doesn't work correctly, it can be really hard to figure out what's going on. Sometimes it just requires experimentation. And that's something I dislike. I always like to try to understand exactly what's going on underneath and then try and from that understanding make something work. I don't just like trying random stuff".— Joe Albahari We also round out our conversation by taking some questions from the community, which Joe graciously agreed to answer for us. Don't forget that you can join the community (for free) over at dotnetcore.show/discord where you'll be able to connect with other listeners, share interesting links, propose episode ideas, and suggest questions for guests. After recording, Joe and I spoke in depth about the possibility of a cross-platform version of LinqPad; later that day (we recorded on May 2nd, 2024), I sent off an email introducing Joe to the team at Avalonia, and a few weeks before this episode dropped Joe announced a version of LinqPad which is coming to macOS. How cool is that? 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/linqpad-and-building-open-source-developer-platforms-with-joe-albahari/ Useful Links LiniqPad on X LinqPad 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 (in part) by MB Podcast Services Supporting the show: Leave a rating or review Buy the show a coffee Become a patron 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.
undefined
Jul 26, 2024 • 1h 8min

Generative AI for .NET Developers with Amit Bahree

In this conversation with Amit Bahree, a speaker and author focused on AI, he clarifies the differences between generative AI and traditional AI. He addresses the potential fears about job displacement for engineers, assuring listeners that generative AI is a tool for enhancement, not replacement. Amit discusses his upcoming book that aims to guide .NET developers in leveraging generative AI's capabilities. The dialogue also covers the ethical considerations, practical integrations, and the exciting advancements transforming the software development landscape.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode