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 and Appium exist to make our lives a bit easier. App Automate is a product made by BrowserStack and…

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 cluster. There are many alternatives like prometheus that can do alerting and monitoring for you. However by using AKS (Azure Kubernetes Service) you get a lot of Azure tools included. Most prominently the centralized logging with Azure Monitor.…

Handy KQL queries for .NET applications in Application Insights

by Karl Solgård

In Novacare, we utilize Application Insights to monitor our applications. Application Insights uses a query language called Kusto Query Language (KQL for short). Sometimes it's hard to know what data to query. These are some queries that Novacare uses in health checking and monitoring .NET applications. Stacked column chart of…

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.…

How to create tag property using ISelectionFactory in Episerver

by Karl Solgård

A bit of premise; I have a site that uses tagging in articles. This used to be an ISelectionFactory that loaded pages that worked as my tagging data, and the editor would select which tags they needed. To make this friendlier for the editor I want to add a typeahead field in Episerver.…

Vue.js SSR meta tags for .NET Core and JavascriptServices

by Karl Solgård

This post is an addition to "Vue.js server side rendering with ASP.NET Core", written by Mihály Gyöngyösi. Check it out before reading this post! There are good reasons to have your meta tags resolved through SSR.…

Kubernetes, nginx-ingress and Let's Encrypt with cert-manager - Ghost blog on Azure Kubernetes Service

by Karl Solgård

In this post, we're building a simple Ghost blog with HTTPS provided by Let's Encrypt. This will also renew itself. This is initially based on a guide made by Elton Stoneman, but we'll be diving into nginx-ingress, Let's Encrypt and cert-manager as well. Before starting you'll need a couple of…