This Week Reads

What’s the Difference Between Width/Height in CSS and Width/Height HTML attributes?

I save you time if you prefer not to read this one. Presentational attributes (HTML attributes) have weaker (or lesser priority) compare to CSS attribute of the same function.


23 lesser known VS Code Shortcuts as GIF

You probably have seen a lot of similar posts, but this explains the shortcut in animated GIF, which is easier to understand!


ES6 vs ES2015 – What to call a JavaScript version?

Confuse with JavaScript version? You’re not alone. This will explain the difference between ES6 and ES2015. Hint: they are the same.


Get Hired: A New Series

This is a series of posts about getting hired, how to prep resume and go to interview. If you are looking for a job, it’s worth the time to invest in the preparation.


How to avoid infinite nesting callbacks

Ever seen (or written) JavaScript function with bunch of nested callbacks? The new `async` `await` will help you avoid that.


Another Reading List

Cross Tab Communication with Javascript

This post lays out an interesting problem, how can Javascript communicates across browser tab (or iframe or window)? There are few different approaches with pro and cons of each.


Use read-only replicas to load-balance read-only query workloads

With new vCore pricing model, Azure offers SQL solution with better features. One of those is no-cost, built-in read-only scale out database. Read more on the details here.


Overview of Microsoft Authentication Library (MSAL)

MSAL is the new library to authenticate with Microsoft Identity Platform (or what it used to be Azure AD endpoint). It’s replacing ADAL (which only used to authenticate to Azure AD endpoint – v1). The new version support authentication beyond Azure AD which includes personal account (hotmail.com / outlook.com) and social accounts like Facebook / Twitter, etc.  For more details on Microsoft Identity Platform: https://docs.microsoft.com/en-us/azure/active-directory/develop/about-microsoft-identity-platform


Authentication flows

There are many authentication flows in the world of authentication. This Microsoft documentation gives overview of each auth flow and how it’s being used. Primarily for Microsoft Identity Platform, but generally applicable to other platform / framework as well.  The more details coverage of each auth flow can also be found here: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow


Google Spent 2 Years Studying 180 Teams. The Most Successful Ones Shared These 5 Traits

Great achievement can sometime be done by one person. But most of the time, it’s a team. This post talks about Google research into what makes the most successful one. It’s along the same line of previous studies around motivation, more psychological than anything else.


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: https://resources.github.com/whitepapers/introduction-to-innersource/


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.


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.


More Reading List

Microsoft open sources SandDance, a visual data exploration tool

Microsoft demo-ed this visualization tool few years ago, it’s amazing tool to display your data beautifully. And it’s now open source!


Announcing TypeScript 3.7 RC

A lil bit older article, but describe new features in TypeScript 3.7 and reason behind its invention. Some of them are optional chaining, nullish coalescing, assertion functions. Head out to the page for full list and explanation.


13 Tech Experts Predict The Next Big Trend In Software Development

Whether you believe it or not, it’s a good-to-know reading. You can agree or disagree. Technical read, but not a heavy one for sure.


Top data visualization examples and dashboard designs

There are many way many way to display data and there’s no right or wrong way. There are, however, more effective way to display data depends on your app / needs. This post gives you some ideas on a good data visualization design.


13 useful JavaScript array tips and tricks you should know

Handy tricks in JavaScript. If you code in JS a lot, remember this on top of your head will definitely make you look like a ninja coder.


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.


List to Read

The emerging big data architectural pattern

An Azure post about big data architecture. If you are about to start one, this is a good introduction. It mainly focuses on Lambda architect (batch and speed layers) using Azure resources.


Roadmap for learning the JavaScript language

Do you just start learning JavaScript? Are you planning to master JavaScript? This post is for you. Learn JavaScript from the early version and how it evolve to current version.


Choosing the right frontend database for a single page application

And if you are now serious about PWA, check this article out on what’s the ‘right’ frontend database for your app. Very useful especially when you are starting a new project.


Turn your Angular App into a PWA in 4 Easy Steps

Now you know what’s PWA, you can turn your existing Angular app into a PWA. Looks pretty straigh-forward honestly. But the devil is always in the details, right?


Progressive Web Apps & Electron

You can’t talk about PWA without Electron app. But, what’s the difference? Well, check this post out to find the answer. In short, they are like siblings, similar but different.