Logging SSL certificate data to Azure Log Analytics

by Karl Solgård

There's no built-in way to log SSL data with Azure Application Insights. APIs for SSL analytics exist and that data could be sent in with the "Azure Monitor HTTP Data Collector API".…

.NET Tip: Feature toggling inside DI-containers

by Karl Solgård

A pivotal moment in the history of an application is when a service changes drastically and deployment becomes a subject of stress and uncertainty. The service might be deemed as unhealthy in a production environment whereas it worked just fine in the test environment.…

Supporting multiple valid issuers in identity server with JWT tokens

by Karl Solgård

Changes in software are inevitable. Every part - even the most permanent - of a system might change at some point. The issuers of JWT tokens in your identity server is an example of such a part. When we look at an openid configuration one can find various information about…

Making an arcade cocktail table - Raspberry pi 3B+ and Retropie build

by Karl Solgård

While on a company outing with NOVACARE to a nearby arcade pub, I came across a table with a built-in arcade system. I thought to myself that this would make a great piece of furniture in my house. I already own a Raspberry pi 3 and I have a spare…

BrowserStack Appium & Visual Studio AppCenter test automation

by Karl Solgård

Regression testing for mobile apps can be tough. The wide array of phones and OS versions makes testing for mobile applications a time consuming and tedious task. Luckily, tools like BrowserStack [https://www.browserstack.com/] and Appium [http://appium.io/] exist to make our lives a bit easier. App Automate…

Streamlining TypeScript development with webpack dynamic imports

by Karl Solgård

HTTP/2 is upon us. Lazy-loading resources doesn't have the same performance disadvantages as in HTTP/1. This allows us to prefer loading many files on demand rather than loading a big blob of JavaScript on the initial load. Let's look at a pattern that simplifies the process of creating…

Threading issues in Entity Framework Core 3.0 health check

by Karl Solgård

Following the exciting release of .NET Core 3.0, I was expecting that our services would handle the upgrade from 2.2 to 3.0 with ease. After the upgrade, however, the services sometimes responded with "Unhealthy" and a 503 status code! > The connection was not closed. The connection's current…

Set alerts on crashed Kubernetes pods in Azure Kubernetes Service

by Karl Solgård

It's not always easy to tell what is happening inside a kubernetes [https://kubernetes.io/] cluster. There are many alternatives like prometheus [https://prometheus.io/] that can do alerting and monitoring for you. However by using AKS [https://azure.microsoft.com/nb-no/services/kubernetes-service/] (Azure Kubernetes Service) you get a…

Handy KQL queries for .NET applications in Application Insights

by Karl Solgård

In Novacare, we utilize Application Insights [https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview] to monitor our applications. Application Insights uses a query language called Kusto Query Language [https://docs.microsoft.com/en-us/azure/kusto/query/] (KQL for short). Sometimes it's hard to know what data to query. These…

How to inherit TinyMCE config from base content type in Episerver

by Karl Solgård

A tiny tip for all of you that have set up the newest TinyMCE package for Episerver. With Episerver version 11, TinyMCE got updated to the newest version and got its own nuget package.…