The below is an off-site archive of all tweets posted by @mjtsai ever

August 2015

Permanently Hide the iCloud Column in iTunes: mjtsai.com/blog/2015/08/3…

via IFTTT

@argon I’m not when/how the encryption works, but the Facebook binary that iTunes downloaded to my Mac was not encrypted.

via Tweetbot for Mac in reply to argon

Live Help Menu Searching via NSUserInterfaceItemSearching: mjtsai.com/blog/2015/08/2…

via IFTTT

Type Profiling and Code Coverage Profiling for JavaScript: mjtsai.com/blog/2015/08/2…

via IFTTT

The Facebook App’s 18,000 Classes: mjtsai.com/blog/2015/08/2…

via IFTTT

Shipping an App With App Transport Security: mjtsai.com/blog/2015/08/2…

via IFTTT

@leebennett @FlickrHelp Not sure. It sounded me like he thought only Facebook was getting a different share controller.

via Tweetbot for Mac in reply to leebennett

@brentsimmons @tofias Plus, it may be the app itself (windows, preferences, etc.) that you want to script, rather than the underlying data.

via Tweetbot for Mac in reply to brentsimmons

@tofias @brentsimmons It's still useful for the app itself to be scriptable. IMAP is like an API, but people still want to script Mail.

via Tweetbot for Mac in reply to tofias

Facebook App Changes iOS System Share Sheets: mjtsai.com/blog/2015/08/2…

via IFTTT

Java Is Magic: the Gathering (or Poker) and Haskell Is Go (the Game): mjtsai.com/blog/2015/08/2…

via IFTTT

Safer Block-based NSNotificationCenter API: mjtsai.com/blog/2015/08/2…

via IFTTT

How to See Your iPhone’s Precise Signal Strength: mjtsai.com/blog/2015/08/2…

via IFTTT

tpwn Privilege Escalation Vulnerability: mjtsai.com/blog/2015/08/2…

via IFTTT

Lots of good Swift stuff in Xcode 7 beta 6.

via Tweetbot for Mac

[Objective] C++: What Could Possibly Go Wrong?: mjtsai.com/blog/2015/08/2…

via IFTTT

The Harmful Consequences of Postel’s Maxim: mjtsai.com/blog/2015/08/2…

via IFTTT

The Harmful Consequences of Postel’s Maxim: mjtsai.com/blog/2015/08/2…

via IFTTT

@grynspan @ameaijou @gparker python -c "from Foundation import *; print NSProcessInfo.processInfo().isOperatingSystemAtLeastVersion_"

via Tweetbot for Mac in reply to grynspan

@ameaijou @gparker @grynspan Yes, I just checked 10.9.5 and the method seems to be there (and work).

via Tweetbot for Mac in reply to ameaijou

@grynspan @gparker I know that’s what you recommend, but I've been bitten before by -respondsToSelector: and previously private API.

via Tweetbot for Mac in reply to grynspan

@gparker @grynspan calls to -mjtIsYosemiteOrBetter so it is very clear when I can eventually remove the check.

via Tweetbot for Mac in reply to gparker

@gparker @grynspan I do checks like this this way because: (1) method might have existed before, but undocumented (2) I end up with

via Tweetbot for Mac in reply to gparker

@grynspan Yeah, I never quite understood the old system. Always found myself hardcoding latest version since didn't have access to constant.

via Tweetbot for Mac in reply to grynspan

@grynspan Yeah, that’s what I use if the other version says it’s at least 10.10. Much more readable.

via Tweetbot for iΟS in reply to grynspan

Making Tab-Switching and Scrolling Faster in OmniFocus for Mac: mjtsai.com/blog/2015/08/2…

via IFTTT

How Streaming Music Royalties Are Calculated: mjtsai.com/blog/2015/08/2…

via IFTTT

How Streaming Music Royalties Are Calculated: mjtsai.com/blog/2015/08/2…

via IFTTT

