
.NET Rocks!
2,017 episodes — Page 3 of 41

Balancing Coupling in Software Design with Vlad Khononov
How do you balance the coupling in your application? Carl and Richard talk to Vlad Khononov about his book on Balancing Coupling in Software Design. Vlad talks about three aspects of coupling - information, distance, and volatility. When these aspects are out of balance, such as a pair of services that are distant from each other but highly dependent and need lots of information, development becomes difficult. Where information is high, keeping the distance low makes life easier. This led to a great conversation about Conway's Law and the idea that sometimes changing the team organization can lead to better application development! Check out the book!

Blazor in .NET 9 with Dan Roth
What's coming for Blazor in .NET 9? Carl and Richard talk to Dan Roth about the upcoming version of Blazor. Dan discusses excellent performance improvements, better MAUI interactions, new SignalR features, and more! The conversation also dives into how Blazor gets made and the journey that submitting issues into GitHub goes through to become features in the Blazor framework. It takes a while, but you can be part of making Blazor great!

Building Cloud Native with Chris Klug
What does it mean to build cloud-native applications? Carl and Richard talk to Chris Klug about his experiences building applications designed to operate effectively in the cloud. Chris pushes back on the fixation around Kubernetes - you can build cloud-native apps without it! The conversation digs into the various options available to take advantage of the cloud's ability to scale while also tolerating its occasional short-duration outages and shifting availability. Chris also talks about .NET Aspire and its ability to help you build .NET cloud-native applications.

Mobile, Augmented Reality, and AI with Chris Sells
What has Chris Sells been up to? Carl and Richard chat with Chris Sells, the guest on episode 10 back in 2002, about how his career continues to evolve. Chris talks about working at Google on Flutter, the mobile dev stack - before departing for Meta to work on the tooling for augmented reality. The conversation digs into how AR appears to be the logical evolution of mobile but has been completely overwhelmed by artificial intelligence. Chris has left Meta to work on AI technologies and sees huge potential in making better applications than ever before!

Copilot Studio with Prashant Bhoyar
How do you make your own copilot? Carl and Richard talk to Prashant Bhoyar about his work with Copilot Studio and Azure AI Studio. Prashant describes how Copilot Studio lives in the Power Platform space while Azure AI Studio is more related to Visual Studio, in that it is a tool for developers of AI technology. Anything built in Azure AI Studio can be surfaced in Copilot Studio - another kind of fusion development! Lots of conversation about what works well and what is difficult with these tools, and how to avoid some critical mistakes!

Making Node and Deno with Ryan Dahl
Ready for a chat with the creator of Node? Carl and Richard talk to Ryan Dahl about his work creating NodeJS in 2009 and how he moved on after a few years, leading to the creation of Deno, an opinionated approach to building web applications. Ryan talks about the challenges of simplifying web development by combining all the important things into a single set of tools—saving you the effort of assembling those things yourself. The conversation also digs into how web development has evolved and one of Ryan's current efforts - convincing Oracle to surrender the JavaScript trademark to the world!

Microsoft Playwright Testing with Debbie O'Brien
What's the latest with Playwright? Carl and Richard talk to Debbie O'Brien about her ongoing work with Playwright, Microsoft's open-source testing framework for web applications. While it is focused on web applications, you can write your tests in various languages, including .NET! Debbie talks about the new Playwright Testing service, which operates in Azure, so you don't have to stand up with your testing infrastructure - pay for what you use. The conversation ranges over the various features and challenges in testing that Playwright addresses. Now get out there and write some tests - your applications will be better for it!

How Simple is as Simple as Possible with Mark Rendle
How simple can you make software development? Carl and Richard talk to Mark Rendle about his focus on simplicity in building software - as simple as possible. Mark talks about the tendency of developers, sometimes through no fault of their own, to use what is new and cool in development, regardless of how practical or necessary it actually is. The conversation digs into the ongoing battle around cloud-native development using technologies like Kubernetes. You can be cloud native with more straightforward approaches! The same applies to web frameworks - there are lots of choices. Build as little as necessary!

