Archive for Programming

The Importance of Being There at Conception (of a Feature)

// October 11th, 2009 // No Comments » // Programming, Work

I’ll use a slightly crude example to get across the point of this post. It’s maybe not the best comparison, but bare with me. Instead of “feature” think of “child” in relation to conception.

Let’s say you weren’t there from conception of your child. In fact the first 15 years of the child’s life you missed out on. If you were suddenly brought into the picture, how clean a transition would that be? Would you be able to make up for the lost years? Or have as much impact/bearing in the child’s life as you’d like? It’s a difficult situation. Are you able to connect with the child as well as if you’d been involved since conception?

(more…)

Branching per feature

// August 27th, 2009 // No Comments » // Linux, Programming

If you’re working in an Agile environment, chances are you’re working from a continuously integrated source control system, with a trunk, branches etc… If that’s the case many people will be familiar with “the build” being broken (typically the trunk) which can bring development (and sometimes testing) to a grinding halt. The larger the team(s) the more likely this is. I’ve recently been giving thought to branching per feature. The concept isn’t quite ready yet, but I thought I’d share my ideas and see if anyone can add to them (or shoot them down).

(more…)

Should We Depend On Mono?

// June 28th, 2009 // No Comments » // Linux, Programming

Ok, firstly I’m going to say I’m a C# developer, so partially biased, although I do think my views are quite fair. I’m only a C# developer by profession (from Java). I only use Linux at home, C# is purely for web development.

Right with that out of the way now I can get to commenting on Richard Stallman’s opinions regarding Mono. We should systematically arrange to depend on the free C# implementations as little as possible. In other words, we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible.

For me there are many things wrong with this opinion. Ok, so the patents issue is a touchy one, but “encouraging” people not to use C# is just restricting the open source movement, innovation, and competitiveness. In terms of development, you couldn’t be putting a more negative signal out there.

(more…)

Don’t Go Breaking My Build

// June 8th, 2009 // 2 Comments » // Programming, Work

I’ve written another article on the Huddle blog, this time detailing about how to stop the build breaking or at least informing people when it has been broken so it can be fixed quickly. There is a Jabber notification NAnt task we use. I’m working on putting together a NAnt.Util library (pulling together previous tasks I’ve written) that has a whole load of common build functionality. The Jabber stuff should be included in it.

I’ll hopefully be doing another article regarding farming out the build. As ours gets bigger, we need more workers to keep things quick. I’ve been taking a look at Team City and am contemplating moving us across from CruiseControl.Net.

Speeding Up The Build

// May 20th, 2009 // No Comments » // Programming, Work

I’ve written a blog on Huddle about Speeding Up The Build.

It covers a few changes that can be made to help keep your build nice and quick (anything over 60 seconds I would consider slow). Ours is currently at 100 seconds, so we’ve still got some work to do. It’s not bad though considering we have around 40 projects, over a thousand unit tests, css/jss compression, and run aspnet_compiler as a further check.