All Blog Posts
|Fun With Flags|
Managing concurrency with better communication. And flags.
|15 Jan 2019|
|Concurrency From the Ground Up|
Based on a talk presented at 360iDev 2018
|27 Aug 2018|
|Getting Under Swift's Skin @ NSMeetup|
Three ways to get under Swift's skin: reflection, debug toolchains, and SIL
|8 Feb 2018|
|Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!|
Totally non-clickbaity article about lessons learned from reactive programming.
|23 Feb 2017|
|RxSwift @ NSMeetup|
So you want to be a reactive programming beginner?
|2 Feb 2017|
|The Year of Travel|
Turns out I did a lot of walking and flying in 2016.
|17 Jan 2017|
|Swift Summit SF 2016|
Thoughts on reading and writing after spending two days amongst 400 other Swift nerds.
|13 Nov 2016|
|The Case of the Disappearing Apps|
Thinking about a brave new world of installing apps, using them, but never launching them.
|19 Jun 2016|
|Swift Summit SF 2015|
What I learned From 55 Swift Standard Library Protocols.
|3 Nov 2015|
|Audience Interaction in your Conference Talks|
Bring the audience into your conference talk...if you dare.
|23 Oct 2015|
|Outlining Your Conference Talk Pixar-style|
Use a narrative to get at the core of what you want to say.
|15 Oct 2015|
|Switching Your Brain to Swift|
Existing codebase + existing brain + Swift. What could go wrong?
|17 Aug 2015|
How do you design an iOS app? By starting with the watch.
|29 May 2015|
The force is strong with Apple's new hardware and APIs.
|8 Apr 2015|
Remote work, team building, and selfies at RWDevCon.
|13 Feb 2015|
|What's New in Swift 1.2|
Swift 1.2 is out in the latest Xcode beta. What's new? Find out!
|11 Feb 2015|
|Four Things I Learned Making My First Swift App|
That's right: an iOS app written 100% in a language that's been public for a few months!
|22 Oct 2014|
What have you shipped lately?
|10 Oct 2014|
|Transformable attributes in Core Data|
Boring: strings and integers; fun and mysterious: transformable!
|28 Jan 2014|
|iOS 7 By Tutorials|
Everything you wanted to know about iOS 7 but were afraid to ask.
|18 Sep 2013|
|Adventures in Dvorak, two months later|
Two months ago, I switched keyboard layouts. I am now thinking in Dvorak!
|13 Aug 2013|
|Adventures in Dvorak|
Two weeks ago, I switched keyboard layouts. I am now skilled enough to type up my experiences.
|14 Jun 2013|
|Custom Keyboards in iOS|
How to set up a custom keyboard (input view) for a text field in iOS.
|17 Mar 2013|
|Restoring In-app Purchases|
On the pesky requirement of having a "Restore Purchases" button in your iOS app.
|16 Aug 2012|
|Simple iOS audio playback|
Making noise with Audio Services and AVAudioPlayer.
|5 Jul 2012|
|Blocks in Objective-C|
Based on my "Introduction to Blocks" lightning talk.
|12 Jul 2011|
|Foreign keys - an introduction|
The least you need to know about foreign keys but were afraid to ask.
|22 Feb 2011|
|Schwartzian transform in PHP|
It's no Perl for sure, but can PHP speak with a Lisp?
|3 May 2010|
Featuring PEAR's Benchmark module.
|22 Apr 2010|
|SQL JOINs, part 2|
The exploration of SQL JOIN continues with the oddballs: CROSS and OUTER.
|19 Feb 2010|
|SQL JOINs, part 1|
Left? Right? Outer? Let's review.
|16 Feb 2010|
Featuring the Benchmark module from CPAN.
|14 Sep 2009|