Making Design Pay with Billy Hollis
How does good design pay off in software? Carl and Richard talk to Billy Hollis about his work designing software, both from a user interaction perspective and application architecture. Billy talks about saving time and money by working hard on design to get a clearer picture of what stakeholders want—because code rework is always more expensive! The conversation also digs into the institutional knowledge walking out of many companies through employees retiring—and how much work that is going to generate over the next few years to modernize!

Remote Mob Programming with Ulrika Malmgren
Can you do mob programming remotely? Carl and Richard talk to Ulrika Malmgren about mob, or team programming - where three to five developers work together on the same problem, rotating keyboard control and collaborating to write the best possible code. Modern tools like Teams and Zoom make it easy to do the same programming style with everyone remotely! Ulrika talks about how team programming becomes the standard approach to development - as opposed to solo programming, where everyone works separately and then has to spend time sharing what they've done! Good team programming results in higher-quality code in less time - and more happiness!

Machine Learning on Geospatial Data with Malte Loller-Anderson & Mathilde Ørstavik
What can machine learning do for geospatial data? Carl and Richard talk to Malte Loller-Anderson and Mathilde Ørstavik about their work at Norkart, using aerial imagery to build detailed maps around Norway. Mathilde dives into the critical role of machine learning - identifying buildings in images. Usually done by hand with each new image, Norkart has a machine learning model that automates the process trained on previous vector maps of buildings. But there are many things that look like buildings in Norway, including patches of snow, mountains, and even shapes under water. Malte also discusses how Norkart has decided to train in-house with nVidia L40 processors rather than in the cloud - the hardware is used 24 hours a day since some models can take weeks to train! There are many interesting ideas about geospatial data and machine learning from people who have been doing it for years.

Domain Driven Design and Event Sourcing with Anita Kvamme
What do Domain-Driven Design and event sourcing have to do with each other? Everything! Carl and Richard chat with Anita Kvamme about her experiences applying DDD, and specifically event storming, to developing applications using event sourcing. Anita talks about building applications that have many sources of events—from users and elsewhere—and needing to manage that complexity without slowing down development. Event sourcing also means keeping a source of the truth - all events leading up to a practical business benefit. And that can be hugely helpful in analytics as well!

Low-Code Solutions for .NET Developers with Serge Sarafudinov
How can a low-code solution help you deliver a .NET app? Carl and Richard talk with Serge Sarafudinov about his Xomega project. Serge describes how Xomega uses models and templates to generate .NET code for applications for Blazor clients, WPF, and even ASP.NET Forms and TypeScript! The conversation also digs into rehabilitating existing .NET applications where new features can be added with Xomega, and then gradually convert the existing application into the model approach - and then you can change out the client if you like! There are free and paid versions of Xomega; take it out for a spin and see if you can't deliver solutions faster!

Azure API Management's GenAI Gateway with Andrei Kamenev
How do you manage APIs to GenAI, and how can GenAI help with API management? Carl and Richard chat with Andrei Kamenev about the latest features coming to Azure API Management. On the one hand, there are Copilot tools to help craft and understand APIM policies, which can get very complex. Then, there is the provisioning of access to GenAI-related APIs like the Azure OpenAI service, which utilize tokens - and those tokens mean money, so they need to be controlled. The GenAI Gateway provides the ability to rate-limit token issuing and all the other capabilities you expect from APIM. Prompt caching is in preview and can decrease the cost of repeated use of the same prompts. Many of the features are new, and more are coming!

Getting into Containers using Aspire with Jiachen Jiang
How can .NET Aspire help you get into containers? Carl and Richard talk with Jiachen Jiang about her experiences working with .NET Aspire. Jiachen talks about the power of .NET Aspire to help lead developers to utilize cloud native architecture efficiently. A key part of the equation is containers, and Jiachen talks about how relatively rare containerized .NET apps are - because in many cases, it doesn't add anything but complexity. But as .NET applications need to scale in the cloud, containers become important, and .NET Aspire helps you to take advantage of containers while adding all the cloud-native features you'll value, like great telemetry, orchestration, and discovery!

