Using Windows Azure for the continuous integration

I’ve finally got time to study Windows Azure a bit more tonight. The task to achieve during this session was simple: reliably execute arbitrary code against the running cloud without even touching the Development Fabric. This could be useful, for example, in automated benchmarking of the evolutionary algorithms that is fired by the CC.NET integration …

How to Use .NET 3.5 Features and C# 3.0 Syntax in .NET 2.0?

It is possible to benefit from some of the .NET 3.5 features and new syntactic sugar in C# 3.0, while still targeting customers that have only .NET 2.0 Framework. That’s because these two versions share the same .NET CLR and mainly differ in the set of libraries available and compiler being used. Features that you …

Better C# Design Contracts in Lokad Shared Libraries

I’ve just finished updating Enforce statements from the Lokad Shared Libraries with the new syntax that is based on retrieval of parameter name from .NET lambda with IL parsing. A couple of usability and stability issues were discovered and fixed wile pushing changes to the existing code-bases leveraging Lokad Shared. And so there is the updated …

Development Compromises Around Lambda Expressions

I’ve spent some time investigating the ability to leverage C# Linq lambda expressions for retrieving name and value of .NET parameter or variable. It would have allowed to achieve two objectives: Make code shorter and reduce the duplication Prevent the code from turning inconsistent after refactorings. These two lines illustrate that clearly: Enforce.Argument(eventEditorController, “eventEditorController”); Enforce.Argument(() => …

How to Use SystemUtil to Write .NET Code With Testable Sleep and Time Calls

One of the things, that you might have seen in the code snippets around this blog, is usage of SystemUtil.Sleep and SystemUtil.Now instead of the Thread.Sleep and DateTime.Now here and then. The reason for these replacements is simple – they make unit tests much easier to write and read. And, in the case of Sleep, they also allow tests run instantly (as opposed to …