How Streaming Music Royalties Are Calculated: mjtsai.com/blog/2015/08/2…

via IFTTT

How Streaming Music Royalties Are Calculated: mjtsai.com/blog/2015/08/2…

via IFTTT

Cross-Platform UI in GitHub Desktop: mjtsai.com/blog/2015/08/2…

via IFTTT

@gte It doesn’t solve the same problem. There’s a reason why even Lisp has a formatting micro language even though it has great quoting.

via Tweetbot for Mac in reply to gte

Tonic: Data Visualizing REPL for Node: mjtsai.com/blog/2015/08/2…

via IFTTT

@rob_rix So it doesn't work if f takes an array instead of a SequenceType?

via Tweetbot for Mac in reply to rob_rix

@rosyna Interesting that they added hash ivar for NSIndexPath. NSStringDrawing is a category so not sure what you are referring to there.

via Tweetbot for Mac in reply to rosyna

@rob_rix How can you do that if the sequence you receive is not final?

via Tweetbot for Mac in reply to rob_rix

@rob_rix Wonder how often that is. I would think you’re usually passed in a collection and don’t know its type.

via Tweetbot for Mac in reply to rob_rix

@rob_rix Right, I meant how NSFastEnumeration was designed to avoid message sends.

via Tweetbot for Mac in reply to rob_rix

@rob_rix that slow or that the batching isn’t that worth it.

via Tweetbot for Mac in reply to rob_rix

@rob_rix Yeah, just seems like an odd omission given the focus on performance. Seems like conclusion is either that message sending was not

via Tweetbot for Mac in reply to rob_rix

@rosyna So, again, this is not (yet) an actual performance improvement resulting from Objective-C 2.

via Tweetbot for Mac in reply to rosyna

@rosyna But it didn’t break compatibility, and in fact NSEnumerator conforms to NSFastEnumeration (though probably not very fast).

via Tweetbot for Mac in reply to rosyna

Is there any optimization like NSFastEnumeration (batch fetching, detecting mutations) in Swift? SequenceType doesn’t seem to do that.

via Tweetbot for Mac

@rosyna So why are they still using it now that we have Objective-C 2?

via Tweetbot for Mac in reply to rosyna

@rosyna I kind of doubt removing old ivars from view classes makes up for slowing down every ivar access with extra indirection.

via Tweetbot for Mac in reply to rosyna

@rosyna Non-fragile is great for other reasons, but if we're talking about optimization…

via Tweetbot for Mac in reply to rosyna

@rosyna Compiler support, yes. But I thought we were talking about breaking backward compatibility.

via Tweetbot for Mac in reply to rosyna

@rosyna Why wouldn't fast enumeration have been possible before? Were there really a lot of unused ivars removed?

via Tweetbot for Mac in reply to rosyna

@mpweiher So when is your book coming out? :-)

via Tweetbot for Mac in reply to mpweiher

Creating a Kill-Switched VPN With PIA and Little Snitch: mjtsai.com/blog/2015/08/1…

via IFTTT

Generic “Functions” in Objective-C: mjtsai.com/blog/2015/08/1…

via IFTTT

Generic “Functions” in Objective-C: mjtsai.com/blog/2015/08/1…

via IFTTT

Ripping CDs and Backing Up Content Is Illegal in the UK: mjtsai.com/blog/2015/08/1…

via IFTTT

@cjwl @landonfuller I thought half the fun with LINQ is that it knows the type of everything. Just not a good match for Objective-C.

via Tweetbot for Mac in reply to cjwl

@mikeash @landonfuller Mainly because of Apple, but it was a gaping hole that no one else had filled. And now there’s an ecosystem.

via Tweetbot for Mac in reply to mikeash

@landonfuller Could LINQ work well in Xcode without special support (just Swift auto-complete)?

via Tweetbot for Mac in reply to landonfuller

@landonfuller Right. Do you see Apple making Swift-only APIs any time soon? Or could a third-party LINQ gain traction?

