Javascript and the dangers of console.log

If you’ve ever written any JavaScript then you’ve probably used your browser console and are familiar with the wonders of the console object. If you haven’t, why not? If, as i’m sure we all have at some point, you’re using alerts to debug your code then go read this and come back when you’re ready. [...]
Read more

Strong passwords: strategies for generating strong passwords

In the modern world it is essential to be able to use strong passwords to secure the various accounts you use every day, this becomes even more important when implementing single sign on giving your users access to all of your services with a single username and password combination. Thinking of passwords and subsequently remembering [...]
Read more

MongoDB: troubleshooting “unable to connect to a member of the replica set matching the read preference primary”

Got the "unable to connect to a member of the replica set matching the read preference primary" message on MongoDB? After configuring a number of MongoDB instances in a primary-secondary-arbiter replica set in multiple environments hosted in Windows Azure Infrastructure-as-a-Service (IaaS) Virtual Machines. We found there was a single environment where clients were unable to [...]
Read more

Requestverificationtokens in a visual studio 2013 web tests

RequestVerificationTokens or AntiForgeryTokens have become the mainstay of ASP.net web applications. They serve a valuable purpose reducing the attack surface area of an application and ultimately protect the end user from being impacted by the actions of a malicious third party. These tokens do pose a problem for developers and testers whose responsibility it is [...]
Read more

IP and domain restrictions IIS module to lock down your non-production environments

With the move out of the private data center such as Azure and AWS and into the cloud it is common for clients to want non-production environments locked down by IP address; this request is easily supported by the addition of the IP and Domain Security module in IIS. This poses some problems when using [...]
Read more

Custom extraction rule: extracting json properties in a web test

At Amido we use a great number of tools to test the systems we develop, on the most recent project one of those tools has been Visual Studio 2013 WebTest. Using this tooling we were able to successfully deliver a suite of performance and load tests that exercised key usage scenarios at scale, on time, [...]
Read more

Printing Post-it notes

Currently working with a large team with a large number of tasks logged in TFS, and represented on the board as by Post-It notes. Rather than rely on the legibility of our handwriting I wanted to print our tasks on a Laser printer, thus the “Printed Post-It Notes” project was born. There are several blog [...]
Read more

Installing mongoDB with desired state configuration

One of my tasks for this week was to build out a number of MongoDB replica sets on Windows Server 2012 R2 virtual machines in the Azure cloud. This was my first opportunity to use Desired State Configuration in anger and it was largely a present experience with only a few gotchas: GOTCHA #1: POWERSHELL, [...]
Read more

Static IP address on a Raspberry Pi

I have become a huge fan of using the Raspberry Pi for home and office automation tasks, for this kind of set it and forget it application it is essential to configure the Raspberry Pi with a static IP address. I have detailed the following process using VIM for users of the Pi that may [...]
Read more

Enable asp.net from the command line

With each release the Windows Server product line has incrementally gained automation and scripting capabilities. One of the more frequent tasks I undertake is configuring IIS Application Servers and enable ASP.NET ready to host client web applications, specifically installing ASP.NET. The well worn path for a Systems Administrator when completing this task is the Windows [...]
Read more

Azure traffic manager: the curious case of the degraded cluster

I spent the week before Christmas performing a “lift and shift” migration from single server tin to Windows Azure, the target architecture involved fronting two Infrastructure as s Service (IaaS) Virtual Machines with Azure Traffic Manager; persistent storage provided by Azure Blob Storage and SQL Azure. The deployment was mostly successful first time, the only [...]
Read more

UX Brighton 2013

Last weekend Brighton briefly flashed white hot on the UX global heat map: Friday saw UX Brighton, Danny Hope’s now regular fixture on the conference map, and Saturday it was UX Camp Brighton. I went to the former, spoke at the latter and on Sunday I lay down in a quiet room with a towel [...]
Read more

UX at Amido

It’s been a few months since I joined Amido and it’s high time I introduced myself and said a few words about why I’ve come on board. I’ve been in UX for more than 10 years, the last 5 of which have been as a freelancer. During this time I had the good fortune to [...]
Read more

Content delivery networks (CDNS) part 2/n – caching

CACHING – UNDERSTANDING THE BASICS A cache is repository of stored data to serve subsequent HTTP requests, for a cacheable resource to expedite content retrieval. Understanding that caching content saves money is crucial; “time equals money”. Caching provides an efficient and effective mechanism for distributing resources (content) across the World Wide Web. Data within a [...]
Read more

Content delivery networks (CDNs) part 1

Content Delivery Networks (CDNs) are virtual networks built as a software layer on top of the internet. The delivery network works transparently; client software is not required, and it can adapt with the future requirements of the internet as it evolves. Popular websites are increasingly vulnerable to overwhelming load on site infrastructure. For example, the [...]
Read more

Using fakes in tests

Recently I encountered a problem that will eventually occur for any tester: that of testing a method which relies on something out of the tester’s control, in my case random number generation. If I relied on random numbers, then calling the method would give results that are outside my control. How did I get round [...]
Read more

Windows server 2012 R2 and the Cloud

It has been argued that Windows Server 2012 is the operating system for the cloud, at first glance this statement seems ironic as the vast majority of users will never interact with an operating system in a public cloud. If however you can look past this point of confusion you start to see where Windows [...]
Read more

Publishing in Windows Azure: object reference not set to an instance of an object

I recently tried to publish a web role to Windows Azure using Visual Studio 2012. Soon after telling Visual Studio to publish, I got the following error in Visual Studio’s ‘Windows Azure Activity Log’ window: In my case, my solution’s Cloud project made a reference to a X.509 certificate’s thumbprint within its configuration files, this [...]
Read more

Separation of concerns with PowerShell

Modern software is complex; often so complex that it is simply too much for one person to hold onto the big picture while digging in to the minute detail of a specific bug or feature. The “Separation of Concerns” paradigm has emerged as a practical and effective way of managing this complexity; a concise description [...]
Read more

Powershell CMDLET development settings

PowerShell snapins are a great way of exposing useful tools to your team, we can provide hooks into our existing code allowing us to leverage the investment in the code base through a simple cmdlet. There is a bit of a gotcha with PowerShell development however; if you need to be able to execute .NET [...]
Read more