Ian KeeninBetter ProgrammingSurviving RxSwiftBest practices and how to get your head around reactive programming in Swift·6 min read·May 23, 2019--2--2
Ian KeeninBetter ProgrammingBetter Swift Codable Models Through CompositionImagine we want to build an app to track books. The API we are building against provides JSON for authors and book which looks like:·4 min read·May 1, 2019--3--3
Ian KeenMeaningful Composite ErrorsI really like Swifts error handling system for synchronous code. It allows us to produce errors that have all the information we need…3 min read·Nov 15, 2016--1--1
Ian KeenRunning a public Vapor Server from your MacBookI’m doing a lot of server side Swift lately — primarily working on my Slackbot Chameleon. I am working on a new feature that requires a…1 min read·Jul 22, 2016--1--1
Ian KeenChameleon: the Swift Slack bot — Persistence with RedisGiving Chameleon a Redis brain!3 min read·Jun 23, 2016----
Ian KeenGetting started with Chameleon: the Swift Slack bot!Setting up a Swift Slack bot on Heroku!4 min read·Jun 21, 2016----
Ian KeenMVVM: A non-reactive introductionNote: Sample project can be found here.8 min read·May 27, 2016--6--6
Ian KeenSwift + iOS8 IBOutlet IssueComplete credit to Logan Wright (Twitter) for the solution to this problem that had me chasing my tail for a few hours today.1 min read·Apr 14, 2016----
Ian KeenSeparation of concerns: UI EditionNote: Sample project at the end.5 min read·Apr 11, 2016--3--3
Ian KeenReading plists into a typed DictionaryA question was asked over on iOS Developers about a ‘swifty’ way of reading a plist into a Dictionary so I decided to do a little research…3 min read·Apr 4, 2016----