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.


SQL Server View “Select *”

When creating a view in SQL Server, the view’s metadata is not being maintained automatically. This means if a source table’s columns are updated, SELECT * in a view would not return the updated columns.

See this post for example.

Possible solutions are:

  1. Create the view with a SCHEMABINDING option. See here. View with this option enabled won’t allow `SELECT *`, forcing developer to enter explicit columns.
  2. Related to previous solution, just don’t use `SELECT *`, explicitly define columns to return.
  3. Refresh the view’s metadata information with `EXEC sp_refreshview N’dbo.viewName’`

Refresh SQL Server View

Tested on:
SQL Server 2016 SP2
SQL Server Management Studio 14.0

To refresh SQL Server view, run following script:

EXEC sp_refreshview N'dbo.vwClass'

Example of issue with SQL Server view.

I have following table.
2019-11-12 13_58_55-Window

And a view called vwClass.

SELECT *
FROM dbo.Class

For the reasons unknown to me, when I right click on the view and choose ‘Select Top 1000 Rows’, the query does not return entire column of Class table. Instead, it return following:
2019-11-12 14_00_45-Window

After I run refresh view command above, the view return correct result.
Other possible solution maybe to avoid using SELECT * in a SQL Server view.

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.


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.


Another Reading List

Deep learning vs. machine learning

The two are often used interchangeably, but this post will explains in details what’s the difference, the techniques one use and the use cases.


Mathematics behind Machine Learning – The Core Concepts you Need to Know

This is a pretty ‘basic’ read about machine learning vs data science. But even when it’s ‘basic’, it still offers pretty deep knowledge. If you just get started on machine learning, do read this. My key takeaway is: focus more on the intuition and geometric interpretation.


10 Powerful Applications of Linear Algebra in Data Science (with Multiple Resources)

Linear algebra is a bigger subject in mathematics and in this post, Khyati explains what parts of linear algebra are used in machine learning and, more importantly, how’s it being used.


Making Microservices More Resilient with Chaos Engineering

With ever raising complexity of microservices and APIs, it’s important to ensure your services are up. This post explains what you need to test to do just that.


Common .NET Gotchas

We C# devs are so used to the language that sometime we forget what NOT to do, these are the gotchas we need to pay attention to. It’s one of those ‘going-back-to-basic’ type of post, which is always useful.