Kenneth Truyers
user

Kenneth Truyers

.NET developer at Appyparking, Pluralsight Author and Microsoft MVP


Featured

best practices patterns simplicity

Simple code: a sample app

Posted on .

In my last few posts I have hammered a lot on simplicity in software. In my first post (Simplicity in software) I explained what the difference is between easy and simple code (or hard and complex code). On the basis that introducing frameworks and libraries i…

Featured

best practices patterns simplicity

Using partial application for dependency injection

Posted on .

In my post on how to simplify code by using composition instead of an AOP-framework I showed a way of substituting attribute based programming with a more composable paradigm. The result of that transformation will be my starting point for today’s post. For re…

Featured

best practices patterns simplicity

How to use Pure DI

Posted on .

In my previous posts I talked about how you can decrease dependency on external libraries and frameworks while making your code simpler (not easier, simpler). In this post I want to continue on the same thread and show some of the benefits of Pure DI (as oppos…

Featured

.NET best practices patterns simplicity

How to ditch your ORM

Posted on .

In my previous post on how to simplify code by using composition I talked about how we can reduce complexity by removing an AOP-framework (or annotations-based programming). In this post I want to continue on the same line and talk about how we can reduce comp…

Featured

.NET AOP best practices dependency injection patterns simplicity

Simplify code by using composition

Posted on .

In my post about software simplicity I talked about how we introduce complexity in software without realizing it. In this post I want to discuss a pattern that allows you to get rid of the complexity introduced by using annotations or aspect oriented concepts.…

Featured

best practices dependency injection development patterns simplicity

Simplicity in software: what you see is not what you get

Posted on .

As software developers we put a lot of focus on simplicity. And rightly so, because making code readable and understandable keeps it from becoming a maintenance nightmare. Simplicity is often confused though with how many lines of code there are. When you use…

Featured

Azure Cloud Continuous Delivery Powershell

Deploying cloud services to Azure with Powershell

Posted on .

Recently I was asked to create an automated deployment from TeamCity for an Azure web role. I had done this before with Azure websites so I figured the process was going to be similar. For websites you can use msdeploy  which is relatively easy to configure. T…

Featured

Introduction to Domain Driven Design, CQRS and Event Sourcing

Posted on .

I recently started learning about domain driven design, CQRS and event sourcing. Up until now, I have been mostly involved in projects that use a ‘classic’ N tier/layer architecture with a relational database. As projects become more complex, I noticed that th…

Featured

development tools windows 8

Improve your command-line experience with ConEmu

Posted on .

Over the last decade, almost all software has made huge leaps in usability. Browsers have gotten tabs, you can do everything off-line and interfaces are slicker than ever. And then there’s the windows command-prompt. Nothing has changed over the last decade or…

Featured

Acceptance Testing development patterns

Rapid agile testing: pair testing

Posted on .

When doing some bug fixing recently I, more or less accidently, stumbled upon a really easy and useful technique to quickly test and fix an application. Since then, I have applied the technique a few times and the results are really astonishing. Since I found…

Featured

.NET Acceptance Testing best practices unit testing

Automated acceptance testing with Cucumber for .NET and JAVA

Posted on .

One of the biggest problems in software development is communication. Although we have a lot of technology at hand, the more complex a project is, the harder it is to communicate efficiently. In order to improve the interaction between clients, project manager…