GUIDs Part 3: GUID one

The ultimate test to be sure you understand a concept is to try and teach it to someone. The way to understand a concept enough to teach it to someone is to implement it. I didn’t exactly just sit down one afternoon and decide to write a few blog posts about GUIDs because I know everything about them. It actually all started with a few weeks earlier wanting to understand the mechanics behind the identifier. [Read More]
guid  guide 

Sorting IQueryables using strings and reflection

Wouldn’t it be great to be able to specify the property to order on at runtime for a LINQ query? I.e. items = items.OrderBy("SomeProperty"); rather than items = items.OrderBy(s => s.SomeProperty); How to dynamically sort an IQueryable Later on in this post we’ll go into depth on how to implement an extension method from first principles to do just that but if you just want to quickly use a string to sort an IQueryable right away- go ahead and install Dynamic LINQ. [Read More]
linq  guide  csharp 

Reactive Extensions .NET: Implementing the circuit breaker pattern

This article assumes you’re familiar with both reactive extensions and the circuit breaker pattern, although we’re focusing on .NET reactive extensions have been implemented in lots of different languages so the same principles apply. Microservices are great but they can be a little temperamental at times because there can be a lot of moving parts to service one request. This isn’t all bad as the server can often tackle each moving part in parallel speeding up the response the client gets. [Read More]
csharp  rx 

GUIDs part 2: GUID as gold

How are GUIDs unique with out a central watch dog? They do it through the algorithm that generates them. The specification lists 5 different ways you can end up with a unique identifier, if and only if you follow the instructions. The specification can’t prevent someone from choosing the same GUID as you on purpose (a watchdog might be able to) but it does prevent them accidentally generating the same GUID as you if they’re following it. [Read More]
guid  guide 

Generating an Apple Push Notification Certificate on Windows

Following most instructions on the web make it sound as easy as generating a CSR using IIS. However I ran into a few difficulties - namely Apple seemed to think my brand new CSR was invalid. Probably has something to do with my local setup (IIS 10 on Windows 10) but that shouldn’t be a road block. Why? w-w-w-w-why? Be more constructive with feedback. To be fair most instructions (including Microsoft Azure documentation) only show you how to do it on the Mac. [Read More]
ios  guide 

GUIDs part 1: What the GUID?

Most developers have seen a GUID or two. A GUID (Globally Unique Identifier) is used extensively in computing to uniquely identify all sorts of things. You might also see them referred to as UUIDs - don’t worry they’re the same thing. This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). — RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace [Read More]
guide  guid 

Improving conversion rates in KickSmoking

In part 1 of this series we looked at the current state of the application KickSmoking. In this series we’ll take a look at some of the ways we’re going improve conversion rates. Always take care of your loyal users People won’t give you money if you treat them poorly. There are two main groups of users on KickSmoking, those on the free app and those on the paid app. [Read More]

Monetising KickSmoking

KickSmoking is a windows phone app that I built 2-3 years ago which has been in maintenance mode for a while. Despite being on the back-burner it’s still the number one quit smoking app on the Windows Phone app store. It’s had over 60k downloads and still achieves upwards of 50 new installs a day, and with 224 reviews at an average of 4.5 stars I’m not the only one who thinks it’s awesome. [Read More]

Cocoapods: package management in xcode for iOS apps

I’ve just started building my first iPhone app and one of the biggest things I missed from .NET land was package management. Visual studio has amazing support for NuGet - even Microsoft distribute some of their core libraries on the platform. Wouldn’t it be amazing if we could have dependency management in xcode also? Turns out there’s a third party solution which is pretty fantastic despite the lack for first class support in xcode. [Read More]
ios 

Migrating an Azure VM to a different region

Microsoft just launched Azure cloud services in Australia, given the proximity to New Zealand where the majority of our customers are based it made sense to migrate Solve’s various azure hosted services there. The majority of the services run on hosted platforms such as Azure Websites which were super simple to migrate, however there were a few legacy systems running on VMs which needed to be migrated. Even though you can’t do it from the online interface it, it’s actually pretty simple. [Read More]
azure  guide