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

Exception Handling in Swift

by Colin Eberhardt, on 27 Jan 2015 Colin Eberhardt

Swift doesn’t support throwing exceptions, nor does it support catching them. This wouldn’t be a problem if you could develop iOS apps in pure Swift, but unfortunately at the moment you cannot. When developing an app most of the APIs you’ll be working with are Objective-C APIs that have been...

Investigating TypeScript compiler APIs

by Nicholas Wolverson, on 20 Jan 2015 Nicholas Wolverson

TypeScript 1.4 was released last Friday, bringing union types, type aliases, and some ES6-related features. It also brought a new compiler and language services API to facilitate better tool support. Here I'll give a brief introduction with some pointers on places to get started.

Why should a project have automated tests?

by Luke Page, on 08 Jan 2015 Luke Page

It has become generally accepted that a good project has a set of automated tests behind it - whether they be unit tests, integration tests or end-to-end tests. However I don’t often hear people talking about the benefits vs cost and how much should be spent on particular projects. I...