@zcichy @nicklockwood @jeffinitelyjeff Well, certainly the problems with services predate the privacy talking point… twitter.com/i/web/status/9…
@tedtodorov @marcoarment Personally, I don’t even mind the dongle. It’s actually an improvement because I only have… twitter.com/i/web/status/9…
@jcscaliger I have AirPods. But directly plugging into my car’s line-in is much better than dealing with a Bluetooth adapter for it.
@adriel @marcoarment Yeah, even assuming a good dongle exists, which I don’t think is true in all of the categories… twitter.com/i/web/status/9…
Is APFS Fully Supported Yet?: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Lightning Charge/Audio Dongles: mjtsai.com/blog/2018/02/1… #mjtsaiblog
How iFixit Became the World’s Best iPhone Teardown Team: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Trusting SDKs: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Lightroom Classic CC 7.2: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Smart Speakers, Speech Recognition, and Accessibility: mjtsai.com/blog/2018/02/1… #mjtsaiblog
@olebegemann @zkrige @brentdax At the time I wrote this, it had to be escaping, but looks like that’s fixed now in… twitter.com/i/web/status/9…
@zkrige @olebegemann func sync<T>(_ block: @escaping (MJTManagedObjectContext) throws -> T) throws -> T {
var r… twitter.com/i/web/status/9…
@olebegemann I don’t know. I wrapped it to handle return values and errors.