48: Reinventing the Wheel
Published 12 January 2015 • Hosted by Ben Trengrove, Daniel “Jelly” Farrelly and Jake MacMullin
The couch is back from holidays, so they take the opportunity to talk about things that they worked on over the short break, and what they like to do during downtime to keep themselves sharp.
Having received some feedback about extensions from the previous episode, Jelly details how Target Membership can help developers build extensions into their apps while supporting iOS7. He explains how this works, and why it might not be such a great idea.
Jake then touches on his recent experiences with Android’s “support libraries”, which allow developers to support new APIs on older systems. This leads to discussing methods of supporting older versions of iOS, which doesn’t have this ability, and Jelly explains how he prefers feature detection over system version detection.
Jake also follows up on his argument about Today extensions, citing Drafts reinstatement as partial proof that he is correct. Jelly can’t handle someone else being right, so he asks Jake to explain Pcalc’s reinstatement, which Jake can’t do. He does believe, however, that recent rejections aren’t completely unsurprising, as Apple’s behaviour on this matter appear, to him at least, to follow some form of pattern.
Moving along very quickly, Jelly asks the other two what development they did over their breaks. Ben details a side project he did as part of a Christmas gift for his wife, Jake explains how he learned a little about functional, and then Jelly explains that rather than working on GIFwrapped, he did some “comfort” coding in PHP.
This leads them to discuss the low-reward jobs, like refactoring, that they sometimes do during downtime. Ben notes that Jake’s code is usually pretty good, and is commented, which takes them off down a path of discussing comments in code: when it’s good, when it’s bad and what the past practice for commenting your code might be.
Getting back on track, Jelly talks about his approach to implementing low level things as a method of learning how they work. He explains how he goes about it, detailing his experience backwards-engineering NSScanner
in PHP.
As usual, Jake then spins the topic off onto Swift, explaining the inability to call UIAppearance
’s appearanceWhenContainedIn:
method in Swift. This leads to talking about Swift’s viability as a future-proof language, which in turn leads to discussing Swift as a server-side language.