Building Domain-Specific Copilots with Vishwas Lele
What if you want to build your own copilot? Carl and Richard talk to Vishwas Lele about his new startup, which is focused on using Azure OpenAI tools to help automate the government RFP writing process. Vishwas discusses the complexities of proposal writing, how specific and complex rules exist for each part of the proposal, and the challenge of getting the software to do an excellent job on the draft. The conversation digs into the domain expertise needed for the technologies and the proposal writing itself - like all good software, it requires domain experts. But when done right, this is hugely valuable software!

Basic UX for Developers with Hilary Stohs-Krause
What are the basics of building a decent user interface on a web page? Carl and Richard talk to Hilary Stohs-Krause about her experience helping folks build websites - you don't have to be a designer to make something useable! Hilary talks about steering clear of more complex UX libraries unless you know the site owner prefers them. Keeping things simple and consistent is best! The conversation also digs into accessibility and how accessibility needs are a great guide to a decent basic design - making a site that can help everyone understand the pages you've built a great path to a very useable website.

WPF Update with Joseph Finney
What's happening with WPF? Carl and Richard talk to Joseph Finney about the news from Build about WPF - it's back, baby! But did it ever go away? Joe talks about how WPF was made open source in 2018 and how minimal development was done there - enough so that the community started building frameworks to support it, including WPFUI and ModernWPF. But at Build, Microsoft announced a new focus on WPF, including creating support for a Windows 11 theme - with a line of code, you can make your WPF app look like a Windows 11 app. Where does this leave WinApp SDK? What about migrations? There's lots to talk about!

GPT-4o with Veronika Kolesnikova
Multi-modal is here and ready to use! Carl and Richard talk to Veronika Kolesnikova about what she has seen in the latest OpenAI model. Multi-modal refers to GPT-4o's ability to work with text, audio, images, and more and respond in kind! Veronika talks about tackling interesting visual problems with GPT-4o - like summarizing graphs or creating new data visualizations. The conversation digs into some announcements around Build, including the new security features in AI Studio and Windows Recall in the new Copilot+ PC devices. Things are moving quickly!

CosmosDB and AI with Mark Brown
CosmosDB makes ChatGPT fast! While at Build in Seattle, Carl and Richard chatted with Mark Brown about CosmosDB's role in AI. Mark talks about how ChatGPT switched over to CosmosDB early on - when the number of users started to climb, database performance became essential, and CosmosDB was there. Today, many AI-centric CosmosDB features exist, like vector storage, indexing, and search! The conversation also digs into the impact of the large language model on development - things are different now!

MAUI and Blazor with Beth Massi
What's up with MAUI and Blazor? Carl and Richard chat with Beth Massi about the latest MAUI, including the new webview available on GitHub that lets you embed an existing web page into your MAUI app. Beth talks about making apps the way you want to - with a mobile, web, or desktop focus - or making them all! Mixing Blazor and MAUI means you can steer clear of XAML if you prefer. There's no right way to build your clients, and MAUI gives you many choices!

GitHub Evolving with Damian Brady
GitHub is about so much more than source control! While at Build, Carl and Richard chatted with Damian Brady about all the great things coming out of GitHub over the past few years, including Copilot and now Copilot Workspaces. The conversation digs into how large language models are changing how you write code and some idea of what things could be like in the future. Damian also digs into the more enterprise-centric features like Software Bill of Materials and effective sponsorship of projects. GitHub is the locus of development for many companies, and the tooling continues to expand to make things easier!

Building C# with Mads Torgerson and Dustin Campbell
Chatting with the leaders of C#! While at Build in Seattle, Carl and Richard sat down with Mads Torgersen and Dustin Campbell to discuss how C# continues evolving into version 13! With new versions coming every year, Mads talks about how complex features can be developed over several versions of the language - while also being able to get feedback from regular developers. So, what comes next for C#? Have a listen!

Episode 1900 with Scott Hanselman!
It's episode 1900! While at Build, Carl and Richard recorded a milestone episode with Scott Hanselman. Scott talks about his goals in the later stages of his career, the ideas and origins of all the podcasts, and what is important to him today. In the second half, Carl pulls out a quiz show for Scott with quotes from shows going back 20 years! Lots of great stories of different conferences, podcasts, and other events - and the things learned along the way. Thanks for listening!

