This Week Reads

Advanced Features with Azure Service Bus

High level overview of advanced features, from Session & FIFO, Auto Forwarding, Scheduling, Deferred, Duplicate detection to high availability and disaster recovery.

Strangler pattern

If you ask me, I think it’s not much of an architecture pattern, but more of migration strategy. Especially useful to migrate from legacy to modern application. It’s worth the read.

10 Important Git Commands that Every Developer Should Know

If you’re new to Git, this is a good start. The 10 important (and also most commonly used) Git commands. If you’re Git veteran, it’s also a good refresher.

Move petabytes of data with resilience – Azure Data Factory adds resume support!

It’s encouraging to learn how far Azure Data Factory has come. It now has support for resuming the pipeline when it fails. The resume will only run from the point where it failed.

How a Kaggle Grandmaster cheated in $25,000 AI contest with hidden code

Cheater is going to get caught eventually. This is an entertaining story to read about cheating in machine learning competition.

Another Reading List

A .NET Manager’s Perspective on F#

Even though the title says it’s a manager’s perspective, the post actually contains elements of functional programming in general. Good read for intro to functional programming.

The beauty of Functional Programming

This post makes argument on why functional programming is good alternative to more mainstream language. I also like how it covers basic functional programming things like pure function, immutability, etc.

Learn all about Distributed Application Runtime (Dapr), Part 1

Dapr is a fairly new open source project that aim to help you to build multi-cloud, platform-agnostics APIs. It has lots of features, such as state management and pub-sub. This Azure Friday video introduces the concept.

Rock, Paper, Scissors, Lizard, Spock – Sample Application

Microsoft code example to demonstrate microservices that use multilanguage and built in Azure.

Bye bye Postman ! Let’s share your REST API calls in team, easily !

In the world of microservices, tools like Postman is a must today. REST Client is Postman-like, but better. With VS Code extension and versioning in your favorite source control, this is going to be replacing my Postman.

Mid-week Reading List

Application Dev Keynote (Ignite)

Microsoft Ignite has passed, but this app dev keynote by Scott Hanselman summarized the announcement around app dev pretty well. From Kubernetes, .Net Core, Visual Studio to IOT, everything is covered.

Progressive Web Apps in 2020

It’s a long read but gives you overview the state of PWA in 2020. There’s a lot going on for sure, but it thorough covers how PWA in browsers and mobile devices (that’s mobile browsers and app stores).

Keeping your code clean by sweeping out “if” statements

A simple pattern to replace `if` statements using “lookup”. I thought it’s pretty neat alternative to `if` statments and very clean as well. The question we should probably asking ourselves is, why do we want to replace `if` statements and what’s the value of doing so?

WebSockets for fun and profit

A very cool post about basic WebSockets. From the background, under the hood to sample code, all covered in the post. If you don’t know anything about WebSockets, or just want to know more, this worth a read.

The Making of the Azure Mystery Mansion

If you’re thinking of building a text-based game, check out this post. A team build a text-based game to promote Microsoft Learn, a platform to learn Azure and other Microsoft product. It includes few libraries that the team used to build the game.

Christmas Reading List

What is Zone.js?

Zone.js itself is independent of Angular. However, when developing in Angular, it’s important to know a thing or two about Zone. Zone is in the heart of Angular framework. This old video explains how it works.

What Makes a Great Remote Team

This isn’t a typical technical post, but somewhat related. Google has spent 2 years researching what makes a great remote team. This is the result. Worth the read if you are in remote culture.

Let’s Get Graphic: A Few Ways To Draw On The Web

There are many library out there to draw on the web. This post goes over few of them and the pro / cons. You may even learn a new library you didn’t know before.

The Buzz around InnerSource

The concept of innersource is to use lesson learned from open source and apply it internally within the company. This post is high level overview that includes links to other resources for more details. If you want more, here’s the more details explanation:

Leveraging Cognitive Services to simplify inventory tracking

See how intern students solve inventory tracking problem with Azure Cognitive Services. I thought their solution is really good, it includes having online and offline mode when classifying the product.

Monday Reading List

Blazor Server in .NET Core 3.0 scenarios and performance

Have heard about Blazor? If not, definitely check this post out. For those who already use Blazor, you can skip. Unless you also want to understand the inner working of Blazor.

Everything you need to know about resource tagging in Azure

Azure has feature to tag your resources for some times now. But, how do you use it the right way? This post will explain.

Javascript – Does taking a callback make a function asynchronous?

Interesting question and could be one of those questions as well. The answer is: it depends. Do read more to understand the details.

The Mediator Pattern In .NET Core – Part 1 – What’s A Mediator?

I came across Mediator pattern and has since been intrigue by it. This post will explain what’s it and why do you need it.

How C# 8 Helps Software Quality

The essence of writing codes is not _just_ for computer to interpret and run it. Equally, if not more, importantly is for human to understand and maintain it. C# 8 features will help to do just this by increasing the quality.

A Reading List

Creating PWA Using Angular 7 – Step-by-Step Guide

A rather long and detailed post about Angular and PWA (Progressive Web App), but worth the read, especially if you haven’t heard about PWA. It covers the 101 stuff and goes on to creating PWA using Angular.

