But it works on my PC!

The random thoughts of Richard Fennell on technology and software development

Experiences with a Kindle Paperwhite

I wrote a post a while ago about ‘should I buy a Kindle’, well I put if off for over a year using the Kindle app on my WP7 phone, reading best part of 50 books and been happy enough without buying an actual Kindle. The key issue being poor battery life, but that’s phones for you.

However, I have eventually got around to getting a Kindle device. They key was I had been waiting for something that used touch, had no keyboard,  but most importantly worked in the dark without an external light. This is because I found one of the most useful features of the phone app was reading in bed without the need for a light.

This is basically the spec of the Kindle Paperwhite, so I had no excuse to delay any longer.

Kindle Paperwhite e-reader


This week was my first trip away with it and it was interesting to see my usage pattern. On the train and in the hotel I used the Kindle, but standing on the railway station or generally  waiting around I still pulled out my phone to read. This had the effect that I did have to put my phone into WIFI hotspot mode so the Kindle could sync up my last read point via whispersync when I wanted to switch back to the Kindle. This was because I had not bought the 3G version of the Paperwhite, and I still don’t think I would bother to get, as firing up a hotspot is easy if I am on the road and the Kindle uses my home and work WIFI most of the time.

So I have had it for a few weeks now and must say I am very happy with it, I can heartily recommend it. I still have reservations over having to carry another device, but it is so much more pleasant to read on the Kindle screen. So most of the time it is worth carrying it and for when it is not I just use my phone.

Great experience moving my DotNetNuke site to PowerDNN

I posted recently about my experiences in upgrading DotNetNuke 5 to 7, what fun that was! Well I have now had to do the move for real. I expected to follow the same process, but had problems. Turns out the key was to go 5 > 6 > 7. Once I did this the upgrade worked, turns out this is the recommended route. Why my previous trial worked I don’t know?

Anyway I ended up with a local DNN 7 site running against SQL 2012. It still was using DNN 5 based skin (which has problems with IE 10) which I needed to alter, but was functional. So it was time to move my ISP.

Historically I had the site running on Zen Internet, but their Windows hosting is showing its age, they do not offer .NET 4,  and appear to have no plans to change this when I last asked. Also there is no means to do a scripted/scheduled backup on their servers.

The lack of .NET 4  meant I could not use Zen for DNN 7. So I choose to move to PowerDNN, which is a DNN specialist, offers the latest Microsoft hosting and was cheaper.

I had expect the migrate/setup to be awkward, but far from it. I uploaded my backups to PowerDNN’s FTP site and the site was live within 10 minutes. I had a good few questions over backup options, virtual directories for other .NET applications etc. all were answered via email virtually instantly. Thus far the service has been excellent, PowerDNN are looking a good choice.

Kerbal Space Program - Its educational and written in Mono too!


My son is really taken with Kerbal Space Program. This great games allows you to design your own  space craft and so run your own on-going space program, all with a realistic physics engine.

What is particularly nice is that this cross platform Mono based application is being built in a very agile manner with a new release most weeks, each adding features as well as bug fixes. There also seems to be an active community of people building plug-ins for extra space craft components and rovers.

I am not sure how much orbital mechanics will appear in his school exams this year, but it is certainly educational in the longer term.

For those hard to mock moments - Microsoft Fakes or Typemock Isolator?

About a year ago I wrote a post ‘Now that VS11 has a fake library do I still need Typemock Isolator to fake out SharePoint?’. Well this discussion becomes relevant for more people as with Visual Studio 2012.2 (currently available as a CTP) the Microsoft Fakes move from the Ultimate SKU to the Premium SKU.

From my experience the Ultimate SKU is not present on too many developer’s PCs. It is most commonly found on the PCs of the team leads, software architects or test developers (managing coded UI/load testing etc. efforts). If a team was historically going to use Microsoft Fakes then they had to buy more Ultimate SKUs; as what is the point of a unit test using a mocking framework that only part of the team can run?

The Premium SKU of Visual Studio is far more common, I would go as far as to say it is the corporate standard for development. Now as this SKU contains Test Manager (since 2012 RTM) it covers most jobs most developers do. Ultimate is just needed for the specialists in the team. Adding fakes to the Premium SKU really makes sense if Microsoft want to drive adoption.

So now the question of whether to use Microsoft Fakes or Typemock Isolator (or Telerik JustMock a product I have to admit I have not used in anger) is rebalanced as there is a fair chance a development team may all be licensed for Microsoft Fakes as they have the premium SKU. The question becomes is the cost of Isolator justified by the features it offers over and above Microsoft Fakes?

This is not an uncommon form of question for any third party add-in to Visual Studio. Visual Studio offers refactoring, but I think few would argue that Resharper or RefactorPro! don’t offer more features that justify their cost.

For me the big advantage of Typemock is ease of use and consistent syntax across all usage patterns. This could be just due to familiarity, but the fact I don’t need to manually generate the fake assembly is a bonus. Also that Isolator’s fluent API is basically the same as Moq and FakeItEasy so causes less friction when coming to advanced mocking from these tools. A team can use the free basic version of Typemock Isolator until they need the advanced features when they need to license it.

