In this episode, Caleb and Shawn discuss Playwright, an end-to-end testing framework for web apps. There are several established end-to-end testing frameworks including Selenium and Cypress but Playwright was new to us. Shawn found it while doing research for an app that he is currently working on so we decided to talk about what he has learned using Playwright so far. The framework supports multiple languages including TypeScript, JavaScript, Python and .NET. There is a lot of intelligence unde...
Aug 02, 2022•29 min
This is a republished episode of .NET 017 In this episode of Adventures in .NET the panel discusses the tools and techniques they use to find their focus while developing. They begin by discussing their personal obstacles when trying to focus on their work. Some of the panelists suffer from ADD, ADHD, and OCD, they explain the challenges these problems bring to their work. They also discuss the flow state good focus can bring and what can be accomplished during that time of deep work. The first ...
Jul 26, 2022•43 min
Today's episode has more Blazor goodness. The panelists discuss the differences that one little check box can make when creating a new Blazor Wasm project. Did you know that you can create a Blazor Wasm project with different setups? What are the differences? Does it change your workflow? Caleb has used both options and there are pros and cons to each one. Have you created a Blazor Wasm project? Do you prefer Hosted or Standalone? Let us know on Twitter at @dotnet_Podcast. Sponsors Top End Devs ...
Jul 19, 2022•24 min
Dennis Doomen returns to the podcast to talk with us about open source projects. We discuss some of the latest milestones for Fluent Assertions and some of the positives and negatives of managing a popular open source project. While companies and developers benefit from open source projects they don't always view the open source community the same way. Dennis shares his thoughts on the subject and Shawn and Caleb talk about how their companies use open source. We also talk about different ways t...
Jul 12, 2022•46 min
Class Diagrams are a very great way to document your system, inspect and understand the relationships between the classes and plan refactorings and disseminate knowledge inside the team. In this episode, Edson Moisinho discusses using PlantUML - an open-source tool that allows generating many types of UML diagrams from plain text. Sponsors Top End Devs Raygun | Click here to get started on your free 14-day trial Coaching | Top End Devs Links Generating Class Diagrams for .Net Core | by Edson Moi...
Jul 05, 2022•32 min
All frameworks have their quirks. As a framework matures some of the quirks go away but every framework seems to have one or two things that you have to work around. When writing demo or proof of concept code you may not run into these quirks. They only surface when you need to deploy your code in another environment. In this episode the panelists discuss a Blazor quirk when working with different environments. Blazor does not handle appsettings.json or ASPNETCORE_ENVIRONMENT like other parts of...
Jun 28, 2022•26 min
Today we talk with Anthony Trad - he lays his case for why layering the repository pattern over Entity Framework is sometimes not a best idea for your codebase. Depending on the context, you could well just be over engineering. After that, we tackle a couple of other patterns such as the specification pattern and the mediator pattern and talk about when it is and is not appropriate to use them. Sponsors Top End Devs Raygun | Click here to get started on your free 14-day trial Coaching | Top End ...
Jun 21, 2022•36 min
Believe it or not, software development is not an easy job. Each business domain is different, you are constantly learning something new and it takes work to stay on top of the right patterns and practices. How do you learn the right patterns and practices though? Maybe you read a lot of books, watch a lot of videos, or you go to meetups and conferences. The thing is those resources only take you so far and you will find that there are things you still don't know. Hamed Shirbandi created TaskoMa...
Jun 14, 2022•37 min
In today's episode we range far and wide over several topics. Our guest, Ferry To, works at a startup and we discuss some of the difficulties of working in a fast paced environment and how he and his team have worked through those difficulties. We also talk about Azure, automation, SignalR and Blazor. Ferry created a Wordle clone using Blazor and GitHub pages so we talk a bit about what Wordle is and the benefits of using Blazor instead of a JavaScript framework. Have you created a clone of a po...
Jun 07, 2022•30 min
Dominic Ullmann comes on the show to tell us how async / await works and the benefits of using it rather than making database calls synchronously. He talks about his recent experience converting a 500k+ line of code legacy application to use the async / await pattern. Too big to do by hand, he discusses using AsyncGenerator - an internal tool developed by the nHibernate project to auto-generate async versions of your methods. Sponsors Top End Devs Coaching | Top End Devs Links Transforming a .NE...
May 31, 2022•42 min
In this episode the panelists talk about source control. What is source control? How do you use it? Do you need it? As a developer today the majority of us are probably using Git in some form or fashion. Even though it feels like Git has been around forever that wasn't always the case. Shawn, Wai and Caleb remember the days before Git using SourceSafe or Subversion. Things have come a long way since the days of SourceSafe but that doesn't mean that Git is necessarily easy or intuitive. The panel...
May 17, 2022•41 min
In a lot of codebases, security isn't a priority until it is too late. Everyone makes mistakes but the question is do you learn from your mistakes or repeat them over and over. Christos Matskas returns to the podcast to discuss some common security mistakes and better ways to make security part of your development process. Our discussion includes .NET Framework web configs, secret storage, databases, identity and more. We even go over some of the mistakes we have made in our own code and how we ...
May 10, 2022•43 min
In a lot of codebases, security isn't a priority until it is too late. Everyone makes mistakes but the question is do you learn from your mistakes or repeat them over and over. Christos Matskas returns to the podcast to discuss some common security mistakes and better ways to make security part of your development process. Our discussion includes .NET Framework web configs, secret storage, databases, identity and more. We even go over some of the mistakes we have made in our own code and how we ...
May 03, 2022•37 min
In today's episode Carl Layton returns to the podcast to discuss Azure Functions. What are Azure Functions and how do they work? Functions are one of the serverless compute options from Azure. You can use Functions to build web APIs, respond to database changes, manage message queues, and more. Beyond that we look at the security, performance and scaling of Azure Functions. What is it like to write code, debug and deploy Functions? What costs are involved to use Azure Functions and is it worth i...
Apr 26, 2022•1 min
There is a lot that goes into interviewing for a job, both for the interviewer(s) and the interviewee. The panelists talk about their experiences over the years from both sides. What questions should you ask? What shouldn't you ask? Should coding be involved or not? How many interviews should you expect to have at one company? Do you cast a wide net when interviewing or do you focus on a couple of companies? We discuss all of these questions and more. What advice would you give someone interview...
Apr 19, 2022•42 min
Cecil Philips returns to the show to discuss the power of Minimal APIs and the differences to Controllers. They also discussed about using .NET with Stripe, and use cases for .NET Interactive. Sponsors Top End Devs Coaching | Top End Devs Picks Cecil- Assassin's Creed Valhalla for Xbox One, PS4, PC & More | Ubisoft (US) Shawn- Upload Season 2 Special Guest: Cecil Phillip.Sponsored By: Coaching | Top End Devs : Do you want to level up your career? or go freelance? or start a podcast or youtub...
Apr 11, 2022•40 min
In this episode we get the pleasure of picking the brain of the lead designer of C#, Mads Torgersen. Mads has been the lead designer for more than five years now and has worked on the language for over fifteen years. Our discussion covers multiple topics including the growth of C#, being backward compatible and how different languages incorporate ideas from each other. We also dig into the specifics of things like async/await, default interfaces and dynamics. On top of all that we get a peek at ...
Apr 05, 2022•36 min
In this episode we get the pleasure of picking the brain of the lead designer of C#, Mads Torgersen. Mads has been the lead designer for more than five years now and has worked on the language for over fifteen years. Our discussion covers multiple topics including the growth of C#, being backward compatible and how different languages incorporate ideas from each other. We also dig into the specifics of things like async/await, default interfaces and dynamics. On top of all that we get a peek at ...
Mar 29, 2022•31 min
Most developers we know find project management to be a necessary evil but without it a lot of us would be stumbling around in the dark. Shawn and Caleb look back over their careers to discuss different project management methodologies. Whether it is waterfall, agile, scrum, or none of these, projects are hard to manage. Both Shawn and Caleb have seen a lot of different ways that projects can be managed or mismanaged and they have differing opinions on what works best. Join us for this episode t...
Mar 15, 2022•33 min
Wai and Caleb sit down to discuss how authentication is evolving and how it works in Blazor. Identity server is now Duende server and with that comes the Backend for Frontend (BFF) pattern. From an authentication persepective this pattern can benefit SPA's because of the way it handles cookies and tokens. Caleb is in the process of integrating a .NET 6 Blazor app with Identity server 4 (IDS4) and wanted to use BFF but it isn't an option. We discuss alternatives and how those alternatives might b...
Mar 08, 2022•28 min
Have you ever used SignalR in your development? .NET might have used it for the code you wrote and you didn't realize it. Kevin Griffin has used SignalR for multiple projects over the years and joins us to discuss how you can use it in your development. SignalR uses a pub/sub model and is great for applications that need immediate feedback. Kevin used it for a city's emergency system to provide alerts to first responders within seconds of an emergency being recorded. Like most technologies Signa...
Mar 01, 2022•56 min
In today's episode Mohamad Lawand helps us try and grok gRPC. gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. That description doesn't really demystify what gRPC can do so Mohamad helps us fill in some of the gaps. We find out how gRPC works in .NET, how it works with HTTP, how it is different from REST and some good use cases for using it in your applications. gRPC is used by companies like Netflix and Square and is supported ...
Feb 22, 2022•35 min
Have we piqued your curiosity? We were curious as well so Andy Watt agreed to join us on the podcast and fill us in on the details. Remote - Containers is a VS Code extension that allows you to open any folder or repository inside a Docker container and take advantage of the full feature set of VS Code. You get all of the benefits of using Docker containers without ever having to leave Visual Studio Code. Isn't VS Code great! We discuss several use cases that Andy and his team use Remote - Conta...
Feb 15, 2022•45 min
We go very low-level with Adam Furmanek and discuss techniques for overriding fundamental rules of the C# language. We discuss why we should probably almost never do this, but we discuss some niche use cases where it is appropriate and the problems that can be solved. Sponsors Top End Devs Coaching | Top End Devs Links Overriding Sealed Methods in C# .NET Internals Cookbook – Random IT Utensils Picks Adam- MobaXterm free Xserver and tabbed SSH client for Windows Shawn- discovery+ | Stream 55,000...
Feb 08, 2022•39 min
Have you ever thought about mixing two SPA frameworks together? In today's episode we discuss doing just that, Blazor and Angular running in the same application. Both Angular and Blazor have ways to export code as web components that can be reused in other applications. In order to use Angular in Blazor you have to get familiar with IJSRuntime and how JavaScript interoperability works in Blazor. We look at how Blazor can provide input and get output from Angular as well as discuss how you can h...
Feb 01, 2022•30 min
In this episode of Adventures in .NET the panelists take a look at the Microsoft Power Platform. Power Platform consists of Power Apps, Power Automate, Power BI and Power Virtual Agents. Wai Liu has been working with Power Apps, Microsofts low code tooling, for the past year and has found it to be a valuable tool in the right circumstances. Caleb Wells has experience with Power BI which is Microsofts big data tooling and has found it to be well developed and straight forward to use. We also disc...
Jan 25, 2022•41 min
Unsure about how and why to use Source Generators in .NET? Stefan Schranz explains them in an easy-to-understand way. He compares them to T4 templates and explains that there’s a new and more powerful way to generate code. Learn about how to get started, the limitations, and their use cases in this episode. Sponsors Top End Devs Raygun | Click here to get started on your free 14-day trial Coaching | Top End Devs Links Getting into source generators in .Net Picks Shawn- Watch The Witcher | Netfli...
Jan 18, 2022•34 min
It has been more than a year since we had Mark Miller on the podcast, which is too long, but he is back with us today to talk about outside of the box thinking. The first thing you need to know when thinking outside the box is that there is no such thing as impossible. Maybe it isn't financially feasible or would take an inordinate amount of time but it is not impossible. Next throw out any preconceived notions of what is required, untouchable or unquestionable. With those two in place you can d...
Jan 11, 2022•45 min
It has been more than a year since we had Mark Miller on the podcast, which is too long, but he is back with us today to talk about outside of the box thinking. The first thing you need to know when thinking outside the box is that there is no such thing as impossible. Maybe it isn't financially feasible or would take an inordinate amount of time but it is not impossible. Next throw out any preconceived notions of what is required, untouchable or unquestionable. With those two in place you can d...
Jan 04, 2022•42 min
Adventures in .NET has come a long way in the last two years and has had a lot of great guests during that time. For our 100th episode the hosts, Shawn Clabough, Wai Ho Liu and Caleb Wells, pull up the list of episodes and take a trip down memory lane. We discuss some of our favorite topics, moments, picks and more. It has been a lot of fun and we are looking forward to the next two years and 100+ episodes. What is one of your favorite episodes? Let us know on Twitter at @dotnet_Podcast. Support...
Dec 21, 2021•32 min