Author - Wai Liu

Wai Liu

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.

Follow

Podcasts

Adventures in .NET

Level up your .NET skills with our weekly discussion of C# and other Microsoft technologies for developers.

228 Episodes

Episodes

Blangular (Blazor + Angular) - .NET 209

30:17

Dec 10, 2024

Blockchain on Azure  - NET 208

Today we take a look at how Microsoft is working with blockchain in Azure. Stefano Tempesta is a senior program...

1:04:53

Dec 03, 2024

Integration Testing - The Why and How - .NET 204

We talk to Martin Costello - a .NET developer with a QA background - about integration testing. We walk through the...

49:08

Nov 05, 2024

Creating Developer Courses with Taurius Litvinavicius - .NET 203

In this episode of Adventures in .NET, the panel discusses creating Udemy developer courses and .NET Core APIs with...

38:03

Oct 30, 2024

Modern Identity: From Internal Directories to Cross-Domain Identity Over the Public Internet with Bobby Johnson - .NET 202

Bobby Johnson introduces us to modern identity and the use of external providers to outsource your authentication...

49:45

Oct 22, 2024

.NET Microservices: From Code To Containers To Steeltoe with David Dieruf - .NET 200

In this episode of Adventures in .NET, guest David Dieruf joins the panel to discuss .NET microservices. They clear...

01:07:26

Oct 08, 2024

Moving .NET Solutions to Kubernetes with Andrew Lock - .NET 199

In this episode of Adventures in .NETm we get deep into .NET with Andrew Lock. Kubernetes, .NET Framework to .NET...

57:17

Oct 01, 2024

The S in KISS…..Embracing simplicity with Guilherme Ferreira - .NET 198

Today we look at using simplicity both in your code at work an in your life and why the two are intertwined. How to...

01:02:39

Sep 24, 2024

How Do You Grow? - .NET 197

Most developers we know are constantly learning new things and growing their skills. Jort Rodenburg has been a book...

40:52

Aug 20, 2024

NET Tools and Azure for .NET developers with Tim Heuer - .NET 196

Tools like Intellicode and LiveShare make developers more productive. Tim Heuer discusses with the panel about what...

55:36

Aug 06, 2024

Containers with Michael Jolley - .NET 195

Michael Jolley joins us to talk all things containers, live coding and being bald! Michael is a Developer Advocate...

47:01

Jul 23, 2024

A Tour Around the World of XAML with Dmitry Lyalin - .NET 190

We spend time with Dmitry discussing all the great things going on in the XAML space. The teams working on XAML...

58:21

Jun 12, 2024

Digging into .NET in AWS - .NET 188

All cloud service providers have a learning curve and AWS is no exception. Garo Yeriazarian has been working with AWS...

51:32

May 21, 2024

The History of .NET with Richard Campbell - .NET 187

In this episode of Adventures in .NET, Richard Campbell, podcast manager, conference creator and author, joins the...

01:05:35

May 07, 2024

The Magic of DAPR with Cecil Phillip - .NET 185

In this episode of Adventures in .NET we learn about DAPR and how it can make all of our lives easier. Maybe you like...

01:04:07

Apr 16, 2024

Creating Developer Courses with Taurius Litvinavicius - .NET 184

In this episode of Adventures in .NET, the panel discusses creating Udemy developer courses and .NET Core APIs with...

38:03

Apr 09, 2024

To CI/CD or not to CI/CD - .NET 180

In today's episode, we are joined by Muhammad Azeez to discuss CI/CD. It is a safe bet that most development teams...

43:03

Mar 12, 2024

You've been Blazored! - NET 178

Chris Sainty is a man on a mission. A mission to tell everyone how awesome Blazor is! Chris started working with...

1:05:06

Feb 20, 2024

All About Language Features - .NET 177

In today's episode Morgan Kenyon joins us to discuss why choosing the right programming language is important and...

42:16

Feb 13, 2024

Mastering SignalR - .NET 176

Have you ever used SignalR in your development? .NET might have used it for the code you wrote, but you didn't...

52:41

Feb 06, 2024

High Performance Databases with RavenDB with Oren Eini - NET 175

Guest, Oren Eini joins the panelists of Adventures in .NET to share on the common database performance issues that...

1:04:33

Jan 30, 2024

Quantum Computing basics with Q# - .NET 174

In today's episode, George Kosmidis joins the panel to discuss all about Superposition, Quantum entanglement and...

58:36

Jan 23, 2024

Pursuing Developer Certifications - .NET 172

In this week's podcast, we have a panel discussion about certifications. Developer certifications and the processes...

