I always made the assumption that in some way we as humans take rational decisions in a business context. Maybe we do something foolish at h...| bartwullems.blogspot.com
At my current employer we are still using a local build server to host our Azure Pipeline agents and run our builds. Having multiple agents ...| bartwullems.blogspot.com
Due to the licensing changes for AutoMapper, we decided to make the switch to Mapster. Although most changes where rather obvious and easy to achieve, there was one question we couldn’t answer immediatelly: | The art of simplicity
As a software architect I've worked with multiple product managers over the years. Most of them position themselves as the "voice of the customer" or the "bridge between business and technology." Recently, while listening to the Software Captains podcast interview with Peter Janssens(in Dutch) about Product Management, Peter shared a quote that perfectly crystallized what effective product management really should look like in practice:| The art of simplicity
As I gladly accept any kind of performance improvement I can get in my applications, I like to use the System.Text.Json source generator to generate the serialization logic for my Data Transfer Objects. | The art of simplicity
As we see security as a top priority, for every new application that we put in production, we let it be penetration tested first. One remark we got with the last pen test was about the information our servers inadvertently revealed through HTTP response headers. Although I think it is not the biggest possible security issue, exposing details about their technology stack through headers like Server and X-Powered-By, gives some reconnaissance information to potential attackers for free. | The art of simplicity
If you are not using custom instructions with GitHub Copilot, than this post will maybe help to finally get started. Writing your own set of custom instructions can be a challenge and although multiple examples are available, it still can be a challenge coming up with the right set of instructions.| The art of simplicity
After making a small change to an ASP.NET core application, I got the following runtime error:| The art of simplicity
I’m currently working on 'Aspirifying' (don't know if that is a correct verb' multiple applications. After enabling Aspire for one application, the Aspire Host failed to launch with the following error message:| The art of simplicity
When upgrading an ASP.NET Core application to .NET 9, I encountered the following error in my integration tests:| The art of simplicity
If you're like most developers, you probably don't get excited about upgrading legacy applications (at least I don't) . The process is traditionally time-consuming, risky, and filled with tedious manual work. But Microsoft has recently released something that could change that experience entirely: the GitHub Copilot app modernization – Upgrade for .NET extension, now in public preview.| The art of simplicity
As I like to to program not only in C# but also F#, there are some paradigms and features in F# that influence my C# coding style. One of those features is F# type abbreviations that make complex type signatures more understandable and expressive. Since C#12, you have a similar feature available in C#: type aliases using the using directive. | The art of simplicity
While helping a team getting their failing build back up and running I noticed that they were using one big build pipeline that only consists of one stage. This not only made the pipeline more difficult to understand but also makes the build time very long and forces you to rerun the full build if one specific step fails.| The art of simplicity
Debugging database queries in Entity Framework Core can sometimes feel like searching for a needle in a haystack. When your application generates dozens or hundreds of SQL queries, identifying which LINQ query produced which SQL statement becomes a real challenge. | The art of simplicity
Managing Model Context Protocol (MCP) servers in VS Code has become significantly easier with the dedicated management interface in the Extensions view. While you can configure MCP servers in multiple places throughout VS Code, the Extension tab provides a centralized, visual approach to monitoring and controlling all your available MCP servers.| The art of simplicity
I think everyone has encountered the frustrating scenario where your .NET solution builds perfectly on your local machine but mysteriously fails in Azure Pipelines. Most of the time there is a mistake you made that is easy to fix but sometimes it is the build tooling itself that causes the problem. And that is unfortunately exactly the case when using NuGet Package Source mapping in Azure Pipelines.| The art of simplicity
While working with Azure DevOps pipelines I encountered a frustrating NuGet package restore failure. The culprit behind these issues is Azure DevOps using an outdated version of NuGet by default, which lead to version conflicts and compatibility problems with modern .NET projects.| The art of simplicity
When configuring self-hosted Azure DevOps agents on Windows, one often-overlooked setting can significantly improve security and resource access control: the SERVICE_SID_TYPE_UNRESTRICTED.| The art of simplicity
It seems that I’m a little behind on what has changed in Azure DevOps Server recently. While helping my team migrate our existing build servers to some new infrastructure, we encountered a problem when trying to download the agent binaries. | The art of simplicity
If you've ever managed self-hosted agents in Azure DevOps, you know how quickly disk space can vanish. Between build artifacts, source code, and temporary files, agents can become cluttered fast. That’s where maintenance jobs come in—a built-in feature designed to keep your agents tidy and your pipelines running smoothly.| The art of simplicity
Our journey continues, as we keep finding new features to explore in the Microsoft.Extensions.AI library. Today we have a look at the support for MCP.| The art of simplicity
Still not at the end of our journey, as we keep finding new features to explore in the Microsoft.Extensions.AI library. Today we have a look at the support for Structured Output.| The art of simplicity
We continue our journey through the Microsoft.Extensions.AI library. Another basic feature that you certainly will need when building your own AI agents, is a way to keep track of your chat history. This is useful as it allows the LLM to build up a context based on the interactions that already took place. | The art of simplicity
Back from holiday with my batteries charged 100%. Time to continue our journey in the Microsoft.Extensions.AI library. Today we have a look...| bartwullems.blogspot.com
The two-ear Product Manager: Why balanced listening is your superpower| bartwullems.blogspot.com
A few years ago I blogged about enabling gzip compression for ASP.NET MVC applications; https://bartwullems.blogspot.com/2013/03/enable-dyna...| bartwullems.blogspot.com
A few weeks ago I got contacted by someone(Hi Chris!) who was trying to get my Semantic Kernel demo's up and running on his machine. Chris...| bartwullems.blogspot.com
I'm on a journey discovering what is possible with the Microsoft.Extensions.AI library and you are free to join. Yesterday I looked at how ...| bartwullems.blogspot.com
Last week I finally started my journey with Microsoft.Extensions.AI after having used only Semantic Kernel for all my agentic AI workflows...| bartwullems.blogspot.com
I picked up a bug today where we got a NullReferenceException . I thought this was a good scenario where I could ask GitHub Copilot to find ...| bartwullems.blogspot.com
Imagine learning programming concepts not through dry textbooks or boring exercises, but by embarking on epic quests in mystical realms. Doe...| bartwullems.blogspot.com
Last year, when the AI hype really exploded, the 'go to' library to build AI solutions in .NET at that time from Microsoft was Semantic Kern...| bartwullems.blogspot.com
As rewarding coaching can be, as challenging it is. While reading the 'How to be a more effective coach?' post by JD Meier, he shared one '...| bartwullems.blogspot.com
The Module DLL C:\WINDOWS\system32\inetsrv\aspnetcore.dll failed to load. The data is the error.| bartwullems.blogspot.com
GitHub Copilot–3 misconceptions why people don’t use it| bartwullems.blogspot.com
One of the mantra’s I always preached for my teams was the concept of 'Continuous Improvement'. The idea is simple and appealing: we constan...| bartwullems.blogspot.com
I have been in a leadership role for many years and had the opportunity to follow multiple leadership trainings. These trainings all agree t...| bartwullems.blogspot.com
Getting started in the world of AI development can be a challenge. Every day new libraries, models and possibilities appear. So what is your...| bartwullems.blogspot.com
Although GitHub Copilot is now available for some time in VSCode, Visual Studio and almost every other popular IDE, for a lot of people it s...| bartwullems.blogspot.com
After using the GitHub Copilot Agent mode for some time in VS Code, I finally found some time to give it a try in Visual Studio. Agent mode ...| bartwullems.blogspot.com
So far my ‘go to’ approach for using language models locally was through Ollama and Semantic Kernel. With the announcement of Foundry Local ...| bartwullems.blogspot.com
Last week I was watching a panel session recorded at the GOTO conference last year. During this session Daniel North, the originator of BDD,...| bartwullems.blogspot.com
In the world of software engineering, the Lehman's Laws of Software Evolution are widely recognized as a fundamental framework for understan...| bartwullems.blogspot.com
For the last 2 days I have been struggling with a breaking change I had in my ASP.NET Core web api that caused the consuming application to ...| bartwullems.blogspot.com
Yesterday I talked about a breaking change I had inside my ASP.NET Core web api that caused my application to fail. I had a header parameter...| bartwullems.blogspot.com
Although it is not the first time that I stumble over the nullability feature and breaking changes, this one still caught me by surprise. Le...| bartwullems.blogspot.com
In JUnit you have the @RepeatedTest annotation. This annotation allows you to run a single test method multiple times with different execut...| bartwullems.blogspot.com
If you are new to GitHub Copilot or other AI coding assistants, it can be a challenge to get good results as you are still learning on how t...| bartwullems.blogspot.com
After upgrading the .NET Aspire NuGet packages to the latest version on one of my projects, I started to get the following compiler error: ...| bartwullems.blogspot.com
f you have never heard about Property based testing, I would recommend to check my blog series about it first. But if you are too lazy to go...| bartwullems.blogspot.com
MarkItDown with Ollama–Process images inside documents| bartwullems.blogspot.com
While working in Visual Studio today I noticed a message appear at the top my idea. The message stated the following: Speed up your git ex...| bartwullems.blogspot.com
Not a long post today, just an interesting visualization I noticed; the LLM timeline . This timeline shows the fast evolution of large langu...| bartwullems.blogspot.com
Let's continue our joruney in discovering Scalar . Today I want to talk about how we can integrate security. Most API's that we build today ...| bartwullems.blogspot.com
A long time ago, we made the decision to implement some features using batch processes that were scheduled to run at night (most of them as ...| bartwullems.blogspot.com
While everyone is focusing all the announcements at Build 2025, I'm still processing some of the older recently announced features. A featur...| bartwullems.blogspot.com
Today while explaining my son how our heating system works, it brought me back to my earlier post about organization charts. Same as in hea...| bartwullems.blogspot.com
In this post I continue my investigation of using Scalar as an alternative to Swashbuckle that I was using before to expose my OpenAPI metad...| bartwullems.blogspot.com
In boardrooms and mission statements across the globe, "servant leadership" has become the philosophy du jour. Leaders proudly proclaim thei...| bartwullems.blogspot.com
With the release of .NET 9 , Microsoft has removed Swashbuckle from the default Web API templates. If you have never heard about Swashbuckl...| bartwullems.blogspot.com
Today I lost a lot of time investigating a stupid(aren’t they all?) issue with some failing tests on the build server. The strange thing was...| bartwullems.blogspot.com
I know, I know, .NET 10 is already in preview and I am still catching up on what was added to .NET 9.0. Today while upgrading an older appli...| bartwullems.blogspot.com
This week a colleague contacted me with an issue he encountered after upgrading to .NET 8.0. On the project involved we were using the WsFed...| bartwullems.blogspot.com
I got contacted by someone from my team that INSERTs were failing on one of our database instances. A look at Application Insights showed th...| bartwullems.blogspot.com
Yesterday on my way home, I was listening to the SoftwareCaptains podcast episode with Mathias Verraes (sorry, the episode is in Dutch). On...| bartwullems.blogspot.com
A while back I talked about a memory leak we had in one of our applications. As a consequence, it brought the full production environment t...| bartwullems.blogspot.com
Today I had to make a fix in an old project that was still using Team Foundation Version Control (TFVC). It immediately made me appreciate G...| bartwullems.blogspot.com
I don't see criticism and (a certain level of) conflict as unhealthy in an organization. The contrary! It is when people stop raising their ...| bartwullems.blogspot.com
The Phi family keeps growing with the recent introduction of the Phi-4-Reasoning, Phi-4-mini and Phi-4-multimodal models. These new models i...| bartwullems.blogspot.com
I don’t know what happened but somehow I succeeded to miss the latest .NET Conf Focus edition. And this time, it was all about a topic that ...| bartwullems.blogspot.com
Yesterday I wrote about a pet project I'm working that is using Angular 19. Turns out that some things have changed compared to previous ver...| bartwullems.blogspot.com
For a pet project I'm working on, I created a new Angular application using Angular 19. I used the same Github Actions setup I was using for...| bartwullems.blogspot.com
The last weeks I'm thinking a lot about organization design and how to improve/optimize our organization. I see well-intentioned improvement...| bartwullems.blogspot.com
Through the MCP integration in GitHub Copilot, your AI agent is no longer limited to interactions with your IDE but can interact with your l...| bartwullems.blogspot.com
My boss sent me a link to the following Youtube video: I especially liked the following quote in the presentation: “Take control and...| bartwullems.blogspot.com
Part of my job is working on presales activities. Typically, this involves answering RFI's and RFP's by creating solution designs, project p...| bartwullems.blogspot.com
The AI development landscape is evolving at an astonishing pace, with new tools emerging every day across every aspect of the development p...| bartwullems.blogspot.com
Every software project accumulates technical debt. Like financial debt, it compounds over time if left unaddressed, making future changes in...| bartwullems.blogspot.com
Last week I had the opportunity to participate and speak at Future Tech 2025. And although it was the 7th edition, it was my first time ther...| bartwullems.blogspot.com
As I like to experiment a lot with AI, I always have to be careful and keep my token usage under control. And although the token cost has de...| bartwullems.blogspot.com
Although the csproj file evolved and simplified a lot over time, the Visual Studio solution file (.sln) remained an ugly file format full of...| bartwullems.blogspot.com
I like to read a lot . Next to all the fiction novels, I typically go back and forth between technical and more leadership books. The last b...| bartwullems.blogspot.com
Agents are the next big thing in GenAI and with the introduction of Agent mode last week, agentic AI are now coming to GitHub Copilot as wel...| bartwullems.blogspot.com
Reducing the carbon footprint and CO2 emission of our (cloud) workloads, is a responsibility of all of us. If you are running a Kubernetes c...| bartwullems.blogspot.com
As a developer there are a lot of small tasks you need to do as part of your coding, debugging and testing activities. DevToys is an offli...| bartwullems.blogspot.com
I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markd...| bartwullems.blogspot.com
One of the most precious gifts I got from my parents is a love for books and reading. It's a gift that keeps on giving, opening doors to new...| bartwullems.blogspot.com
Today I was helping a colleague to get an existing application containerized. To run the containerized workload we were using Podman Desktop...| bartwullems.blogspot.com
I'm a big fan of the Central Package Management feature of NuGet. This allows to manage your NuGet package versions centrally instead of at ...| bartwullems.blogspot.com
Of course you have provided all your developers with a Github Copilot license. But do you have a clue on how they are using it? In this post...| bartwullems.blogspot.com
Retrieval-augmented regeneration, also known as RAG, is an NLP technique that can help improve the quality of large language models (LLMs). ...| bartwullems.blogspot.com
I continue my journey on getting the most out of Github Copilot. Today I want to take a look at Copilot Edits as another way to use AI in yo...| bartwullems.blogspot.com
Last week I was listening to an Coaching For Leaders podcast when Stephen M. R. Covey was the guest. Stephen is a bestselling author and for...| bartwullems.blogspot.com
While browsing through the list of changes in .NET 9, I noticed a remark about the SearchValues functionality. I had no idea what it does s...| bartwullems.blogspot.com
I lost a lot of time today with a stupid issue I had with docker. I’m playing around with OpenUI (more about it in another post) and wanted ...| bartwullems.blogspot.com