A Free GUI for Accessing Local S3 (HTTP) on macOS

s3

If you are testing some stuff on your development environment and are looking for a convenient UI to access a locally hosted S3 through HTTP, take a look at Cyberduck with a custom profile. Read below to learn how to set it up in a few simple steps.

Creating VS Code extensions

head-image

The article covers essential steps on how to create a typical extension for the Visual Studio Code and publish it in the marketplace. It also explains how to automate the publishing of releases on GitHub instead of manual calls of the CLI. Useful links for a quick start are provided.

Team-shared Nuget package with StyleCop and other Roslyn analyzers

In the previous article StyleCop with team-shared rules and auto-update I've covered how to package StyleCop analyzers as a Nuget package, and distribute it to the team with automatic updates. While that approach is still valid, the part related to the Nuget project itself is overcomplicated and cumbersome. This time I'd like to show a simpler and easier way how to package any Roslyn analyzers including StyleCop and all related settings.

A System.Text.Json converter to serialize/deserialize a JSON node as a string

How to deserialize a part of JSON as a string keeping everything inside as is including the formatting? Or how to merge JSONs together into one having them provided as strings? The article shows an implement of a custom converter for the System.Text.Json that does described things, and provides additional cases when such converter might be useful.

The new blog

static-blog

My previous blog was created using WordPress. Overall, it was a good experience, but in course of time I understood that it is simply too much for my personal blog because of several reasons.

How to make Windows Terminal nice and convenient

head-image

Scott Hanselman explained how to make a pretty prompt in the Windows Terminal.

I'd like to list additional hints where and what to tweak in the Windows Terminal in order to make it even more convenient and nicer as the daily tool.

StyleCop with team-shared rules and auto-update

The post covers how to implement StyleCop analyzers with automatically updating team-shared rules and settings. The described approach works both in Visual Studio and Rider and on any CI.

Convert MongoDB’s UUID to .NET GUID

One of the form how MongoDB represents UUID is BinData of type 3 or 4. The post covers how to convert the Legacy UUID (LUUID) to the .NET GUID representation.

1 year of living in München

head-image

Exactly 1 year ago we arrived in Munich. New country, new city, new job, new life.

This post is about living here: a personal opinion what was wondering and unusual comparing to the Ukraine, what is really good and what annoys every day.

Parsing non-existing enum values

A quick question to check the knowledge how enum values work under the hood.

The issue with the order of newly added entities in Entity Framework Core

head-image

Recently I've developed a simple processing application that generates some data in the database. For business logic it was important to understand what entity was created the last on some steps. Since there was no concern about scaling or running several instances simultaneously, it was decided to use the primary key itself, the auto-incremental integer value. I didn't want to rely somehow on date-time or invent something sophisticated.

The new using declaration in C# 8

csharp

C# 8 contains a new "enhancement" to the syntax: a declaration of using scope as a variable. While it might be considered as a good simplification to one of the most used constructions, not everything is so univocal.

Ansible Control Machine on Windows

head-image

The post describes how to easily run Ansible on Windows without docker, VirtualBox or Hyper-V. The approach utilizes Linux through Windows Subsystem for Linux (WSL) available in Windows 10.

A custom Json.NET converter

Sometimes, the incoming data in JSON has some custom form that is not supported by the built-in Json.NET converters. In this article, as an educational example, we will implement a custom converter from the UNIX time format in milliseconds to the native .NET class DateTime.

Dumping any requests in ASP.NET Core 2.0

Once, I was needed to have a simple endpoint in which I can send any request for test purposes. Just a simple web service that eats a request, no matter what HTTP method and route are used.

Fortunately, Microsoft did a great job making ASP.NET Core as flexible as possible, so the solution turned up quite short and simple.

Software versioning in Windows and .NET

My new article about product versions was published. Feel free to read. It explains different kinds of versions, and approaches how to use and implement them. Additionally, my own experience of implementing versioning in my current project.

Pattern matching in C# 7.0 and how it works

csharp

Posted the article in the Binary-Studio’s Blog about the new C# 7.0 syntax feature – pattern matching.

Essential addons for Visual Studio 2017

visual-studio

Here is my updated list of the essential Visual Studio 2017 add-ons for comfortable and productive work. You can check also the previous list for Visual Studio 2015.

A shared logger

A simple implementation of the shared Logger based on NLog that can be easily included into any solution with a minimum configuration.

ConfigEx 2.1.0

library

I'd like to introduce a library for accessing app settings in the App.config and Web.config. Unlike standard ConfigurationManager, ConfigEx additionally allows reading configs of other assemblies used in the project. Moreover, it is strongly typed, has a mechanism of settings overriding, and allows applying automatic conversion of values.