December, 2017

Are lock and Monitor the same in C#?

Working on some threading stuff I stumbled upon some discussions about lock and Monitor. Some say they are different and some say they are the same. I took few minutes of time to make some simple experiments with both of these. This blog post shows what C# compiler does with lock statement. As I had to use also Monitor class I added one example here how to use it instead of lock.

Who messed up Visual Studio tab indent level?

After one of latest Visual Studio 2017 I noticed that tab length is incorrect in C# editor. I went through options and confirmed that tab size for C# was set to four spaces. But still for some reason editor used two as tab size. There have been some small changes how Visual Studio 2017 prioritizes settings and here is how to solve the mess.

Running ASP.NET Core 2 applications on Windows 10 IoT Core

It has been problematic to run ASP.NET Core applications on Windows 10 IoT Core as it is not officially supported scenario yet and many components we are used with are not built with Windows 10 ARM in mind. Still it easy to run web applications on Windows 10 IoT Core using ASP.NET Core 2. There are few tricks developers should know when building web applications for Windows 10 IoT Core. This blog post is short guide about ASP.NET Core 2 on Windows 10 IoT Core

Boosting performance of Asus RT-N66U

Over time my home network has grown and years are changed also the habits of consuming media at home. When I bought Asus RT-N66U some years ago it was well performing home router. Now came the point when continuing the old way was not an option anymore as things were degraded a lot. Performance boost was needed and here is what I did to get my veteran router back on track.

Deep dive to async Main

C# 7.1 introduces asynchronous Main method for console applications. It helps us to get rid of some ugly code to await for asynchronous methods. If Main method of console applications is application flow controller that makes multiple calls to asynchronous methods then async Main leads us to much cleaner code. This blog post is my deep dive to async Main.