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 ShowIf 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 NotesThe 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 LinksRemember 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.
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 ShowIf 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 NotesThe 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 LinksRemember 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.
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 NotesHi everyone,
Just a quick thing before we start: this episode was recorded in the middle of summer, which meant that Erik needed to have his office window open. It's possible to hear the outside traffic throughout, but rest assured that our editing team have done what they can to reduce it's presence.
It's not that noticable and shouldn't affect your enjoyment of the show, but I wanted to give you a heads-up. Also, do remember that there's a full transcription available at the show's website; so check that out, too.
Anyway, let's get to it.
"So, I think my mantra for creating things like these tools is, "should be easy to get started and there should be a like an easy happy path but then if you want to deep dive and do a lot of options or even a t4 templates you can also do that," but there should be a simple happy path with good error reporting if something fails."— Erik Jensen
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, Erik Jensen joined us to talk about EF Core Power Tools, and how you can use his project to increase your productivity with EF Core-based databases, regardless of the database technology used; if it's supported by EF Core, then the Power Tools extension supports it to.
"The one that's definitely used the most is what in a tool is referred to as reverse engineering. Where you point to an existing database, which can be some of the database types I mentioned previously. Like SQL Server, as a SQL database, Postgres, Oracle, MySQL, and Firebird. And then the tool asks you for a number of options, like you can specify what namespaces you're using, and where the files are laid in your project, and many, many other options. And then when you press OK at that point, as you said, Jamie, the tool generates a DB context and some classes that represent your tables with navigations between the tables based on discovery of foreign key relationships."— Erik Jensen
We also briefly touched on the MSBuild.Sdk.SqlProj project and its goal of giving cross-platform .NET developers a way to both describe and build their ideal database schema in code. We also covered Erik's personal process for dealing with feature requests, and how developers can ensure that that are providing valueable feedback to open-source projects; a subject that will come up again soon with future guest Scott Harden.
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 ShowIf 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 NotesThe 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/powering-up-with-erik-jensen-an-introduction-to-ef-core-power-tools/
EF Core Power Tools ContributorsThe following list is correct as of Oct 4th, 2024, and aims to show that it takes a village to create a tool as ubiquitous as EF Core Power Tools. It contains the top 10 (arranged by number of contributions) devs who have worked on EF Core Power Tools.
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.
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"Okay. So I’ll come on to that point is that’s obviously something i’d like to talk about. But a couple of things I should mention, I guess. That I think you’re absolutely right with all the points you raised, but we are trying to work on on everything there. So a couple of things are worth pointing out: one is docker-init; so nowadays if you start in like a new project with python or node or whatever, you can run the docker-init command, and what that will do is like create a dockerfile and a couple of other files, I think, to help you get started, and it sort of contains that the best practices. So to try and help you get over the hump of trying to understand how to create a dockerfile, and all the different ways you can build that without needing to know everything. So I think that really helps."—Adrian Mouat
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, Adrian Mouat joined us to talk about Chainguard, what a distroless container is, a number of tools that you can use to check whether your containers have any CVEs present, attestations and reproducibility, and a number of ways to secure your applications once they are running in the wild.
"Yeah, I like your point there about showing your receipts. So in attestations, you can also say things like, you know, “we did do this on this image.” You can create an attestation that says, “hey, I ran a scanner on this image and I had this output at this time.” And because it’s all signed, you know that that did happen, if you like. Yeah, and also like, you know, you could have an attestation that said, “I ran these tests on this image at this time and this was the output,” sort of thing. So it’s sort of proving that certain steps were taken."— Adrian Mouat
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 ShowIf 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 NotesThe 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/chainguard-and-securing-your-containers-with-adrian-mouat/
Useful LinksRemember 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.
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"Essentially, when you look at it, what we are doing, we are not building software. We are changing it, we are maintaining it. Because when you look at the typical lifecycle of the application, enterprise one I would say, or any big system where you invest lots of time lots of money building it, you want to exploit this for 5-10-15 years hopefully. So when you look at the percentages, you're building something for one year and then you are using it for nine more years, let's say. It's a 10 year life cycle. So when you think about it, you spend 10 times... er, 10 percent of your time building something and 90 percent of the lifecycle of the application or the system responding to change requests, building new things, changing, adapting, and maintaining. So essentially, our job is not to build out. Our job is to sustain all these request changes. I think that's the first point we need to clear."— Dejan Miličić
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, Dejan Miličić joined us to talk about the CQRS pattern, how it came from CQS, what CQS is and how it's related to Alan Kay's original ideas for object-oriented programming, being pragmatic as developers and engineers, the importance of system design and system's thinking, and how we all need to realise that our software lives on for years after we've pushed our changes to the repo.
"So I, indeed, agree with you that people should pay more attention to system design. Start looking at the whole picture. And the extreme of this thinking would be: okay you will go into job interview, they will ask you about, I don't know, quick sort you, will implement it on the whiteboard, and then six months later on you will go and purchase or maybe download a NuGet package with with a quick sort implementation, because you know it makes sense; you don't want to implement something that have been implemented this many times before."— Dejan Miličić
Whilst this episode doesn't focus on .NET per se, I think that the subjects that Dejan and I covered are incredibly important for anyone who wants to seriously level up their game. In fact, Dejan proved this point when he said:
"We [are] all, like, containerised into our own small silos and working on our own without being aware of the whole system. When you look at what people go through when they prepare for job interviews at, I don't you know, Google, Facebook, nowadays Meta, Microsoft, you have all these books on the system design. And then they go, instead of, you know, going to the job interview after 20 years of experience and talking about what you do and what you know, people with 20 years of experience still sit down and learn and prepare for the system design interview. I'm not saying they shouldn't be preparing, but some of my colleagues told me that that was the first time in their careers that they started looking at the system design as a discipline."— Dejan Milič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 ShowIf 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 NotesThe 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/cqrs-system-maintainability-and-pragmatic-tech-choices-with-dejan-milicic/
Useful LinksRemember 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.
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 ShowIf 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 NotesThe 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 LinksRemember 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.
This episode of The Modern .NET Show is supported, in part, by RJJ Software's Podcasting Services, where your podcast becomes extraordinary.
Show NotesMaybe start with Generative AI. As you, I think, touched on, it's different from what we call "traditional AI." And I also want to acknowledge the term "traditional AI"l is very odd to say it's not traditional. It's very much prevalent and relevant and active
— Amit BahreeWelcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, Amit Bahree joined us to talk about what generative AI is, what it isn't, and how it's different from, so called, "traditional AI". He also talks through his new book "Generative AI in Action by Amit Bahree," a book that I had the good fortune to read ahead of publication and can definitely recommend.
I'm not asking is it going to replace an engineer, but like, can an engineer for now just ignore it a little bit?
—Jamie Taylor
Yeah, no. So, no, it's not replacing any engineers, I can tell you that. No.
— Amit BahreeSo 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 ShowIf 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 NotesThe full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/generative-ai-for-dotnet-developers-with-amit-bahree/
Useful LinksRemember 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.
This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility.
Show NotesYeah, exactly.
And it means you can, if you see it in its sort of native place, next time that you're writing something, maybe you don't go and change all your IEnumerables to IAsyncEnumerable because that's not worth doing. But maybe next time you're writing a new API you're like, "oh, you know what, I will use that newer API because it will give me better performance. And when I'm writing it, it's easy to just use the new thing and it's more applicable to this situation."
— Andrew LockWelcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, Andrew Lock joined us to talk about ASP .NET Core's new Minimal APIs paradigm. Along the We also talked about validation, and the third edition of his book "ASP .NET Core in Action" from Manning Publishing.
So it's sort of interesting, the philosophy, because obviously validation was one of the things they had some pushback.
In MVC You've got validation there by default, and clearly you always want to have validation of your arguments. So why didn't they include it in minimal APIs? And the answer basically is because there's more than one validation framework. There's the data annotation attributes... but then there's other frameworks like the fluent validation, for example, is a very popular one. And the only way that works in MVC is you have to sort of try and plug it in as an extra part and remove the old validation. And they didn't want to prioritize any particular style of doing validation.
— Andrew LockSo 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 ShowIf 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 NotesThe full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/navigating-the-aspnet-core-maze-from-middleware-to-minimal-apis-and-modern-c-sharp-with-andrew-lock/
Useful LinksRemember 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.
This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility.
Show NotesWhat do they go for? They go for one that's separated from the herd. And the idea behind cyber security nowadays should really actually be: put enough security controls in that they just go, "you know what? There's someone down the road that's got it all wide open. I'm just gonna go for them." And if you can just make yourself look as unappetizing and unappealing as possible, that's half the battle.
— Lianne PotterWelcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, Lianne Potter and Jeff Watkins of the Compromising Positions podcast joined us to talk a little bit about the practical side of cyber security. Both Lianne and Jeff are cyber security professionals and have a ton of experience in the industry. But I had them talk about cyber security from a developer's point of view: what can we do, what do we need to know, and how can we help our colleagues on a daily basis?
I think the other side's true as well.
I think companies in general need to encourage a more holistic, and shift-left, and integrated approach to security. I think we talk about that quite a bit about the idea of this should not be an "over the fence," because I guess there's two sides of the coin. One side saying, "oh look, there's the security team, they're the Department of Work prevention, they're the ones who are going to stop you." And there's the other side of that coin where nobody's bothered to ever include people from the security in their ways of working and daily practices
— Jeff WatkinsSo 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 ShowIf 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 NotesThe full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/breaking-the-compromise-unravelling-the-truths-of-cyber-security-with-lianne-potter-and-jeff-watkins/
Useful LinksRemember 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.
This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility.
Show NotesI want it to be like one of those books that you can pick up and you can, like, you don't have to have .NET experience. You might, you know, maybe, you know, Java or maybe, you know, Python or something like that. You should be able to pick this book up and get to a point where you can actually build real world applications with .NET that are secure, they're fast, they're well tested. They have localization built in. They're put into containers that you can throw into like a Kubernetes. I wanted to get to that point where it's like, you could build applications that I've built like, say, with UiPath
— Dustin MetzgarWelcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, Dustin Metzgar joined us to talk about his new book ".NET in Action Second Edition." This book takes the first edition, written back in 2018, which targetted .NET Core 2 and upgrades and expands it to both cover a lot more content and to focus on .NET 8.
Along the way, we also discussed the basics of identity and the common pitfalls that developers fall into when they work with one of the current identity standards.
So certificates are still involved too because it's because you need that certificate to sign the tokens. And I think what's interesting about certificates is like you have that, you know, this kind of asymmetric encryption where, you know, you have a private key and then you publish a public key that everybody can see to use to kind of decrypt your, what you sign, what you encrypt. And that's a kind of a feature of like these identity providers.
— Dustin MetzgarSo 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 ShowIf 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 NotesThe full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/net-unwrapped-from-workflow-engines-to-kubernetes-containers-a-developers-journey-with-dustin-metzgar/
Useful LinksRemember 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.
This episode of The Modern .NET Show is supported, in part, by Avalonia XPF, a binary-compatible cross-platform fork of WPF, enables WPF apps to run on new platforms with minimal effort and maximum compatibility.
NService BusThis episode of The Modern .NET Show is supported, in part, by NServiceBus, the ultimate tool to build robust and reliable systems that can handle failures gracefully, maintain high availability, and scale to meet growing demand.
Make sure you click the link in the show notes to learn more about NServiceBus.
Show NotesWhen you talk to the Temporal guys and look at the way that they've done some of their work is they have a... they have stuff that can run for years. So for instance, they'll kick off a workflow for one of their customers, kicks off a workflow when the customer's created, and that workflow is like managed by Temporal for as long as that customer is a customer. So it could be, you know, I don't know, occasionally sending out an email to, you know, "happy birthday" or something, or sending them promotions or whatever. So they see, they see workflows as like lifetime things — John Kattenhorn
Welcome to The Modern .NET Show! Formerly known as The .NET Core Podcast, we are the go-to podcast for all .NET developers worldwide and I am your host Jamie "GaProgMan" Taylor.
In this episode, John Kattenhorn joined us to talk about Temporal.io and their platform for building durable workflows which can operate for years at a time. John in the CEO of Applicita and wanted to talk about the ways that developers can build applications and workflows which can live in the cloud for a very long time.
And the great thing about Temporal is it manages all of those resources for you.
So if you imagined me and you trying to do that, we'd end up standing up, I don't know, a running service or something that was constantly polling the data, looking for eligible customers or something. You'd be burning some resources looking at that stuff, and that's not how they do that. So if you've got like a million customers, the Temporal system dehydrates everything that isn't relevant and only hydrates the workflows that have an action to perform
— John KattenhornSo 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 ShowIf 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 NotesThe full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-6/temporal-orchestrating-success-in-distributed-systems-with-security-and-simplicity-with-john-kattenhorn-with-john-kattenhorn/
Useful LinksRemember 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.
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.