Setting up my MacBook Pro for software development in .NET

by Karl Solgård

Setting up a MacBook Pro for the first time is a ritual that allows new perspectives to shine. This is my first time using a MacBook Pro for software development and I got to say that the machine is a powerhouse! Like in any relationship, It's always exciting…

Run Entity Framework Core Migrations with Kubernetes Jobs and Managed Identity

by Karl Solgård

Database migration is a flexible operation. You can run them as a deployment step on a build server. The disadvantage of that approach is a larger window between migration being applied and the application being ready to run. This is an even bigger issue when trying to employ GitOps strategies…

Super thin reverse proxy with YARP and Refit

by Karl Solgård

Discovering technology that perfectly aligns with our needs is always exhilarating. YARP, a Microsoft creation, is one such gem, especially when it comes to managing requests through a proxy. This article delves into integrating YARP with Refit to create an efficient reverse proxy setup. What is a Reverse Proxy? Before…

Moving from AAD Pod Identity to Workload Identity in AKS

by Karl Solgård

Managed identities are a good way to avoid secrets and enhance the security of your application. Workload identity provides a means to connect your AKS cluster to managed identities. The previous method of connecting these identities to AKS involved installing AAD Pod Identity in the cluster and using CRDs (Custom…

Snakes on a Cube - A journey with Raspberry Pi and LED screens

by Karl Solgård

With a new year beginning, I can sit back and reflect on the amazing things that happened last year. One of my favorite things is making the snake game on the Raspberry Pi.…

Using NDepend to uncover code smells

by Karl Solgård

Code quality should be a high priority for a coder. NDepend is a tool that helps coders to sniff out the smells in their code. After a friendly chat with the NDepend's author, Patrick Smacchia, I got started using the tool on my projects. Installation on Linux The…

Secretless access to Azure services in AKS using Token Credentials and managed identity

by Karl Solgård

Phew, that's a mouthful! Working with AKS sometimes is. However, I can assure you that this approach to securing your applications in your Kubernetes cluster is worth it. The advantages to have a secretless solution are many: * No secrets are lost in the wild 🐅 The need to send…

Watering herbs with Raspberry Pi - Smart irrigation system made with sensors and Azure IoT Central

by Karl Solgård

I saw an ad for self-watering plant pots a while ago - and I thought it looked pretty neat. As I looked at the hefty price of 4.000 NOK for the system, I thought to myself that it would be cheaper and more fun to make my own with…

How to work with lists in .NET dependency injection

by Karl Solgård

After posting a tweet about passing multiple interfaces into the .NET service container and resolving the services as an IEnumerable in the constructor, I thought it would be a good idea to write more about it in detail.…

How to save and deploy Azure alerts as code in Bicep

by Karl Solgård

Bicep is the new kid on the block when it comes to IaC (Infrastructure as Code). It ties closely with ARM-templates. It's flexible and easier to use and read than ARM. Alerts can be hard to keep track of in a IaC setup. Let's try to…