Slides and code from Continuous Integration 101 talk at DunDDD

Continuous Integration 101

On Saturday 23rd November 2013, I presented a talk entitled “Continuous Integration 101″ at the DunDDD Conference in Dundee.  The abstract for the talk was as follows:

It is well understood that “Continuous Integration” is a development best practice, however, it is also something that is not often implemented within development teams. Typical reasons include:

- It is difficult to set up
- It is difficult to maintain
- It takes too long

In this session we will look at how you can incrementally work your way to fully implementing Continuous Integration into your development process. This talk will focus on using TeamCity as the Continuous Integration Server and psake build engine.

Overall, I was quite happy with how the talk went, and it seems to go down quite well.  There was a fair bit of interaction with the audience, with several questions, which I hope that I was able to answer.  If there are any follow-up questions, then please feel free to get in touch, and I will do my best to respond.

slides and code

If you are interested in seeing the slides from the talk, you can find them displayed below, and also available as a download link on this post.

If you want to check out what little code was used during the presentation, you can find it here.

BSOD on Windows 8.1 when using Internet Connection Sharing on Windows Phone 8

But there is a fix…

Following the update of my laptop to Windows 8.1, every time I would tether to my Windows Phone 8 using Internet Connection Sharing, I would get a Blue Screen Of Death (BSOD).

BSOD when using ICS 1

BSOD when using ICS 1

BSOD when using ICS 2

BSOD when using ICS 2

This wouldn’t happen if I was connected to a standard wireless connection, it was only when I was using the wireless hot spot which is made available through Internet Connection Sharing on my Windows Phone 8.  After a bit of googling, I turned up this post:

Which seemed to explain exactly what I needed to do, however, for the life of me, I couldn’t find the dialogue box in Windows 8.1 that would give me access to the FIPS setting to fix the issue.  I asked the author of the blog post if he could help, and happily he was able to, check the comments of the blog post from that information on that.

However, while I was waiting for his reply, I reached out to my friendly neighborhood IT expert, namely Mark Le Huray, who was able to point me in the direction of a command line way of setting the required parameter:

Here “ur wireless name” is actually the name of the wireless endpoint, i.e. the SSID for the connection.  This is what is displayed in the Internet Sharing page on your windows phone.

Opening the command prompt, and executing this command was all the is required to get rid of the BSOD:

Fixing BSOD by setting FIPS

Fixing BSOD by setting FIPS

Big thanks to Mark for all his help in getting this sorted, and also Tim who pointed me in the right direction!

The battery life of the Nokia Lumia 920 really is fantastic…

…when you turn off all data connections!


With all the radios and antennas switched off on my Nokia Lumia 920, the battery has lasted from the 28th October through to today, the 7th November.  A total of 11 days!  This has included some fairly solid use, listening to podcasts, audio books and music, as well as using it as my alarm clock.  This is far more than I thought it would last, very impressed.  See the gallery at the end of the post for pictures of how the battery was discharging.  The spikes are when I was syncing the phone with the desktop to grab some new podcasts.

Now the full story…

I recently did a blog post about how I started using my old Nokia Lumia 920 as my alternative to both a TomTom and an iPod.  Apart from a couple synchronisation issues between iTunes and the Windows Phone Desktop Application, I am happy to report that this little experiment has been going really well.  I use the phone pretty much every day, listening to podcasts on the commute to work, and music while in the office, and also taking photos/videos of Alivia (that’s our new-born baby daughter :-)).

The one thing that has really stood out for me though is the battery life of the Nokia Lumia 920.  As soon as you turn on flight mode, i.e. disabling all the data connections that the phone has to offer (Bluetooth, wi-fi, mobile, etc), the battery quite literally goes for days!  When using my Nokia Lumia 925 as a phone, I am lucky if I can go a day without needing to charge it again.

Today I charged the 920 for what I think is the first time since I made the switch to using this device as my media device, although I think I must have charged it in between, otherwise it would have been over 2 weeks without a charge, which would be a bit of a stretch I think.

Using the Insider application, it is currently estimating 6 days and 4 hours before the next charge for the Nokia Lumia 920, and 1 day and 2 hours for the Nokia Lumia 925.  See the screenshots below:

