Setting Up GitHub Actions

I have some Open Source projects that I maintain in my “free” time.  One of them is recurrence calculator – .NET library to computer recurrence date based on Outlook style rules: https://github.com/SergeyBarskiy/RecurrenceCalculator.  I was adding support for .NET 6, and decided to invest into some automation.  I wanted to setup two builds: one when I …

Continue reading ‘Setting Up GitHub Actions’ »

Creating Schedule Driven Windows Service in .NET Core 3.0

The upcoming version of .NET Core, 3.0, will have native support for Windows and Linux Services.  On Windows the services will rely on standard Windows features.  On Linux it will rely on Systemd.  One of the most common use of windows services in to run background tasks based on a schedule.  One of the most …

Continue reading ‘Creating Schedule Driven Windows Service in .NET Core 3.0’ »

Distributed Cache, Redis and .NET Core

In many apps there is a need to have distributed cache.  For years now, adopting distributed cache on Windows has been a challenge.  Most popular product, Redis, is no longer supported on Windows platform.  The easiest way to get it going on Windows today is Docker for Windows in my opinion.  To do so, first …

Continue reading ‘Distributed Cache, Redis and .NET Core’ »

Thoughts on Application Design

I have been working on some new applications and prototypes recently.  I historically have seen such moments as an opportunity to think about applications development.  I have been primarily involved in web development for many years now.  I have used a number of frameworks, mostly open source.  I have used Csla on a number of …

Continue reading ‘Thoughts on Application Design’ »

Building .NET Tools with .NET Core 2.1

.NET Core SDK 2.1 shipped with a new and exciting new feature: global tools.  If you worked with npm, you already have a good idea what global tooling is about.  Think angular CLI or similar.  It is an executable, written in .NET Core that you can install on your machine.  It can perform any number …

Continue reading ‘Building .NET Tools with .NET Core 2.1’ »

Fun with Type Conversions

Recently at work we were coding a particular feature that required us to extend properties with some functionality.  We ended up extending type system with ExtendedPreoprty<T>. , where T was property type.  This lead to a lot of ugly code, such as: Person p = new Person(); p.Name.Value = “John”; I remembered from a long …

Continue reading ‘Fun with Type Conversions’ »