Get started with OpenAI in Azure AI Studio

/media/quob1hh2/azureaistudiocover.png

A few months ago, at the Microsoft Build 2024 Developers Conference in Seattle, Azure AI Studio was made generally available after being in preview since November 2023. In this blog post I will guide you through getting started with Azure AI Studio and demonstrate how to send a prompt to a GPT model using the OpenAI API.…

Tutorial: How to get started with .NET Aspire & Umbraco 13

/media/2w1jrpuf/cover-24.png

.NET Aspire, the latest iteration in the .NET family, offers a modular, high-performance framework for building web applications.…

Tutorial: How to migrate an existing Umbraco website to .NET Aspire

/media/2u4ola52/cover-25.png

In my previous article I shared a tutorial on how you can get started with .NET Aspire with a brand new Umbraco 13 website running on .NET 8. In this follow-up tutorial I'll cover how you can make the same transition to .NET Aspire but with an existing pre-Umbraco 13 website.…

Integration Testing an Umbraco API using .NET Web Application Factory

/media/dw3d5gl5/cover-16.png

Lately I've been experimenting with the new WebApplicationFactory in .NET 6.0 together with custom Umbraco API controllers to verify that each API endpoint is up and running and that they return the expected output.…

[SOLVED, Manual action required] Performance issue in Umbraco 9-10 when using ContentModel (or ModelsBuilder models) in custom controllers.

If you are using custom controllers with ContentModel or ModelsBuilder models you will experience massive performance issues as your projects scales. This issue is tied to how ASP.NET Core performs validation on object graphs and a fix for this will be shipped but not until v11 as this is a breaking change!…

NUnit vs. xUnit

The endless battle between the two testing frameworks NUnit and xUnit is a hot potato and in this blog post I intend to give my two cents on this topic.…

Troubleshooting a pending pod in a Kubernetes cluster (AKS)

Last week I had an interesting issue with one of our clients AKS clusters, and in the spirit of sharing I thought I would document the solution and share my findings. I find that when it comes to issues in Kubernetes it’s usually not the solution itself that is the tricky part, which is usually just a single command line, but rather finding information and troubleshooting that I find is the most interesting to read about.…

Unit Testing with AutoFixture to generate TestCase data

When writing unit tests I often find myself having to come up with these kind of random test case data. But I recently discovered a package called AutoFixture which not only replaces all of the test case data in my tests but also saves me the trouble of having to come up with these random values myself.…

Using Microsoft Playwright and NUnit to automate search behaviour

/media/t4edno4o/cover-13.png

I have been experimenting a lot with different UI testing frameworks such as Selenium, Cypress and Playwright in a public GitHub project and I’ve really come to fancy Microsoft.Playwright for .NET in combination with NUnit.…

Umbraco project structure

Recently I got to lay the foundation for a new Umbraco 9 project and so I started to question and think about the setup I have been using so far and if it might be possible to improve somehow.…

Rotating certificates in Azure Kubernetes Service (AKS)

Every once and a while certificates on the Azure Kubernetes Service need to be rotated. If you dont you will receive this error when you try to connect to a cluster.…

Parallelism: NUnit vs. xUnit

Running your tests in parallel can significantly improve the speed of your test runs, but it could give you occasional problems especially if you're working on static implementations. Also turns out that depending on which testing framework you're using parallelism might be handled differently.…

Configuring a TLS certificate in Kubernetes

This week I was given the assignment to update a TLS certificate on one of our Kubernetes clusters from a .pfx file and so I though I would share how I solved it and hopefully it can help someone else in the same situation.…