Insider Application running on Nokia Lumia 925

Insider Application running on Nokia Lumia 925

Insider Application running on Nokia Lumia 920

Insider Application running on Nokia Lumia 920

I firmly believe that the Nokia Lumia 925 will need charged tomorrow morning, but I am very curious to see how the Nokia Lumia 920 lasts before needing another charge.





In addition, here is a gallery of how the battery was discharging through the 11 days that it was being used.  Very impressive!


Registration for DunDDD 2013 is now open

Grab your ticket for DunDDD quickly so you don’t miss out!

The call for speakers at the Scottish Community Event (organised by the Scottish Developers) known as DunDDD has now closed and the registration has opened.

DunDDD is now in its third year

This will be the 3rd DunDDD, built on the popular foundation of the Developer! Developer! Developer! conference series which has spread to all corners of the UK and the international arena.  DDD conferences are community-run days where passionate and enthusiastic people come together to learn, share ideas, and to network within the many hubs of the development community. Best of all DDD events are free to everyone!

This year DunDDD will be featuring an entire track dedicated to Data Science.

Go and grab your ticket now.

Started using my Nokia Lumia 920 as an iPod and TomTom replacement

And I can’t see myself looking back!

I am now using my spare Nokia Lumia 920 as a replacement for both my failing Classic iPod, and my TomTom.  I have always liked to keep music and GPS devices separate from my phone, as using these types of services is a big drain on battery.  Now though, I am using two phone devices to service all of these needs.  No more need to carry around 3 separate devices!

Here’s the story…

I recently upgraded my mobile phone to the Nokia Lumia 925, and I love it!  I upgraded from the Nokia Lumia 920, but there were a couple of things happening with the 920 which made me want to move away from it.  The first of which was that a single pixel, all the way down the screen, is stuck on a single colour.  This started happening after the warranty ran out on it, so there was nothing I could do aside from an expensive repair.  I opted to reset the device in order to send it to something like Mazuma mobile to get some money for it, however, the reset didn’t go well and it got stuck on the spinning gears.  Doh!

For the last few months, the 920 has been nothing more than a paper weight on my desk, but after a Twitter conversation the other day, I was pointed at the following blog post from Pete Vickers.  Now, don’t get me wrong, I was skeptical.  The key combination sounded like something from a Street Fighter Special Move, but I gave it a shot.  After 3 attempts, the 920 rebooted, and after a period of time, I was booted into the main screen. Result!

I then went ahead and grabbed the latest update for the phone, taking the phone up to the GDR 2 release, and then went ahead and installed all the necessary applications, including the following:

  • HERE Drive+ – Navigation application (uses the HERE Maps application)
  • HERE Maps -  Mapping application that allows for downloading maps using a WiFi Connection, and then using locally on device
  • HERE Transit – Provides routes between two selected places
  • Nokia Music – free music streaming application (also plays local music files)
  • Nokia Pro Cam – quite simply amazing!
  • Nokia Smart Cam – great camera application

With these applications in place, and my music and podcasts synced to the phone and required maps downloaded, I have a perfectly functioning iPod and TomTom replacement, taking the number of devices that I need to carry around from 2, to 3.

Although I was in a unique position where I had a spare Nokia Lumia 920 to serve this purpose, there is nothing to stop you doing something similar using one of the many cheap, lower end devices, that are coming onto the market.

Amazing deal at Tesco on the Nokia Lumia 510

Last night while shopping at Tesco, I saw the following deal:

Nokia Lumia 510 only £80

Nokia Lumia 510 only £80

This is quite simply amazing!  When you put it together with the services that you get from both Microsoft and Nokia, this little device makes for a compelling choice.  It is not hard to understand why these lower end Lumia’s are the fastest selling devices at the moment.  They are very affordable, and offer the end-user a lot of options.

When you compare the above to something like the iPod, starting at £199, it would seem an obvious choice.  The functionality and available applications is comparable.  The Nokia Lumia 510 only has 4GB of hard drive space compared to the 16GB of the iPod, but if you don’t need a lot of storage space, or are happy to use the free 7GB of cloud storage, or stream data from the free Nokia Music service, then this is not really a problem.  You could also look to something like the Nokia Lumia 520, which has an option for an expandable micro SD card up to 64GB.