Fakes is a different way of working to most other frameworks, working at a different level inside Visual Studio. A disadvantage of this is that it does not lend itself well to refactoring, you are probably going to have to regenerate the fake assemblies after any refactor, which can be slow. Also this makes refactoring a bit more risky, as you also have to touch unit tests, a manual operation.

I think at this time for me Isolator still offers advanced features and easy of use advantages that justifies the license cost. However, as with all tools this is an ever changing field, I expect to see new features and changes for all the players in the fakes market as they all aim to better address the problems cause by the poorly architecture of applications/frameworks such as SharePoint and of course our own poorly designed legacy code.

New book from Gojko Adzic ‘Impact Mapping’

A common problem with getting software developed is the needing to get everyone aiming for the same goal. This too often gets lost in the development process; the real goal of the business is not communicated to the development team.  It maybe that the goal professed by the business is not the one they even really want, but their current viewpoint obscures the true goal.

In this new book from Gojko Adzic provides a excellent introduction to Impact Mapping as a tool to help address this problem. It describes using workshops and simple graphical tools as a way to tackle this problem of keeping an eye on the true goal. These are tools to use well before starting down the user story/ALM path to make sure the goal of your project is sound, known and measurable.

This is a refreshingly thin books that should be easily accessible to anyone involved in software projects irrespective of their technical skill level or team role. Well worth a look by everyone

Black Marble at the 2012 Abbey Dash

Another good turn out this year for the Age UK Abbey Dash 10K in Leeds. Over 9000 runners this year, certainly seemed much busier than previous years.



Again Black Marble had staff members running. As with last year we did a wisdom of crowds based handicap race for the impressive Black Marble trophy (we all estimate each others expected times, the winner is who beats mean estimate the most). This year there was a tie to the second between Jon and Becky, who are as we speak negotiating over trophy sharing for the next year.


Congratulations to all who took part, I am sure plenty of good causes benefited from the efforts of everyone who ran

Reinstalling again…

Just completing the second reinstall of Windows 8 on my Lenovo W520 in 10 days due to my new SSD failing and needing to be replaced.

To try to ease the process I though I would try putting on the miscellaneous tools I use such as 7Zip, Filezilla etc. using Chocolatey. I have to say first impressions are good, one command and the product is on, the files pulled from the appropriate site.

Obviously there is the issue that packages are may not be kept up to date, unlike Nuget (which is at Chocolatey’s core) the packages are not stored on the Chocolatey site. I noticed the SysInternal package is a bit behind, but I could always submit the updated package myself couldn’t I.

Emboldened by my success with simple utilities I tried Eclipse and Java, they worked fine.

The biggest gain was git, posh git and git-tf. Usually there is a degree of file/path editing here, but with chocolatey just a single command for each.

To find out more why not listen to Herding Code podcast on the subject

Nice introduction to the new features of VS2012

If you are looking for a nice introduction to the new features of Visual Studio 2012, I can heartily recommend Richard Banks 'Visual Studio 2012 Cookbook'.

This book covers a wide range of subjects including the IDE, .NET 4.5 features, Windows 8 development, Web development, C++, debugging, async and TFS 2012. This is all done in a easy to read format that will get you going with the key concepts, providing sample and links to further reading. A great starting off point.

There is stuff in the book for people new to any of the subjects as well as nuggets for the more expererienced users. I particularly like the sections on what is not in 2012 but was in previous versions, and what to do about it. This type of information too oftan left out of new product books.

So a book that is well worth a look, and has it has been published by Packt there are no shortage of formats to choose from.

Weekend trip to see family – 1 OS upgrade, 1 network printer installed and 3 machines de-virused

I have been away over the weekend seeing family, and as anyone who is in IT (or is a medical doctor I suspect) would expect I had the standard experience – everyone wanted me to show me something they were worried about that turned to be virus related. This trip I did one operating system upgrade, one network printer installation and de-virused three PCs. So nothing out of ordinary.

The one thing I would mention was how useful I found the contents of Mark Russinovich’s TechEd Session ‘Malware Hunting with the Sysinterals Tools’. This saved me the complete machine rebuild I had feared for one PC which had got infected with a bit of poor quality ransomware  that turns out to only be a splash screen that I could easily spot with Autoruns from the Sysinternals Suite. The video is well worth a watch for all of us in the family IT support game.

At last my Nokia Lumia 800 gets its firmware upgrade to allow tethering

At last my Nokia Lumia 800 gets its firmware upgrade to allow tethering. The 8773 update seems to be made up of three updates, two operating system ones (which I managed to force down in the usual way), but this Nokia firmware one has taken weeks to get to me, forcing did not help. I had to wait.

I don’t think I am alone in not being too impressed with the update process. The throttling/delaying update process is probably Ok for the man in the street, who just wants a working phone, but there should be an easier way to get updates if you want/need them ASAP for development purposes or are trying to run consistent versions for all phones in an organisation.