Archive for May 19, 2017

Friday, May 19, 2017

Xcode Autocomplete Frustrations

Erica Sadun:

A year after it debuted, Xcode’s enhanced autocomplete features continue to struggle with overly liberal matches[…]


Successful autocompletion promotes good matches and discards inappropriate ones. “upper“ should score high on CFStringUppercase and low on CGScreenUpdateOperation and CSSMERR_TP_INVALID_CERTGROUP_POINTER.

That’s not the only problem with autocomplete. Image literal completion is a big problem. Xcode often prioritizes images over code APIs. When starting to type “picker”, Xcode should not suggest “picture-of-lovely-cat”.

Every time I create a new variable in Swift (i.e. type let, space, and then a letter), Xcode gives me a useless list containing only names of images. Not only do I never want these—I use methods/properties to access my images rather than hard-coding strings in multiple places—but an image would not even be valid at that source location.

Getting Info From iTunes

Paul Kim:

With some versions, one API may return some special playlist that the others don’t. Also, [MediaLibrary API] is asynchronous while the others are synchronous. I don’t see that as a big deal either way as you can convert one into the other with a tiny bit of work.


As you can see, ML is pretty damn slow with ITLib being much, much, much faster. What is surprising to me is how much faster parsing the XML file is than ML.


The persistent IDs of entities in iTunes are hex strings. In the XML file, they are zero padded. In ML, though it returns strings, they are not zero padded (rdar://26624642 for you Apple folks watching from home). To add even more confusion to the mix, they are NSNumbers in ITLib.

Twitter Abandons “Do Not Track” Privacy Protection


While we had hoped that our support for Do Not Track would spur industry adoption, an industry-standard approach to Do Not Track did not materialize.

Steven J. Vaughan-Nichols:

Twitter was one of the first companies to support Do Not Track (DNT), the website privacy policy. Now, Twitter is abandoning DNT and its mission to protect people from being tracked as they wander over the web.


According to Sarah Downey, an attorney and privacy advocate, the Interactive Advertising Bureau and the Digital Advertising Alliance (DAA), which represent most online advertisers, have their own interpretation of Do Not Track: “They have said they will stop serving targeted ads but will still collect and store and monetize data.”

Nick Heer:

Like Google and Facebook, Twitter is now displaying the topics it thinks you’re interested in, how old it thinks you are, and what languages it thinks you speak — apparently, I speak Estonian and Portuguese. Twitter goes one step further and allows you to request a list of which advertisers are currently targeting your profile. As of writing, 874 advertisers have included my personal account in over two thousand of their audience lists, while 102 have for the Pixel Envy auto-posting account.

Retina Monitors

Casey Liss:

As I write this, there are three general options, that will work with most modern Macs[…]


Additionally, there are two options for those with a fancypants MacBook with USB-C[…]


If you look at Marc’s chart, you can see what the issue is. Displays over 24" that are only 4K land in “the bad zone”—more resolution than non-Retina, yet not enough to be full Retina.

As far as I can tell, only the 2016 MacBook Pro can drive a 5K display. For 4K at a decent refresh rate, you need a mid-2014 or later MacBook Pro.