
Wai Liu
Co-Host of Adventures in .NET
Wai Liu lives in Canberra, Australia and works for the Australian Government. Although he's most familiar with .NET, he loves to dabble with different tech and different stacks.
He's passionate about empowering developers to be the best they can be. That's why being on Adventures in .NET has been awesome for him - plus he loves getting to interview a steady stream of super smart people at the top of their field. Wai's also an organiser for the local JavaScript meetup as well.
Currently, his interest lies with everything in the Azure and Office 365 space and his current projects have him working with Power Platform and Dynamics 365.
He mainly spents his spare time with his wife and two young daughters. However, he's always keen to have a side project going whenever he have the time.
Wai Liu has hosted 86 Episodes.
-
Where is your code? - .NET 119
May 17th, 2022 | 40 mins 55 secs
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 panelists take a closer look at some of the Git commands like merge, stash, squash and rebase. Do you use source control? If so has it helped make your life easier? Let us know on Twitter at @dotnet_Podcast.
-
Learning From Your Mistakes (PART 2) - .NET 118
May 10th, 2022 | 43 mins 19 secs
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 learned from those mistakes. Is there a mistake you made that you will never forget? Let us know on Twitter at @dotnet_Podcast.
-
How do you interview? - .NET 115
April 19th, 2022 | 42 mins 14 secs
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 interviewing for a position? Let us know on Twitter at @dotnet_Podcast.
-
Designing C# with Mads Torgersen (Part 2) - .NET 113
April 5th, 2022 | 36 mins
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 the future of C# and what we might see in the next couple of versions. What would you ask Mads about C# if you had the chance? Let us know on Twitter at @dotnet_Podcast.
-
Designing C# with Mads Torgersen - .NET 112
March 29th, 2022 | 30 mins 31 secs
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 the future of C# and what we might see in the next couple of versions. What would you ask Mads about C# if you had the chance? Let us know on Twitter at @dotnet_Podcast.
-
What is a BFF? - .NET 110
March 8th, 2022 | 27 mins 42 secs
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 be viewed from the business and developer perspectives. Join us and find out where Caleb ended up on his authentication journey. Have you had to handle authentication in a Blazor app? Let us know on Twitter at @dotnet_Podcast.
-
Mastering SignalR - .NET 109
March 1st, 2022 | 56 mins 23 secs
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 SignalR can be problematic if used incorrectly. We get to hear a couple of stories where Kevin had to work to fix troublesome SignalR implementations. Have you developed applications that could benefit from using SignalR? Let us know on Twitter at @dotnet_Podcast.
-
Grokking gRPC - .NET 108
February 22nd, 2022 | 34 mins 39 secs
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 by the Cloud Native Computing Foundation. Have you used gRPC in your applications? Let us know on Twitter at @dotnet_Podcast.
-
What Is Remote - Containers - .NET 107
February 15th, 2022 | 44 mins 59 secs
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 - Containers for as well as possible limitations and things to keep in mind. What is your favorite VS Code extension? Let us know on Twitter at @dotnet_Podcast.
-
Hacking the C# Language and Other Fun Things - .NET 106
February 8th, 2022 | 46 mins 5 secs
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.
-
Blangular (Blazor + Angular) - .NET 105
February 1st, 2022 | 30 mins 16 secs
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 handle CSS between the two. We also go over some of the use cases for using Angular web components inside a Blazor application. Have you worked with Angular Elements or Blazor web components? Let us know on Twitter at @dotnet_Podcast.
-
The Power in Microsoft Power Platform - .NET 104
January 25th, 2022 | 40 mins 48 secs
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 discuss licensing, cost, target audience and more. Have you used the Microsoft Power Platform? Let us know on Twitter at @dotnet_Podcast.