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.


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.


Monday Reading List

Don’t snapshot your UI components, make assertions!

Great post discussing unit test and the reason behind making assertions vs snapshot UI. More of philosophical that hopefully shape how you think about unit testing. Good read.


Something to Know about gRPC in ASP.NET Core 3

gRPC is on the rise! And so is ASP.NET Core 3! But wait, it’s not working in Azure App Service? Head on to this post to learn why. But, hey, maybe it will be fixed soon.


AI Terms Every Beginner Should Know: an Abbreviations Glossary

This is the kind of post I like. I would start learning about AI but hardly can explain it to others. Knowing the terms definitely helps, and it makes you look like an expert!


Hacking ASP.NET apps and turning them onto Zombies

Interesting post about ASP.NET. Even though this is security related, it’s not one of those boring security. It’s about hacking, injecting malicious code into ASP.NET app. And more importantly, how to prevent it.


Fast Data is Forcing New Strategies in DevOps

Probably not worth your time to read. But I do like that it argues real-time streaming data has its own challenge in DevOps. It also offer high-level solutions / approach to the challenge.


Tuesday Reading List

5 questions everyone should ask about microservices

Thinking about building microservices architecture? Or plan to break your currently monolith application into microservices? These are definitely the 5 questions you want to get answers before you start microservices journey.


Boost 10x UI development productivity with SDD

SDD, what? This is something new to me. It’s Showcase Driven Development. Mostly for UI to help with designing and building UI, promote early testing in UI as well as collaboration between designer, developer and testers. Pretty cool concept.


Our team’s troubles with hand-written automated UI tests

Everyone is probably going to agree with you when you say automatic UI testing is imperative. But, it comes with challenges. Steven laid out questions and considerations you ought to think about when writing UI testing. They key is: right balance (don’t over do it) and fill out the test pyramid.


Advanced versioning in ASP.Net Core Web API

Every API endpoint needs a version and ASP.Net Core makes it easy to add one. Read this guideline on how to use versioning in ASP.Net Core Web API.
The kinda-bad thing is, you have to create a free account or login, in order to read the full article.


The Dataflow Pattern in .NET

https://www.dotnetcurry.com/patterns-practices/1412/dataflow-pattern-csharp-dotnet
https://en.wikipedia.org/wiki/Dataflow_programming
https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/dataflow-task-parallel-library

A refresher on how Dataflow pattern works. Dataflow pattern is used in Task parallel library in .NET and dataflow programming is the concept behind functional programming. It’s a different approach to well-known object oriented programming where data is at rest. In functional programming, data is the one moving, which makes state sorta-obsolete.


What I’m Reading This Week.

“Maybe” monad through async/await in C# (No Tasks!)

https://habr.com/en/post/458692/

Dmitry Tikhonov outlines how to create `Maybe` object in C# that carries 2 states (think about success and failure object) in a monad way. The implementation includes code sample and usage in async / await.

 

Functional Programming In Object-Oriented Programming In C#

https://www.codeproject.com/Articles/5162828/Functional-Programming-in-Object-Oriented-Programm

Emulate functional programming in an object oriented programming world. Yes it is possible. I do feel a basic understanding of functional programming is needed.

 

2019 State of Testing Report

https://www.infoq.com/articles/2019-state-testing-report/

Worth your time to read if you are involved a lot in testing. At least, read the “Key Takeaways”. This report covers what’s going on around global testing community as it surveys 1000 participants from around 80 countries.

 

Clancey’s HotUI

https://github.com/Clancey/HotUI

A MVU (Model View Update) way of building UI. Platform supported includes: iOS, Android, UWP, WPF, Mac OS, Xamarin.Forms, Blazor. And it support hot reload! It’s still proof of concept though, definitely don’t use it in production.

 

Jason Livesay’s NoScriptWeb

https://github.com/runvnc/noscriptweb

I thought this is a very cool concept. The idea is to build all pages in a website from markdown. 100% JavaScript free. That means, no ads, secure, fast browsing. Still work in progress, but promising.