Skip to content

2026

First (and Last?) Steps With OpenSpec

OpenSpec brings spec-driven development (SDD) to AI coding assistants. The idea is that we move away from vibe coding and use well-established practices for software development inside our AI coding tools. While I love the idea, my first experience was not that promising. Let us see what happened.

Why Requirements Matter So Much for AI Coding Agents

AI coding agents are impressive. Give them a prompt, and they can scaffold apps, write tests, refactor code, and even debug tricky issues. That speed makes them feel almost magical. But anyone who has used them on a real project learns the same lesson quickly: the quality of the output depends heavily on the quality of the requirements.

Requirements are not bureaucratic overhead. They are the map for what to build. A human developer can often fill in missing context through experience, conversation, and judgment. An AI coding agent cannot do that reliably. Combine that limitation with the agent’s speed, and you get a recipe for disaster. High-speed development does not help when you move in the wrong direction.

So how do teams find the right direction? With requirements. But as with all important things, it is not as easy as it looks.

The Prototype Trap

When we use AI coding tools we have to be careful that we do not fall into the prototype trap. Then just because we can prompt a prototype in a few hours does not mean we can take a few additional sessions and turn it into an application. Let us see what I mean by that.

Claude Code Basics: Improve Your Workflow and Save Tokens

Last week we jumped right into the command line interface of Claude Code and vibe coded a tiny application. While this works with larger applications, it is not the best use of our tokens. If we do not want to explain everything every time we come back to Claude, we need a bit more structure. That will help us with fixing wrong technology choices as well. Let us see how easy it is to get more out of Claude Code.

Getting Started With Claude Code

AI tools for code generation are currently the hot topic. Wherever you look, there are tons of articles and videos that show you how easy it is to start and how you can turn your idea into an application. Between you and your dreams is just a 20$ a month subscription and then everything will be great.

If you are a bit more realistic, you know that there is a hook and that the advertised benefits are too good to be true. On the other hand, the tools are much better than what many sceptics say that claim the AI coding tools can only produce slop and are useless. As so often, these tools are multipliers and the better you know how to use them and what their limitations are, the better the results you get.

Over the next weeks I like to take a closer look at various parts of the development process using AI coding tools. I will use Claude Code, because I find it currently the most useful one.

3 Helpful Commands to Fix Windows 11

If your Windows starts to crash a lot, you can try the following 3 commands to fix some common problem sources. The commands may take a while to run, but if they work, you save yourself a fresh installation of Windows.

Little SQL Server Tricks: The STRING_AGG() Function

When it comes to reporting, we often get some special requirements to transform data into a specific form. For one report we had a Workforce table with data that looks like this:

EmployeeId FirstName LastName DepartmentId
1001 John Smith 10
1002 Jane Doe 10
1003 Max Miller 20

For the report, we need to group the employees by DepartementId, and combine all employees with their EmployeeId into this form:

DepartmentId EmployeeFormatted
10 John Smith (1001), Jane Doe (1002)
20 Max Miller (1003)

Little Git Tricks: Fix Reference Broken Error

I run recently into this strange error with one of my Git repositories:

Pull Failed: error: could not delete reference refs/remotes/origin/HEAD: cannot lock ref 'refs/remotes/origin/HEAD': unable to resolve reference 'refs/remotes/origin/HEAD': reference broken error: vs-ssh.visualstudio.com:v3/* did not send all necessary objects

Fix the Missing NuGet Packages Folder in Azure DevOps

As I was refactoring a .Net project, I run into an annoying little problem that cost me a lot of time. While I could compile the project on my developer machine, it failed with this error on Azure DevOps:

[error]...: Error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is packages\SkiaSharp.NativeAssets.macOS.3.119.0\build\net462\SkiaSharp.NativeAssets.macOS.targets.

How to Clone Dashboards in Seq

We use Seq to monitor our applications because it allows us to see all the important information at one place. Our customised dashboards help us to spot anomalies and corelate events without much effort.

Unfortunately, there is no direct way to clone a dashboard as a starting point to customise it for a different application. But with a little workaround we can get what we need, nonetheless.