In the world of Foreign Exchange there are a range of products that customers can choose to hedge their currency requirements against rate moves alongside a wider set that allow for out-performance of the market and speculation. Some of these products are complex but the most used follow a set pattern: On a set date… Read more »


Back in 2014, while taking a break between roles I began building a web-application to display your financial transactions and allow you to group and categorise them. I find it much easier to learn technologies while using them for a specific purpose so this project became a great place to test those out. The app… Read more »

Developer Tools on BrowserStack devices

Recently I was asked to look into a pair of issues that could be seen in a live environment but not in test. After a bit of further investigation we discovered it could be replicated but only using BrowserStack, and only in their Simulators, not physical devices. This was a bit of a problem as… Read more »

Serving SSI content with Grunt and Connect

Having recently tried to search for the answer to this question, and found that one guy had partially answered the question on every post, here’s how to serve SSI / SHTML content through Grunt and Express. The Grunt Task Pretty straight forward, add connect with a server. Change the port and hostname as per your… Read more »

Center a Google Map on a point

I’ve always been surprised that centring on a point/LatLng isn’t a function in the Google Maps API, although the fitBounds method does tend to interfere with the zoom it’s a useful tool to have in the box.

AngularJS Karma testing

Last year I was involved in making a prototype web app using AngularJS, and as it there was the possibility that it may end up as the foundation to production code we wrote unit tests for it’s internal functionality. Whilst there is a ton of examples for testing AngularJS apps we still ran into a… Read more »

Using MarkerClusterer and MarkerWithLabel with Google Maps

Both MarkerClusterer and MarkerWithLabel are great libraries, but they do have their quirks; MarkerClusterer What is a cluster marker? MarkerClusterer doesn’t use Google Markers or pin styles, it takes an image path and creates HTML on a layer. The resultant markup is given a class of ‘cluster’ that you can target in your CSS. Do… Read more »

Using jQuery.ajax rather than jQuery.load

jQuery.load is an incredibly useful method, but if you want to do more with the returned source than put it into a div then you may want to use jQuery.ajax directly with your own callback. The source code for the load method is a great starting point for writing your own callback, in particular how… Read more »

iOS 7 and 412 precondition failed

With every release of iOS there tend to be some gremlins lurking in Safari, iOS 7 was no different. When first testing the site I’ve been building in iOS 7 I was getting a failure when resubmitting an AJAX POST request, the response was 412 (Precondition Failed). Eventually I found this issue explained related to… Read more »

Using Bing Maps with Require.js

Recently I’ve been doing quite a lot of work with Bing Maps. Not every page on the site requires the map API so we’ve been attempting to use require.js, which we already have, to maintain that dependancy. As usual it’s more complicated than we’d hoped. Bing Maps provides a callback hook that we can use… Read more »