Skip to main content

Posts

I no longer build C# apps

Okay so the title is slightly misleading, I'm still writing   code in C# (.Net) but I'm no longer manually building the solution inside Visual Studio, no F5, no Ctrl+Shift+B... You might be thinking huh? What I mean is I no longer go round the continual cycle of  write code, compile code, test code, refactor code etc. We've managed to remove the compile & test  phases from the development process and I can't elaborate how liberating this is. This has been achieved by using a continuous testing framework - tests are executed as you write the code. I found this article back from 2007 stating all the benefits you'll get from using such a framework - ' It’s turning the knob on Test Driven Development up to 11 ' - so true... I'm currently working in an environment where the main constraint is not the tools we're using but the underlying OS. We're stuck with 32 bit Win XP machines for at least the short to medium term and our biggest pro...

Understanding RefCount in Reactive Extensions

A couple of weeks ago  @LordHanson  & I ran into an issue converting a stateless async service exposed as an Rx cold observable to a  connect-able   hot observable. The issue was solved after a couple of hours, what follows is how we how got there. The service is an Rx wrapper around the Caplin messaging API. The Caplin API is designed around the idea of opening a connection, subscribing on subjects and then receiving messages asynchronously - pretty standard and nothing unusual. When used in an app where there's only ever one subscriber for a subject then a service designed around Rx cold observables is suitable - we had something similar to what's shown below, in this example I've substituted the Caplin part with an observable timer to spit out messages every second: So this is a cold observable because every time the Listen method is called a new stream is created with it's own set of messages being pu...

Getting MSpec working with Visual Studio 2012 RC & R# 7 EAP

These are the steps are used to get MSpec working with the release candidate for Visual Studio 2012 and the EAP for Resharper 7. I'm using the build 64 (09/06/2012) of R# 7 EAP - latest releases can be found here . Firstly, I have the following MSpec style fixture shown below, as you can see the Resharper icons aren't showing up on the left hand side: The next step is to add the correct Nuget package for MSpec - you have to get the pre-release version, not the current production release. I installed it using the package manager console in Visual Studio - don't forget the ' -Pre ' suffix to get the right version of the package: At this point you're probably thinking you're good-to-go, but there's one important step left - the pre-release MSpec assemblies have to be copied to the app data folder for Resharper. Luckily the MSpec guys have this in-hand and have created a set of batch files as part of the Nuget package installer. Browse...

WP7 Advertising results for FINDaPAD

A previous post detailed how FINDaPAD was selected for the Nokia WP7 April ad campaign in the UK - more info can be found  here . For us the ad campaign has been very successful, we've doubled our total number of downloads in a month, okay we didn't have many in the first place but doubling the number of ' units sold ' in a month always sound good! The ad campaign ran for 4 weeks and started on or around the 1st of April. Before the campaign started we'd only had approximately 600 hundred downloads with the previous month showing 87 downloads: As I said the campaign had the affect of doubling our total number of downloads to approximately 1400: Interestingly the above graph has two peaks, the second is explained away as a patch release we did (2.1) -  a few bug fixes. The interesting factor about the second peak is there are about 200 users who had downloaded the update from the marketplace in the subsequent week. Does this figure represen...

Getting free advertising for WP7 apps

If you've got apps in the WP7 UK marketplace you have the chance to be included in the Nokia and Microsoft ad campaign, more info can be found here . We ( Rich , Nick & I) had FINDaPAD put forward - thanks Matt . The ad campaign started a couple of days ago and we're being featured with an in-app banner and entry on the app highlights in the marketplace: We're already seeing great results, our daily download rates for the app have tripled in the first 2 days of the campaign :)

Chocolatey makes installing easy...

Just been building a new Win8 image and I thought I would use Chocolatey to install the apps I typically use for development, you know things like Notepad++, 7Zip, Sysinternals, PuTTY, msysgit... I got to say Chocolatey is awesome great! I can't believe the .Net  Windows community hadn't got round to this before... Once Chocolatey is installed it's really simple to get stuff installed, simple as typing one line in PS: Chocolatey will download the required package\installer and run what ever is required to get it installed, e.g. this is Chocolatey download loading and installing ILMerge:

faking data in WP7 and other .Net platforms

I needed to fake some data for a WP7 app yesterday and I was about to write a couple of classes when I thought why not check out what's available out there already... There were already a couple of NuGet packages out there but I wanted to try out my forking skills on GitHub :) I had a quick conversation with Ben Smith about faker-cs   and producing a NuGet package.  Introducing Faker.Net on NuGet, with support for .Net 3.5 SP1, .Net 4.0, Silverlight & WP7. Faker.Net support loads of different ways to fake data - addresses, names, phones numbers and more: It's very simple to use, shown below is the code for the following WP7 apps: It could be used anywhere you need fake data - proof of concept, testing, demo apps...