The Nomadic AI Developer with Aaron Erickson
The Nomadic Developer returns - and is working on AI technology! After fifteen years, Aaron Erickson returns to .NET Rocks to talk to Carl and Richard about his nomadic adventures. Aaron talks about the twists and turns of moving from consultant at Thoughtworks to leadership in a tech company, leading a startup, and now being part of the team at nVidia exploring the potential of machine learning and large language models. While the journey is inspiring, Aaron's passion for his latest work sparks a robust conversation about automation and the potential of what is being built today!

On Being a Senior Software Developer with Shawn Wildermuth
What do you want the last chapter of your software development career to look like? Carl and Richard talk to Shawn Wildermuth about life as a 55-year-old software developer. Shawn talks about being an independent software development consultant for the past twenty years and considering what the next ten should look like. The conversation digs into what's fun and valuable and what you want to achieve before retirement. One thing is for sure - there is no one right way to have a career - but making a plan is important!

Building Cloud Native in Azure with Scott Hunter
How do you build cloud-native applications in Azure? Carl and Richard talk to Scott Hunter about how Microsoft tooling is evolving to develop cloud-native applications - starting with the vital idea that all cloud-native apps are multiple applications! Scott talks about how most development tools focus on individual applications and how dealing with multiple applications, including cloud apps, can be challenging. Cloud apps need telemetry, resiliency, and service discovery - which brings the conversation to tooling like .NET Aspire, designed to lead developers down the path to cloud-native applications with all these features and more. And this is only V1 - Scott discusses many more features that could make it easier and easier to make great cloud-native applications!

Antifragility in Software with Barry O'Reilly
Six years later, how has antifragility thinking changed? Carl and Richard talk to Barry O'Reilly about his ongoing work on building highly reliable software. Since Barry's last appearance six years ago, he's returned to school and is writing a PhD thesis on antifragility. Studying complexity theory, Barry approaches software architecture with a minimalist view - you only add architecture when you see the application needs it. This leads to ideas around residuality - and a progressive way to build software that yields amazing results!

Visually Debugging EF Queries with Giorgi Dalakishvili
How do you debug your EF queries? Carl and Richard talk to Giorgi Dalakishvili about his open-source Visual Studio extension, EFCore Visualizer. Giorgi talks about bringing together the EF rendering of the query with the database query plan to ensure you retrieve data from your database as efficiently as possible. The conversation ranges over a number of tools Giorgi has built over the years, including EF Framework Exceptions, DuckDB.NET, and more!

Programming with Speech and AI with Karl Geitz
Can speech become part of your development workflow? Carl and Richard talk to Karl Geitz about his use of NaturallySpeaking to create software in Visual Studio. Karl talks about using voice to write better, longer comments in his code and also helps to navigate the features of Visual Studio itself. The effort started when dealing with Repetitive Stress Injury but has now evolved into his most productive approach to coding - one hand on the mouse, the other on function keys, and voice instead of typing!

Domain Control Plane and Azure with Anthony Eden
How do you manage your DNS? Carl and Richard talk to Anthony Eden of DNSimple about his latest product, the Domain Control Plane. Anthony talks about how everyone has DNS—and usually in more than one place. Getting a common view of all your DNS entries, no matter where they are, is valuable, but being able to automate changes is even more important, especially as things scale up! The conversation ranges over development, cloud, scaling systems, and some old-fashioned geekery!

GitHub Copilot Update with Michelle Duke
GitHub Copilot has been out for a few years now - how is it going? Carl and Richard talk to Michelle Duke about what's been happening with GitHub Copilot. Michelle discusses the new features in GitHub Copilot, including Chat, which gives you more of a ChatGPT-like interface while still being focused strictly on code, including your code! Then, the conversation digs into the broader ideas around large language models and the perception of artificial intelligence affecting the entire world. A lot is going on!

