Category Archives: Tech

Applying for a job? Its so easy to stand out, so why do so few manage it?

Over the years I have done a lot of recruitment. Crafted job descriptions and ads and then waded through lots of mediocre applications. Even great people often seem to want to seem as lifeless as possible when applying for a job or contract role. OK, maybe that’s how you get to be a faceless number as some big cooperate…

Here’s a little secret, be less generic. Actually read the job ad or description, spend some time learning a little about the company and people you could be working with. Then actually apply for that role. That specific role. The person reading your application needs to understand why you are interested in working for them, not why you want a job.

If you just try a little to tailor the information you provide then you’ll be in the top 5% of job applications.

And if you ever apply to work with me, then be aware that you have 1-2 mins of reading time to catch my attention. I want to work with people who are proactive, fun and interested in this specific role, as well as those with the skills and experience. Convince me of that and then it’s up to me to recruit you, not the other way round.

Using OpenCover for nUnit test coverage on AppVeyor

UPDATE: Previous version of this had an error in the OpenCover code where failed tests did not result in a failed AppVeyor build.


AppVeyor is a really cool CI (continuous integration) service that I am currently playing with, so far its been very easy and powerful for both continuous build/tests and deployment (plus they do outstanding support). However, it is missing a couple of features that I would like, one of them being showing code coverage results with each build.

So, until the wonderful people at AppVeyor implement a way to do this natively, here is a bit of a hack to see some nicely formatted coverage results when running automated builds on AppVeyor.

Continue reading Using OpenCover for nUnit test coverage on AppVeyor

Google Analytics cross domain tracking with server side redirect in ASP.Net Webforms

Google Analytics cross domain tracking allows tracking of multiple domains (or sub-domains) in a single Analtics profile.  There are loads of great resources for how to implement this, including in unusual client side navigation.

I have come across an issue when using ASP.Net Webforms, where there is a single form for the page and multiple submit actions (server side button onclicks etc) and when we also need a simple form to submit to a different domain.  It then becomes more complex to call the relevant client side Google Analytics methods.

Continue reading Google Analytics cross domain tracking with server side redirect in ASP.Net Webforms

How an Information Imbalance causes painful failure in software projects

To actually deliver valuable software or websites on time and on budget can seem amazingly difficult.  The horror stories of large, enterprise and public sector IT projects that have gone disastrously wrong are often in the news.   However, even more common, I suspect, are the smaller projects that have wasted time and money and resulted in failed products or (even worse) long, drawn out suffering for everyone involved.

The scrapyard of failure
You know the kind of thing I mean: where small companies or individuals have started a software

development project with shinning eyes, dreaming of the life changing impact the planned product will bring.  Then, over months, or even years, they are dragged over the expensive, incredibly painful, burning coals of a screwed up project.

I imagine a virtual scrapyard full of the twisted, broken output from this type of project and a world full of the scarred and suffering former dreamers now looking at any software development with cynical eyes.

Its a shame; because these sorts of failed projects are totally avoidable.  There are ways and means to avoid the pain so that even when a project hits some bumps everyone walks away without the scars and not adding to that virtual scrapyard of horrors.

There are loads of buzz words to label the tools we use to guide us to success; some cover the ways to increase technical success, some how to make sure the project output brings value and some to keep the people involved smiling.  If you are thinking of things like agile development, lean startup, MVP or some of the many others then you are absolutely correct.The correct mix of these approaches is the recipe for software project success.

However, there are a few underlying pitfalls that are worth pointing out, so that you can be sure to avoid them even before getting started.

Continue reading How an Information Imbalance causes painful failure in software projects

Internet Dongles: can’t live without them!

OK, so maybe that’s a bit strong: you can live without them, but you certainly can’t travel and work reliably without them.

It is so important to have a backup internet connection, in many parts of the world wifi and even power can disappear without notice.  Indeed, in many less developed parts of the world mobile connections are much more widespread and reliable than anything else; in Africa for example many places haven’t bothered with cabling (even for power) but everyone has a mobile phone.

