Software development blog


The latest Windows 10 SDKs is all you need

When you are de­vel­op­ing UWP apps you mostly tar­get lower Win­dows 10 ver­sion than that you have cur­rently in­stalled. Ev­ery Win­dows 10 ver­sion has its own SDK. It is not a re­quire­ment to have in­stalled the SDK that matches tar­get min ver­sion. The di­a­log will show all re­leased SDK ver­sions that are less than or equal to the tar­get plat­form ver­sion, re­gard­less of whether they are in­stalled or not. Read more ›


The growth of Azure datacenters in Europe

Eu­ro­pean com­pa­nies will soon have a much wider of­fer of Azure re­gions. Be­sides 6 cur­rent Azure re­gions in Eu­rope – Am­s­ter­dam (West Eu­rope), Dublin (North Eu­rope), Lon­don (UK South), Cardiff (UK West), Paris (France Cen­tral) and Mar­seille (France South) – an­other 8 re­gions will be avai­l­able. Mi­crosoft will op­er­ate 11 Azure re­gions in North­ern Amer­ica and 14 re­gions in Eu­rope. An­other 13 re­gions are lo­cated in Asia. Read more ›


Earthquake behind the UWP

Dur­ing Mi­crosoft Build 2019 con­fer­ence many peo­ple asked about the fu­ture of UWP be­cause there were very few ses­sions ded­i­cated to it. It may look like noth­ing new is hap­pen­ing, but the op­po­site is the truth. Mi­crosoft is chang­ing ar­chi­tec­ture of the whole stack. The vi­sual layer is be­ing de­cou­pled from the op­er­at­ing sys­tem and ahead-of-time com­piler with .NET im­ple­men­ta­tion are be­ing merged with .NET Core. Things are mov­ing for­ward. Read more ›

service fabric

Upcoming breaking change in Service Fabric 6.5

Re­mov­ing node state will not be pos­si­ble when the node is a seed node since Ser­vice Fab­ric 6.5. It will be nec­es­sary to con­vert the seed node into a non-seed node prior to node state re­moval. It is not yet known how to con­vert seed nodes into non-seed nodes. It will be pos­si­ble opt-out from this lim­i­ta­tion in the clus­ter con­fig­u­ra­tion. De­tailed gui­d­ance will be avai­l­able when the Ser­vice Fab­ric ver­sion 6.5 is re­leased. Read more ›

service fabric mesh

What is Service Fabric Mesh?

Mi­crosoft has re­cently in­tro­duced a Ser­vice Fab­ric Mesh ser­vice. It is a con­tainer or­ches­tra­tion ser­vice like Ku­ber­netes. The name suggests that it has some­thing com­mon with Ser­vice Fab­ric. When you want to mi­grate a clas­si­cal ser­vice, you can con­sider Ser­vice Fab­ric Mesh. How­ever, this is not true for na­tive Ser­vice Fab­ric ser­vices. Ser­vice Fab­ric Mesh is more about tool­ing au­tom­a­ti­za­tion and host­ing of­fer­ings than tech­no­log­i­cal fea­tures. Read more ›


IoT hardware platforms

In­ter­net of things is a net­work of em­bed­ded sys­tems. Mi­cro­con­trollers are not a new thing. BIOS in com­puter mother­board is a mi­cro­con­troller which loads code from a pe­riph­eral. There are many plat­forms you can build your own em­bed­ded sys­tem on. The more pop­u­lar and easy to use the plat­form is the more lim­its you usu­ally have. I’m so im­pressed how the hard­ware de­vel­op­ment field have moved dur­ing last decade, but also very dis­ap­pointed with Mi­crosoft’s lack of sup­port of .NET Mi­cro Frame­work. Read more ›


IoT wireless networks

In­ter­net is a net­work for servers, desk­tops, lap­tops, tablets and mo­bile phones. IoT is a net­work for mi­cro­con­trollers. The mi­cro­con­troller can com­mu­ni­cate via Eth­er­net, Blue­tooth, Wi-Fi or GSM, but none of the tech­nolo­gies were orig­i­nally de­signed for bat­tery-pow­ered mi­cro­con­trollers. There are other op­tions you can con­sider dur­ing de­sign­ing your hard­ware so­lu­tion. They are de­signed specif­i­cally for em­bed­ded sys­tems. Read more ›


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 ›