Featured Articles

Functional Reactive Programming with Bacon.js and D3

on 23 Jul 2014

Reactive programming is a paradigm which allows you to better represent a work flow where changes in one part of your data model propagate down to other parts of the model. This blog post demonstrates an example of this, by listening for updates to Wikipedia and reacting accordingly.

A Statistical Comparison of the iOS and Android Stores

on 10 Jul 2014

A few months ago I published a blog post which showed the results of analysing the meta-data of 75,000 apps from the iTunes App Store. This blog post continues the analysis by adding 60,000 Android apps into the mix.

Schools of Testing

on 07 Jul 2014

Which school, which certificate? It’s a minefield for testers. Are any certifications worthwhile?

Swift Sequences and Lazy Evaluation

on 26 Jun 2014

In this blog post I want to take a quick look at the Swift Sequence protocol, which forms the basis for the for-in loop, and see how this allows you to write code that performs sequence operations that are only evaluated on-demand.

A Colour Analysis of the Apple App Store

on 12 Apr 2014

This blog post presents the result of analysing 250,000 screenshots from the Apple App Store, looking at hue, lightness and saturation histograms for each category.

A Statistical Analysis of the Apple App Store

on 20 Mar 2014

The App Store continues its rapid growth, with approximately 300,000 apps added each year. I decided it would be fun to download as much app metadata as possible in order to see what patterns and trends I could find. This blog post describes the results.

Developing large scale KnockoutJS applications

on 28 Feb 2014

It's easy to get started building data-bound user interfaces in the browser using the KnockoutJS MVVM library. This post covers some practices and techniques that help with using it successfully in large single page applications.

Latest Articles

Porting Scratch To HTML5 From Flash - 2014 Intern Project

by James Hill, on 20 Aug 2014 James Hill

Introduction We’re the Scott Logic interns for Newcastle in 2014, and our project was to make a mobile-compatible version of the Scratch HTML5 player that allows offline access, and app-like immersion. What’s Scatch? Scratch is a visual programming language created by MIT and aimed at children intended...

An OHLC Chart Component for D3

by Tom Simmons, on 19 Aug 2014 Tom Simmons

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.

Introducing Agile upfront

by David Thomas, on 18 Aug 2014 David Thomas

An alternative to introducing Agile incrementally is to make a 'big bang' transition, converting over to Agile all at once. In this post I take a look at how this might work.

Strong typing for SignalR

by Nicholas Wolverson, on 08 Aug 2014 Nicholas Wolverson

SignalR is an easy to use framework for .NET and the browser which enables bi-directional communication over a variety of transports (from WebSockets to Ajax long-polling). The SignalR Hubs API is dynamically typed, in this post I will summarise some existing tools which can be used to provide strong typing for calls between C# and TypeScript, as well as a more experimental approach via F#, FunScript and Type Providers.

MongoDB vs CouchDB

by Dan Gorst, on 04 Aug 2014 Dan Gorst

As part of a project I'm working on, I have a requirement for a NoSQL database. There are numerous offerings out there, of which MongoDB and CouchDB appear to be the most popular. So which system should I choose?