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.


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.


First of the Week Reading List

How to use npx: the npm package runner

There’s so much to say about `npx`, but essentially, it allows you to run package (think of the cli tool that comes with a package) without installing it globally, or without installing the package at all!


Microsoft: We want you to learn Python programming language for free

Learn Python for free! But obviously, you probably already expect this, that it will also promote the usage of Azure.


Google reveals new Python programming language course: Scholarships for 2,500

Well, if Microsoft has free Python course, Google gotta launch its own. Soon, I’m sure Amazon will follow. Google course is not free however, but will give scholarship to 2500 students.


Third-Party Components at Their Best

This post is less of educational, but more of “things you should have”, aka checklist, if you want to use third-party UI components. But, it also applies to non-UI, it applies to any open source really. And you can even use this checklist if you want to start your own open source project.


6 Ways to Unsubscribe from Observables in Angular

Yes, the glorious Observables in Angular. It’s double-edged sword, but it will only hurt you if you forget to unsubscribe. Luckily, there are 6 ways to do it. This post will show you how.


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.


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.


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.


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.