Tuesday, 6 January 2015

My 2015 Goals

So, I’ve finally got around to recording the video and sharing the Trello board that I created with my 2015 goals.

My 2015 Goals!

You can see the board of My 2015 Goals here.


I will have easily released the Blue Skies mobile app by June 30, 2015 - This is a app for skydivers that I am putting together. You’ll see more updates on this as it comes closer to release!

I will easily have published a paid-for Kindle book by December 31, 2015 - This is a two-fold goal. It is a good reason to get me doing lots of writing (something I want to do more of) as well provide another source of income.

I will have easily produced a non-technical product by December 31, 2015 - This one is to push me outside my comfort zone. I’ve always been a tech-head. I get shy about making anything non-technical, let alone asking for money for it.


I will easily own less than 100 items by March 31, 2015 - Pretty simple here, get back on the minimalism. While I’ve got complacent, my life has got cluttered. Time to de-clutter!

I will easily have my sleeves completed by December 31, 2015 - I’ve wanted my arms tattooed forever. Time to stop talking and start bleeding!

I will easily go to San Francisco for the Microsoft Build Conference on April 29, 2015 - I’ve wanted to check out the Microsoft Conferences for years. Line up for this last year looked great. Time to make it happen!

“Personal Development”

I will easily go through Tony Robbins’ Personal Power II by February 28, 2015 - Tony Robbins is amazing, and his programs are excellent. I may not end up doing “Personal Power II” but another course.

I will easily read 13 books by December 31, 2015 - I used to read - a lot - and it showed. I felt smarter. I used to consume so much information and just felt “on top” of everything. Time to get the reading back on track.

I will easily find ways to donate 5% of my income every month by December 31, 2015 - It’s well known that the secret to happiness is giving. It’s a win:win. Therefore it’s a no-brainer! The only caveat with this is that it has to be active giving (read: “not just a standing order to charity”).

“Health and Fitness”

I will easily be 72kg at 6% body fat by June 30, 2015 - Time to get the fat off that’s been slowly growing on me over the last year and get the muscle mass back up. This will be hard. Even once the fat is off, I have to work hard to hold muscle mass.

I will easily complete my P5 in Krav Maga by December 31, 2015 - Martial arts are awesome. I used to do Muay Thai and really miss it. Frankly, I also feel weak and out-of-touch. I’ve been interested in Krav Maga for some time and as a defence system, it’s really applicable for the street.

“Rule the Skies”

My biggest success from last year was to get my BPA ‘A’ Licence - qualifying me as a solo skydiver. Now, I need to progress my skills and knowledge (oh, and have a ton of fun in the process!)

I will easily complete 500 skydives by December 31, 2015 - this is a huge task! Honestly, I find it intimidating! The main reason for this - I want to jump The Palm in Dubai. Ideally for New Year’s 2016 - smashing this goal will have me well-prepared for this.

I will easily complete my CH2 by March 31, 2015 - CH2 (or “Canopy Handling 2”) is the next progression in canopy handling. I really want to invest a lot of time/energy into my canopy control - not only because I want to enjoy it more, but that’s the bit that saves your life!

I will easily complete my FS1 by March 31, 2015 - FS1 (or “Formation Skydiving 1”) is the qualification required to allow you to “flat fly” (belly-to-earth) with other skydivers. This means I can get out of the plane with my buddies and have some fun. Rather than being “forever alone” :)

I will easily do a helicopter jump by September 30, 2015 - Nothing much to say about this other than it looks awesome fun!


I will easily be consistently making £10,000 per month by December 31, 2015 - This is another one of the goals that kind of makes me squirm a bit. But for all the right reasons, it’s going to force me to get out of “contractor mode” and get my business growing more. Much needed. This will also lay a great foundation for 2016.

I will easily be consistently investing at least 20% of my income by December 31, 2015 - Having hit the “big 3-0” - I need to get more serious about laying my little nest egg for when I am an old man, covered in tattoos with crazy stories to tell ;)

To wrap up, I have a lot of work to do. However, I’ve already found myself getting pissed off with people saying “you need to be realistic” etc. I’ve thought long and hard about these goals.

“You need to be realistic.” - anonymous sheep

