Rob Smyth

Sunday, 19 October 2008

Can eXtreme Programming Survive Being Main Stream

A few days ago I noticed a job email where the company announced that they did "waterfall". Gosh, waterfall has up until the end of last century always been the defacto status quo. That any company feels a need to say this is testomony to that eXtreme Programming (XP) processes have now become main stream. But has XP survived the transition? I think it will take several year to find out. I'm hearing 'Agile' often being confused with XP and it is so common to find redefintions (abortions) of XP processes / intent.

I will wait and see. XP rocks, but in a general sense I think the attributes of 'agile' have wider application if the intent is not lost in transalation. Given a choice of agile attributes or the XP process, I would take agile any day. It is just that it seems harder to use attributes than it is to use a process cook book that XP provides.

Tuesday, 7 October 2008

NamedPipeClientStream Gotcha

I've been playing with the .Net 3.5 NamedPipeClientStream for NUnitGridRunner and had been testing my application at home on my portable, but when I moved to cafe I found that my application threw excetpions. The difference was that even though I wasd running both client and server on the one box, the bahaviour changes depending if I have a network.

As a result the code ended up like this:

public void Start()
{
string hostName = Environment.MachineName.ToLower() == gridHostName.ToLower()
? "."
: gridHostName;

pipeClient = new NamedPipeClientStream(hostName, "NUnitGrid", PipeDirection.InOut,
PipeOptions.Asynchronous);
}

Sunday, 5 October 2008

A Castle in a Blackout

We live in a 'Residential Bushland' area with lot of large trees. So we each year we loose power, usually after a storm, for a day or two. No complaints as we choose to live here because of the trees but ... it is inconvieniant. So we got a generator. Great but to power the freezer, fridge, TV, heater, etc takes a lot of power cords. What we found was when we lost power we would not start the genertor as we needed to balance the effort of all the power cords against how long we guessed the power would be out. So we needed a way to make it all easier. So we got a changeover switch installed on the house to make it easy.

The change overswitch means that we run a couple of extension cables from the generator to the house (like powering a caravan). Flick the switch over to 'Generator' and the whole house is powered by the generator.

Now I'm just waiting for the next power outage so I can use it. Cost of generator and switch was about $2,500. Value of having TV, fidge, and all lights on during an outage ... priceless. Hmm, maybe we should hook up the christmas lights?

Thursday, 2 October 2008

VisualSVN Visual Studio Subversion Integration

For 1-2 years I have been using AnkSVN to provide a level of subversion (SVN) integration with Visual Studio. But in the last few days I've been upgrading to Visual Studio 2008 and decided to give VisualSVN a go. Very pleased I did, it is very good.

I tend to use TortoiseSVN both at home and at work as my primary subversion tool. No matter how good any VS revision control can be I feel that Explorer integration will always be required as, after all, we are dealing with files. Also, TortoiseSVN's ability to be configured to require a bug ID (ala story ID) is essential in some work environments. So any VS subversion integration tool that integrates with TortoiseSVN is leveraging off TortoiseSVN's functionality that you would be using anyway. Big win.

Also, even after a few hours of use, VisualSVN provides many other very useful benefits:
  • Files moved in VS are shown in commit as "Add(+)" and history is maintained.
  • Tortoise options accessible via VisualSVN menu in Visual Studio.
  • File modified indicators visible in solution explorer as you would expect.
  • Modified files in VS status bar is very useful. I often want to know if a box has any changes and this little indicator gives me instant indication.
  • 'Show Changes' menu option within VS very useful.
  • Changed line are highlighted in VS editor pane. Impressively, still only shows changed lines on a moved file, that is no line changed if not edited before/after move.
  • VS tool bar buttons for commit, update, show changes.
  • Full synchronization with Tortoise actions outside of VS. e.g. Files added to subversion using TortoiseSVN outside of VS, without commit, show up in VS immediately.
I'm very impressed. This is a tool well worth its small cost. Perhaps not a killer app but cost obviously greater than performance gains. Very nice. Dunno why I didn't use it earlier.