Using custom health checks with Asp.Net Core 2.2

I almost burst with cries of joy when I saw the release of .Net Core 2.2 with the much needed built in and standardized health checks. The preview was great and with each version until the release new blog posts emerged eager to show to the world the new wonder. But as I do like my frameworks fully baked and released I waited patiently for the real deal. TL;DR Implement your own service from IHealthCheck and inject it with whatever you want. It just works! Reading the instructions... The best article I found for the new healthcheck API was this one based on preview code and the best code samples where of course the official samples . However by looking at them something was missing. So I went on a quest to achieve what suited my needs. And my needs are simple. I need to be able to inject some testing code to my custom health check module. Healthcheck for your .Net Core2.2 Services On to the code After I practiced a little bit with the concept of tags I just added a heal

Running an Asp.Net Core 2.* Web API as a Windows Service

At my current workplace there is a healthy hunger for new technologies and a pragmatic view of the software industry in our corner of the planet. As a Microsoft driven shop, previous reservations of moving to different ecosystems and operating systems have melted away with the arrival and wide adoption of .Net Core. After all the language is the same. The developers need "only" to catch up on their containers. When I joined a month ago as a tech lead, little did I know that putting my money where my mouth is would mean having to deal with outdated Microsoft documentation or even S.O answers to questions such as "How do I run an Asp.Net Core app as a windows service without IIS". TL;DR add a reference to the NuGet package  Microsoft.Aspnetcore.Hosting.Windowsservices , publish and register your executable as a service. A Prophecy? Almost a year ago I wrote a blog post about porting  full framework projects to core . Ever since I have written my share of .Net Cor

Adjust the message to the audience

A couple of weeks ago had my first public speaking chance. Two 12 minute sessions TED style, in front of an audience between 20-70 years old and non technical. Each sitting had 100 people. The session was about crypto/virtual currencies, real money and everything between them. 12 minutes, non technical, make the message count. Go! TL;DR It was a success and K.I.S.S Version 1 The first version, presented to the other lecturers of the evening for feedback, was rejected by the second slide. The words Bitcoin Mining were present in the slide. Shot down in flames? Yes. Discouraged? No. Slightly depressed. Yes. Version 2 Imagine... A world without bank accounts. Yes this is more or less how it started. as a story... with the song Imagine  playing in my head. I took my super technical slide deck and turn it into a story. How did I do it? Well I was given a tip. Tell a story.  Disclaimer: The "tips" here work for me. They are part of my experience. I suggest searc

Binding yourself to high level design by details - irrevocably

Little over half a year ago I was present in an unprecedented blunder by a team leader. I saw how the fervor to succeed  made for a design mishap and how the same fervor made for a Mr. Know It All team leader. TL;DR detailed designs are for devs, not VPs or CTOs How to not design like a galley master and not be shackled like a rowing slave When one is asked to make the design document of a new development, one must be very very careful how flows are put on paper. These documents are binding and every word or terminology in them can and will haunt one for a long time. In order to try to minimize a possible mess here are some rules of thumb, gathered from my own experience Detailed documents glide up like migrating birds High level design documents may and will end up to the higher ranks of the corporate hierarchy. Be vague when describing functional parts. Do not put highly detailed implementation details in a high level design, otherwise once the details are stated and a VP of a

Public speaking - baby steps

Sometime last year I decided that I too have something to say to the world. This is how this blog was born. I really feel it is time to take the next step and try my luck on public speaking. TL;DR this is not long hang in there.  Where to start There isn't really a recipe or a user guide on that one. One can start on meetups, try one's luck on a conference out of the blue... Just take your pick.  I am personally starting in my town of residence, giving a 12 minute session on cryptographic and virtual currencies to a non technical audience. These are people I see every day on my way to the country club, school, gym etc. This is as up close and personal as I could start.  Consider this... 12 minutes on such a subject and skip the technical jargon. This is quite a challenge! But as one tiny, great fictional green alien once said..  Where to go from there After that 12 minute challenge I plan to speak on friendlier ground. At work towards colleagues on a techn

Applying an internal forums system in the company culture - thoughts

Long gone are the days where, as children, we used to tie a string to two boxes and shout messages at each other. Communication for some of us has changed from phones with a round dial to smartphones in a decade. Having worked in several places with a mobile based solution for groups of teams and dev departments forum/chat system as well as  a couple of places with an internal forum/social media system in place, I have seen more often than not that the adoption rate of such a system is diverse. Some like it, some not and some participate on a whim. And in some places it is obligatory. However what happens when you find yourself accustomed to such a system and arrive at a place where there was none, and one is being applied. How does an organization make the shift from coffee machine pow wows to an internal forum/social/chat board. TL;DR Success of such a forum depends on... oh quite a few factors It is not the medium, it is the content This is not a post on the different solu

How to port a .NET framework project to .NET Core including tests - A Guide

So you want to port your project to .Net Core and don't know how? Are you reluctant to let go of your traditional .Net Framework targeting but want to have a taste of the new .Net buzz?  Is the information on the subject incomplete or too confusing (yes it usually is). Well you have come to the right place.  TL;DR This is guide. It will hopefully save you time. Rejoice. A tale of two frameworks (well actually 3)  I will make this one short and sweet and let this article tell the tale. I recommend to read this article  before you continue:  .NET Standard - Demystifying .NET Core and .NET Standard . To port or not to port It depends If this is your production code and there is no prospect to run it in a platform other than windows then maybe not.  If it is a huge complicated project then maybe not If it is your open source baby maybe yes If it is a new project and you see the benefit of it being cross platform maybe yes The considerations are many and it is up to you