Category Archives: 16598

‘The Circle’ a good read

Seven whole years ago I wrote about re-reading William Gibson’s Microserfs and how it compared to his then new book JPod. And how they both reflected the IT world at their time. Speculative fiction always says more about the time they are written than the future they predict.

I have just read ‘The Circle’ by Dave Eggers which in many ways is a similar book for our social media, big brother monitored age. I will leave it to you to decide if it a utopian or dystopia but it is well worth a read

image

The return of Visual Studio Setup projects – just because you can use them should you?

A significant blocker for some of my customers moving to Visual Studio 2013 (and 2012 previously) has been the removal of Visual Studio Setup Projects; my experience has been confirmed by UserVoice. Well Microsoft have addressed this pain point by releasing a Visual Studio Extension to re-add this Visual Studio 2010 functionality to 2013. This can be downloaded from the Visual Studio Gallery.

Given this release, the question now becomes should you use it? Or should you take the harder road in the short term of moving to Wix, but with the far greater flexibility this route offers going forward?

At Black Marble we decided when Visual Studio Setup projects were dropped to move all active projects over to Wix, the learning curve can be a pain, but in reality most Visual Studio Setup project convert to fairly simple Wix projects. The key advantage for us is that you can build a Wix project on a TFS build agent via MSBuild; not something you can do with a  Visual Studio Setup Project without jump through hoops after installing Visual Studio on the build box.

That said I know that the upgrade cost of moving to Wix is a major blocker for many people, and this extension will remove that cost. However, please consider the extension a tool to allow a more staged transition of installer technology, not an end in itself. Don’t let you installers become a nest of technical debt

And the most ridiculous packaging award of the day goes to…

CPC who managed to send two resistor-capacitor balances for LED lights, which as about 1cm in size

in a box as shown here

image

Other than loads of that inflatable packing material there was a huge CPC catalogue, with the interesting sticker

image

So an online electronics company, that provides free shipping (a really good thing when the components were only a couple of £s), chose to also send a very heavy catalogue that they know is out of date, when I have already used their quick and easy web site.

You have to wonder why?

Review of ‘Software Testing using Visual Studio 2012’ from Packt Publishing

I have just been reading Software Testing using Visual Studio 2012 by Subashni. S and Satheesh Kumar. N from Packt Publishing

9540EN_cov-stwvs2012

This book does what it says on the cover, it is a general introduction to the testing tools within the Visual Studio 2012 family. My comment is not about how well it is done, it is a clear enough introduction, but why produce a book that really just covers what is in MSDN, Channel9, numerous podcasts, blogs and ALM Rangers documentation?

I suppose this is a question of target audience, some people like to browse a physical book for ‘new’ technology, I can see that (though I tried it on Kindle, more of that later). This book certainly does cover the core areas, but sits strangely between a technology briefing for a manager/person who just needs an overview (it is all a bit long winded, list all the features and flags of tools) and not enough detail for the practitioner (the exercises do not go deep enough unlike those provide by Microsoft in Brian Keller VS/TFS demo VM series)

Given this concern I wonder who the target audience really is?

A real issue here is that Microsoft have gone to quarterly updates, so the product is always advancing, faster than any print book can manage (Microsoft’s own MSDN documentation has enough problems keeping up, and frequently is play catch up). For a book on testing this is a major problem as ‘test’ has been a key focus for the updates. This means when the book’s contents is compared to Visual Studio/TFS 2012.3 (the current shipping version at the time of this review) there are major features missing such as

  • The improvements in Test Explorer to support other non Microsoft test framework, playlists etc.,
  • SKU changes in licensing, MTM dropping down to Premium form Ultimate
  • Azure based load testing
  • The test experience in the web browser (as opposed to MTM)

The list will always grow while Microsoft stick to their newer faster release cycle. This was not too much of a problem when Microsoft shipped every couple of years, a new book opportunity, but now how can any book try to keep up on a 12 week cycle?