40:09

Jan 09, 2024

Wonders and Woe of Open Source Development - .NET 169

We have discussed open source packages and projects in previous episodes, but today we dig a little deeper. Manuel...

48:50

Dec 19, 2023

The Magic of DAPR with Cecil Phillip - .NET 160

In this episode of Adventures in .NET we learn about DAPR and how it can make all of our lives easier. Maybe you like...

1:04:12

Oct 10, 2023

Get Interactive with Jupyter Notebook - .NET 158

Ron Dagdag, lead software engineer at Spacee, joins us to get interactive with Jupyter Notebook. It is an open-source...

37:09

Sep 26, 2023

Integration Testing - The Why and How - .NET 157

We talk to Martin Costello - a .NET developer with a QA background - about integration testing. We walk through the...

49:15

Sep 19, 2023

Designing C# with Mads Torgersen - .NET 156

In this episode, we get the pleasure of picking the brain of the lead designer of C#, Mads Torgersen. Mads has been...

28:04

Sep 12, 2023

Staying on Top of Productivity - .NET 141

This is a republished episode of .NET 133. Our jobs are hectic and there are always multiple priorities we have to...

31:40

Apr 04, 2023

Tools To Get Rid Of Your Code Smells - .NET 137

Diyaz Yakubov comes on the show this week to talk about a few tools he's using to make his life easier at work. We...

39:38

Nov 08, 2022

Participating in the .NET Community - .NET 136

Jakub Chodounsky from the C# Digest newsletter joins us this week. We talk about why he started the mailing list and...

37:59

Oct 11, 2022

WPF Still Going Strong - .NET 134

"I thought WPF was dead" is usually one of the first things that Kevin Bost hears when discussing today's topic. WPF...

53:56

Sep 20, 2022

Staying on top of productivity - .NET 133

Our jobs are hectic and there are always multiple priorities we have to stay on top of. Mohammed Osman joins us on...

33:56

Aug 30, 2022

Blazor In Action - .NET 130 (Part 1)

Chris Sainty returns to the podcast to discuss the release of his book, Blazor in Action, and more Blazor goodness....

45:37

Aug 09, 2022

Finding Your Focus - .NET 128

This is a republished episode of .NET 017

42:40

Jul 26, 2022

Blazor Wasm Hosted or Standalone? - .NET 127

Today's episode has more Blazor goodness. The panelists discuss the differences that one little check box can make...

24:28

Jul 19, 2022

Blazor Environment Quirks - .NET 124

All frameworks have their quirks. As a framework matures some of the quirks go away but every framework seems to have...

26:14

Jun 28, 2022

Episodes

Lay off the repository pattern and other controversial opinions - .NET 123

Today we talk with Anthony Trad - he lays his case for why layering the repository pattern over Entity Framework is...

35:35

Jun 21, 2022

Learning By Doing - .NET 122

Believe it or not, software development is not an easy job. Each business domain is different, you are constantly...

36:55

Jun 14, 2022

Refactoring legacy code to use async / await - .NET 120

Dominic Ullmann comes on the show to tell us how async / await works and the benefits of using it rather than making...

41:41

May 31, 2022

Mastering SignalR - .NET 109

Have you ever used SignalR in your development? .NET might have used it for the code you wrote and you didn't realize...

56:23

Mar 01, 2022

What Is Remote - Containers - .NET 107

Have we piqued your curiosity? We were curious as well so Andy Watt agreed to join us on the podcast and fill us in...

44:59

Feb 15, 2022

Hacking the C# Language and Other Fun Things - .NET 106

We go very low-level with Adam Furmanek and discuss techniques for overriding fundamental rules of the C# language....

46:05

Feb 08, 2022

Blangular (Blazor + Angular) - .NET 105

Have you ever thought about mixing two SPA frameworks together? In today's episode we discuss doing just that, Blazor...

30:16

Feb 01, 2022

The Power in Microsoft Power Platform - .NET 104

In this episode of Adventures in .NET the panelists take a look at the Microsoft Power Platform. Power Platform...

40:48

Jan 25, 2022

The BIG 100

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...

32:10

Dec 21, 2021

Getting Certified in Azure - .NET 099

Azure trainer Brian Gorman joins us on the show and help us untangle all of the many Azure certification pathways. We...

56:06

Dec 14, 2021

Integration Testing - The Why and How - .NET 096

We talk to Martin Costello - a .NET developer with a QA background - about integration testing. We walk through the...

51:37

Nov 23, 2021

Let's Get Functional - .NET 095

