Dan Wahlin


Azure Communications Voice Calling QuickStart

In this post, I’m going to walk you through the process of getting started with adding voice calling into your apps using Azure Communication Services (ACS). If you haven’t read my previous post or watched my video on “What is Azure Communication Services?” I’d recommend doing that first so that you understand what ACS is all about and the key features it offers. In a nutshell, ACS allows you to add voice, video, chat, SMS, and other telephony features into your applications. It can be used in web apps, desktop apps, or mobile apps. The ACS docs have a Calling […]


ACS Featured Image - Using Audio and Video

Add Real-Time Video, Voice, and Chat to Your App with Azure Communication Services

How many times have you tried to contact a company’s customer service department only to waste time looking up the phone number or trying to find the *right* phone number to ask a simple question? Once you finally get through to someone you typically end up switching between the phone app and the company’s website or app to pass along required information to the customer service representative. It can be frustrating. Wouldn’t it be easier to open the company’s website or app and make the call directly from the screen that has all of your information already available? For example, […]


It’s Time for a Change

You’ve probably heard the old adage, “Change is good” at some point in your life. Although change can be hard, I’ve found that for me personally, it’s the only way to grow and move forward in life. It was a big (and hard) change starting my own company 20 years ago but I wouldn’t trade the experience I’ve gained for anything. To set the stage for this post, let me share a little about what I’ve been doing, walk you through what I’ve been thinking, and then discuss the next big change I’ve decided to make (jump to the bottom […]


Video: Building and Running Custom ASP.NET Core Containers

I recently had the opportunity to do a webinar for Pluralsight where I talked about how you can use Docker to build and run custom ASP.NET Core containers. The containers can be run locally on your machine, on a company server within an on-prem data center, or even in the cloud. Here are the specific topics that I covered in this session: Docker Concept Review Docker and ASP.NET Core Creating a Custom Dockerfile Multi-Stage Dockerfiles Running ASP.NET Core Containers in Azure You can view the recording from the webinar below. The slides from the presentation can be found here. Building […]


5 Actions You Can Take To Reduce Anxiety/Stress and Increase Overall Wellbeing

Have you struggled much with anxiety or worry in your life? They can be easy to avoid when things are going good, but how do you handle them in more stressful situations? What can you do to help minimize anxiety, worry, and stress in your job, family, and other areas of life? As someone who has struggled with anxiety and worry from time to time over the years I asked myself the same question and decided that I needed to take action. This post details a few strategies and actions that have really helped me in a big, big way. […]


New Pluralsight Course – Kubernetes for Developers: Deploying Your Code

I’m excited to announce the release of my next course on Pluralsight titled Kubernetes for Developers: Deploying Your Code! This course is the next in the Kubernetes for Developers learning path and focuses on different techniques that can be used to deploy your containerized applications to Kubernetes. It follows the Kubernetes for Developers: Core Concepts course. Here’s the recommended order for taking my courses that cover containers and Kubernetes: Docker for Web Developers Kubernetes for Developers: Core Concepts Kubernetes for Developers: Deploying Your Code Here are a few questions this course will help you answer: What is a Kubernetes Deployment […]


Using the Kubernetes JavaScript Client Library

I’ve been working with Kubernetes a lot and focusing on various deployment techniques that can be used (such as Blue-Green Deployments) for a Pluralsight course I’m creating called Kubernetes for Developers: Deploying Your Code. If you’re new to Blue-Green Deployments, here’s a quick overview: While I was working on the course, Dr. Christian Geuer-Pollmann and I had chatted on Twitter about a Blue-Green dashboard he wrote. He did a great job on it! I’ve been wanting to experiment with the JavaScript Kubernetes Client library so I decided to see what could be done to create a simple Blue-Green Deployment “dashboard” […]


Enabling Metrics Server for Kubernetes on Docker Desktop

Lately we’ve been working on a new Docker and Kubernetes instructor-led training class that we’ll be running onsite at several companies this year. The class uses Docker Desktop and the Kubernetes features it provides for several of the chapters. We needed to get the local cluster students will use to match as closely as possible to a cloud-based Kubernetes cluster that would be found on Azure, AWS, or GCP. The class covers using AKS as well, but most of the lab exercises rely on Kubernetes in Docker Desktop so running key features like the dashboard and Metrics API was important. […]


New Pluralsight Course: Creating Object-oriented TypeScript Code

I’m excited to announce the release of another course on Pluralsight titled Creating Object-oriented TypeScript Code! If you’ve been wanting to learn more about ES2015 features as well as object-oriented features available in TypeScript then this this is the class for you! Here are a few questions this course will help you answer: What techniques can be used to create objects in JavaScript and TypeScript? What is object-oriented programming? Can I work with classes? What are constructors? What are get/set properties? How do I define functions in classes? Is a static member the same as an instance member? Can classes […]


Observable Store – Now with Support for the Redux DevTools

Observable Store now supports extensions! These can be added when the application first loads by calling ObservableStore.addExtension(). The first built-in extension adds Redux DevTools integration into applications that use Observable Store. The extension can be found in the @codewithdan/observable-store-extensions package. If you’re new to the Redux DevTools, they can be used to “time travel” through your application to see what happened at particular times. This feature is extremely useful when you’re trying to track down a problem or simply want to see what state flows through your application. You can get more details on the various Redux DevTools extension features […]