Chief CodesplicerCodesplice
Sam has a background in .NET enterprise development, but now works mainly on mobile apps & cloud services. He’s been an Apple fanboy since the 80s, and was coding Objective-C before it was cool. He mainly develops in Swift, Elm & F# these days, and actively tries to avoid writing any JavaScript.
Sam runs the Perth-based software consulting company codesplice, and organises the Perth iOS developers meetup group.
Talks I've Given
-
Implementing the Elm Architecture for iOS in Swift
Featuring Sam Ritchie
Elm, for a long time the flag bearer of Functional Reactive Programming on the web, recently switched to a simpler pure functional architecture, citing 'ease of use'. Those of us that have worked on complex reactive mobile apps can sympathise with this - using FRP injudiciously in your app can...
technique -
Flying Solo: Lifehack Your Way to a Pants-Optional Workplace
Featuring Sam Ritchie
Many developers harbour the dream of throwing off the shackles of corporate serfdom and experiencing the glorious freedom of self-employment. So is the grass really greener on the other side? As a developer who took the plunge a few years ago, I can offer some honest feedback and practical advice...
general-mobile-development -
Using the Elm Architecture in Swift
Featuring Sam Ritchie
Elm, for a long time the flag bearer of Functional Reactive Programming on the web, recently switched to a simpler pure functional architecture, citing 'ease of use'. Those of us that have worked on complex RxSwift/ReactiveCocoa apps can sympathise with this - using FRP injudiciously in your app...
ios -
Unidirectional Data Flow For Mobile
Featuring Sam Ritchie
Unidirectional Data Flow is the new hotness in UI architecture, but how do we apply this to mobile apps? The easy answer is “Use React Native”, but who would want to take the easy road? Instead, in this talk we’ll go through the key elements of the unidirectional data flow style...
mobile -
Quickly Checking your Code for Fun & Profit
Featuring Sam Ritchie
Laziness is one of Larry Wall’s “three great virtues of a programmer”, but most people probably don’t consider it a virtue when writing tests! Wouldn’t it be great though, if we could write a program that generates our tests for us? As it turns out, we can and should...
general-mobile-development -
Quickly Checking your Code for Fun & Profit
Featuring Sam Ritchie
Laziness is one of Larry Wall’s “three great virtues of a programmer”, but most people probably don’t consider it a virtue when writing tests! Wouldn’t it be great though, if we could write a program that generates our tests for us? As it turns out, we can and should...
software-development -
Rethinking MVC with React Native & ReactiveCocoa
Featuring Sam Ritchie
Traditional event-based MVC has been the standard pattern for building user interfaces for decades. However, this pattern has its downsides – specifically, shared mutable state and cascading event chains can lead to code that is difficult to comprehend and reason about.
In this talk...
architecture-&-design -
Rethinking MVC with React Native & ReactiveCocoa
Featuring Sam Ritchie
Traditional event-based MVC has been the standard pattern for building user interfaces for decades. However, this pattern has its downsides – specifically, shared mutable state and cascading event chains can lead to code that is difficult to comprehend and reason about.
In this talk...
architecture-&-design -
Rethinking MVC with React Native & ReactiveCocoa
Featuring Sam Ritchie
Traditional event-based MVC has been the standard pattern for building user interfaces for decades. However, this pattern has its downsides – specifically, shared mutable state and cascading event chains can lead to code that is difficult to comprehend and reason about.
In this talk...
architecture-&-design -
Untangling Callback-Spaghetti with ReactiveCocoa
Featuring Sam Ritchie
TL;DR – If you have callbacks manipulating object state, you have bugs.
Most modern mobile apps are event driven – location, touch events, network calls, push notifications etc can all trigger app behaviour. Traditional imperative approaches to managing these events are difficult to...
general-mobile-development -
A Swift Introduction to Swift
Featuring Sam Ritchie
Last year Apple announced a brand new programming language as a modern replacement for the venerable Objective-C. Swift makes a very interesting study in language design – influenced by modern statically-typed languages with an emphasis on safety and speed, but (almost) seamlessly...
software-development -
Beyond Core Data: NoSQL for Mobile
Featuring Sam Ritchie
A large percentage of iOS apps today use Core Data for persistence, but is this always the right option?
NoSQL databases offer a compelling alternative in web applications, but developers seem firmly attached to a relational model on the device. There are a number of scenarios where this can...
mobile -
Beyond SQLite & Core Data – NoSQL for mobile apps
Featuring Sam Ritchie
A large percentage of mobile apps use SQLite relational databases for persistence (such as Core Data on iOS), but are they always the right option?
NoSQL databases offer a compelling alternative in web applications, but developers seem firmly attached to a relational model on the device. There...
software-development