.NET, C#, CSharp, Library, Programming, Tests, Unit tests

Fluent Assertions in unit tests

As a continouation of the article about unit test frameworks I would like to introduce Fluent Assertions. This framework simplifies testing by BDD style syntax. Let’s start from basic assertion. As you noticed, first is going the result, then the keyword (or rather extension method) Should() and at the end the condition (so in case …

.NET, C#, CSharp, Library, Programming

.NET unit test frameworks comparison

In .NET we have 3 dominant unit test frameworks: MS Test (v2) NUnit (3.x) xUnit (2.x) First one comes with Visual Studio, two other requires additional components installation. Initialize First difference we will find in initialization approach. In MS Test there several initialization available (by attributes): AssemblyInitialize, ClassInitialize and TestInitialize. The disadvantage is that initialization …

Cloud, GCP

Spanner – GCP custom SQL solution

Google Cloud Platform (GCP) offers 3 SQL engines as a service: MySQL 5.6/5.7, PostgreSQL 9.6 and Spanner. MySQL and PostgreSQL are quite well known across the world. Spanner is completely new player – Google’s own product dedicated to handle thousands of requests. When we setup the database, it is required to specify number of nodes …

beacon, IoT

Change battery in estimote beacon

There is a lot of videos across YouTube how to change battery in proximity beacons (big, blue one). It is quite simple as they are dedicated for such operation. But is that possible with stickers? Officialy not, but… Lets see how looks single beacon sticker (usually few cm over few cm) and it is flat. …

.NET, .NET Core, ASP.NET, C#, CSharp, Programming

Install .NET Core on Debian Linux

Microsoft prepared quite good instruction how to install dotnet runtime on Linux. I’ve been interested in Debian distro. So I went pretty smooth through the first part of the manual (system setup). However installing dotnet I had constinously an error that package cannot be found. First comment: the package name has been changed and it …

.NET, Mobile, Xamarin

How to get iPhone X front camera depth data in Xamarin iOS?

How to get iPhone X front camera depth data in Xamarin iOS? This question has been raised in many places across the web. However I did not found any good description of this problem including Apple site. They have only quite generic description of required classes without tutorial. As one of the first step, we …

.NET, Self-learning

Pro .NET Memory Management For Better Code, Performance, and Scalability

Pro .NET Memory Management For Better Code, Performance, and Scalability by Konrad Kokosa is the best technical book I’ve ever read. It is very deep dive into .NET memory management. For me, the only one missing part was Mono description. Except that, the book is awsome. It describes history of memory management, helpful tools, memory …

.NET, Mobile, Xamarin

Xamarin.iOS – Dropbox API v2 integration tips

Xamarin.iOS is not very popular platform. As shows Dropbox, for their API v2 they even do not provide even good SDK (in .NET, only for web based). If we consider any mobile development in Xamarin, the best examples which I found were dedicated to Windows Phone 8.1 and Xamarin.Android, so completly different approach. For iOS …

security, Social, Soft skills

Why a human is the weakest link?

Why a human is the weakest link – this thesis was confirmed multiple times in our history. Since ages people tried to protect themself in various ways. In ancient times and in middle ages defensive walls were the best protection. But still the gate and people were the weakest elements. Let’s consider ancient Greece and …