Best practices for good PR's

To understand what constitutes a good pull request, we must first define the reason why we use the pull request process:- PR's are a great way of sharing information about the code base. - It creates an extra gate before our code goes to production- It improves code quality. | Continue reading


@kenneth-truyers.net | 5 years ago

Best practices for good PR's

To understand what constitutes a good pull request, we must first define the reason why we use the pull request process:- PR's are a great way of sharing information about the code base. - It creates an extra gate before our code goes to production- It improves code quality. | Continue reading


@kenneth-truyers.net | 5 years ago

What's new and coming in C# 8.0

Another year, another C# update. This time we’re up for already C# 8. I want to dive into the most likely new C# 8 features, what they look like and why they’re useful. Disclaimer: The information in this blog post was written well before the release of C# | Continue reading


@kenneth-truyers.net | 6 years ago

What's new and coming in C# 8.0

Another year, another C# update. This time we’re up for already C# 8. I want to dive into the most likely new C# 8 features, what they look like and why they’re useful. Disclaimer: The information in this blog post was written well before the release of C# | Continue reading


@kenneth-truyers.net | 6 years ago

Refactoring taken too far

I came across a tweet today about refactoring badly written code. I’m always interested in that, so I saw a few fellow devs had taken some badly written code and then applied refactoring to it, following good software design principles. It all started with this article on CodePro … | Continue reading


@kenneth-truyers.net | 7 years ago

Refactoring taken too far

I came across a tweet today about refactoring badly written code. I’m always interested in that, so I saw a few fellow devs had taken some badly written code and then applied refactoring to it, following good software design principles. It all started with this article on CodePro … | Continue reading


@kenneth-truyers.net | 7 years ago

Git as a NoSql database

Git’s man-pages state that it’s a stupid content tracker. It’s probably the most used version control system in the world. Which is very strange, since it doesn’t describe itself as being a source control system. And in fact, you can use git to track any type | Continue reading


@kenneth-truyers.net | 7 years ago

Open source software on company time

Most developers love open source software, and often we come across a piece of software that we’re writing and think “it would be great if that already existed as an open source package”, but then, it doesn’t. Since we’re writing software for a company, the natural tendency | Continue reading


@kenneth-truyers.net | 8 years ago

Avoiding code ownership

Creating development silos, is a practice I have seen in many different teams. What I’m talking about is having developers specialize in parts of the domain, i.e. one developer handles all the code related to invoicing, another one does everything around order management, etc. It … | Continue reading


@kenneth-truyers.net | 8 years ago

Database migrations made simple

I make no secret of the fact that I don’t like ORM’s. One part of why I don’t like them is the way they handle database migrations. To successfully create and execute database migrations, you often need to know quite a bit about the framework. I don’ | Continue reading


@kenneth-truyers.net | 8 years ago

Writing custom EsLint rules

In statically compiled languages, we usually lean on the compiler to catch out common errors (or plain stupidities). In dynamic languages we don’t have this luxury. While you could argue over whether this is a good or a bad thing, it’s certainly true that a good static analysis | Continue reading


@kenneth-truyers.net | 8 years ago

Iterators and Generators in Javascript

Last week I wrote about the yield return statement in c# and how it allows for deferred execution. In that post I explained how it powers LINQ and explained some non-obvious behaviors. In this week’s post I want to do the same thing but for Javascript. ES6 (ES2015) is | Continue reading


@kenneth-truyers.net | 8 years ago

Yield return in C#

The yield return statement is probably one of the most unknown features of C#. In this post I want to explain what it does and what its applications are. Even if most developers have heard of yield return it’s often misunderstood. Let’s start with an easy example: IEnumerable | Continue reading


@kenneth-truyers.net | 8 years ago

Impressions as a rookie Microsoft MVP

Last week I attended my first Open MVP day since I got the Microsoft MVP award. It was a great experience and I wanted to share what I learned and shout out to the great professionals I met there. For me, it’s an honor to be part of this | Continue reading


@kenneth-truyers.net | 8 years ago

Impressions as a rookie Microsoft MVP

Last week I attended my first Open MVP day since I got the Microsoft MVP award. It was a great experience and I wanted to share what I learned and shout out to the great professionals I met there. For me, it’s an honor to be part of this | Continue reading


@kenneth-truyers.net | 8 years ago

Javascript sandbox pattern

A few years ago I wrote a post about Javascript namespaces and modules. In that post I discussed a pattern for isolating your code from outside code. I also promised to write up another pattern, the javascript sandbox pattern. I never did though. Lately I received a few emails ab … | Continue reading


@kenneth-truyers.net | 8 years ago

Technical debt: managing code quality

Technical debt is usually seen as a negative factor in a development process. While having too much technical debt is indeed a good indicator for a project gone bad, technical debt is not always a bad thing. What is technical debt? When you start writing code you usually have a | Continue reading


@kenneth-truyers.net | 8 years ago

Code Reviews: why and how?

Of all the practices implemented to improve code quality, such as unit testing, continuous integration, continuous deployment, daily stand-ups, I find the most important one is doing proper code reviews. Code reviews have a lot of advantages: It’s much easier to spot problems wit … | Continue reading


@kenneth-truyers.net | 8 years ago

Build 2016 announcements

Build 2016 is finished and as always it was great to see Microsoft bringing new opportunities to businesses and developers. Unfortunately I wasn’t able to attend, but luckily, the live stream of all the important sessions, especially for the keynotes, made up for that. These are … | Continue reading


@kenneth-truyers.net | 8 years ago