Today's episode is all about functional programming. While C# isn't necessarily designed for functional programming...

1:01:38

Nov 16, 2021

Azure Cognitive Services Etc - .NET 094

Azure has a lot of services, some of which don't get much fanfare. Azure Cognitive Services might be a service that...

41:49

Nov 09, 2021

The future is in WebAssembly - .NET 093

Alexandre Malavasi walks us through Blazor WebAssembly and explains the journey and evolution of the framework to...

42:00

Nov 02, 2021

Blockchain on Azure - .NET 092

Today we take a look at how Microsoft is working with blockchain in Azure. Stefano Tempesta is a senior program...

1:08:08

Oct 26, 2021

Want To Pair Up? - .NET 089

In this episode of Adventures in .NET we have a special guest join us to talk about pair programming. When you hear...

32:11

Oct 05, 2021

Advocate For Yourself ( Part 2 ) - .NET 088

In today's episode we talk with G. Andrew Duthie about his career and how he went from developer to advocate. You can...

46:31

Sep 28, 2021

How Do You Grow? - .NET 086

Most developers we know are constantly learning new things and growing their skills. Jort Rodenburg has been a book...

44:20

Sep 14, 2021

Get Interactive with Jupyter Notebook - .NET 085

Ron Dagdag, lead software engineer at Spacee, joins us to get interactive with Jupyter Notebook. It is an open-source...

40:34

Sep 07, 2021

Is Your Code Secure?(Part 2) – .NET 084

Today we dig into security with Christos Matskas, program manager for Microsoft Identity. How secure is your...

33:40

Aug 31, 2021

Is Your Code Secure? – .NET 083

Today we dig into security with Christos Matskas, program manager for Microsoft Identity. How secure is your...

44:31

Aug 24, 2021

Open Telemetry and Domain-Driven Refactoring with .NET 6 - .NET 082

Jimmy Bogard takes us through the interesting possibilties of logging with OpenTelemetry. Then we discuss refactoring...

50:28

Aug 17, 2021

Extending VS Code and Yourself (Part 2) – .NET 081

The Bald Bearded Builder, Michael Jolley, returns to talk about VS Code extensions and learning while live streaming....

33:46

Aug 10, 2021

Extending VS Code and Yourself (Part 1) - .NET 080

The Bald Bearded Builder, Michael Jolley, returns to talk about VS Code extensions and learning while live streaming....

37:27

Aug 03, 2021

Global reach of .NET - .NET 079

How often do you stop to think about how easy it is for new developers to get started with .NET? Since .NET Core was...

46:46

Jul 27, 2021

Quantum Computing basics with Q# - .NET 078

In today's episode, George Kosmidis joins the panel to discuss all about Superposition, Quantum entanglement and...

1:02:17

Jul 20, 2021

Career Paths and Job Roles - .NET 077

The Adventures in .NET panel dives into the different roles within an IT or software organization and explain what...

46:24

Jul 13, 2021

All About Language Features - .NET 076

In today's episode Morgan Kenyon joins us to discuss why choosing the right programming language is important and...

44:22

Jul 06, 2021

Developing your career - .NET 075

Karim Jernite, co-founder of Advancio, joins us to discuss what today's job market is like for .NET developers. We...

43:16

Jun 29, 2021

The Power to Automate - .NET 074

Microsoft Power Automate is a service that helps you create automated workflows and streamline repetitive tasks. Our...

40:37

Jun 22, 2021

Community is Key - .NET 073

Andrea Angella has been involved in many communities over the course of his career and it has helped him become the...

44:51

Jun 15, 2021

Uno Platform isn't a Card Game - .NET 072

Martin Zikmund discusses the Uno Platform - from getting started to developing applications that work across multiple...

48:23

Jun 08, 2021

Digging into .NET in AWS - .NET 071

All cloud service providers have a learning curve and AWS is no exception. Garo Yeriazarian has been working with AWS...

54:40

Jun 01, 2021

You've been Blazored! - .NET 070

Chris Sainty is a man on a mission. A mission to tell everyone how awesome Blazor is! Chris started working with...

1:07:22

May 25, 2021

What is your Identity? - .NET 069

In today's episode Carl Layton joins us to discuss authentication in the Microsoft stack. The definition of Identity...

44:17

May 18, 2021

Wonders and Woe of Open Source Development - .NET 067

We have discussed open source packages and projects in previous episodes but today we dig a little deeper. Manuel...

51:29

May 04, 2021

 Interactive C# with VS Code Notebooks with Eric Potter - .NET 066

