Wednesday Reading List

How to identify web app changes to triage and root cause live site issues

I think every developer has spent countless time troubleshooting what goes wrong with their production system. “It was working fine yesterday!”. With Azure App Services, you can now identify changes that happen in your web app. Checkout the Azure Friday video!

Why Continuous Deployment matters to business

Most people would do continuous deployment for the sake of doing it. It’s still good thing to do in my opinion. But why do we actually need continuous deployment have real business case for it. Dan Quine explains in his post. It’s good for developer and business.

Safer Code with C# 8 Non-Null Reference Types

This one is very educational read for those who care about C# 8 feature. However, considered yourself warned, it’s probably going to be a lil bit confusing. The feature is really a compiler-feature rather than language-feature. Plus, it’s not to be confused with the existing nullable value types.

C# — Parallel Programming: Producer/Consumer Pattern

I thought Saurabh did a really good job in this post unpacking parallel programmings with examples that he did in performance tests.

Task Parallel Library: High Performance .Net Code

A brief explanation on parallel processing (TPL, or Task Parallel Library) in .Net. There are `Tasks` and `Parallel` classes. TPL is a big topic and the post only covers the gist of it, it’s not meant to be a comprehensive discussion on TPL.


Sunday Reading List

Quickstart: Deploy Linux containers to Service Fabric

Azure Kubernetes Service is really cool to deploy your container to. However, what most people don’t know is, you can deploy the same container to Service Fabric. The benefit? You don’t have VMs to manage in Service Fabric.

Optimize the performance of Azure Cosmos DB by using partitioning and indexing strategies

If you’re using Azure Cosmos DB, you probably understand how partitioning strategy could directly affect the query performance of your application. This learning module explains in great details how it actually works.

GitLab and The Forrester Wave™: Cloud-Native Continuous Integration Tools, Q3 2019

The Q3 2019 Forrester Wave’s Cloud-native continuous integrations tools report. Hint: Google, Microsoft, AWS CircleCI and GitLab are among the leaders.

Single Page Applications and ASP.NET Core 3.0

If you’re thinking about building a single page application with ASP.NET Core, definitely check this post. There are 3 different options you can go about building SPA using ASP.NET Core and they are discussed in details.

Effective Dictionary Usage(C#): Avoid If Statements

I don’t know how I feel about this post. If you’re going to read it, read it with a grain of salt. I like it because Muhammed presents a different approach to `if` statement, sounds to me like an implementation of strategy pattern. Read at your own risk. 🙂

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.

Machine Learning / AI Reading List

Common Errors in Machine Learning due to Poor Statistics Knowledge

You can learn by doing, or you can learn from someone else’s mistakes. This is the case of the later. Certainly useful to avoid the same mistakes.

Continuous Delivery for Machine Learning

This one is pretty heavy read. But if you’re into Martin Fowler’s stuff, you know they are ‘the standard’. This one covers what it takes to apply continuous delivery in machine learning model. The CD for machine learning have similarities to software’s CD, but there are few keys differences as well.

Introduction to Machine Learning in C# with ML.NET

If you want to start learning Machine Learning but don’t know where to start, ML.NET is a good starter. With familiarity of C# and .NET, you could pick up ML.NET fairly quickly. This goes into details on how to get started with ML.NET, even covers Auto-ML!

Identify guiding principles for responsible AI in your business

Everyone thinks AI is cool, futuristic and can solve _almost_ all the problems. But not many think about the consequences, side effects and what it would take to build it right. In another word, a responsible AI. This mini-course go over what we need to consider in building AI.

Multiprocessing vs. Threading in Python: What Every Data Scientist Needs to Know

I like how Sumit gives intro to parallel computing, specifically multi processes vs threading, before he went dive into how it’s applicable in Python for modeling. Worth read even if you skip the Python part.