How to use Azure Bastion to connect securely to your Azure VMs

Great new offering from Azure. If you always RDP to your VM in Azure, or use a _’jump box’_, you will have a new, better, more secure way to RDP now. I really like the name too!

Lessons from Design School for Software Engineers

They are great lessons software engineers can adopt to become better. Not a technical post, but related to technical. It’s more of philosophical-type post, which is always good to know.

The Battle of C# to JSON Serializers in .NET Core 3

There’s a new kid in town, it’s called `System.Text.Json`. Michael goes over how the comparison between this new .NET Core 3 feature and other JSON libraries, including the infamous Json.NET. And yes, it cover performance test as well.

How to resolve .NET reference and NuGet package version conflicts

Have you ever got one of those annoying, `Could not load file or assembly or one of its dependencies` error when running .NET locally? Not only Michael explains why, but he also tell you how to resolve it. Mystery solved.

Saturday Reading List

CSS Can Do This… And It’s Terrifying!

I never thought CSS could be used to this, it’s amazing actually. From keylogger to turing, it’s all done using CSS (and in some cases, JavaScript).

Swiftly understand what versions of .NET are supported on Azure App Service

Want to know what version of .NET is supported in your Azure App Service? Check this tips out. And while you there, check out hundreds of other tips as well.

Demystifying containers, Docker, and Kubernetes

Getting started on Kubernetes? This is a must-read, cover the basic building block of Kubernetes. No code involves, just the knowledge you need to understand Kubernetes.

Azure and .NET Code Samples

You need to bookmark this link right now if you are building application using Azure, .NET, Microsoft Graph or Power Platform, especially if you don’t know how to start building application for your project. There are many available code samples for all kind of applications.

Should I use === or == equality comparison operator in JavaScript?

Ahh.. the JavaScript tricky question. There’s actually a difference between `===` and `==` and why you should use one in some cases and not the other.

Tuesday Reading List

Inventory Dashboards Using the Power of Azure Resource Graph

Ever wonder what are all the resources in your Azure environment? You can now use power of Azure Resource Graph to query all the resources (or filter based on certain criteria).

Capture Web Application Logs with App Service Diagnostics Logging

Ever confused what logs are available in Azure? Well, I’m too. Specfically for Azure App Service however, the learning module helps you understand what’s your options.

Improve the developer experience of an API with Swagger documentation

Use Swagger in your next API project and you won’t have to hand-written those documentations. Heck, even use it in your existing API projects! This learning module will teach you how to implement Swagger in your ASP.NET Core API


Never get enough of .NET Core 3.0? Well, these 10 articles should give you enough read for the week. From performance, migration to configuration, it covers lots of stuff you want to know about .NET Core 3.0.

The ultimate (free) CI/CD for your open-source projects

You probably already know, but maintaining open source project is difficult and take a lot of your time. So, if you could automate your CI/CD and it’s free? Sure, why not.

Start-of-Week Reading List


The rise of microservices requires more manageable APIs, including testing them. Mockadillo is a new tool built for this exact purpose.

Series: How YOU can build a Serverless GraphQL API leveraging microservices

I think this is more like a reference-type article. The topic is so broad and rather complex, but only short read. However, it does have links to more details implementation of GraphQL and anything you need to build a serverless GraphQL microservices API.

First World Problems: Very long RMarkdown documents

If you use RMarkdown, this tricks teach you how to manage a very long RMarkdown document. If you haven’t use (or heard) about RMarkdown and you’re doing data visualization and big data stuff, definitely check it out.

How I (Accidentally) Made a Game Engine from Scratch with Vanilla JS

A great way to start learning about game programming. This covers basic game programming and written in pure JavaScript.

Getting started with Azure App Configuration

The journey of centralized configuration is never ending. Azure App Configuration is another attempt at this, seems very promising however. Today’s configuration is not just in an application, it’s everywhere, the VM, the CI/CD pipeline, etc, and it spans across different cloud provider. Azure App Configuration is built to handle this.

SQL Server and CI/CD Reading List

SQL SERVER – 5 Important Steps When Query Runs Slow Occasionally

Obviously, this is generalized and YMMV (your mileage may vary) -kinda experience. But at the least, if you don’t know where to start, this is the right place to look into.


Exactly as the title suggest, it’s using Azure Reservations. You reserve the resources for 1 or 3 year terms. The saving could go up to > 50% in some instances. Only available for few resources however, including Virtual Machine, SQL Data Warehouse, Cosmos DB, SQL Database, Azure Databricks.

What are SQL Database instance pools (preview)?

This is not to be confused with Azure SQL Database’s Elastic Pool. Instance pools is a little bit different, in the sense that its main purpose is to migrate (lift-and-shift or otherwise) multiple smaller databases. Instance Pools make it easier to handle this scenario by simplify many things like IP address allocation and deployment time.

Nice tests to run in CI before deploying any website

Not all the tests are created equally. Andy Li gives her perspective what to test in your Continuous Integration pipelines before the deployment.

Build a CI/CD pipeline for API Management, Part 1

Management of APIs can easily go out of control if it’s not done right. In this video, Miao Jiang talks about CI/CD part of API Management. The result is a clean, manageable CI/CD pipeline that can be deployed in any environment.