VS Code Notebooks provides a way to write quick interactive C# along with documentation to learn and train with.

37:49

Apr 27, 2021

.NET 064: To CI/CD or not to CI/CD

In today's episode we are joined by Muhammad Azeez to discuss CI/CD. It is a safe bet that most development teams...

45:20

Apr 13, 2021

.NET 063: Use cases for GraphQL in .NET

Baskar Rao Dandlamudi joins us to discuss using GraphQL in .NET. There are a lot of good use cases for using GraphQL...

38:23

Apr 06, 2021

.NET 062: Innocent Application Performance Monitoring with Innocent Bindura from Raygun

The panel discusses application performance monitoring, bug reporting, and real world experiences with Innocent...

47:57

Mar 30, 2021

.NET 060: Pursuing Developer Certifications

In this weeks podcast we have a panel discussion about certifications. Developer certifications and the processes to...

42:48

Mar 16, 2021

.NET 059: Blazor Keeps Getting Better with Daniel Roth

Blazor has come a long way since 2018. Blazor WebAssembly was released in 2020 and Blazor was integrated as a...

1:00:30

Mar 09, 2021

.NET 058: Up in the Cloud with Stu Eggerton

In today's episode we pepper Stu with lots of questions about Azure. We discuss the difference between on-premise and...

1:07:52

Mar 02, 2021

.NET 057: Open source, MediatR and Automapper with Jimmy Bogard

Jimmy Bogard joins us to talk about how he approaches open source development and consulting. MediatR and AutoMapper...

56:08

Feb 23, 2021

.NET 056: How does HotChocolate and StrawberryShake relate to .NET and GraphQL ?

Have you heard about GraphQL? HotChocolate makes it easy to integrate into .NET. Michael Staib walks us through...

57:54

Feb 16, 2021

.NET 053: Abusing C#, Calendars, Epochs and the .NET Functions Framework with Jon Skeet (Part 2)

Can you tell by the title that this is going to be another two part episode :) Jon has found some ingenious ways to...

51:27

Jan 26, 2021

.NET 052: Abusing C#, Calendars, Epochs and the .NET Functions Framework with Jon Skeet (Part 1)

Can you tell by the title that this is going to be another two part episode :) Jon has found some ingenious ways to...

52:33

Jan 19, 2021

.NET 050: The S in KISS…..Embracing simplicity with Guilherme Ferreira

Today we look at using simplicity both in your code at work an in your life and why the two are intertwined. How to...

1:05:22

Jan 05, 2021

.NET 049: A web for everyone with Aaron Gustafson

This week Aaron Gustafson joins us to talk about progress enhancement and how it can make everyone's lives easier. It...

1:00:17

Dec 22, 2020

.NET 048: Settle into Couchbase with Matthew Groves

Matthew Groves, a Senior Developer Advocate at Couchbase, let's us pick his brain about NoSQL. Curious about...

1:01:36

Dec 01, 2020

.NET 046: Moving .NET Solutions to Kubernetes with Andrew Lock

In this episode of Adventures in .NETm we get deep into .NET with Andrew Lock. Kubernetes, .NET Framework to .NET...

59:47

Nov 17, 2020

.NET 044: Creating Developer Courses with Taurius Litvinavicius

In this episode of Adventures in .NET, the panel discusses creating Udemy developer courses and .NET Core APIs with...

41:33

Oct 27, 2020

.NET 043: The Pros of Using Unity with Jason Weimann CONT'D

In this continuation of last week’s episode, Jason Weimann delves deeper into Unity. We discuss how to get into...

32:20

Oct 20, 2020

.NET 042: The Pros of Using Unity with Jason Weimann

In this episode of Adventures in .NET, Jason Weimann joins us to dig into Unity. We discuss how to get into Unity,...

44:08

Oct 13, 2020

.NET 041: .NET Microservices: From Code To Containers To Steeltoe with David Dieruf

In this episode of Adventures in .NET, guest David Dieruf joins the panel to discuss .NET microservices.

1:10:23

Oct 06, 2020

.NET 040: The Magic of DAPR with Cecil Phillip

In this episode of Adventures in .NET we learn about DAPR and how it can make all of our lives easier. Maybe you like...

1:07:37

Sep 29, 2020

.NET 039: Microsoft Orleans with Reuben Bond

In this episode of Adventures in .NET, guest Ruben Bond (no relation to James) discusses using MS Orleans for...

43:28

Sep 22, 2020

.NET 038: EFCore 5 and Blazor with Jeremy Likness

