Freelance Software Developer


EdgeHTML rendering engine is discontinued

The Edge­HTML ren­der­ing en­gine, fork of Tri­dent, fork of Spy­glass Mo­saic, fork of Mo­saic will be replaced by the Blink ren­der­ing en­gine, fork of We­bKit, fork of KHTML, fork of Khtmlw. Ex­is­tence of stan­dards and mi­nor­ity im­ple­men­ta­tions does not pre­vent emer­gence of mono­cul­ture. Mi­crosoft knows this ef­fect very well. Con­tribut­ing to Chromium rather than de­vel­op­ing pro­pri­e­tary com­po­nent of Win­dows will al­low Mi­crosoft to de­liver its pro­posed stan­dards to ma­jor­ity of de­vel­op­ers in­stead of mi­nor­ity. Read more ›

service fabric

Visual Studio: Please restore the MSBuild Nuget package

I have re­cently run into a prob­lem af­ter I up­graded my Vi­sual Stu­dio Ser­vice Fab­ric project from ver­sion 3.1.283 to 3.2.178. The build has been fail­ing and the ad­vice in the er­ror mes­sage was not help­ful. Some­thing in the build sys­tem was ap­par­ently changed and the up­date script failed to up­grade the so­lu­tion suc­cess­fully. I have cre­ated a new Ser­vice Fab­ric project and com­pared what was changed in the lat­est ver­sion. Read more ›


Working with Azure Batch

Azure Batch is a very prac­ti­cal and highly cus­tomiz­able ser­vice. It is one of Azure Com­pute ser­vices which are de­signed for per­form­ing com­pute-in­ten­sive or data-in­ten­sive tasks. Azure Batch com­bined with Azure Stor­age is a pair of draft horses which can han­dle un­usual work­loads. Setup is very easy and pro­gram in­ter­face is in­tu­i­tive and easy to code against. There is even an API to re­trieve files from a work­ing di­rec­tory of your ap­pli­ca­tion. Read more ›


Why is the Application Insights TrackMetric method missing?

Short an­swer is that method is miss­ing be­cause some­one in the de­vel­op­ment team for­got to use an Ob­so­lete at­tribute. This method in the Teleme­tryClient class in the Mi­crosoft.Ap­pli­ca­tion­In­sights NuGet pack­age is used very of­ten. Af­ter the lat­est up­date of the pack­age it just dis­ap­peared. Sur­pris­ingly, the method isn’t listed the In­tel­liSence but the older code where this method is used can be suc­cess­fully com­piled without any error or warn­ing. Read more ›


Comparison of databases for UWP apps: SQLite, Realm & LiteDB

Ob­ject ori­ented ap­pli­ca­tions usu­ally needs ob­ject ori­ented stor­age. Re­la­tions are good at map­ping poin­t­ers but many tech­ni­cal lim­i­ta­tions are hid­den un­der doc­u­men­ta­tion crust. It is not easy to choose the right database tech­nol­ogy be­cause pros are writ­ten ev­ery­where and cons are spread across many GitHub is­sues. It is like buy­ing a new car. You know the price, power and fuel con­sump­tion but you must in­quire into re­li­a­bil­ity and main­te­nance costs. Read more ›

dot net

What’s new in C# 7.1, 7.2 & 7.3 and what’s next

C# is con­tin­u­ously evolv­ing and ab­sorb­ing many use­ful fea­tures. Some of them are syn­tax sugar and Vi­sual Stu­dio will pro­pose a sim­pli­fied code, but some of them al­lows what wasn’t pos­si­ble be­fore so tak­ing ad­van­tage of new C# ver­sion re­quires a change of think­ing about the code. The best way how to un­lock new ca­pa­bil­i­ties is learning of func­tional pro­gram­ming be­cause most fea­tures are taken from F#. Read more ›

visual studio

Visual Studio for Mac begins support for Team Foundation Version Control

Mi­crosoft an­nounced the re­lease of Vi­sual Stu­dio for Mac one year ago. It il­log­i­cally sup­ported Git in­stead of TFVC. Vi­sual Stu­dio sup­ports Git since 2014 so ab­so­lute ma­jor­ity of projects are con­trolled un­der TFVC. Vi­sual Stu­dio Team Ser­vices are also price friendly be­cause GitHub wants de­vel­op­ers charge for pri­vate repos­i­to­ries. Read more ›


Microsoft announces its own Content Delivery Network

Mi­crosoft Azure pro­vided two Con­tent De­liv­ery Net­works (CDN) – Aka­mai and Ver­i­zon. To­day, cus­tomers can pick up one more provider – Mi­crosoft. The price is a half of con­cur­rent CDNs but the ser­vice is in pre­view. Mi­crosoft of­fers sim­i­lar fea­tures like others: HTTPS end­point, cus­tom do­main cer­tifi­cate, con­tent purge, com­pres­sion, geo-fil­ter­ing and core an­a­lyt­ics. Read more ›


Azure Portal: Hmmm... Looks like something went wrong

Azure Por­tal some­times fails to load. It hap­pened to me sev­eral times. It was al­ways caused by ex­ceed­ing the quota of HTML5 Lo­cal Stor­age. The so­lu­tion is as sim­ple as clear­ing the stor­age and nav­i­gate to por­tal again. Mi­crosoft Edge con­tains hid­den De­vel­oper Tools which helps with tasks like this. You can also delete en­tire brows­ing his­tory but it will af­fect all web­sites, not just Azure Por­tal. Read more ›


How to redirect to HTTPS in ASP.NET MVC application correctly

Up­grad­ing browsers vis­it­ing your web­site to se­cure con­nec­tion is a best prac­tice and it is easy to do. I have de­cided to share my im­ple­men­ta­tion be­cause I had seen many par­tial or in­se­cure im­ple­men­ta­tions. Cor­rect im­ple­men­ta­tion sat­is­fies both back­ward com­pat­i­bil­ity and se­cu­rity re­quire­ments of var­i­ous web browsers. This ar­ti­cle covers what you need to know be­fore you start to redi­rect your users to HTTPS pro­to­col. Read more ›


Q# – Introduction to quantum computing

Mi­crosoft has re­leased a new .NET lan­guage called Q# along with Mi­crosoft Quan­tum De­vel­op­ment Kit. It con­tains a full state quan­tum sim­u­la­tor. Mi­crosoft want to pave the path to quan­tum com­put­ing in dat­a­cen­ters able to ex­e­cute pow­er­ful quan­tum al­gorithms. A quan­tum com­puter is fun­da­men­tally dif­fer­ent than a clas­si­cal bi­nary com­puter. A new era of com­put­ing may be closer than you may think. Read more ›

dot net

How to enable response compression in ASP.NET Core 2 with gzip and Brotli encoding

In­ter­net traf­fic can be com­pressed to save net­work band­width us­age. While im­ages and web fonts are al­ready com­pressed, text files are stored on the server in hu­man read­able form. HTTP.sys server and Kestrel cur­rently don't have built-in com­pres­sion sup­port. By de­fault, only static files are com­pressed with gzip. What if you want com­press more? Read more ›