I moved .. again

Well, once again I found myself moving around the country – now I’m back in Scotland (best place to be if you ask me). You would have thought after moving the number of times I have, that I would have it down to a fine art – but no matter how much planning you do, things crop up to catch you out.

This time the move itself went without too much of a hitch thanks to the help of some good friends, but there were problems with the phone line. And more problems, and problems once again. Third time lucky it seems – lets hope it stays working. At least the broadband is now enabled on it … (but it’s slow … argh the joys of being the middle of no where!).

Now the boiler is playing up – the second time in a week. Not a great sign, but have to keep my chin up and pushing onwards. Guess it can always get worse eh?

As the broadband is up, and I have a desk / computer setup (only taken a couple of weeks Winking smile), I’ll probably get around to publishing the handful of articles I’ve written for my blog … if I can find them…

David vs Goliath (InstallAware vs Embarcadero)

Everyone who reads my blog knows my history; and they know that I’ve worked with InstallAware several times in the past. I’ve also been a strong supporter of both InstallAware and Embarcadero (simply as the latter purchased Delphi … which I still regard as a superb development IDE but that's a different topic).

I’ve recently come across this blog post on the InstallAware blog; detailing a current legal spat that has developed (or is developing) between these two companies – and I have to say, I am appalled. That Embarcadero can treat other companies that they have worked closely with (well, I guess it was with Borland / CodeGear but would have expected the legal agreements to follow …) the way they are.

During the blog post, Sinan lays out the chequered history of various behind the scenes business movement – much of which will have been totally unknown to people on the “outside”. But he also opens the doors onto what is going on now – and it all stems from an attempt to patent troll (whereby InstallAware was held liable – standard practice unfortunately in this game, but still you would expect a degree of assistance).

What you wouldn't have expected is their attitude to things – basically a different rule for themselves vs what they expect from others. Not providing access to their own tooling, to a registered tech partner, but expecting what appears to be a life-long enduring contract for InstallAware to provide access to (and hosting of) various components that they see fit to use. Without providing any compensation for these.

It makes me wander what their next move will be – and just goes to remind me that business these days is all legal – it does seem that true innovation is dead. Perhaps this is what the future will be once everyone gets their hands on software patents?

GIT-Adding new files

Have to say this is a remarkably easy operation in GIT. Drop the files in the directory, open the GIT GUI and you’ll see it marked under unstaged changes.


Double click the file, and it will move to staged changes – that is, it will be committed to the repository when you commit.

Then click Commit.

Note: If the files are not listed, click Rescan.

Note 2: When you commit, you commit to your local repository – you then need to “push” to the remote repository.

GIT-Getting Started

Using GIT for the first time can be exceptionally confusing – its a different world to a lot of the source control systems out there!

First off, download the GIT GUI; for this post, I’m running the Windows version.

You’ll need to create an SSH key if you haven't already got one for connecting to your GIT server; to do this click Help then select Show SSH Key. If you have an active key, it will show here – if not, click Generate Key.

Next, we need to sort out a repository.


Select Create New Repository.
You will need to specify a local path for the repository.

Once you have a repository up, you need to “pull” from the central store – click Remote, then Add. Fill in the details given to you by your GIT repository admin.


And you should be good to go.

More to follow on general usage Smile

Visual Studio-My favourite extensions

I spend my life working in Microsoft Visual Studio – and that’s no exaggeration. I work in it pretty much all day (day job => developer, kinda obvious), but then I also spend a fair bit of time outside of work doing development – be it for friends / family, but more so these days as the freelance developer that I still try and keep going.

Now, I’ve been working with Visual Studio since the early days of .NET framework – so that's back to 2003 (so 2002 release I think?), and over that time I’ve tried lots of different extensions – some good, some very bad.

These days I’m using:

Telerik JustCode [Website] [My thoughts]
A refactoring, code stat, cleanup and all round absolutely “can not do without” tool. I love this tool, and I have to say, it’s one I don’t object to paying for.

VSCommands [Website]
I look at this as basically what Microsoft should include in Visual Studio, but don’t. Another un-grudged paid for extension.

Most real-users of Visual Studio will have encountered this one now. I’m not a MASSIVE fan, but really, you can’t get away without it with some projects these days. Personally think it will just be another tool that ends up being a mess …

Python Tools for Visual Studio [Website]
I’ve been (un)lucky to have been required to do a fair amount of Python work in the last year, and I found this plugin while I was (ironically) finishing the particular project. And it made my life so much easier – working in familiar IDE doesn’t half help your productivity!

There are also a few “external” tools that I use rather often (yes, I do use OTHER PEOPLES tools instead of just re-inventing the wheel all the time!!)

CleanProject [Website]
A small tool to strip all the crap out from Visual Studio project directories – perfect for when you need to email it or slam it into DropBox etc.

2012 is with us !

So, without much ado, it seems that 2012 has arrived. Kind of snuck up on us didn’t it? Well, I think it has – can’t say that 2011 felt like it lasted as long as it should have!

2010 wasn’t much of a year.
2011 wasn’t great either.

Here’s hoping that 2012 will be a good one. Got lots of plans, lots of ideas, lots to push for – but lets see if I can actually get there this year!

Hope everyone had a good Christmas and New Year break, but unfortunately it’s almost time to return to work!!

Microsoft App Hub.. Poor UI?

Last night I was looking to deploy an update to an existing beta group for a Windows Mobile 7 app (deployed, obviously, through App Hub)… easy I thought – there has to be a way to simply throw a new build into the group and have the Marketplace handle the roll out.


After a moan on twitter, I decided to have a Google around to make sure that I wasn’t being a fool. This lead me to a forum post on the App Hub itself – here if you are interested.

This, would you believe it, confirms that you can NOT update an existing, running beta.
Hmm. That's daft. Surely I should be able to update a RUNNING beta – even if I have to “stop” it (unpublish), then update it and re-publish?

Even stopping a beta doesn’t remove it from your App Hub Dashboard. Which is equally stupid, as I’ve not only had to create ANOTHER beta group submission for my 2nd release (and soon a 3rd), but now my Dashboard is starting to get cluttered.

And it seems I’m not the only one that finds this situation rather strange – I’m still trying to work out where Microsoft came up with the bizarre figure of 90 days for a Beta cycle – especially when you can’t update it. Surely a Beta should be updated a lot while you are patching things and getting feedback?

I would love to say that this is the only “poor” aspect to App Hub – but I have to say, I find it generally lacking. It’s really lacking and significant features (or should I dare say, integration with Visual Studio for the developers among us), and it does not feel “complete” at all. I can only hope that Microsoft hurry up and pushes out an updated version soon – but I’m not holding my breath.

Oh, and should I point out to those that don’t know … developers have to pay to be in the Microsoft developer programme and get access to App Hub – so its not as if there is no incentive to Microsoft to sort this!

XAML Binding-Design time tip

One of the things that I always see new Silverlight / WPF (and now Windows Mobile!) developers struggle with is control binding – more specifically, I see them putting values in while designing a screen then swap them out for the actual binding before compiling.

However, there is an easier way.

Bindings have an additional property called FallbackValue – which will be rendered in design view too.

So, instead of:

Text="{Binding Visitors}"


Text="{Binding Visitors, FallbackValue=0}"

At least its one less thing to remember to swap out!

Microsoft SQL Server 2008-Trouble connecting via network?

When you install SQL Server 2008 – specifically Express editions – many people have trouble working out how to get a network connection established them; they simply don’t understand why their Management Studio client rejects it saying it can not find the instance.

Well, there are two things to check:

1. Firewalls

Make sure the machine that has SQL Server (either full or Express, both have this “habit”!) has the relevant port opened.

2. SQL Server Browser

There is a little service called SQL Server Browser. If this is stopped (default for Express) then you will find that remote connections don't succeed. Start this service, and all sorted.

The only thing to bear in mind, is that by starting this service you are technically advertising the SQL Server installation on your machine; so do NOT start this service if your firewall is going to let the general public on your network connect.


I recently ran out of network storage in my home office, so decided to purchase another NAS. Having previously used the Iomega iStor range, I thought I’d go for a change – and what with LG being such a brand name, I ended up purchasing an LG N2A2.

On the surface, an very nice bit of kit.

Looks good, is damn near silent, seems to use next to no power (power saving mode actually works on it). The initial setup software is pretty good too – if you remember to switch off your firewall (no mention of that in the help …)

But I’ve got a few things I’m not so keen on:

Firmware upgrades, apparently, wipe the machine – not that I’ve tried yet.

The help guide in the web based admin console is rather … strange. Obviously translated – poorly.

Some mid level functionality missing, which I would expect – such as iSCSI and the ability to clear its internal “trashbox” automatically.

No support for domain joining, or NTFS permissions

The unit is obviously based on Linux / FreeBSD, so these omissions to me are rather nuts – all this has been available in core distributions for years, and now works out of the box on many other NAS devices at this level…