This guide assumes you followed the official guide on how to install ownCloud or Nextcloud servers and now you are trying to connect to your MySQL or MariaDB database using TLS/SSL connection. As a result you get "Exception occurred while logging exception: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002]" or "SQLSTATE[HY000] [1045] Access denied for user 'nextcloud'@'localhost' (using password: YES)" error message.

ZFS health check script for Monit

When setting up your own home server then proper monitoring system is the one of most important things you want to do. Monit is a monitoring tool I decided to use. It's easy to configure but still very powerful. I also decided to use ZFS filesystem on my server. It's a bit more advanced than ext4 or ntfs thus there is more things to check regarding your pools health.

Thankfully I found very cool ZFS health check script on that sends email if something is wrong with any of the pools. I decided to adjust it a bit to work well with Monit.

How to create .NET Core desktop app and run it under Linux

Along with first .NET Core version Microsoft opened the framework and made it cross-platform. Thanks to this .NET developers can now easily run their websites and APIs on Linux, Android, Mac and so on. Unfortunately there is nothing like WinForms or WPF for .NET Core but that doesn't mean we can't create the front-end in a different framework.

I decided to give ElectronJs technology a try. It is successfully used in popular apps like Visual Studio Code, Slack and Tidal. It uses local Node.js runtime to host a website and displays it in Chromium. As a front-end library I used Angular 4 which is one of the most popular MVVM frameworks and has great support for shared services.

In this article I’m going to show, step by step, how I managed to setup an Angular 4 application which use locally hosted .NET C# Core 2.0 backend microservices run in Electron technology. Working example code can be found on my GitHub

HBase and Thrift in .NET C# Tutorial

You can learn here how to connect to and retrieve data from HBase using C# Thrift library. This article doesn’t cover methods of inserting and updating rows. This article assumes that you already have HBase set up and running along with Thrift node configured.