Jekyll Pagination with Infinite Scroll

Swift By Tutorials is Published

18 Sep 2014

Apple released the first public beta of the Swift programming language just over three months ago. Within days of the release myself and Matt Galloway (author of Effective Objective-C) started working on our book Swift by Tutorials. After a tremendous amount of work, that has seen us update...

The Game of Life with Functional Swift

10 Sep 2014

This blog post shows an implementation of Conway’s Game of Life using functional techniques in Swift. This results in code which is a clear and concise representation of the game’s logic. I also take a closer look at ranges, intervals, the pattern match operator, ~= and how local functions help...

Swift Adoption Statistics

01 Aug 2014

It was just two months ago that Apple took developers by surprise in releasing the Swift programming language. Ever since I’ve been spending my evenings thoroughly immersed in the ‘all new’ Swift programming language. In just over a month I will be giving a couple of Swift talks at the...

MVVM, Swift and ReactiveCocoa - It's all good!

24 Jul 2014

Around one month ago my two-part tutorial series on how to use the MVVM pattern with ReactiveCocoa was published on Ray Wenderlich’s website. Unfortunately just before the publication date Apple launched the Swift beta, a language which is much better suited to functional programming than Objective-C. I’ve ported the...

A Statistical Comparison of the iOS and Android Stores

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 analysis revealed some interesting results; 75% of apps are free, 60% have no ratings and the Entertainment category has the worst user ratings....

MVVM with ReactiveCocoa

07 Jul 2014

I’ve always been very keen on the Model-View-ViewModel (MVVM) UI design pattern, ever since I first encountered it whilst developing WPF and Silverlight (RIP) applications. As a result I’ve been quick to adopt frameworks in other languages / technologies that provide an implementation of the MVVM pattern, such as...

Swift Sequences and Lazy Evaluation

26 Jun 2014

I’ve had a lot of fun poking around the Swift APIs over the past few weeks. The lack of documentation means that there are a some real gems hidden among the more mundane API and language features. In this blog post I want to take a quick look at the...

White Paper - HTML5 At Enterprise Scale

19 May 2014

It was only three years ago that myself and a couple of colleagues wrote the paper Flex, Silverlight or HTML5? Time To Decide. At the time developers were struggling to choose between mature and reliable Flex, Microsoft-backed newcomer Silverlight, and young upstart HTML5. </img> Now just three...

Binding to a UITableView from a ReactiveCocoa ViewModel

11 May 2014

This blog post presents a simple utility class for binding ReactiveCocoa ViewModels to UITableViews without the need for the usual datasource / delegate boiler-plate. Here’s an example of how to use this binding helper: // create a cell template UINib *nib =...

A Statistical Analysis of the Apple App Store

20 Mar 2014

.chart g.columnContainer, .chart g.barContainer, .chart g.slice { opacity: 0.8; } .chart * { -webkit-transition: opacity 0.2s; transition: opacity 0.2s; } .chart { margin:20px auto 20px auto; display: block; } .chart g.columnContainer:hover, .chart g.barContainer:hover, .chart g.slice:hover { opacity: 1.0; } .chart g.slice:hover path { stroke:white; stroke-width:2px; } .chart rect, .chart...