Yes, it’s a lot of work. But, they also compliment each other - in order for me to be able to skydive so much, I will have weekends away, less drinking and need more cash. These all compliment the fitness and finance goals. In order to make more money, I need to make more products!

To be honest, if I did just one or two of these goals, I would (sadly) be doing more than most.

What are you doing? What’s stopping you? Why?

Now go be awesome.

All the best and happy new year!

Tuesday, 21 January 2014

Using Private NuGet Packages in Azure Web Sites

After wayyy too long – I’ve finally started breaking up my code into re-usable components and putting together NuGet feeds for them. In many case – I’m trying to put these together into a state that is suitable for others and releasing them as Open Source on GitHub.

However, there is some code that I don’t want to go out to the public – but I still want to be able to break them up into components and generate NuGet packages for them. Enter the awesome MyGet.

MyGet allows you to create your own private NuGet feeds amongst a whole load of other cool stuff – now the next challenge: how do I get Azure to build my site and restore the package from the private feed?

Enable NuGet Package Restore

This is super-easy, and in many cases you might have already done it .

Right click the Solution and click “Enable NuGet Package Restore”. This will create a “.nuget” directory within your solution folder. In here are a few key files:

  • NuGet.Config
  • NuGet.exe
  • NuGet.targets

Now – we just need to tell NuGet about our private package feed.

Update Your .targets File

The “.targets” file is the one we’re really interested in. Open it up in a decent text editor.

You will see something like the following:

<ItemGroup Condition=" '$(PackageSources)' == '' ">
  <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
  <!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
    <PackageSource Include="https://www.nuget.org/api/v2/" />
    <PackageSource Include="https://my-nuget-source/nuget/" />

Go ahead and un-comment the “PackageSource elements and replace the “Include” for the second element with your private NuGet packages feed URL from MyGet.

This will be something like “https://www.myget.org/F/your-feed-name/”.

Push It!

If you’re sane – you’ve set up Azure to deploy via source control. Go ahead and git-add your new files to the repository and push them up to GitHub.

If all goes to plan, your site will be updated using the NuGet package from your private feed.

Happy hacking!

Monday, 20 January 2014

Installing Windows Live Writer on Windows 8

It’s been a LONG time since I blogged – and I figured I’m going to get back ON IT!

So – first things first, I needed to install the awesome Windows Live Writer. So I Google “Windows Live Writer” – and it brings me to this download page.

The problem? This installer doesn’t work on Windows 8. I get the error message:

Couldn’t install programs

You already have a more recent version of Windows Live.

Another quick Google later – and I came across the Windows Live Essentials Page – hit the “Download now” button and you’ll be good to go :)

Side Note: I know that upon expanding “System Requirements” – I can see Windows 8 isn’t listed. But it’s not immediately obvious and the browser knows my OS anyway :P

Monday, 25 February 2013

Could not load file or assembly msshrtmi or one of its dependencies

So, I recently upgraded my Azure Tools to October 2012, and everything decided to fall apart in my deployment environment. Great. Thanks Microsoft.

I installed the latest tools, fixed the code caused by the breaking changes in the Azure Storage Client Library and then having tested locally - fired off a deployment to Azure.

I then got greeted with a YSOD saying:

Could not load file or assembly msshrtmi or one of its dependencies

Erm, say what now? I don't even have a reference to this anywhere in my project. However, I know that when that is the case, this is normally some low-level GAC'd thing that is causing the problems.

A quick Google reveals that I am far from alone on this issue. I ended up trying out the steps outlined

All to no avail..

I Found This Fix

I then did this - and it worked!

  • Right-click your Azure project (the one with the blue globe).
  • Click the "Application" tab.
  • Note that there is a button telling you that you have a newer SDK installed?
So, it turns out that some minor changes get made to a few files that make all the difference:
  • .csdef file - 'schemaVersion' is updated.
  • .ccproj - 'ProductVersion' and 'CloudExtensionsDir' are updated.
  • .csproj - You're Azure SDK references will be updated (ServiceRuntime, Diagnostics etc.)

I think the killer was the 'CloudExtensionsDir' for me, this changed FROM:

<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\1.7\</CloudExtensionsDir>


<CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\1.8\</CloudExtensionsDir>

There you have it - check for the button in the Cloud Project Properties "Application" tab, and make sure your 'CloudExtensionsDir' is pointing to the latest install of your SDKs, which are located:

