Blog

Featured Articles

Swift Initialization and the Pain of Optionals

on 20 Nov 2014

Swift's strict initialisation process results in a number of practical issues, leaving developers scratching their heads. This post explores a few solutions including two-phase initialisation, the use of optionals and lazy properties.

A Fibonacci fan component for D3

on 31 Oct 2014

In this article I'm going to create an interactive Fibonacci fan D3 component, and show you how to add it to a chart in just 6 lines of code.

An interactive crosshairs component for D3

on 29 Sep 2014

In my last article I put together an interactive chart that could be panned and zoomed, but there was one obvious omission - crosshairs. In this article I'm going to create a D3 crosshairs component, and show you how to add it to a chart.

Functional Swift and Memoization

on 22 Sep 2014

This post is a continuation of my previous which looked at implementing Conway’s Game of Life using functional techniques. Here I look at how memoization can be used to cache the return value of a function in order to improve performance.

Strong Typing With AngularJS

on 26 Aug 2014

This article demonstrates a successful integration of TypeScript with AngularJS to provide a strongly-typed environment for development of HTML5 apps.

An OHLC Chart Component for D3

on 19 Aug 2014

An open-high-low-close chart is a type of financial chart used to show price movements in a financial instrument over time. In this post, we'll make a reusable D3 component for an OHLC chart series.

Latest Articles

WebdriverJS and Promises

by Ross Hendry, on 04 Mar 2015 Ross Hendry

Recently I have been working with WebdriverJS to fulfill a need for browser testing on a project. Although I’ve used Selenium for Java in the past, this was my first time using the JavaScript version. While broadly similar to what I remembered about the Java API, WebDriverJS returns Promises from...

Blink

by Daniel McNamee, on 03 Mar 2015 Daniel McNamee

When Malcolm Gladwell wrote a book called Blink about the power of the subconscious in 2005, a heuristic was named for it. Read on for how blink testing works, and some further thoughts on how other ideas the book contained can influence your testing.

Making a RTL plugin in less

by Luke Page, on 19 Feb 2015 Luke Page

I mentioned in the previous post that I would create a plugin for less which converted from LTR to RTL. Here is a tutorial post on creating that plugin. Setting the project up I know we want to modify the AST (abstract syntax tree), so we will need a...

RTL Support in Web Applications

by Luke Page, on 13 Feb 2015 Luke Page

Some languages of the world (Arabic, Hebrew etc.) are RTL, meaning they are read right-to-left, instead of left-to-right. Typically in web applications supporting one of these languages, everything is reversed, meaning scroll bars, progress indicators, buttons etc. I recently took part in a discussion with the jQuery UI team...