Tech
                    
                
                
    
    
        
        
        
            
            Explaining the very basics of getting a simple 2D fighter plane game up and running with SpriteKit
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            With iOS 7 Apple introduced a new set of APIs for creating custom View Controller transitions. In this blog post I look at how to create a custom 'flip' transition, giving the impression of a turning page.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            For the past four months I have been hard at work writing four chapters for a book, iOS 7 by tutorials. Just yesterday, as the iOS 7 NDA was lifted, the book went on sale.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            Version 0.9 of Typescript was recently released with support for generic types. In this post I discuss the features of 0.9 and 0.9.1, particularly generics and the "no implicit any" option.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            When Eclipse Juno came out last year, I was excited to see some support for `@Nullable` annotations.  I didn't get very far with them at the time, though, as the implementation was quite strict.  With the release of Kepler though, it's much easer to make productive use of `@Nullable` to help avoid errors.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            The Open Web is cool.  One of the things I most enjoy about modern web development is that so much of the code is open and able to be mashed together.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            In the previous part of this series discussing running an interactive environment (REPL) on .NET I covered the non-C# options. This post explores the options for an interactive or lightweight C# environment.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            A couple of days ago Microsoft announced Windows Phone App Studio, a web based tool for the rapid creation of Windows Phone applications. In this blog post I take this new technology for a spin to see what it's capable of, and the interesting potential it has for creating 'personal' apps.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
        
            
                
                
                    
                        UX Design
                    
                
                
    
    
        
        
        
            
            An outline of principles that will help you design more compelling data visualisations, from the respective strengths of various means for visually encoding values to the most appropriate patterns for conveying relationships.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            In the first part of a series on running an interactive environment (REPL) on .NET, I talk a little about why you might want one, and cover the non-C# options.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
                
                
                    
                        Data Engineering
                    
                
                
    
    
        
        
        
            
            Big Data is a hot topic these days, and one aspect of that problem space is
processing streams of high velocity data in near-real time. Here we're going 
to look at using Big Data-style techniques in Scala on a stream of data from 
a WebSocket.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
        
            
                
                
                    
                        UX Design
                    
                
                
    
    
        
        
        
            
            Last week I spoke at and attended UX Scotland 2013, a new user experience design conference organised by Software Acumen.  Over the course of 2 days, 31 sessions and roughly 130 delegates ensured that Our Dynamic Earth in Edinburgh was filled with ideas, discussion and enthusiasm.  Overall, the conference was a definite success and I'm delighted to hear Software Acumen are already planning to repeat it next year.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            In the final article in the series, we take the RESTful API we've created and integrate it with MongoDB for persistence using the Salat library.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            Taking a macro that can extract path elements from a query string and turning it into a fully fledged RESTful API, backed by an in-memory database.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
        
            
        
            
                
                
                    
                        Delivery
                    
                
                
    
    
        
        
        
            
            Extreme Programming (XP) and Scrum are Agile methods based on the same underlying principles, but they also differ in purpose.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            In this article we'll look at ways to overcome one of the main restrictions of def macros - the ability to only generate functions.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            Diving in head first into Scala Macros, generating code using the language's abstract syntax tree. I'll be looking at how to create a function that in subsequent articles we can turn into a generated RESTful API.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            My latest iOS development article has been published on Ray Wenderlich's site, this time I look into how to develop custom iOS controls.
            
        
        
    
        
            
    
        
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
            
        
    
        
        
            
        
            
        
            
        
            
                
                
                    
                        Tech
                    
                
                
    
    
        
        
        
            
            For the last six months or so I have been deeply immersed in a combination of iOS and HTML5 development. Now I don't want my C#/XAML skills to get too rusty, so over the weekend I decided to write a simple Windows 8 Store App.