Return well formed error responses from your REST APIs

REST recommends using standard HTTP status codes to indicate what has happened on the server in response to a request. Errors from 4xx and 5xx family are used to indicate that request is not processed and there is some error either on the client side or on the server side…

Is SuperFetch killing your Windows 10?

I recently upgraded my Dell XPS laptop to Windows 10. This laptop has 6GB of RAM and was running Windows 7 for last 3.5 years without any complaints. It took time to boot but once booted, it rocked. After upgrading to Windows 10, I started noticing intermittent lags and…

BDDfy your browser testing with FluentAutomation

I have been using Cucumber/Watir/Ruby for browser automation and behavior tests. It has worked great so far. Lack of something like Cucumber in .NET world had always baffled me and then SpecFlow happened. SpecFlow works great within .NET eco-system but has it's own overheads like Cucmber does. For…

Interfaces or Abstract Classes?

How do you choose between interface and abstract class? I have been asking this question in interview for some years now. I get to hear lot of interesting answers from folks. And these answers have helped me make great addition to my knowledge. If you google this topic you would…

Unit testing Web API message handlers

If you have used message handlers within a Web API project then you know they are powerful beasts. They literally give you power to modify requests and responses the way you want. But their implementation makes unit testing slightly difficult. Consider for example following simple message handler. public class LanguageHandler…

What's new in C# 6.0

C# 6.0 has some cool new features. If you have missed the announcement from Build 2014 then here is the recording of the session. The session talks about Roslyn (the shiny new C# and VB compiler biult in C# and VB respectively) so you if you are not interested…