API Observability with Anthony Alaribe
Do you understand how your APIs are being used? Carl and Richard talk to Anthony Alaribe about his experiences dealing with poorly documented APIs that need updates - but no breaking changes! Anthony tells a story about missing a use case for an API that cost a lot of money, which started him down the path to making APItoolkit.io. The toolkit allows you to see how your API is being used and any exceptions that are happening. It will also generate tests to validate that your new version won't cause problems! Check it out!

Aspect-Oriented Programming in 2024 with Gael Fraiteur
How has Aspect-Oriented Programming changed? Carl and Richard talk to Gael Fraiteur of PostSharp fame about his new tool, Metalama. Gael talks about being able to move out of IL and into Roslyn Analyzers to help you get rid of boilerplate code and focus more on the value your application brings. The conversation dives into how AOP can help build higher quality code, to the point of being a testing platform for code compliance for your organization - used right, metalama can make your code reviews smoother! There's a lot of power inside metaprogramming; it's worth trying to understand what Metalama can do for you.

Azure in 2024 with Magnus Mårtensson
It's 2024, how is Azure doing? Carl and Richard chatted with Magnus Mårtensson about his work with customers migrating and operating in Azure. Magnus talks about the waste many organizations have in cloud resources, often by provisioning services with too many resources or failing to shut down things they no longer need. The conversation digs into today's excellent tooling, including Azure Migrate, Advisor, and Monitor. All tools can help you right-size and control your cloud spend. And AI is coming to make those tools even better!

Modular Monoliths in .NET with Steve Smith
Modular Monoliths strike the middle ground between monoliths and microservices! Carl and Richard talk to Steve Smith about his work striking a balance between the simplicity of a monolithic set of services and the complexity of breaking everything into microservices. Steve discusses the performance and simplicity advantages of monoliths and only breaking out services with specific needs into separate services. .NET has excellent tooling to help you evaluate, test, and manage your modular monoliths!

The Observability Tipping Point with Steve Gordon and Martin Thwaites
Has observability hit a tipping point? Carl and Richard chat with Steve Gordon and Martin Thwaites about the various products and technologies today to make observability a vital part of a successful application. Steve talks about telemetry support hitting a tipping point where most vendors have products working with OpenTelemetry. Martin digs into the many places you can send telemetry to increase your understanding of how your applications work on-premises and in the cloud. It's an exciting time to build cloud-native - are you on board?

CSLA 8 with Rocky Lhotka
Another version of CSLA? Yes! Carl and Richard talk to Rocky Lhotka about his work keeping CSLA up-to-date with the latest .NET features. And now, with .NET 8, CSLA 8 has strong support for Blazor! Rocky talks about getting deep into Blazor for CSLA, the power of rendering the client or server side, and whether or not mixing the two is smart. Lots of great thoughts from one of the original .NET educators!

Improving Your CSS Game with Martine Dowden
How do you improve your CSS skills? Carl and Richard talk to Martine Dowden about her new book, Tiny CSS Projects. The book is built around twelve progressively more complex CSS tasks - you can follow along to learn in general or pick a particular chapter for a specific skill you want to exercise. The conversation digs into thinking about the architecture of styling beyond the particular page and how those styles can be updated version-to-version without frustration. You can improve your CSS game!

gRPC Update with Irina Scurtu
What's the latest with gRPC? Carl and Richard chat with Irina Scurtu about her latest work with gRPC. Irina talks about the improved tooling with gRPC, including tools like Postman to help you see what's happening in a gRPC interaction, even decoding the binary data! The conversation also digs into the complexity of metadata with headers and trailers and the challenges of supporting multiple platforms and multiple type systems - but it works if you take the time to learn the details. And the results are fast and flexible communications!

Hangfire with Sergey Odinokov
How do you handle background tasks? Carl and Richard talk to Sergey Odinokov about Hangfire, his open source project for background job processing in .NET. Sergey talks about his experiences building applications that needed background processing and hoping to find a library similar to other platforms - and eventually creating Hangfire. The conversation dives into the array of different processing options, state management, and the challenging problem of building and maintaining an open-source project over a decade!