The setup of the Nokia Lumia 920

The start screen of my Nokia Lumia 920 now looks like the following:

Nokia Lumia 920 Start Screen

Nokia Lumia 920 Start Screen

As you can see, all the “normal” tiles, such as messaging, phone, email, etc, have all been removed, leaving only the tiles for the essential applications, such as navigation and music.  Since all the required maps for the navigation application that Nokia provide can be downloaded ahead of time using the phone’s wireless connection, there is no need for a network connection while using it.  In fact, I have actually went as far as to enable the phones flight mode, and will only enable the wireless connection when required.

Northern Lights 2013 Conference

Get your tickets now!

I wanted to let you know about an upcoming event in Aberdeen that I have been helping to arrange. It is taking place on Friday 18th October 2013.  The event in question is the Northern Lights 2013 Conference.  The website for the conference can be found here:

The event is in its third year, and this year the theme is tools.  Both the tools that we use, and the tools we build.  There is a wide range of speakers available, including:

Who are offering up an exciting line up of talks.

In addition, there will be two open spaces at the conference, where attendees will have an opportunity to suggest a topic for an interactive conversation with other attendees and speakers.  If you haven’t been to an open space before, they are fantastic.  It is a perfect opportunity to interact with other like mind people about a topic that you are interested in.  The best way to get something out of this is to suggest a topic that you are especially interested in, and hopefully other people will get involved as well.

Tickets are £15 for the day, which includes coffee and lunch for regular attendees, and Students tickets to the talks are free, plus you can buy a lunch ticket for £5.

We hope to see you there.  If you have any questions about the event, then please don’t hesitate to get in touch with me.

If you know anyone else who would be interested in attending this event, I would really appreciate it if you could forward on this email.

This event is lovingly sponsored by:

Windows Phone 8 GDR2 Update finally arrives for my Nokia Lumia 925 on the 3 network

I am happy to report that the GDR2 update for my Nokia Lumia 925 has finally arrived.  I say finally because it is almost 1 month after it arrived for my wife’s phone!  We are not on the same operator, so this is obviously showing the difference in turning around the updates for the Windows Phone eco-system, and it has to be said that this really is a sad state of affairs!  I really hope that this turn around time for pushing out the updates improves, as getting the latest features for my handset is very important to me.  Almost important enough to consider switching mobile phone providers.

Almost 1 month ago, I convinced my wife that she should upgrade her mobile phone to the Nokia Lumia 925.  To my annoyance, one day after receiving the handset, she was prompted that there was an update available for the phone.  I started the update process, which actually consisted of two back to back updates, and after checking, this update was the much rumored GDR2 update.

Following the update, the various version numbers changed as follows:

Original First Update Second Update
OS Version: 8.0.10327.0 8.0.10327.0 8.0.10328.0
Firmware revision number: 3040.0000.1322.2004 3040.0005.1323.3004 3047.0000.1326.2006
Hardware revision number:
Radio software version: 3.2.04018.1 3.2.04018.1 3.2.04028.1
Chip SOC version: 8960 8960 8960

Fast forward 1 month, and after a twitter conversation with the support team at 3, which was a little coincidental (by the way, I am not claiming responsibility for getting the update released :-)), the GDR2 update arrived for my phone:

One interesting thing is that although the OS version between the two phones is the same, the firmware version numbers are different.  You can see the comparison table between the original and update on my phone below.  Both the firmware revision number, and the radio software version numbers on my phone are higher than on my wife’s phone.

Original Update
OS Version: 8.0.10327.0 8.0.10328.0
Firmware revision number: 3040.0000.1322.2003 3049.0000.1330.0004
Hardware revision number:
Radio software version: 3.2.04018.1 3.2.04033.1
Chip SOC version: 8960 8960

