NSHipster: a journal of the overlooked bits in Objective-C
nshipster.com
nshipster.com
NSCountedSet - and NSMutableSet that keeps counts of objects added
NSValueTransformer - More of a design pattern for generically converting objects
NSArgumentDomain in NSUserDefaults - command line arguments of -key value become user defaults
NSXMLNode nodesForXPath:error:/objectsForXQuery:error: - run XPath or XQuery against XML... even better, subclass NSXMLNode and then use XPath and XQuery on any hierarchical data you have
NSObject's performSelectorOnMainThread:withObject:waitUntilDone: - use NO for waitUntilDone and the method will be called at the end of the event loop (I've seen many people use the afterDelay variant instead)
NSNotificationQueue - use NSNotificationCoalescingOnName to batch up NSNotifications to send a single one at the end of the event loop, though there's lots of gotchyas for using it correctly
NSOrthography - Okay, even I didn't know about this before re-glancing at the foundation reference :)
For example, in most modern languages, NSCountedSet is crazy trivial; you just use a hash of numbers. But since Obj-C doesn't have autoboxing (well, it kinda sorta does nowadays, but anyway), having a built in implementation is nice.
NSValueTransformer is a similar workaround for a lack of language features, which will look particularly alien if you're used to languages with proper closures and autoboxing. They are a boilerplate nightmare, and Apple would have done well to provide some simple implementation that could be controlled from the interface builder years ago (based on JavaScript expressions, for example).
Anyway, a fun exercise with NSValueTransformers is to build a subclass for chaining them together (bonus points for automatic reversing), and then a subclass of simple primitive operations that you can compose into more complex transformers. This can actually be pretty useful if, for example, you have a number of log-scale sliders and text fields that require slightly different transformation parameters.
Snark aside, fun!
Sure wish this had an RSS feed. Who's going to visit every week to see what's changed?
Oh, wait, it does--just have to use the source. Can you make a feed icon somewhere? Chrome and Safari no longer show the feed availability visually; I guess RSS has dropped out of the mainstream, sadly.
Anybody from the more dynamic languages have any war stories about debugging/maintaining this sort of thing?
I've been lucky never to hit any code where someone did this kind of thing without taking that into consideration, so I can't say how bad it gets when it's screwed up. Used sparingly it can be pretty nice, but you have to be really sure you're not just overcomplicating things for no good reason.
(edit: changed everything. ;-)
Sometimes you need to call stuff which you cannot work around so it is required to patch calls.