Uno Update with Nick Randolph
What can Uno do for you? Carl and Richard talk to Nick Randolph about the latest from the Uno platform. Nick talks about how Uno has continued to evolve into a broad and effective cross-platform client tool while also adding integrations for design and continuous integration. The conversation digs into the challenge of getting from design to development and how the Figma Plugin makes it easier to take designer Figma docs and make them into actual code in Uno. There are also wizards for helping you add Uno UX testing into your CI/CD pipeline and much more. It's an open-source project, so you can take Uno out for a spin today!

.NET Aspire with David Fowler
Coming out of .NET Conf, one of the big announcements was .NET Aspire. Carl and Richard talk to David Fowler about his work creating the tools to make building cloud-native .NET applications easier. David discusses the challenge of not re-creating the past - tools like Azure Service Fabric. However, the complexity of containerized applications is real. Aspire can make it simpler to take advantage of being in a container, on the cloud, with all the telemetry, observability, scalability, and flexibility that being cloud-native can bring you!

.NET 8 Migration with Jimmy Bogard
How do you migrate to .NET 8? Carl and Richard talk to Jimmy Bogard about his experiences helping teams migrate from .NET Framework 4.8 to more modern versions of .NET. Jimmy talks about the team wanting to be able to use ASP.NET Core in their applications as the incentive to make the migration in the first place. The conversation digs into landing on .NET 6 to make migration easier but then wanting to move quickly to later versions to take advantage of the latest features. And no dead-drop migrations - using a reverse proxy to operate the two applications side-by-side so that over months, everything moves across while remaining functional - a great story of migration!

Energy in 2023 Geek Out
Let's start 2024 with a conversation about energy! Richard chats with Carl about ongoing developments in power generation around the world. Wind technology is maturing but also hitting size limits. Solar is the fastest-growing power generation source on the planet now - and there are recycling options! There are exciting new developments in power storage, some applied hydrogen power projects, and new concepts in geothermal and small modular nuclear. Richard wraps up with thoughts on COP 28 and our progress towards safer, stable power for everyone. Happy New Year!

Space in 2023 Geek Out
Time for the annual Space Geek Out! Richard summarizes many of the important space stories of the past year, including SpaceX's record number of Falcon 9 flights and the first two flights of Starship. The conversation also explores the state of the International Space Station, Dream Chaser, Artemis, and other moon missions, including India's successful landing! Richard then digs into the Crisis in Cosmology - how the James Webb Space Telescope has changed our understanding of the universe, and how it is disrupting the current models of the universe. But new science is good - the more you know!

.NET Performance with Daniel Marbach
How do you improve the performance of your .NET applications? Carl and Richard talk to Daniel Marbach about his work building high-performance .NET applications and the process he goes through to get them to perform at the level his customers need. Daniel talks about profiling and benchmarking - understanding where your time passes in your code and how to measure it to know if you're making it better. The good news is that great tools are out there to help you; check the show notes for links to them!

Agile Application Security with Laura Bell Main
It's almost 2024, do we still need to talk about securing our apps? Carl and Richard talk to Laura Bell Main about her ongoing efforts to get everyone involved in creating and operating software to be part of making that software secure. Laura talks about committing one hour of each sprint to security and how, over time, those small efforts can build up to excellent secure guardrails that make our software more resistant to exploitation. Don't push security issues off to someone else - we can all help!

Polly V8 with Joel Hulen and Martin Costello
A new version of Polly is out - and it's a special one! Carl and Richard talk to Joel Hulen and Martin Costello about the release of Polly V8. Joel tells the story of Microsoft reaching out about Polly - because it is heavily utilized inside of Azure and at cloud scale, it needed further optimization. The results are a very high-performance library focused on resilience as a whole - with lots of smart defaults so that you can write even less code to have even more resilient applications!

Applied Large Language Models with Vishwas Lele
How do we put large language models to work? Carl and Richard talk to Vishwas Lele about his work using LLMs with his customers. Vishwas talks about focusing on specific data sets for building LLMs and how size matters - things are simple when the source data is small, but as it grows, you need more complex tools to be able to allow the LLM to perform. Lots of cautionary tales and ideas on how to get great results from these new automation tools!