S08E08 1h 07mSeason 8

Episode Summary
Kajetan Duszyńsk discussed his new book “.NET 10 Revealed” during an interview on Jamie’s show. The book provides in-depth information about .NET 10, covering various aspects such as Aspire, ASP.NET Core, and other relevant topics.
One of the key points mentioned by Kajetan was the introduction of wildcard TLS certificates in .NET 10, which allows for more flexibility when running web applications on localhost. He also touched upon the topic of .NET Aspire, a service that aims to bound different services together to improve performance and discoverability.
Kajetan emphasized his excitement about .NET 10 and its numerous features, including Blazor, Maui, and other areas where he is particularly thrilled. He invited listeners to purchase his book for more information on these topics and encouraged them to connect with him on LinkedIn or join his courses and community in Poland.
The interview also covered Kajetan’s experience with .NET Core and how he often misses important changes in port numbers due to the wildcard certificates. However, he assured that his new book will provide readers with a solid understanding of these changes.
Episode Transcription
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
Controllerand doing all the actions and stuff like this.
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.
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.
So let’s sit back, open up a terminal, type in dotnet new podcast and we’ll dive into the core of Modern .NET.
Jamie
Kajetan
Jamie
Kajetan
So probably I will need to at least once try to convince myself that this is something really useful and don’t just try to find out from my colleagues who read it. But yeah, so if you are not yet familiar with what’s out there it might be even more interesting today.
Jamie
Kajetan
Jamie
Kajetan
Of course, speaking about our careers or teaching other people that you actually change someone’s life, someone’s career and they succeed thanks to your materials that we’ve prepared. Right. So this is something I truly appreciate when any student just write to me, and shares the successes with me.
Jamie
Kajetan
Jamie
Kajetan
But going so deep into what has changed over there in the runtime, over there in all the libraries, how we allocate everything, how we change the allocation of different bits like this year and there are some changes of allocation of small arrays that will get some free allocations, let’s say, out of the box. So the performance of our applications will get better and better every year. But yeah, in most cases I feel like Stephen’s articles are just cool. When you are nerds like you and me, like other guys that we are working with, just to sit down and just dig into this small pieces of the benchmarks that he shows, and try to analyze what’s over there. This is purely magical, and this is purely fun going into what’s there; even if we won’t remember what actually changed in this piece of .NET after some time. But, yeah,going through this at some point is really really interesting
Jamie
Kajetan
But besides of that, if our applications work fine, what’s the point of going over there? There are folks that understand this, that are pretty excited about this and cool for them. But most of developers just don’t need such deepness of knowledge of the platform, of the application, of the language, right?
Jamie
But for the majority of the code that we write, you’re absolutely right. Maybe it adds a couple of cents or maybe a dollar or two every month to our cloud bill, but like you’ve got to be pra pragmatic, right? And it’s all about counterbalancing, "cool, I could spend fifty hours, and the cost of that 50 hours of my salary or whatever, and the effort to fine-tune this block of code such that it saves us twenty-five dollars a year," right? It’s like, there’s gotta be a business case, right?
Kajetan
Jamie
Kajetan
Jamie
Kajetan
Jamie
Kajetan
So, in many cases when I’m on YouTube I don’t encourage people to learn about programming from books, because that’s purely theoretical knowledge. So you are seeing some technical stuff written down. Even if you would like to follow, even if that’s absolutely the best book that will teach you about .NET or C#, you’ll need to, at some point just rewrite this code that is written or try to compile it, see what’s what’s going over there. Like, I don’t know if I should say this, but I still follow what I’m saying. So we shouldn’t learn from the books at the very beginning. There are much, much, better sources. But on the other hand, right now with all the .NET releases that are planned for every year, there are less things that can go wrong with this book. Even if the process of publishing is quite long, because as we said it’s beginning of October, and my book is already in production. And so this is why I said at the very beginning that I really hope that .NET guys won’t change anything, because it will be quite hard to change anything in my book.
On the other hand, what we can see from the last years, from .NET 5 till right now, till .NET 10, is that their roadmap is quite clear. Their milestones for each version are quite clear. So there are less things that are surprising us when actual version is released than it was in the past. So I really hope that my book will be quite up to date when it’s released. And what I [will] say, "you won’t be able to learn C# programming out of this book because it’s not about it." It’s all about news from .NET 10 from more practical point of view, let’s say. Not just what we are getting in documentation, not in the release notes, just a couple of practical examples of, I believe, most of the new stuff that is coming in in .NET 10.
Jamie
Kajetan
Jamie
And you can probably find, like, I know where folks will be listening to this in the future. But as early as today, Thursday, 2nd of October, I bet if you go to the Azure portal, you could probably find, "Oh look, I can run a .NET 10 release candidate 1 or 2 or whatever we’re up to version of my app on the cloud." And it isn’t just Azure. There will probably be a .NET 10 on AWS and on GCP as well, and supported by the other cloud vendors too, right? On top of all of that, you’ve got the folks who have to verify the installers for either Windows 11, and Mac OS, and all of the supported Linuxes, right? If this there’s a lot of effort that goes into it, so I would be very surprised if they changed course now.
Kajetan
So if you are planning, especially that .NET 10 is the long-term support version, if you are planning to upgrade to .NET 10, then you can already start testing this out. So that you are prepared. And still I won’t be convincing anyone to just upgrade as soon as the .NET 10 will be released in November. That’s especially in enterprise applications, we need longer time to to test everything, to do regression testing, and and all all this stuff. we need to focus on breaking changes, and stuff like this. But you can start preparing based on release candidate, what you are going to change later on.
Jamie
Maybe if you have the time and you are Kajetan or his colleague Konrad, you’ve probably got a like a benchmark that you can run, right? The release candidate comes out, you’ve already written a whole bunch of code, you just update the target framework moniker—that’s the bit in the csproj that says which .NET version—and then you run it and see what happens, right? If you’re brave, do that. But please don’t do that with anything in production because you will likely break something.
But yeah, it’s my experience of any kind of upgrades is: the difficult bit is the packages that you rely on. If you write every single line of your own code or rely on the .NET library code, you’re fine. But if you, you know, it’s when you get into those esoteric moments of we want to upgrade, but one of these packages that we rely on isn’t upgraded; then that’s where the their problems come from. But they’re open source, so you can go and help those open source stuff out by maybe putting in a pull request that upgrades it or starts that upgrade process.
Or even, right? Here’s the thing. Realistically, you should be taking a copy of every library that you rely on into your own infrastructure and vetting it anyway, so you could probably do a temporary upgrade whilst you wait for the official upgrade, right?
Kajetan
But this is a side note, but when we are upgrading our our applications, this is also a time when we should ask ourselves if we need everything that we are using. In many cases, when we are starting a new application, we are following some some rules, even the LinkedIn posts, there are a lot of them right now that, "whenever I’m creating a new project or software, I’m adding this, this, this and that library," right? So at some point we just need to ask ourselves, "do we really need this? Do we really need this dependency?" Because what will happen is, if we are just using one percent of this library and still it goes commercial, will we be able to convince our stakeholders to pay for this while we could get rid of this some time ago, when we were upgrading our our .NET.
So yeah, this is always the time to to think about our architecture, what’s inside our applications? And Upgrading .NET versions nowadays is much simpler than it was, like 10 or 15 years ago, because we’ve got additional tools. There is already a tool. It’s called Upgrade Assistant, I believe, that we can run against our application. And this will just scan our application, and scan our code, and it will find all the things that may potentially break when we’ll upgrade the .NET because it’s really aware of all the breaking changes between the between different versions. So it’s quite easy to catch this when you’ll analyze the code. So, yeah the the whole point of upgrading should be also at least try to clean it a bit, just to to to leave it a a bit cleaner, a bit better after the upgrade itself.
Jamie
Kajetan
Jamie
IEndpointRouter interface and we say router.MapGet and then we just map it to a static function within that class. And that is amazing.And we get that, which means that because we’ve got first-party support baked into the ASP .NET Core runtime and library, that means we probably don’t need, like you said, some of the libraries that we’ve used already. If you’re still using, you know, Steve Smith/ardalis’ wonderful GitHub repo to give you that, keep using it. That’s not a problem. But You maybe don’t need those libraries. Maybe those libraries provide you with something amazing that you can’t get inside of ASP .NET core. Amazing. But it like you said, it’s a great time to actually rethink, "do we need this? Do we need this?" and see whether you actually need it? Because you may not.
Kajetan
So of course, switching from controller-based applications probably would be hard to rewrite every piece of our code into Minimal API. So all the things that we are getting are not worth [the] time for refactoring. But we should be, at least, aware that something like this exists already. And whenever we are creating a new application, it’s really, really worth using, especially because as far as I know, the whole engine behind web API within Minimal API was rewritten, and it was created because decisions made with the MVC style APIs were made 20 years ago. Right now they are so deep into .NET that that they were not able to change their behaviors to improve performance too much already, so they decided to rewrite the whole thing from scratch and this is how Minimal API has been created. So whenever you have the chance to try it out, if you didn’t yet, just just go with it because it’s it’s brilliant. It’s brilliant. especially from .NET eight or nine when it’s got a lot of functionalities and it’s really stable.
Right now there is a huge breaking change and we will need to be aware and this is the first let’s say this the disclaimer for for the guys that that are listening to us. 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. So this is one of th greatest change[s] for for .NET 10 in Minimal APIs. This will be a pain probably if you’ll have the large API. But it will clean your code instantly after upgrading this.Jamie
But before I jump into that, I just want to say that I absolutely agree with you on Minimal API. I called it static endpoints, but it’s Minimal API. A lot of people that I know have held off of doing anything with a Minimal API because they hear minimal And they think, "oh, minimal feature-wise," but actually it’s minimal amount of code that you have to write. Think like the ExpressJS or what’s it called? FastAPI for Python, right? It’s that. It’s
app.Get( the path you want and then the method the action you wanted to take. It’s that simple. You don’t have to do, you know, create a class which inherits from controller and then write a whole bunch of injectors and all that kind of stuff. You don’t have to do any of that. It is just app.MapGet{} and then the path that you want to map to and then the the process you want it to do. That’s it. It’s amazing.Kajetan
Controller and doing all the actions and stuff like this. So um and right right now when we are using Minimal APIs we can call app.MapGet from anywhere actually from our application and we it will just just work without any problemsJamie
Sponsor Message
Today's episode of The Modern .NET Show is brought to you by RJJ Software: strategic technology consulting for ambitious SMEs.
You know me as the host of this podcast, but here's what you might not know: I'm also a former Microsoft MVP who's helped businesses from Formula 1 teams to funded startups transform technology from a cost center into a competitive advantage. At RJJ Software, we specialize in three things that matter to growing businesses:
- AI that actually delivers ROI: not hype, just practical implementations that pay for themselves
- Developer Experience optimization: we've helped teams achieve 99% faster deployments and 3x productivity gains
- Strategic technology decisions: from architecture reviews to fractional CTO services
The difference? We don't just advise. We ensure successful implementation through knowledge transfer to your team.
If you're an SME leader wondering why your technology investments aren't delivering, or you're facing critical decisions about AI, modernization, or team productivity, let's talk.
Visit rjj-software.co.uk/podcast to book a strategic consultation.
Now, let's back to today's episode...
Jamie
dotnet run program.cs right? Because the idea is to strip everything out as much as we can so that then we can—rid I keep saying "we" right—but so that then you can reduce the amount of code, the boilerplate code, that can be that can be maybe generated at runtime or that maybe isn’t even required, right?There could come a time where future… and this is me just philosophizing, right? But there could be a time in the future where you don’t need
public static void Main even to be generated for you. So for folks who don’t know: at the minute, my understanding is that if you do a program.cs that just has the words Console.WriteLine, at the moment when that runs, there’s a source generator that fills in all the banks for you, puts the public static void Main and the namespace and all that kind of stuff. My understanding is that is required at the moment.My vision, as a weirdo who lives in the UK who loves .NET, is that maybe that generation of code probably doesn’t have to even happen. So maybe they could speed up compilation time by not having that happen, by doing some other random weird, lovely, wonderful compilation thing that just the code is just there. Or maybe it doesn’t need to be there, right? And so there’s all these teeny tiny optimisations that we don’t even have to think about.
Then again, like I said, we get for free. When we do the upgrade, it’s just faster, it’s smaller, it’s… Oh, it’s brilliant.
Kajetan
And I’m not saying that I’m like ashamed of how .NET is is working or how C# is compiled but they are always posting that they can just create one simple file. We’ll call it
example.py. They can put a a little bit of code and and then just run the the application. With with .NET we, at least, needed always a project in most cases; some case some kind of solution the program.cs that is the starting point for most of our applications, and there are a lot of ceremony behind every application even the small ones like Hello Word.For the last versions it was getting better because of the top level statements when we were able just to say
Console.WriteLine(“Hello, world!”);. But, just as you said, the scenes it was creating still the program.cs, it was creating the Main method. But right now with .NET 10, at least, we’ll get some feeling of how Python is working for the last couple of years.So we are getting ability to run any C#, so .cs file, and so whenever we would like to create a small script within one file we can just put it in one file call it myprogram.cs, write some code like we are doing with top level statements without the csproj, without the solution, and just type in our terminal
dotnet run myprogram.cs and it will work.So this is something really exciting for guys that are automating a couple of things through the script and they needed to use Python because it was easier. Right now we are getting the same feeling of the scripts within .NET, which I’m really thrilled about because this will make my my life so much easier.
Jamie
Whereas I know that I can throw together something in C#, and it’s statically typed, and you know I know that it will do what I want it to do a hundred thousand times and I don’t have to worry about some weird edge case, like I gave the script to someone who doesn’t have a bash terminal, they have a zhs terminal or a phish terminal or something, and then it nothing works, right? Whereas I can write, like you said, a single CS file, do a
dotnet run and it works.And then maybe I can have that on my enterprise server or somewhere in source control, and maybe right even better, right? I get a new starter and I want to set up their machine. Well guess what? All I need to do, the only dependency I have is the .NET SDK, so that I can run that C# file. Maybe I can even do .NET build. I don’t know yet. I haven’t tried that out. But I can say to that person, "right, you’ve got two tasks. One, install the latest version of .NET, Two, run this file with .NET and everything else will be set up for you," right?
Kajetan
dotnet run. And if that works for you, this prototype will work for you.You will even have a tool, it’s called also .NET Convert. And after prototyping something like on your sheet of paper, you’ll be able to change this into a proper project that you’ll be able to later on develop with your your team. So these are really brilliant times for for .NET developers if we are looking at what’s what’s coming with with every version.
Jamie
Kajetan
Jamie
dotnet run, right? Whereas with this idea, I just create a file. Doesn’t matter where it is, just a single cs file. type all the code in and then I do dotnet run whatever my file is and it runs, right? Like you said, people in the Go, Python, JavaScript community are going, "yeah, but we’ve always been able to do that." But we haven’t. That’s why this is such a huge thing.Kajetan
Jamie
Kajetan
Right now, for the .NET and probably there will be a lot of smiles after what I’m going to say. Of course, the only thing right now missing in .NET to make it absolutely the best platform in the world are discriminated unions. We have this conversation for a long time, and yeah this is something but I really hope, and I and I know that they are coming, so I’ll be just waiting. And after that we can talk with any developer from any language and find out what they are missing actually from what’s inside .NET.
Of course I’m joking, just as you said. And this is always good to look on others, especially that we’ve got interesting times. When we looking into, I would say, vibe coding but generating code a lot and knowing different languages will give us the opportunity also to supervise what’s generated through the LLMs better. Because we’ll be aware that maybe even if that’s something created by an LLM in C# but it looks more like Python script. Because LLM doesn’t know the best practices; doesn’t know what’s what’s over there to be used or how we are in in regular basis we are using this. So it’s always good to to understand all the different bits and pieces of different languages.
I, myself, need to be honest that I feel best in .NET. I feel best in C#. I did a couple of small Python scripts but this is all what I’ve been doing for the last thirteen or fourteen years of my career. But I still really like what’s, right now, generated for me, at least for the frontend site. When I use the Claude Code, for example, and I ask it to to create some dashboard that I will be using in my team. I don’t really care if this will be created in React, in Angular. in Blazor or whatsoever, it just needs to to work. But it’s really fun at least reading this, and finding out how it could be written by by myself at at some point.
Jamie
"Hey, I’m really good at .NET. I kind of get TypeScript, and TypeScript is kind of helping me to produce like a typed version of JavaScript which tries to adhere to some ideas with C and object-oriented programming. How do I do that?" And then you can like tailor your personal education really well. Because all of the LMs that I’ve interacted with at the very least are really good at that. You can say, "hey, I know this one thing and I want to learn that one thing. How do I learn it," right? Because otherwise you’re just gonna end up doing an "intro to" that one thing course and you’re just gonna be sat there bored out of your skull and you’re never gonna actually learn it, right? Trust me, I know.
Kajetan
Jamie
Jamie
Now first off, folks if you’re listening in, STS doesn’t stand for "short term support," it stands for "standard term support".
So I was wondering about your thoughts on the change to standard term support. I’ve read that it’s been expanded somewhat. And what are your thoughts on that?
Kajetan
But if you’ll look at the roadmap, if you look on the release plan, It makes a huge change. And it’s already added to .NET 9. So so it’s working. No we don’t need to wait until it will come up with .NET 11, it’s already for .NET 9. So if you look at the release plan, it changes in the way that the standard term supports will be ended, at the same date as the previous long-term support.
So just let me do the the math quickly. So when the .NET 8 was released in 2023 it’s its support will end up in ‘26, right? In November ‘26. And for the standard term support before the change. So for the .NET 9, it would end in May ‘26. So it will be half a year shorter support for the next version than for the long-term support. Right now, two of these, so .NET 8 and .NET 9, will end up with the same end date of the support, so November ‘26.
What changes for us is that we don’t need to be scared of using standard term support in our applications. And this will make a huge change for the architects that are trying to convince the stakeholders that we should really follow up every of the upgrades if that’s possible, because if we’ll have the application that any upgrade will need like three or four months of preparations, that’s probably too much. But in many cases, whenever we are creating some kind of microservices, that are just just a bit smaller and easier to upgrade, we should always try to upgrade as soon as possible with right now every version.
Why? Because with every version we are getting a lot of improvements. We already talked about this out-of-the-box performance improvements. somS kind of new features that are coming to .NET that we no longer will need to wait for two years to use them in our apps, because they will get the same time of support. And at the end we’ll need to look once again on the AI and LLMs, because this technology is changing our world so quickly. Two years is feeling like forever. If we’ll sit down, we’ll see that ChatGPT was released two or three years ago, and from the first version that was released to the public till today with GPT5 the difference of how it’s working, og the functionality it has, of the abilities that it has, it’s so much different. And the same goes with .NET. We’ve got semantic kernel, we’ve got the bot framework, we’ve got a lot of different things that are added to .NET that are changing really rapidly.
So waiting two years to upgrade anything. is just too long in many cases. And right now Microsoft is giving us the ability to shorten this time, and is trying to convince us that it’s really safe to upgrade every year; especially that’s just as easy as changing the target framework in our csproj.
Jamie
Kajetan
Jamie
Kajetan
Jamie
Kajetan
Jamie
Okay, and I just wanted to, there was something that I read the other day, and I feel like this is more on ASP .NET core change. But I want to throw it out there. I’ll get the link for the show notes, folks. But there is a big change coming to .NET 10 and the way that it handles the default TLS certificate, the sort of demo TLS certificate—the SSL, HTTPS, whatever you want to call it—certificate that gets installed when you do HTTP trust. My understanding is that it installs a wildcard for localhost so that you can actually have like dev.localhost and things like that. So that makes that a little easier. But it will cause some confusion for folks because there will be a little bit of a wobbliness as people upgrade.
Kajetan
They were compiling. They were running locally perfectly fine. But when I run them from the Docker file, it stopped working. And it turned out that the standard port has changed from 8000 to 8080 or something like this. And this was a small change that I needed to to do in my Docker files. or Docker Compose. But yeah, these are these are the parts, and it should be the first thing that you look at because this is the th security of our applications. But that, for some reason, I always miss this.
Jamie
And it’s things like that, right? Some of these things that I’ve read about recently about .NET 10 and some of these smaller changes, feel like devs at Microsoft are hitting these problems now and they have the chance to fix these problems, right? And those are the best kind of problems to solve.
Kajetan
Jamie
We’ve just gotten on to talking about a little bit about .NET Aspire and I’ve noticed we’re running out of time; which is a real shame, because all of these things are super cool to talk about. Kajetan, I’ve had a wonderful time talking with you this evening. Folks, we’re recording this in the evening, and I am surprised that Kajetan is still able to form great sentences because it is super late his time.
So I’m really appreciative of you taking the time to talk with us, but before we disappear could you remind folks of the book that you’ve got coming out and maybe, you know, you said very early on that you’re running a school for .NET developers; I appreciate that’s probably in Polish or something like that in the local area that you’re in. But in case folks are listening and going, "I’m in the area, I wan to learn .NET, maybe I can find out about that." And then you know if you’re on LinkedIn, you know, are you happy with folks connecting with you there too? I know I’ve asked you a lot of questions there, I do apologize.
Kajetan
First of all, once again thank you for having me over here. It was a pleasure to talk with you. And I’m always also a bit disappointed that I’ve prepared so many things. I’ve prepared so many things and I thought that you’ll be asking me like the questions like what top news from .NET you liked best. And I was, I already had a answer prepared that I really can’t find three best things because there are so many of them. In Blazor, in Maui, in every area that I’m really thrilled about.
But if you are as thrilled as I am just go and and buy my book ".NET 10 Revealed". And I will be really happy if you’ll get in touch on LinkedIn and we’ll be able to chat afterwards. And if you are from Poland, forgive me all the guys from outside Poland, but if you’ll go to szkoladotneta.pl, you’ll find all my all my courses, you’ll find every places that I’m in too. You’ll find my YouTube channel, uou’ll find my LinkedIn, you will find my Discord server that are gathering Polish developers where we are learning a lot of different stuff every day. So yeah, you are welcome to join my words anytime. And and anywhere. So thank you.
Jamie
Kajetan
Jamie
Well, you know, I say this every single time, but I really have had an absolute blast talking with you this evening. It has been a whole bunch of fun, and I know that there will be things that people have listened in and gone, "I didn’t know that. That’s awesome. I’m gonna go look that up." And then I really hope folks go ahead and buy your book because I—pro tip folks, I haven’t read the book, but I will be buying it because, if this conversation is anything to go on, then I know the book’s gonna be high quality.
So you definitely gotta go get Kajetan’s book. So thank you for being on the show.
Kajetan
Wrapping Up
Thank you for listening to this episode of The Modern .NET Show with me, Jamie Taylor. I’d like to thank this episode’s guest for graciously sharing their time, expertise, and knowledge.
Be sure to check out the show notes for a bunch of links to some of the stuff that we covered, and full transcription of the interview. The show notes, as always, can be found at the podcast's website, and there will be a link directly to them in your podcatcher.
And don’t forget to spread the word, leave a rating or review on your podcatcher of choice—head over to dotnetcore.show/review for ways to do that—reach out via our contact page, or join our discord server at dotnetcore.show/discord—all of which are linked in the show notes.
But above all, I hope you have a fantastic rest of your day, and I hope that I’ll see you again, next time for more .NET goodness.
I will see you again real soon. See you later folks.
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:
- Getting in touch:
- 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