via Tweetbot for Mac in reply to landonfuller

@landonfuller LINQ looks great. Lots of issues with Core Data, but it does have traction.

via Tweetbot for Mac in reply to landonfuller

@landonfuller Not sure what your “it’s” refers to. But I agree that it’s a good thing to move beyond OO as the solution to everything.

via Tweetbot for Mac in reply to landonfuller

Steve Jobs’s Interview With Red Herring, 1996: mjtsai.com/blog/2015/08/1…

via IFTTT

Awful Behavior From QuickBooks Online: mjtsai.com/blog/2015/08/1…

via IFTTT

Windows 10’s New Licensing Scheme: mjtsai.com/blog/2015/08/1…

via IFTTT

Twitter Removes 140-Character Limit From Direct Messages: mjtsai.com/blog/2015/08/1…

via IFTTT

iCloud Can Now Restore Contacts, Calendars, and Reminders: mjtsai.com/blog/2015/08/1…

via IFTTT

Mac OS X 10.11 Removes /usr/bin/lockfile: mjtsai.com/blog/2015/08/1…

via IFTTT

@leebennett To me, Schmitz wasn’t saying that; he was saying that the ads will be there even with payment.

via Tweetbot for Mac in reply to leebennett

Xcode Build Setting Transformations: mjtsai.com/blog/2015/08/1…

via IFTTT

How Your Phone’s Battery Life Can Be Used to Invade Your Privacy: mjtsai.com/blog/2015/08/1…

via IFTTT

How Many Old Apple Devices Can’t Get Security Updates?: mjtsai.com/blog/2015/08/1…

via IFTTT

Dispatch Async to Main Queue and Modal Windows: mjtsai.com/blog/2015/08/1…

via IFTTT

Inside Amazon: Wrestling Big Ideas in a Bruising Workplace: mjtsai.com/blog/2015/08/1…

via IFTTT

@marczak Yeah, I have no idea whether this is a good move. Will be interesting to watch what happens.

via Tweetbot for Mac in reply to marczak

@marczak On Page’s motivations or on whether this is good for shareholders?

via Tweetbot for Mac in reply to marczak

@soryu2 :) I only added it a few weeks ago. Not sure I like it there. May move to the sidebar.

via Tweetbot for Mac in reply to soryu2

@soryu2 Thanks for your support. Were you expecting it to say “donate”?

via Tweetbot for Mac in reply to soryu2

The Mac App Store, Paid Upgrades, and Trials: mjtsai.com/blog/2015/08/1…

via IFTTT

@warwick Do you sell maintenance for your own work or for others’? Maybe the latter is easier?

via Tweetbot for Mac in reply to warwick

Planes, “Planes”, and Automated Fare Pricing: mjtsai.com/blog/2015/08/1…

via IFTTT

Student Loses Facebook Internship After Pointing Out Privacy Flaws: mjtsai.com/blog/2015/08/1…

via IFTTT

An Xcode Plug-in for Unsmoothed Text: mjtsai.com/blog/2015/08/1…

via IFTTT

@steveharris And then want a refund from the MAS because they unintentionally overpaid.

via Tweetbot for Mac in reply to steveharris

@steveharris I wonder how many people will not initially know about the direct version because you aren’t allowed to mention it.

via Tweetbot for Mac in reply to steveharris

@iljawascoding The docs say it has been KVO-compliant since 10.6.

via Tweetbot for Mac in reply to iljawascoding

@OvercastFM Would be nice to be able to sort a playlist by when I most recently listed to the episode, so I can easily finish what started.

via Tweetbot for Mac

Swift Protocols, Arrays, and Casting: mjtsai.com/blog/2015/08/0…

via IFTTT

Safari vs. Chrome: Power Consumption: mjtsai.com/blog/2015/08/0…

via IFTTT

A Catalog of Functional Refactorings: mjtsai.com/blog/2015/08/0…

via IFTTT