The Blog

Serializing Anonymous DataMemeber

I've been working win MVC Web API and encountered an annoying problem. It does not, by default serialise anonymous data members.

When you try to serialise this kind of data you get this beautiful exception:

Converting anonymous type to a string also caused exception. But there is also JavaScriptSerializer:

Now using getter,

Continue Reading

One way object binding in JS

This is something I've been putting together this weekend. Due to the fact, that ASP.NET is quite reluctant to get an array of results from a request, I've devised an alternative way of sending data to the server via Web.API. There are already several large frameworks that handle data-binding like Knockout and AngularJS, but these

Continue Reading

Useful Linear Trendline Class in C#

I've searched and searched trying to find a simple class to calculate a slope and intercept from a set of points. Here is the outcome, but I probably modify it to use LINQ rather then loops

Continue Reading

(Remote) File-Based Communication

Scenario: Applications C and P run on the same machines, but are implemented in different programming languages. P contains the functionality that can return a list of addresses given a postcode and C needs to reuse this functionality. If the pieces of code run on the same machines we could implement a file-based communication pattern. We

Continue Reading

Introduction to Services

Large enterprises typically own and operate a large number of software applications either of the shelf, developed in-house or inherited through mergers and acquisitions. Applications can be of heterogeneous e.g. they are written in the same language(s) or they use the same data storage mechanisms and formats. They may also run on the same operating

Continue Reading

Linear Models

The linear software processes come from manufacturing goods. In the past, software was expensive. Virtually all linear software development models suffer from several key disadvantages: limited (or none) client interaction limited (or none) client feedback limited (or none) adaptability to changing requirements In this article, I will explore the 3 fundamental processes: Waterfall V-Model Sawtooth

Continue Reading

Little Introduction To Software Testing

Software testing used to be one of the most underrated area in software development process. Indeed, it is not even covered at the undergraduate level at university (thanks BCS). This article provides an introduction into software testing. It covers: what software testing is, types of testing as well as what and when you should test?

Continue Reading

WordPress 500 Error

Today, I was testing new themes for this blog. Unfortunately, something went wrong and I was greeted by 'Error 500' and no further details. The error occurred on every page and made the website completely unusable. This article will summarise the steps I took to fix this error. Make a back-up Once you connect to

Continue Reading

Software Estimation - Never Underestimate

I had a chance to get my hands on the Software Estimation - Demystifying the Black Art by Steve McConnell. It is a fantastic and well-written book. I thought I would share some of the key things I learnt. This article is the 1st part of a series of relatively short articles summing up the

Continue Reading


The factory is one of the most popular design patterns out there. It is used to simply the creation of the objects of different classes that inherit from a common super-class (or interface X) depending on some condition. The Recipe In order to create a factory for a class X: Create an XFactory class Add

Continue Reading