C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK

I hope this helps!

Tuesday, 5 February 2013

I'm Debt Free!

Hello Ladies and Gentlemen!

I've just logged into my Internet banking and confirmed it - I'm finally debt free.

Loan Status

The last payment on my last loan went out yesterday, and the only credit I have now is on a air miles card that I pay off in full every month.

My money is my own again.

This is awesome stuff - not only for the financial gain, but also for the immense emotional relief this gives me.

To Be Cathartic..

There was a lot of bad emotion and memories attached to this loan in particular, here's some mental associations that spring to mind:

  • Not being able to afford proper food - basically living on pasta and ketchup during the worst parts.
  • This of course had the knock-on effect of making me unhealthy, I was sick - a lot.
  • No hot water or heating - this actually did wonders for my ability to take cold showers!
  • The banging of the front door as debt collectors wanted to get money I didn't have.
  • The constant stream of red letters, legal threats, phone calls hassling me (I ended up disconnecting the phone).
  • Even when I started to get some cash (after clearing off smaller loans) - I'd still have to toss-up "food" or "heating" over "geek book to improve my skills and get out of this dead-end job".
But the one that really broke my heart - having to lie to my mother and tell her I was OK and not to worry about me.

People sometimes ask me "why?" - why didn't you ask for help, and then I tell them:
… because I got myself into the mess, I had to get myself out.
I made some bad, stupid decisions. I got myself into a bad situation. I was weak and almost ready to throw in the towel. I thought I was done.
But when we are at our weakest is when we show our true strength.
I had to get through it, for me - for my own.. Manliness! I had to know that I could right the wrongs and come out better for it. Otherwise, what was the point?
What kind of person would it make me if I did all this stuff, took money and property from companies that were built by people just trying to put food on the table for their families  and said "ohhh I can't afford to pay you because I am a fucking idiot who jumped into things that I couldn't handle". I'm not that guy. If I screw up, I fix it. No question.

Get Out of the Hole

So I did all I know how to do. I worked. I studied. I gritted my teeth.
I also cried, got frustrated, wanted to give up, got depressed, cried some more and got angry. It's really easy to get sucked into this spiral when you can never afford to go out and can't afford TV to distract you etc.
But I carried on working, I carried on studying and I carried on gritting my teeth and smiling to the outside world.
Then I cleared a debt. Some crappy high interest card loan that I got to pay off another. (LOL)
Then I cleared another - these guys must have loved me because they kept sending me new ones after I chopped it up - and they were so kind to give me more money (I kept chopping them up - I made it my new personal goal to see if I could chop up enough cards to cover the stupid amount of interest I paid them).
Then I felt it - momentum.
I was on to something. I realised that it wasn't about the penny-pinching and meticulous planning. It was about focusing on the most wasteful parts of your budget and getting them down as low as you can go. Two things come out of this:
  1. You make money. Last week there was no money, now you've found some. Yay.
  2. You lose the stress. Everything else is in hand and you're focusing on the few things you can actually do something about.

Make It Fun

I was always amazed how people that had to deal with horrific things made games out of them (for example, paramedics that score points based on damage at a roadside traffic accident). It sounds sick, but it's a coping mechanism. If you focus on the game side of it, it removes all the emotional stress that you'd normally have so you can actually focus on the task at hand.

I made it a game. Each month I would pick an item from my budget to pick on, then see "how low I could go". My favourite - "Weekly Groceries". Got that down to £10/week. Impossible? No. Boring? Kinda :) Helped me kick ass? Definitely*.

* this actually freed up about £150 a month. Would you say "no" to an extra £150?

Are You OK?

As my momentum picked up, I continued smashing debt - then one day I awoke and realised something..

I wasn't lying to my mother after all. I was OK.

Grit your teeth. Do the work. It may not be easy work, and it will take time. Sometimes there's only one way out of a situation. Toil.

Fast-forward a few years. It's all over.. I now live a life that I truly love. I have amazing friends that challenge me, help me grow and become a better person. I'm not only financially richer - but I'm mentally richer. I'm good. I'm really, really good!


I have to say a big "thank you" to my friends and family - you're everything to me. There are times when you have saved me and you don't even know it.

I love you all.

Now, I have to get back to work ;)