Reading List

How Microservices Architecture Impacted the Culture of Software Development

Most people do microservice because it’s a new buzzword! But, there’s actually reason behind it and it will improve your team dynamic.

Why I love Trunk Based Development (or pushing straight to master)

Mattia made an argument why it makes sense for the whole team to push straight to `master`. The key is having the right people in the team. He has good points, most I agree, some I disagree with. What’s your take?

Async Await C#

Basic yet comprehensive article on `async` `await` in C#. Worth reading for beginners and expert alike if you want to brush up on `async` `await`.

You don’t need ordered delivery blog posts in general are really good, high quality. This _particular_ post, however, gives a different perspective of how messaging queues are delivered. Often time we think it needs to be ordered. Well, maybe we should think again.

Messaging Practices

I never thought there’s such things as good practices in messaging queue. After reading this, I think it makes sense to have one. When you have to deliver large number of events, good practices make big differences.


Another Free eBook

Microservice database migration guide

Part of breaking up your monolith application to microservices, you will also need to break out your data sets, from relational database to more distributed model. This book provide some guidances around this issue.

Almost-Weekend Reading List

What Is a Pure Function?

That’s exactly what the title says, this article explains what a pure function is. There are 2 things that define a pure function. One of them is the function always returns the same value for the same inputs. I’ll let you read the other from the blog.

The Cloud-native Azure Application Architect Map

If you are confused with Azure services offering because there are too many of them, you’re not alone. The way-too-many-services always lead to analysis paralysis of what to use for your project. This architecture map should help you decide.

A Step-by-Step Guide to Continuous Deployment on Kubernetes

`Dockerfile`, `docker-compose.yaml` file, Kubernete manifest file… ever confused on how to do CI/CD on Kubernetes exactly? Tomas will walk you through his experience.

Research Paper Week: Automatic Indexing in Azure SQL DB

This one is a heavy read, could probably be your help-me-sleep reading list. The research is about how Azure automatically perform indexing in Azure SQL database. Today, Azure already has a lot of automatic recommendation on how to increase your Azure SQL performance. This one takes a step further but automatically applying the recommendation and if it’s not working as intended, roll it back. Pretty cool idea!

Avoid multithreading traps with Roslyn: Lock object selection

What NOT to lock when multithreading? Well, here’s the list.

Weekend Reading List

What I Learned From Bombing An Amazon Coding Assessment

Are you going to interview at tech companies? Make sure you read Andrew’s tips on how to solve coding questions. His approach is really valuable.

Easy data seeding in .NET (Core) applications

Almost all developers have that annonying moment where you have to create dummy data locally in order to test your application. This article uses `DbTool` utility and `Korzh.DbUtils` library for seeding the database.

Debug & Catch Exceptions in Visual Studio: The Complete Guide

Am I the only always putting a break point in `catch` line _after_ I have encountered the exception? I’m sure I’m not. Well, there’s a setting option in Visual Studio to break on every exception, so you can avoid this very issue.

7 Habits Of Highly Effective Programmers – Inspired by an ex-Google TechLead #humor

It’s not just enought to be a good programmer, it’s also help to become a highly effective programmer. Avoid meeting is one of the habits.

The Steve Wozniak Guide to Building Better Software

Pretty easy read on how to apply hardware-engineer approach to become better software developer in software-engineer.

Free eBooks

Everyone gotta loves free stuff. Here are free eBooks that would improve your technical skills and knowledge.

Cognitive Complexity

Fairly short read. SonarQube, a company that makes an automatic code-review tool with the same name, has come up with an algorithm to determine how complex code is and the score to determine easy it’s to understand, called Cognitive Complexity.

Azure Security Best Practices

If you are in Azure environment, this is a really good resource to understand what Azure has to offer to secure your application and environment. From identity management, network, monitoring system, VMs and database, it covers pretty much everything security.

Learn Azure in a Month of Lunches

You can learn everything Azure in a month of lunches, that’s 30 days x 1 hour = 30 hours! Sounds pretty good deal to me!

My Sunday Reading List

Declarative vs Imperative

This is probably your interview questions, even though not many company I came across has asked these. Declarative programming vs imperative programming, is basically, in its very simple form, like functional programming vs object-oriented programming.

6 Key Concepts in Andrew Ng’s “Machine Learning Yearning”

If you want to learn Machine Learning, Andrew Ng is the man you need to listen to. There’s so much more to cover beyond this article, but it lays out 6 basic concepts in Machine Learning.

Using the Microsoft Graph API with PowerShell

A detail walkthrough on how to query Microsoft Graph API, which is a service to manage all most aspects of Azure AD and Office 365, with Powershell. From setting up secrets, certificate, application permission to access token, all covered here.

Why our team cancelled our move to microservices

Sometime you have to know when to back out as in this story of Steven’s team backing out from implementing microservices. What’s even more awesome is, he documented the lesson-learned from his team on what to consider when implementing microservices.

How you can build a Serverless API using GraphQL .Net Core, C# and VS Code

A step-by-step walkthrough on how to build GraphQL-based API with .Net Core, C# and Azure Functions.

What to Read?

Stateful Serverless: Long-Running Workflows with Durable Functions

Great post by Jeremy Likness on how to use Durable Functions in Azure Functions to create a long-running workflows. Yes, a serverless service can be used for long-running application. Some of the pattern implemented are: fan-out-fan-in, human interaction, etc. Although the example given is a game, it can definitely be applied in many Enterprise situation.

What’s the big deal with IAsyncEnumerable in .NET Core 3.0?

Ever wonder how you can stream data asynchronously? Now you can with IAsyncEnumerable<T>, a new feature in C# 8.0 and .NET Core 3.0.

Create dependent pipelines in your Azure Data Factory

One of the very common scenarios in data integration and movement is the dependency of one task to another. Azure Data Factory now offers option to run triggers based on dependency of another trigger. You can even specify offset and dependency size of a trigger.

The guide to Visual Studio Code shortcuts, higher productivity and 30 of my favourite shortcuts you need to learn

Want to code faster in Visual Studio Code, this will help you.

Solving Cold-Start disturbs serverless’ definition and it’s okay

Serverless has its advantage but cold-start is not one of them. With Azure Premium Functions, you can solve cold-start issue although technically, it’s no longer a serverless. Maxime made an argument when to use serverless or not.