Monday, 15 August 2011

Castle Windsor 3.0 beta

Castle Windsor 3.0 beta is available:

There are numerous new features, one of the more interesting ones is that the WCF Integration Facility is now officially part of the release:

Google buys Motorola Mobility

Google has bought Motorola Mobility, the mobile part of Motorola spun off as a separate entity a few years ago.

This makes for an interesting story with respect to Google’s Android partners, HTC, Samsung and around 30 others. Google is now competing against those companies. Will they now focus on another platform where they don’t have to compete with the vendor? Windows 7, say?

Friday, 5 August 2011

String Comparison in .NET

Hate stuff like this:

if (myValue == "true")

Like this:

int compareResult = string.Compare(myValue, true.ToString(), StringComparison.OrdinalIgnoreCase);

Two things.

  1. Explicit control over casing, nothing is assumed.
  2. No magic hard coded string i.e. true.ToString() versus “true”.

Note that true.ToString() is actually “True”.

Wednesday, 3 August 2011

Finding duplicate SPNs

You can’t have duplicate Service Principal Names (SPNs), its just not allowed. An SPN with a duplicate will not work. To find all duplicate SPNs in your domain, simply run the following:

setspn.exe –x

And that is it.

Tuesday, 2 August 2011

ThoughtWorks Technology Radar July 2011


Continuous delivery
Maximise automation including “infrastructure as code” (see below), environment management and deployment automation. This is about taking control of your deployment process, reducing time the taken to get changes into production from weeks or months to days (or less). This is different from the recent concept of “continuous deployment” which is about putting every change into production (though while different, continuous delivery and continuous deployment dovetail well).

Infrastructure as code
Treat your infrastructure configuration the same as you would treat source code – source control, versioning, push out changes to the data centre in an automated manner.

Fostering collaboration between your development and operations teams.

Now a viable alternative to native applications and is cross platform.

Stored Procedures
I will quote directly:

It is startling to us that we continue to find new systems in 2011 that implement significant business logic in stored procedures. Programming languages commonly used to implement stored procedures lack expressiveness, are difficult to test, and discourage clean modular design. You should only consider stored procedures executing within the database engine in exceptional circumstances, where there is a proven performance issue.

So stored procedures are almost always bad.

About Me