Skip to main content


Namespace prefixes in Microsoft Xml Document Transformation's SetAttributes and RemoveAttributes transforms

Link for the Codeplex fork I mention in this article: this package from Nuget using the package ID Microsoft.Web.XdtEx.Microsoft recently open-sourced the XDT library that's at the heart of the web.config transformations.  Partner this up with a new feature of Nuget 2.5 which supports the auto-importing of MSBuild .props and .targets files into a project file, and that means I could try something out with XML files in a Xamarin.Android project I'm working on at the moment.I'm building an Android app (obviously) and due to our company's needs, we want to build a vanilla app which can then be re-used for other brands within the same group.  I had the idea that I could create the whole thing as a nuget package, now that Nuget supports the 'MonoAndroid' platform.Deploying code to projects with nuget is easy - and with the partial class model in C# it's simple to deploy a core platform to a…
Recent posts

ICM and further follow-up - Still getting spam!

As my last two (here and here) posts have been documenting - I've had a really tough time trying to stop from sending me email surveys, having mistakenly allowing myself to be registered with them following an ICM telephone survey.Most recently I'd received an email from a guy called Keith Bates of Creston Insight (a division of Creston to which ICM and newvista Research belong) assuring me that I will no longer receive email surveys.Well - today I got another survey from off I go to Information Commissioner's Office to report this organisation.

ICM and follow-up - Well, that was quick

Update (19th April 2013) - I'm still getting spam despite being assured that it will stop - read more.Yesterday I posted about my experiences with ICM and an affiliated website,  In it I explained how I had repeatedly tried to unsubscribe from their email survey service to no effect, I also included the text of an email I'd written to Keith Bates, apparently the head of the 'Insight Division' of Creston, the overarching company that controls ICM, newvista Research and many others.I waxed lyrical about how I didn't expect to receive any response to this email, but I was wrong.Last night I received this response:Dear Mr Zoltan,
I was very concerned to receive your email and immediately launched an investigation into your case. My team have been working on this matter for the past few hours and I am now in a position to respond to you
Firstly, let me apologize for the experience you have suffered. This is far below our usual standard. Secondly, I woul… is SPAM! Say no to ICM re email surveys.

Update (19th April 2013) - I'm still getting spam despite being assured that it will stop - read more.
Update (16th April 2013) - I have received a response to the email I sent below -read my next post for more.Like many people in the UK, I've been called by ICM and completed one or two of their telephone polls (often conducted for organisations such as the BBC, the Guardian and many other media organisations).Following one of these completed polls, I was asked if I would like to receive polls by email, too, from 'one of our partners' - with the potential to earn some money.  Assuming that I would be able to 'suck it and see', and unsubscribe if I got bored of receiving these emails, I said yes.It was definitely one of the stupidest mistakes I've ever made.  The surveys come from ( who proudly report on their website how much money their members have earned today.  I've no doubt that some people are completing…

MSDN and MS Fail - Developing Store Apps? You're on your own

One of the reasons I often say to people that the Microsoft stack is the best to work on is the quality of the documentation.  For most APIs you get decent documentation as to what the method/class does, what kind of parameters to pass and, most crucially, why the operation will throw an exception (and what to do about it).  Across most of the BCL, too, you get lots of helpful exceptions when things go wrong - so you can address any issues and try again.For this post I'm going to be working primarily with a random pair of examples (and it's by no means the best, especially throughout the Windows Store MSDN you'll see stuff like I'm about to show all over the place): From the BCL MSDN: The AesManaged class (from the core BCL) and the documentation for it's CreateEncryptor(byte[], byte[]) method.With those two opened in tabs, let's now open the Windows Store MSDN topics DataProtectionProvider and the DataProtectionProvider.ProtectStreamAsync(IInputStream, IOutput…

Shameless plug - Use the new JobServe Web API to search for jobs your way

As my signature states - I work for JobServe in the UK.  Over the past few months I have been working on a new REST API (using the ASP.Net Web API from pre-beta to RTM) and it is now in official public beta.
Now of course, this isn't just so your good selves can start running your own job searches using whatever web-enabled client takes your fancy, but that is one of the cool benefits that has come out of it - and that's why we're calling it a public beta.
At the time of writing, you can use the API to run almost any job search that you can on the website.  As you would expect, you can get the results in XML or JSON (also GET requests with search parameters in the query-string are supported as well).  Note that JSONP is not currently supported - but it's slated for a future release.
Sounds great, how do I get in? In order to get cracking with this - you need to request an API token.  This is not an automated process but we should be able to get you set up in a day or t…

Adding ‘Deny’ functionality to AuthorizeAttribute in Asp.Net Web API

For the web service project I’m working on at the moment I need to be able to treat authorization differently based on the hostname of the URL that requests are made through.To state more clearly – these web services will have a ‘sandbox’ mode in addition to the real mode, and the mode a request will operate under is determined as part of the controller-selection phase early in the Web API request lifecycle.  So, say that my web services will be hosted on; the sandbox will simply be note – a discussion of how this is implemented is entirely outside the scope of this article; but I’ll just say that I’ve developed an in-house multi-tenancy layer for both MVC 4 and Web API that allows us to define ‘brands’ and, under those, you can then redefine content, controllers, and even the DI container that is used.These services are going to require caller-level authentication for most operations via SCRAM Authentication (RFC 5802), and as such m…