
Composing reusable AI workflows
Several of my AI workflows need to do similar things: read a ticket and its requirements, understand the relevant code, check the working environment, load company conventions, pla...
Continue reading
Several of my AI workflows need to do similar things: read a ticket and its requirements, understand the relevant code, check the working environment, load company conventions, pla...
Continue reading
A queue is growing, exports are waiting, and the service appears to be running. There are several places to look: queue counts, consumers, connections, routing and application logs...
Continue reading
Updated September 15, 2026 with current pricing and provider reporting. For many teams, working with AI agents is already the default way to develop software. Most of the engineeri...
Continue reading
A requirements document gives us something to build against. There is still a planning step between that document and picking up the first issue: deciding how to divide the work, w...
Continue reading
A planning conversation can leave us with a much clearer idea of what to build. But the decisions are still spread across questions, answers and corrections. Before breaking the wo...
Continue reading
An idea can sound clear until someone asks what should happen when it fails, who should be allowed to use it, or what we actually need in the first version. Those questions can cha...
Continue reading
A useful development workflow often contains more company knowledge than it first appears to. The tracker team, engineering conventions and the place to look for logs can all end u...
Continue reading
Sometimes the next step in an investigation is to look at the database. Has a record changed status? Are there other records in the same state? How many were created during the per...
Continue reading
Logs contain a lot of useful information, but connecting it takes work. Whether investigating an alert, checking unexpected behavior during development or following up on a reporte...
Continue reading
Asking an AI assistant to implement a task leaves quite a few things implied. Which requirements should it follow? How should it break up the change? What needs testing, and what s...
Continue reading
A pull request has come back with review comments. Some point to bugs, some suggest a different approach, and others need a conversation before anything should change. Working thro...
Continue reading
AI can be useful in code reviews, but it is easy to end up at either extreme: dismissing it entirely or accepting its findings without checking them. I think there is a practical m...
Continue reading
Writing tickets is probably not the most exciting part of being a developer. You already know what needs to change, but you still need to open the tracker, write the description, a...
Continue reading
In a microservice environment you can end up with a lot of databases, sometimes because you want hard ownership boundaries, sometimes because it was the easiest way to avoid coupli...
Continue reading
When something goes wrong in production (memory growth, CPU spikes, stuck threads, networking issues), you often need diagnostics from a running Kubernetes Pod. In this post I will...
Continue reading
It’s pretty common for platform engineers and developers to push changes just to test their GitHub workflows. I’ve done it countless times myself, and honestly, it’s a hassle. You...
Continue reading
I’ve relied on Fluent Assertions for years under its Apache 2.0 license, so when v8.0 switched to a commercial license, I had to rethink what free alternatives are available. Why F...
Continue reading
Developers often need to control the current time in tests to ensure consistent results. When using DateTime.UtcNow, test outcomes can vary based on execution time, making them unr...
Continue reading
When working with APIs, databases, or different data models, mapping between types is often necessary. It might feel like extra work, but it helps keep things organized and prevent...
Continue reading
I have always been fascinated about productivity and how we as developer can make things less manual. Today I will show my currently most used custom productivity scripts. Create B...
Continue reading
Today we will explore how to enhance the performance of a poorly performing .NET REST API using dotTrace. Specifically, we will delve into an IO bound problem and leverage dotTrace...
Continue reading
In this guide, we'll start by developing a universal .NET application designed for managing database migrations with DbUp. Our goal is to encapsulate this application within a Dock...
Continue reading
Roslyn analyzer is a tool built on the .NET Compiler Platform which allows developers to perform static code analysis on their .NET projects. These analyzers inspect code for any p...
Continue reading
BDD is a technique that enables teams to grasp project requirements clearly through a shared language. This approach ensures that all project participants collaborate effectively o...
Continue reading
In this article, we're going to craft a .NET template together with template.json. Initially, we will develop a simple template for a WebAPI. After that We will introduce an option...
Continue reading
LangChain is a tool that helps in the creation of applications that want to fit into an existing Large language models (LLMs). While an LLM is good at answer a general question it...
Continue reading
Introduction OpenAI is launching new features super fast right now and we as developer can benefit greatly in keeping up to date with this generative ai trend. This post will inclu...
Continue reading
Introduction When developing software application we include NuGet packages which in turn has software licenses. This license describes how your company should comply when using th...
Continue reading
Introduction So much have happened when it comes to generative AI lately and a huge part of this is due to the launch of ChatGPT. I have been using it on a daily basis both for pri...
Continue reading
As I wrote in my previous post, I would like to test ChatGPT for advent of code challenges this year and this post is about my initial thoughts. Alright, let's dive straight in and...
Continue reading
ChatGPT is launching today and in a perfect timing for Advent of code that begins tomorrow. I would like to try if its smart enough to solve advent of code for me. I've recently tr...
Continue reading
Independently where you work, there is solution architectural standards that need to followed and enhanced. There might be guidelines, such as avoiding the inclusion of contract de...
Continue reading
In earlier posts, I've discussed enhancing productivity with PowerShell and Git, and Tampermonkey is yet another valuable instrument to include in your arsenal of productivity tech...
Continue reading
It has always surprised me that the demand for a unified code format is not that desirable in dotnet. In Node with the support for eslint and prettier, setting up formatting and li...
Continue reading
Advent of Code 2021 has come to an end. I decided to go with TypeScript on Deno, the same approach as last year, which I think works great for these kinds of puzzles. I didn't mana...
Continue reading
Performance issues inside applications comes in many forms and in the best of times they can be easily identified. But they can also get you real stuck and impossible to get your h...
Continue reading
dotnet watch run is a command that can be very handy while developing .NET applications. Its similar to Nodemon in Node.js in that it watches for file changes and restarts the app...
Continue reading
About two weeks ago I got access to github copilot and I couldn't wait to explore it more in depth. To get access, you first have sign up and then wait for a licence. I signed up i...
Continue reading
I recently added some git hooks to my git hook folder for dotnet related work. Its a nice addition to my daily development which makes me more productive. Basically on every time I...
Continue reading
As of powershell 6 you have a module called PSReadLine installed by default. This module changes the editing experience of powershell and is customizable. One thing that I really l...
Continue reading
Even though TypeScript have type checking and type safety you can opt out by using the type "any" for a variable or function. This "any" type have both upsides and downsides as des...
Continue reading
This post has been updated and is now available at: Happy Coding!
Continue reading
At some point in time, it might become handy to visualize your dependencies. Maybe you have a refactoring initiative and want an easy way to display or grasp how things look. In th...
Continue reading
There are many ways to style a website with css. In this post I will share my findings migrating from global css to css modules. Before we start comparing, lets have a quick look a...
Continue reading
I few weeks ago I decided to move on from wordpress and build my own site. Wordpress have served me well for the past 2 years but as a developer it has always felt a bit to much bl...
Continue reading
When I’m working on a long running project, It’s not unusual to be working in a specific area of the code base for a while. Being productive with the terminal and take time to set...
Continue reading
When I started working as a developer I didn’t actually start with git but with TFS. Nowadays, everywhere I go git is standard and based on google trends (picture below) and my exp...
Continue reading
I’ve been quite busy the past month attending Advent of Code 2020 and spent a lot of time to do the assignments. Advent of code is a puzzle game that occurs during advent, from Dec...
Continue reading
In my previous post, I wrote about the new standard of using Redux Toolkit and the beauty it gives on integrating the Redux guidelines into a framework. In Redux Toolkit the last s...
Continue reading
As a developer, we regularly read and learn about new frameworks. We read the API documentation and start implementing. After that or in the best case before we even start, we disc...
Continue reading
Docker.Dotnet is a library that you can use to interact with the docker host Remote API. It’s a great library to use if we want to dynamically create containers that need to be con...
Continue reading
A few months ago I was looking for a new laptop. My demands were quite high… I wanted a super light, easy to carry around laptop that I can do programming on. I also wanted it to h...
Continue reading
As a developer you regularly find bad code. The definition of bad code is a very broad topic and many books have been written to cover different techniques to write better code… an...
Continue reading