Archive for February 2, 2013

Saturday, February 2, 2013

Objective-C Runtime Releases

Bavarious created a GitHub repository that shows the differences between versions of Apple’s Objective-C runtime that shipped with different versions of Mac OS X.

War Is Peace

Ned Batchelder on the recent Ruby and Rails security issues:

Allen in particular mentions that adding “conveniences” to your interface can make your life harder later on. In Ruby’s case, there were two unneeded conveniences that combined to make things really bad: parse JSON with the YAML parser, and let the YAML parser construct arbitrary Ruby objects. Neither of these is actually needed by 99.999% of programs reading JSON, but now all of them are compromisable.

Data Detectors Crash in Cocoa Text Views


type “File:///”. The capital ‘F’ is important. On the third /, it crashes.

And the crash reporter, Mail, and even the Spotlight menu can crash when displaying the text. In some apps you can prevent the crash by unchecking Edit ‣ Substitutions ‣ Data Detectors. For Mail, there’s a defaults command.

Update (2013-03-16): The bug appears to be fixed in Mac OS X 10.8.3. URLs

Apple QA1633:

You can also create easy-to-read links to your app using App Store Short Links, which use the base URL plus a specific form of your app or company name. This provides a simple way for users to find your apps on the App Store directly from your website or marketing campaigns. These short links are ideal for use in offline communications materials like print ads, TV spots, app trailers, radio ads and billboards.

It looks like the URLs will break if you ever rename your company or app. Also, product names aren’t as unique as you would think. Lemont Washington reports that doesn’t go to the expected Tweetbot.

Rather than creating implicit URL mappings, I think Apple should provide a way for developers to register specific slugs. Otherwise, it’s probably better for developers to create their own friendly URLs that redirect to the App Store. This also makes it possible to use affiliate codes.