Create a Windows installer from scratch with WiX Toolset

Introduction For a side project I am busy with I had to create a Windows installer to distribute the software to user's computers. I investigated several options and decided to use WiX Toolset because it is open source and there is a large community using it and interacting in a…

Read this article

My take on how to become a better software developer

I am not a rockstar ninja on fire developer and I do not aspire to be one but I have been pushing myself to learn more about the craft. This is a list of ideas I am putting in practice to improve my skill set. I hope that someone can…

Read this article

Automated penetration testing in the Microsoft stack with OWASP ZAP

Introduction This article explains how we can do automated penetration testing in the Microsoft stack using OWASP ZAP in combination with Team Foundation Server (TFS) and C#. As a final result we will have TFS builds running penetration tests against websites of our choice. Background In a project I'm involved…

Read this article

How to create Jira user story cards programatically

Introduction The company I work for uses Jira v6.0.1 as an issue tracker. It also uses a plugin called Greenhopper (Jira Agile) that gives agile extensions to Jira. Although it provides a variety of ways to visualize user stories we wanted to print the user stories to create…

Read this article

Generic HttpClient.GetAsync

Recently I needed to make calls to several WebApi controllers from C# code and, instead of having code duplication throughout my application, I wrote a little generic class that wrapped the call logic. I ended up with the following class: public class AsyncHttpClient<T> where T : new() { public…

Read this article

Real-time notifications with SignalR

Introduction Sometimes server side operations take time. It's not really user friendly to have users pressing a button and waiting 30 seconds for some operation to be executed, with the only progress information being a spinning wheel. If you have server side operations that are time consuming and you would…

Read this article