Automated UI Testing Done Right

Background Two years ago I was very sceptical about automated UI testing. I had some painful experience with it because while writing the tests seemed relatively easy, maintaining them would become harder and harder over time to the point where it was impractical to maintain. Over the past year or so, I have been investing more in Automated UI Testing. ...

Read More »

Living with async

I was watching once again The zen of async: Best practices for best performance talk of Stephen Toub’s on //Build and I decided I should blog about how easy is to end up with a deadlock while writing asynchronous code with new C# 5.0 language features (AKA async/await). Here is the quick background first which I was aware of before ...

Read More »

Advice for the newbie developer

Every developer was a newbie once. It doesn’t matter if you’re fresh out of college or been developing software for 10 in this line of work you get to be the newbie from time to time – whenever you learn a new technology or programming language and to some extent whenever you start working in a new place. Lately a ...

Read More »

Simple WCF SOAP-REST Multi-Project Template

Download the source code for this post. I did it again: another multi-project Visual Studio template – this time for a simple WCF service that exposes both SOAP and REST endpoints. My other REST and SOAP templates are intended as a starting point for more real-world WCF services. However, what I often need is a starting point for building a ...

Read More »

The Problem with an Evolutionary Architecture and YAGNI

Among the software architects with a strong voice on conferences, twitter and in the blogosphere there is wide spread agreement that one should bet on evolutionary architecture. The idea behind an evolutionary architecture is that you make decision as late as possible and responsible. Instead of dreaming up a detailed architecture up front you only decide on the parts immediately ...

Read More »

Your ATM doesn’t use transactions

I just got a series of SMSes from my back, saying that someone just made several withdrawals from my account. As I am currently sitting and watching TV, I was a bit concerned. It appears that my wife withdrew some money, but there was an issue with one ATM machine, so she used another one. The problem, I got 3 ...

Read More »

5 Common Antipatterns in Software Project Management

Overplanning/analysis/meetings: Some companies or project teams falls into error of spending time for the project planning & analysis & meetings much more than needed. Planning detail is not needed to be ‘complete’ in each phase. This may be a serious bottleneck for projects. Like planning, analysis is also not needed to be complete at the beginning, except waterfall projects. As ...

Read More »

The Startup Rush

The one very hard to miss elephant in the room amidst all of today’s startup hype is the inevitable question: “are we in a bubble?” I certainly don’t claim to be able to predict the future of the software market, and like most people, I’ve had at least a twinge of skepticism towards all the current software startup hype. However, ...

Read More »

How to handle transactions in ASP.NET MVC3

I got annoyed about having to repeat the transaction handling in every POST method of my controllers. First of all: I don’t want to have to take the unit of work in the constructor of each controller, since that implicitly says that all/most methods uses transactions. And I do not want to have to resolve a factory, since that says ...

Read More »