Most of my projects are on GitHub. I'm currently with the Portland Trail Blazers.

Heroic Solutions

Or to put it another way: Cocoa is so very prone to have heroic solutions that require you unerringly to write heroic or at least merely mistake-less code.

Key-Value Observing. Cocoa Bindings. Retain/release. The thing they invented – ARC – to solve retain/release. Weak-referencing self in blocks or creating memory leaks. Autolayout. I consider myself a decent programmer, but I try to work out the complexity involved in completely implementing all-frills NSDocument loading and saving and I get winded.

There are operating system kernels with lower cyclomatic complexity.

Hard Core