Even in ‘developed’ countries you’ll find yourself grateful for the magic little thing at some point.

Here are some of my recent experiences:


I found the wifi connections in while travelling and working in Vietnam really good (much easier to find that in Europe, Japan or Australia – in fact, as easy as their visa on arrival to Vietnam). But it was still important to have a 3G backup connection; as it was less reliable in some of the places I stayed.

Mobifone and Viettel are two of the good service providers in Vietnam.  I bought a Viettel dongle and sim card with a load of credit for about $30 US in Siagon.  I recommend finding one of the many specialist phone places (in fact it heard it is simple to purchase at the airport, but I wasn’t that organised).  Make sure you get them to activate it for you and then immediately test yourself.

Top up credit can be purchased almost everywhere; but I didn’t need to recharge until after two months.

The 3G speeds where pretty good across the country on the whole; plenty enough for most things including some Skyping.


The dongle was my main connection in Uganda.  There are a couple of places in Kamapla with wifi or cables to connect the laptop and most places have small internet cafes with connected PCs you can use.  However, outside that it was only the dongle.  Also they have significant power issues with the electricity going out for many hours at a time.
I had good success with an Airtel dongle though.

Just the sim card?

So far I have used a locally sourced dongle, but it should be possible and may be better to just buy a local sim card and put that in your dongle, especially if you are moving between countries a lot.
Hurray for dongles (plus its a cool word) 🙂

Remote Working in Vietnam on a Budget

I’ve now spent 2.5 months travelling and working remotely in Vietnam and am recording some of my experiences and lessons learned.

Overall my experience has been amazingly positive and I’ve proved the case for being location independent a lot more!   

View from my “office” in Nah Trang


This is SE Asia and so my expectations were pretty low, however I have been very pleasantly surprised at how easy it is to find good Internet connection in Vietnam.  In fact I have found that many more of the hotels, restaurants and coffee shops have free WIFI than in Europe or Japan (can’t comment on N America)!


Almost every hotel has wifi of varying degrees of quality. First thing I do when arriving somewhere new is find a cheap hotel (for me it’s somewhere between US$6 and US$60). Make sure you scout out the rooms before committing. I always take my HTC phone with me and check the upload and download speed in the hotel room. It’s no good doing this from reception as it often varies floor to floor and room to room. If the connection’s not good enough in one room I ask where the wifi router is situated and hopefully there’ll be a room closer, usually meaning a better connection.

I use the app for this; of course this will not tell you anything about reliability or contention issues during busy times, but it is generally an excellent indicator.

My favourite (and the cheapest)
place to stay in Mui Ne.

Surprisingly enough, the hotel with the worst internet connection I stayed in was the $60 one. Although it had a really nice garden for working in. This was in Mui Ne and there was a problem with the whole town’s internet connection while we were there. The $6 hotel was across the road and, bizarrely, that side of the street was still working and had some of the fastest speeds tested in Vietnam.

Working in a hotel room is much more relaxed than working at an office. Even if the room has a desk, I tend to get a sore back from the poor quality chairs so I don’t use them. You’ll usually find me kicking back on the bed with my laptop and pillow (one for me to lounge against, one under the laptop for heat). So my only real requirements in a hotel are a bed, good air conditioning (if it is hot and humid), and wifi for, preferably, under $15. You can usually get that and more in Vietnam.

Coffee Shops & Restaurants

Coffee Shop working

Vietnam has a great café culture. Most cafes have wifi and noboby minds if you buy one coffee and spend the next four or five hours working on your laptop in their establishment. This has worked well in some of the places I’ve been where the temperatures haven’t been too high but restaurant/café air conditioning is not really the norm in Vietnam so I’m a bit picky about the places outside the hotel where I can comfortably work for extended periods. If there is a lot of shade, some fans or a cool coastal breeze, then I can usually sit happily for hours.

Connection Outages

Power cuts and internet outages can’t be anticipated so I take a Viettel mobile internet dongle with me; more on that, the locations I have found best and whatever else I can think of in future posts…