New Year Reading List

An Introduction to DataFrame

The cool in-memory schema-on-read DataFrame that is widely used in Python and other machine learning platform (Apache Spark, Databricks, etc) is coming to .NET. It does remind me of `DataSet` and `DataReader`.


Memory-wise apps with C# .NET

Very nice post by Ali, compiling from different sources and lay out how to write memory-efficient C# app.

20 Predictions about Software Development trends in 2020

An interesting perspective about what’s coming in 2020. From a quick glance, it looks like reasonable predictions.


Top 7 Modern programming languages to learn now

Rust is on the top, followed by Go. Two modern language which popularity has been gaining a lot of momentum lately. This post explains the basic of modern programming language and benefits of languages like Rust and Go.


Atomic Design Methodology

Online book by Brad Frost to explain the concept of atomic design. It’s a concept that mimic biological molecules and construct UI elements in a modular way for re-usability and maintainability.


More Reading List

100 new requests in Node.js while still serving the first one

This is an interesting look into how Node.js works under the hood when serving multiple requests. It’s different than how Apache, Tomcat or IIS serve the request from users. Pretty interesting.


Promises and async/await relationship

I always wonder how they actually relate to each other. This short post explains it concisely. They are also interchangeable.


Best Practices for REST API Error Handling

I’d categorize this more of “basic” practices. However, just because it’s basic, doesn’t mean you can ignore them. In fact, they are very important in building APIs.


How to handle exceptions in asynchronous code in C#

The main (and probably the only) takeaway from this post is that exception thrown in an `async` method that returns a `Task` object is wrapped in an instance of `AggregateExpcetion` which you would have to access with `tasks.Exception` instance. Check out the code example in the post.


Reduce Change Detection Cycles with Event Coalescing in Angular

Event bubbling in Angular app can be problematic when it triggers change detection. This post shows you how to coalesce them.


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.


Weekend Reading List

10 commands you don’t want to be without in .Net Core

With the rise of .NET Core, it’s inevitable to learn about `dotnet` commands. `dotnet` commands are important just like how one would use `npm` when developing with NodeJS or Angular project. This is 10 most common `dotnet` commands.


QA Testers: Coding Is Your Must-Have Professional Skill

It has become more of a requirement nowadays that a QA tester needs to know how to code. It’s no longer clicking the pages or browsing mobile app. Coding skill is even more important than ever before. However, one thing still holds true: knowing how to think is still the key.


Safe .NET Feature Flags with FeatureToggle

Matt Eland discuss his open source library for feature flagging, called FeatureToggle. If you are looking for a feature flag library and haven’t used one, definitely give this one a look.


Action-Oriented C#

If you, like Matt Eland, have hit plateau on your C# skill because you’re so awesome, it’s time to take it to next level. This is Matt’s approach to incorporate aspect of functional programming to go to next level.


Differences between gRPC and RSocket

This post probably going to take you to lower level where you feel a lil bit uncomfortable. It’s informative read nonetheless. In short, they meant to solve different problem.


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