Archive for June 17, 2013

Monday, June 17, 2013

Avoid Null Checks by Replacing Finders With Tellers

Michael Feathers:

The person method accepts an id for a person and a block. If the person is found the block is called with the person. Otherwise it isn’t. Elegant, eh? And, there are no nulls.

Lots of luck doing this in a language without blocks or lambdas. I think that when the history of computing is finally written, one of the chapters will be about how much insanity thrived in the era before blocks were considered mainstream.

AV Foundation and the Void

Chris Adamson:

This surprised me, so I asked a colleague who talks about AV Foundation at conferences if I was mistaken, and he agreed that there doesn’t seem to be a way to save an AVMutableComposition. Which in turn means that if you’re writing a video editor, the composition object is only useful to you during the life of the app, and you need some other means of saving the set of edits you’ve made, and re-creating a new composition from this data on a future launch.

He gives a bunch of examples of cool features in the old QuickTime APIs that aren’t (yet?) available in AV Foundation.