One option you would think is Kindle or eBooks in general, as at least the book can be updated . However there is still the issue of the extra effort of the authors and editors, so in general I find these updates are not that common. The authors will usually have moved onto their next project and not be focused on yet another unpaid update to a book they published last quarter.

As to my experience on the Kindle, this was the first technical book I have read on one. I have used the Kindle App on a phone for a couple of years for my novel reading, but always felt the screen was too small for anything that might have a diagram in it. I recently bought a Kindle Paperwhite so though I would give this book a go on it. I initially tried to email the book from the Packt site straight to my Kindle, but this failed (a file size issue I am told by Packt customer support), but a local copy of USB was fine.

So how was the Kindle experience? OK, it did the job, everything was clear enough,  it was not a super engaging reading experience but it is a technical book, what do you expect? It was good enough that I certainly don’t see my getting too many paper books going forward whether thet be novels or technical books.

So in summary, was the book worth the effort to read? I always gauge this question on ‘did I learn something?’ and I did. There is always a nugget or two in books on subjects you think you know. However, ‘would I say it is a really useful/essential read for anyone who already has a working knowledge in this subject?’, probably not. I would say their time is better spent doing a hand on lab or watching conference recordings on Channel9.

Leave this book to anyone who wants a general written introduction to the subject of Microsoft specific testing tooling.

A week with a Nokia 820

I have been using a Nokia 800 (Windows Phone 7.8) for a year or so and been happy with it. It does what I needed i.e. phone, email, media player mainly for podcasts. So given all the  reported issues with WP8 and podcasts (no Zune client to manage the subscription/sync and you can only subscribe through the store if you are in the USA) I was not too keen to ‘upgrade’

Anyway last week I was persuaded to give a Nokia 820 a try, I did not want to try the 920/925 as I don’t like too larger phone. The fact the 820 is bigger than my 800 I thought that might be an issue.

So how did it go?

The first couple of days were horrible. However, turns out many of the problems I had were due to poor quality USB cables. Once I used the short one that came with the phone as opposed to one I had used for months connected to my laptop base station, all the sync issues I had went away.

The 820 only had 7Gb of usable memory as opposed to 13Gb on the 800, so I had to put in a MicroSD

The 820 did not come with a rubber bumper case in the box, unlike the 800. I think these are essential to deal with the inevitable drops the phone will suffer, and the couple of millimetre bezel lifts the screen to avoid scratches, so I bought one.

I had to install the language pack before all the speech based functions worked. Now I really can’t remember if I had to do this on the 800, but I don’t recall it, I thought they were preinstalled.

But all these are niggles, the real issue was the podcasting, it was awful. Now I know podcasts are either a feature you use or not, there is little middle ground, what we in the UK call a Marmite feature. if you listen to podcasts it is probably the primary use of your phone. What was in Microsoft’s head when they cut the Zune functionality and suggested using ITunes for the sync I do not know. The current release of the Windows Phone Desktop is meant to address this issue allowing podcasts to be sync’d from iTunes for folders (which in turn can be sync’d via Zune). The problem is it just does not do the job, it does not honour the played flag, just syncing what it finds in the folder whether it is played or not. This becomes a real problem when you have about half the free space I had on my 800 (until I put in a MicroSD).

I did try with the Windows Phone Desktop for a day or two and gave up. So I moved to an App. The best I found was i Podcast, it just works. It is a shame it cannot drop the files into the phone media hub or make use of the MicroSD card, but these are minor issues. I did have a problem that it crashed and wiped out my subscriptions but I am told by the developers that this exception related bug was fixed in 2.1 which was released this week. Their email response to my query was excellent. Other than that it has been great. I would recommend purchasing the premium features so that it can store you subscription/playlist and sync them between device – very nice

I await with interest to see if the GDR2 update addresses the horror story that is WP8 out the box podcasting.

So one week down, will i go back to my 800? I think not, actually the 800 screen felt a little small now. However I will still say I am not using any of the new WP8 feature, so I would not pay a premium to upgrade? I would hold off, at least until the free upgrade point on my phone contract.

Experiences with a Kindle Paperwhite

I wrote a post a while ago about ‘should I bug 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!

image

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