Continuous Integration Part 1: Managing your source code with CruiseControl.NET and Subversion

This article has become obsolete.

I was planning a series of articles on implementing continuous integration but quickly found myself expanding the scope to build management and more. So I split this article in two and posted the contents here:


29 October 2006: original version
4 November 2006: Split article in two new articles, left this entry for reference


Implementing a Development Environment

Developing software is more than just writing code.

It involves some paperwork like writing software design specifications, writing documentation.
It involves building the binaries from your code and deploying them.
It involves testing your binaries: unittesting, integration testing, etc…
It involves managing your source code, versioning it, etc…

To do this, you need a lot of tools.
These are the tools we use:

Continue reading

NHibernate Part 5: Mapping techniques for aggregation – Many-To-One and Many-To-Many mapping

Updated code available for NHibernate 2.0.1.GA here.
The toolingset used is Visual Studio 2008 and Sql Server 2008

The final part in my experimentation series on NHibernate which discusses aggregation.

In this post I will discuss the following forms of aggregation:

  • many-to-one: an object is used by many other objects
  • many-to-many: an object is itself used by many other objects and vice versa

Continue reading

Book review: Customizing the Microsoft .NET Framework Common Language Runtime

Book data

  • Title: Customizing the Microsoft .NET Framework Common Language Runtime
  • Author: Steven Pratschner
  • ISBN: 0-7356-1988-3


The book starts of in chapter one by discussing the topic at hand: hosting the CLR and extending it. Hosting as in integrating the CLR with Internet Information Services or SQL Server 2005, extending as replacing some basic services provided by the OS or the .NET Framework irself by your own implementations. Examples of the last are replacing the way assemblies are stored by your own mechanism, replace the threading mechanism by your own mechanism, etc…

Continue reading