To summarize, in addition to the huge difference in time between pushing out the updates between the mobile phone providers, it also looks like they are choosing to release different updates.  It would be really interesting to find out why they are doing this.  To me, this seem a little bit troubling.  I know the carriers have a right to decide which updates are released to the handsets that they are in charge of, but to go an entire month after one of your competitors releases the update seems very excessive to me.  Let’s hope the release process improves with the forthcoming GDR3 update.

You can see a gallery of the screenshots that I took during the update process below.

Jon Skeet Scotland Tour

Jon Skeet – Taking a quick break from Stack Overflow

It is with great pleasure that I can announce that I have been able to confirm Jon Skeet, legendary contributor to Stack Overflow, and author of C# in Depth, to do User Group Presentations in Glasgow, Aberdeen and Edinburgh.

I have to say a big thank you to Jon for taking the time out of his busy schedule to come up to Scotland to do these talks, it really is very much appreciated!  Jon will be talking to two topics, “Semantics Matter” and “Abusing C#”.  The Abusing C# talk will be repeated in both Aberdeen and Edinburgh, so if you can’t make it to one, you have the option to attend the other.

You can find out more information about Jon Skeet on his site here.

Glasgow Event

With the help of Scottish Developers, this meeting, entitled “Semantics Matter”, will be taking place on Wednesday 7th August 2013, in the Mercure Hotel, starting at 7 o’clock in the evening.  For full details of the event, and to register, check out the Eventbrite page here.

Aberdeen Event

This meeting, entitled “Abusing C#”, will be taking place on Thursday 8th August 2013, at the RGU St Andrews Street building at 6 o’clock in the evening.  For full details of the event, and to register, check out the Eventbrite page here.

Edinburgh Event

Once again, with the help of Scottish Developers, this meeting, entitled “Abusing C#”, will be taking place on Friday 9th August, For full details of the event, and to register, check out the Eventbrite page here.


If you have any questions about either of these events, please don’t hesitate to get in touch!

Bill Wagner Scotland Tour

Bill Wagner – Taking a break from Golf

It is with great pleasure that I can announce that I have been able to confirm Bill Wagner, author of Effective C# and More Effective C#, to do User Group Presentations in both Glasgow and Aberdeen.

I have to send out a huge thank you to Mark Rendle (@markrendle) for the initial introductions, and obviously a special thank to Bill for agreeing to visit these User Groups.  Bill is taking time out of a busy golfing holiday (which I am very jealous of) to present topics on Async and Await Practices in C# 5.

You can find out more information about Bill Wagner at his site here.

Aberdeen Event

This meeting, entitled “Async/Await Practices in C# 5″, will be taking place on Thursday 4th July 2013, at the RGU St Andrews Street building at 6 o’clock in the evening.  For full details of the event, and to register, check out the Eventbrite page here.

Glasgow Event

With the help of Scottish Developers, this meeting, entitled “Async/Await Practices in C# 5″, will be taking place on Saturday 13th July 2013, in the Mercure Hotel, starting at 10 o’clock in the morning.  For full details of the event, and to register, check out the Eventbrite page here.


If you have any questions about either of these events, please don’t hesitate to get in touch!

Opening and editing an Adobe Illustrator file using Expression Design

Open and edit a .ai file using Expression Design

The other week, I needed to edit the original source files for the Aberdeen Developers .Net User Group in order to change the size of the png’s that I use for various things (like avatar’s, etc).  Unfortunately, these were created using Adobe Illustrator, which I don’t have access to.  I had a hunt around, but I couldn’t find a way to do it.  Enter Twitter…

The ever knowledgeable Scott Lovegrove (@scottisafool), made a great suggestion of using Expression Design to open and edit the files.  I had thought that Expression Design was only part of the Expression Studio, which I also don’t have, but…

Expression Design is free!

Although it used to only be part of the Expression Studio, Express Design is now actually free!  You can download it from here.

Opening and Editing the file

This couldn’t be simpler!  Open up Expression Design, and open the file.  Once open, you will have the option to Export the image:

Expression Design Export Menu

Expression Design Export Menu

On the next window, you will then be able to choose the output format, and also the size of the resulting image:

Expression Design Export Options

Expression Design Export Options

Simples!  Thanks again Scott!