In this episode of Adventures in .NET, we dig deep into Microsoft’s progression from EF6 to EFCore 5 and how EFCore...

51:40

Sep 15, 2020

.NET 036: dotNET – Blazoring with C# with Jeff Fritz

In this episode of Adventures in .NET, guest, Jeff Fritz and panelists have lots of fun talking about all things .NET...

1:12:07

Sep 01, 2020

Episodes

.NET 034: What is Command Query Responsibility Segregation (CQRS) with Derek Comartin

In this episode of Adventures in .NET, guest Derek Comartin talks to us about Command Query Responsibility...

53:02

Aug 18, 2020

.NET 033: Working Remotely in the COVID 19 Pandemic

The panelists of Adventures in . NET talk about working remotely during Covid 19 pandemic. They address issues such...

49:34

Aug 04, 2020

.NET 032: Containers with Michael Jolley

Michael Jolley joins us to talk all things containers, live coding and being bald! Michael is a Developer Advocate...

47:53

Jul 21, 2020

.NET 030: CodeRushed with Mark Miller Pt2

In this episode of Adventures in .NET, Mark Miller takes us on an exciting adventure of the science of UI, live...

45:12

Jun 30, 2020

.NET 029: CodeRushed with Mark Miller Pt1

In this episode of Adventures in .NET, Mark Miller takes us on an exciting adventure of the science of UI, live...

42:48

Jun 23, 2020

.NET 028: Modern Identity: From Internal Directories to Cross-Domain Identity Over the Public Internet with Bobby Johnson

Bobby Johnson introduces us to modern identity and the use of external providers to outsource your authentication layer.

51:13

Jun 09, 2020

.NET 027: High performance databases with RavenDB with Oren Eini

Guest, Oren Eini joins the panelists of Adventures in .NET to share on the common database performance issues that...

1:06:02

May 26, 2020

.NET 026: A Tour Around the World of XAML with Dmitry Lyalin

We spend time with Dmitry discussing all the great things going on in the XAML space. The teams working on XAML...

59:58

May 12, 2020

.NET 025: C#, NodaTime, versioning, and diversity with Jon Skeet Pt2

Jon Skeet who has nearly 1.2M reputation on Stack Overflow discusses everything from where it all started, to some of...

42:06

Apr 28, 2020

 .NET 024: .NET Tools and Azure for .NET developers with Tim Heuer

Tools like Intellicode and LiveShare make developers more productive. Tim Heuer discusses with the panel about what...

57:27

Apr 14, 2020

.NET 023: C#, NodaTime, versioning, and diversity with Jon Skeet Pt1

Jon Skeet who has nearly 1.2M reputation on Stack Overflow discusses everything from where it all started, to some...

35:59

Mar 31, 2020

.NET 022: Using DotVVM for migrating WebForms applications to .NET Core with Tomas Herceg

Currently working on a .NET WebForms application and want to know how to move it to .NET Core without rewriting...

48:58

Mar 17, 2020

.NET 021: Unity Game Development with C# with Jonathan Thompson

Jonathan Thompson discusses with the group about developing desktop and mobile games using Unity. They cover the...

49:19

Mar 03, 2020

Episodes

.NET 020: Demos are cool, but it is time to talk about the real world! with Gabriel Baptista

Gabriel Baptista discusses with the panel about teaching development to students in Brazil. They also discuss...

48:56

Feb 18, 2020

.NET 019: The History of .NET with Richard Campbell

In this episode of Adventures in .NET, Richard Campbell, podcast manager, conference creator and author, joins the...

1:07:36

Feb 04, 2020

.NET 018:  Fun and Development with Unit Testing, GraphQL and Firebase Auth

In this episode of Adventures in .NET the panel shares some of the things they have been doing in their work. Caleb...

55:48

Jan 21, 2020

.NET 017: Finding Your Focus

In this episode of Adventures in .NET the panel discusses the tools and techniques they use to find their focus while...

42:44

Jan 07, 2020

.NET 016: Adventures in .NET Goes to Microsoft Ignite

In this episode of Adventures in .NET the panel discusses Shawn Clabough’s experience at Microsoft Ignite. The...

37:54

Dec 17, 2019

.NET 012: F# with Phillip Carter

In this episode of Adventures in .NET the panel interviews Phillip Carter. Phillip works on the .NET team. His...

50:27

Oct 29, 2019

.NET 010: What's new in C# 8.0 with Jason Bock

In this week’s episode of Adventures in .NET the panel is joined by Wai Liu, the new panelist, and Jason Bock, the...

1:13:00

Oct 15, 2019