This Week...

Inter-Process Communication

In many ways, the story of Apple has been about fusing together technologies through happy accidents of history to create something better than before: OS X as a hybrid of MacOS & NeXTSTEP. Objective-C as the combination of Smalltalk's OOP paradigm and C. iCloud as the byproduct of MobileMe and actual clouds (presumably).

Continue Reading

Recent Articles

Swift System Version Checking

C uses preprocessor directives capable of unspeakable evil. Swift has a safe subset of preprocessor directives. So how do we check system version for API compatibility?


Did you know that UIAlertView and UIActionSheet (as well as their respective delegate protocols) are deprecated in iOS 8? It's true.

Swift Comparison Protocols

Objective-C required us to wax philosophic about the nature of equality and identity. To the relief of any developer less inclined towards handwavy treatises, this is not as much the case for Swift.


Yesterday's article described various techniques for resizing images using APIs from the UIKit, Core Graphics, Core Image, and Image I/O frameworks. However, that article failed to mention some rather extraordinary functionality baked into the new Photos framework which takes care of all of this for you.

Image Resizing Techniques

Since time immemorial, iOS developers have been perplexed by a singular question: 'How do you resize an image?'. This article endeavors to provide a clear answer to this eternal question.


Swift enumerations are a marked improvement over the NS_ENUM macro in Objective-C. Unfortunately, NS_OPTIONS does not compare as favorably.


NSHipster: Obscure Topics in Cocoa & Objective-C
CFHipsterRef: Low-Level Programming on iOS & OS X
The NSHipster Fake Book (Objective-C)