Experiment moving BlogEngine.NET to Azure

For a while it has seemed like a good idea to attempt to move this Blog into Azure, Microsoft’s cloud platform.

Here is what was discovered:


Risk management: This experiment was performed using a trial account to mitigate any risk in terms of cost. It was also performed well before the existing hosting ran out, to make it possible to revert back again.

For reference, time of writing is August 2015. Existing .NET host (Discount ASP.NET) $135 per year for domain name managing and website hosting, including email account handling for the domain. You can get much cheaper hosting than this (even free if I were to use a shared blogging platform), but I trust Discount ASP.NET and they keep up with the latest and greatest .NET releases and features.

Azure websites comes in different levels, a minimum of “Shared” is required to support custom domain names, cost ~£5.91/mo

“Shared plan” in Azure is described as

The Shared (preview) plan allows you to develop and test in an environment with features such as SSL, domain names, and more before production and is suitable for low traffic sites.

To be fair on Azure in documentation Azure indicate the Shared plan being for testing and “Basic” plan is the start of the production plans, however the Basic plan jumps up to min of $35 per month, too expensive.

Azure Discount ASP.NET
~£5.91 per month (Shared)
~£22.70 per month for (1st tier Basic Plan)
$135 per year
£7.30 per month
  Custom domain name management included
  Includes handling email for domain


So from the outset this does not make any sense financially, especially considering the domain name registration management and email would have to be added to Azure basic costs but as its a free trial lets carry on and ignore that fact.

Workplace MSDN subscriptions include a chunk of Azure credit, some may find this useful, but as this is for a personal blog, and that credit is used for work projects, it was not an option in this instance. More...

Fields: SELNGUOM, PRCHSUOM, UOFM -Dynamics GP Units of measure, a developer perspective

Developers new to ERP or GP can find units of measure a new concept to keep in mind when coding. For some it forms a mental barrier, which is a great pity as its all very simple really!



Units of measure need to be recorded against both inbound and outbound transactions that interact with stock, examples include purchase orders, goods receipts, returns, sales orders, inventory movements, manufacturing orders, bills of material etc. Otherwise we can’t keep track of what has been bought, sold and how much is sitting in inventory. Why? -Lets consider some simple scenarios:

  • Company buys metal aluminium extrusion by the Kilogram (Kg) from the mill and sells it in metres(m)  to their customer
  • Company buys packs of 10 bolts but sells them in single bolts to their customer for spares
  • Company buys individual loud speaker horns from the supplier and sells them in pairs to the customer

So buying “1  unit” weight of aluminium extrusion from our first example, and then selling “1 unit” of aluminium length does not mean you have sold one 1kg by selling 1m. Without introducing a conversion factor in the middle you can’t total up what you have left. More...

Asynchronous pluggable Protocol Handler for Dynamics GP (for drilldown/drillback)

Protocol (or scheme) handlers are a windows operating feature that take a URI request from the windows operating system and redirect to an application that has previously been registered with windows to “handle” that URI scheme. That application then performs some action based upon the passed URI. A most common example of these you may have encountered is with a “mailto:user1@yourmail.com” link that launches a mail program on the client computer.

Drill down (or drill back ) is one of the seriously under promoted and under utilised features of GP, it allows users to hyperlink from another application into virtually any transaction or master data (card) in GP. If a drill down is not already defined then custom drilldowns can be created using drill down builder (extra product with smart list builder).

One of the most common questions regarding this functionality is if the drill down can open GP, it can not, GP must be logged in and running for the drill down to work. The machine also needs access to the domain controller for authentication purposes.

We can take advantage of protocol handers in our own applications to interact with Dynamics GP.



Windows 10 Comfort Curve 3000 keyboard sticking holding shift key

This may not just be windows 10, some searching turns up reports from Windows 7 onward.

On the desktop machine in question, holding the SHIFT key on the keyboard, causes windows 10 to stick or hold the shift key down even once the key is comes back up. This results in when typing top row numbers, punctuation is typed. Pressing the return key is like pressing shift return. This “feels like” this was the accessibility feature, sticky keys kicking in.

Checking with the Ease of Access Center, it seemed sticky keys was off.



Time for the old trick of turn it on and off, so check all the check boxes in that section, after clicking on the “Set up Sticky Keys” hyperlink.


Then click “Apply” and then unchecked all the boxes and click “Apply”.

Testing should show that holding the shift key for five seconds no longer locks the shift key.


I was wrong, this turns out to be actually to do with the keyboard hardware itself sleeping after four seconds.The keyboard then gets into a logic mess, latching the shift key. The keyboard LED goes out as it goes to sleep, after that the keyboard will then have a latched shift key.

Luckily the solution has been found on you tube, watch the video then find the solution in the comments of the video on you tube. (Basically go to power management tab in device manager for the USB input device (not the keyboard itself) and uncheck the checkbox so don't allow it to be turned off.