Trouble shooting Windows installers

Windows installers come with MSI (Microsoft Installer) files. It is up to the creator of this installer if you get more information if something went wrong when installing or uninstalling an application. Although via the command line MSI supports the ability to generate log files. In this way it can help you troubleshoot installation failures.

Read More…
Posted in Uncategorized at December 23rd, 2025. No Comments.

Malicious package attacks

Packages are now commonly used within modern software development, with managers like for example nuget we can easily install and update within our solution. These packages are stored on a package distribution platform, from where everyone can download and use these packages. Due to the popularity of this containerized way of working, this also became more interesting for others who want to inject their (malicious) code. In this way their code is integrated in some other solution, without being noticed by the main developer itself and the users.

Read More…
Posted in Uncategorized at October 31st, 2025. No Comments.

Solving bugs using AI

There are several AI tools, like Windsurf and ChatGPT that allows you to analyse your code and change or add code to it. While vibe coding is about creating a solution, using AI, you can also use it to solve bugs. In this blog post I will dive into the pro’s and con’s I discovered when using AI to analyse and fixing bugs.

Read More…
Posted in Uncategorized at August 15th, 2025. No Comments.

Assertions

An assertion are used within programming code, to check if some predicate holds at runtime. This means a check should be true to let the assertion not ‘assert’. When the assertion fails depending on the used assertion framework, it will let the user know that the assertion failed. In this way it can help to make your software more robust against programming errors.

Read More…
Posted in Uncategorized at May 30th, 2025. No Comments.

Contacting me via LinkedIn

LinkedIn is a great way to stay in touch with former colleagues. You can also share your professional thoughts via this social network. It is also used by recruiters, which can check out your professional status and reach out to you. Due to the fact is fairly easy to contact someone via LinkedIn for a job you are offering, it can also lead to annoyance on the receiver part. Most of the messages send by recruiters seems to be copy-and-paste messages, where they only have to put in the proper name of the receiver on top of the message.

If a recruiter wants to have a message back from me, please follow the rules stated below. I like to see it more as someone applying for a job I’m offering :-).

Read More…
Posted in Uncategorized at February 28th, 2025. No Comments.

Scott Hanselman in Veldhoven

On 22 October 2024 I joined the talk of Scott Hanselman in Veldhoven. This evening was organized by the .Net Zuid user group. The atmosphere was nice and the talk was interesting, entertaining and up-beating. In this blog I want to share the things I took away from this evening.

Read More…
Posted in Uncategorized at November 21st, 2024. No Comments.

Showing the output of a function within PowerShell

When a function within PowerShell returns a value, Write-Output for example doesn’t show the output to your console. The reason for this is that Write-Output redirects it output to the output stream and this is in returned by the function.

Read More…
Posted in Uncategorized at October 3rd, 2024. No Comments.

Why we define tasks in scrum

Within scrum, the work is divided in tasks. Tasks are in scrum the smallest unit to define work. A task ideally must not get longer than 1 day to get completed. Getting the story to it’s state done, involves at least getting these tasks to done. What is the advantage of defining tasks?

Read More…
Posted in Agile at May 31st, 2024. No Comments.

The constraint-based assert model

In NUnit 3.0 and higher assertions are primely written using the constraint-based assert model. People using NUnit before this version where used to the classic model which used constructions like this:

const int expectedValue = 2;
Assert.IsEqual(expectedValue, myObject.MyMethodReturningInt());

Can be constructed the following way using the constraint-based assert model (CBAM):

const int expectedValue = 2;
Assert.That(myObject.MyMethodReturningInt(), Is.EqualTo(expectedValue);
Read More…
Posted in NUnit at March 29th, 2024. No Comments.

Choosing the right test strategy

In my previous blog post I described Behavior Driven Development and specifically the tool SpecFlow. Another area within testing is unit testing, which focuses on testing of classes. This already shows two different areas where to focus on when testing. What kind of testing areas do we have and when to use which strategy when?

To have a decent answer to this question, let’s have a look at the test pyramid.

Read More…
Posted in TDD, Testing, Unit testing at February 29th, 2024. 1 Comment.