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

May 2016

@mpweiher @jckarter @gte @phink0 But in practice you can't really simulate it with inheritance in Obj-C for non-object types.

via Tweetbot for Mac in reply to mpweiher

1PasswordAnywhere No Longer Works With Dropbox: mjtsai.com/blog/2016/05/3…

via IFTTT

1PasswordAnywhere No Longer Works With Dropbox: mjtsai.com/blog/2016/05/3…

via IFTTT

@mpweiher Separate class, separate methods names is fine. But then no reason to subclass. Also, fast enumeration won’t work.

via Tweetbot for Mac in reply to mpweiher

@mpweiher @jckarter @gte @phink0 And it doesn’t work with enumeration, etc.?

via Tweetbot for Mac in reply to mjtsai

@mpweiher @jckarter @gte @phink0 Obj-C generics don’t address this. What use is a subclass if all the method names are different?

via Tweetbot for Mac in reply to mjtsai

@mpweiher @jckarter @gte @phink0 An NSArray subclass is limited by the interface requiring everything to be an object.

via Tweetbot for Mac in reply to mpweiher

@phink0 @jckarter @mpweiher Transitions aren’t fun, but I mostly find Swift more pleasant and like that it tries to do Unicode right.

via Tweetbot for Mac in reply to phink0

Making Paw Extensible With JavaScript Core: mjtsai.com/blog/2016/05/2…

via IFTTT

iTunes 12.4 Applies Song Ratings to Albums and Destroys Smart Playlists: mjtsai.com/blog/2016/05/2…

via IFTTT

Opening Files and Never Closing Them: mjtsai.com/blog/2016/05/2…

via IFTTT

Another “Dynamic Swift” update showing how to call a method on an Any and implement a responder chain: mjtsai.com/blog/2016/05/2…

via Tweetbot for Mac

@jckarter @mpweiher @phink0 @wilshipley I’ve only been timing different Swift versions vs. Marco’s original. Didn’t test Obj-C.

via Tweetbot for Mac in reply to jckarter

@mpweiher @jckarter @phink0 @wilshipley You can see in Hopper that it’s only passing NSAnchoredSearch.

via Tweetbot for Mac in reply to mpweiher

@mpweiher @jckarter @phink0 @wilshipley If you look at the code, Swift is using kCFCompareNonliteral and NSString is not.

via Tweetbot for Mac in reply to mpweiher

@jckarter @phink0 @mpweiher @wilshipley In XCTest, I found ($0 as NSString) only 5% faster and $0.utf16.startswith 34% faster.

via Tweetbot for Mac in reply to jckarter

@phink0 @mpweiher @wilshipley The Foundation -hasPrefix: does an exact compare; maybe Swift stdlib one does a fancy Unicode compare.

via Tweetbot for Mac in reply to phink0

@mpweiher @phink0 @wilshipley That’s very interesting. Have you tried profiling it? Bridging overhead?

via Tweetbot for Mac in reply to mpweiher

Google : 2010s :: Microsoft : 1990s: mjtsai.com/blog/2016/05/2…

via IFTTT

FaceTime, iMessage Hang in the Balance After Apple Loss to Patent Troll: mjtsai.com/blog/2016/05/2…

via IFTTT

“Dynamic Swift” updated with links to @samuelwford, @wilshipley, and more: mjtsai.com/blog/2016/05/2…

via Tweetbot for Mac

@danielpunkass I don’t think this is really talking about the same issue.

via Tweetbot for Mac in reply to danielpunkass

@mergesort Also, the “dynamic” in that post is about “dynamic dispatch,” i.e. virtual methods, not message sending or typing.

via Tweetbot for Mac in reply to mergesort

@mergesort Your “hybrid” point seems to be undermined by the fact that he also calls Objective-C hybrid.

via Tweetbot for Mac in reply to mergesort

Dropbox’s Upcoming Kernel Extension: mjtsai.com/blog/2016/05/2…

via IFTTT

@mpweiher @alexisgallagher Yes, I think that’s a interesting direction. People will use the toolbox if you provide a good one.

via Tweetbot for Mac in reply to mpweiher

@hatfinch @gte I’m using it now because I would rather maintain code than a model file, and planning to use it to adapt model to data.

via Tweetbot for Mac in reply to hatfinch

@hatfinch @gte And, among other things, that means your model doesn’t have to be fixed at compile time.

via Tweetbot for Mac in reply to hatfinch

@hatfinch @gte I get that. But Core Data doesn’t itself require code generation to make NSManagedObject work.

via Tweetbot for Mac in reply to hatfinch

@mpweiher I believe that’s the most important point. I want people to be able to explore these alternatives from outside the compiler.

via Tweetbot for Mac in reply to mpweiher

@Callionica Not desirable in this case because then it wouldn’t look right when printing the value.

via Tweetbot for iΟS in reply to Callionica

@jckarter I was more thinking about getting a method reference from an operator. For example, I can write Int.successor but not Int.+ or +

via Tweetbot for Mac in reply to jckarter

@jckarter Aha, I was used to the way Python does it. Good to know. Can you do that with an operator or only a named method?

via Tweetbot for Mac in reply to jckarter

@jckarter That is wild. How is it that if x is a Derived and I do (x=>Base.f)() it ends up calling Derived.f()?

via Tweetbot for Mac in reply to jckarter

@jckarter That would be nice. Right now, Any is hard to do much with.

via Tweetbot for Mac in reply to jckarter

@jckarter I don’t think that really helps me in this case (making something like XCTAssertEqual()), but it’s a good tip. Thanks.

via Tweetbot for Mac in reply to jckarter

@jckarter Is there a way to compare to Anys that I know are both Equatable inside?

via Tweetbot for Mac in reply to jckarter

Sometimes I think all I want for Swift 3 is for indentation and Command-clicking in Xcode to work reliably.

via Tweetbot for Mac

Swift generics: copying and pasting my code for T? so that it can also work for [T], instead of writing it once with id.

via Tweetbot for Mac

@atomicbird In my case, it seems to just be noting that various apps are listening for watches.

via Tweetbot for Mac in reply to atomicbird

OmniDiskSweeper shows that 287 MB of my SSD is used storing WatchConnectivity logs from my iPhone even though I don’t have an Apple Watch.

via Tweetbot for Mac

Recursive Tail Calls and Trampolines in Swift: mjtsai.com/blog/2016/05/2…

via IFTTT

MVC-N: Isolating Network Calls From View Controllers: mjtsai.com/blog/2016/05/2…

via IFTTT

Updated the Dynamic Swift post with a great article by @Mr_Noodle: mjtsai.com/blog/2016/05/2…

via Tweetbot for Mac

@petermaurer I wonder whether that’s considered a bug.

via Tweetbot for Mac in reply to petermaurer

dropdmg DropDMG 3.3 improves the user interface, modernizes code, fixes bugs: c-command.com/blog/2016/05/2…

via Hibari (retweeted on 4:36 PM, May 23rd, 2016 via Hibari)

@siegel I’ve already received replies from two different support people (same case number). One asked for the .ipa file…

via Tweetbot for Mac in reply to siegel

@nriley Yep, but in the past I have been able to reply with screenshots. After I had submitted the Web form, there was no way to edit.

via Tweetbot for Mac in reply to nriley

@bwebster Such Obj-C partisans that Gus writes part of his app in JS, I write an app in Python, and Marcel is making his own language.

via Tweetbot for Mac in reply to bwebster

@siegel Yep. And the iTC, DTS, and Radar people don’t seem to be able to look up each other’s case numbers.

via Tweetbot for Mac in reply to siegel

screenshots to speed things along, but it specifically says not to reply. And, in fact, they may not even respond to me.

via Tweetbot for Mac in reply to mjtsai

iTunes Connect does not support attaching files when reporting an issue. I was planning to reply to the automated response to add some

via Tweetbot for Mac in reply to mjtsai

And, the Contact Us page in iTunes Connect doesn’t have a valid pop-up menu choice for reporting Application Loader issues.

via Tweetbot for Mac in reply to mjtsai

Another Mac App Store submission foiled by spurious iTunes Connect errors: stackoverflow.com/questions/3327…

via Tweetbot for Mac

eaglefiler EagleFiler 1.6.9 improves mail importing and documentation, fixes bugs: c-command.com/blog/2016/05/2…

via Hibari (retweeted on 1:56 PM, May 23rd, 2016 via Hibari)

Monument Valley: iOS 42% of Downloads But 73% of Revenue: mjtsai.com/blog/2016/05/2…

via IFTTT

Apple Offers to Replace iPads With MacBooks in Maine Classrooms: mjtsai.com/blog/2016/05/2…

via IFTTT

Continuous iOS Code Coverage With Jenkins and Slather: mjtsai.com/blog/2016/05/2…

via IFTTT

C Compilers Break for Objects Larger Than PTRDIFF_MAX Bytes: mjtsai.com/blog/2016/05/2…

via IFTTT

94% of App Store Revenue Comes From the Top 1%: mjtsai.com/blog/2016/05/2…

via IFTTT

Added a bunch more links to the Google Assistant post: mjtsai.com/blog/2016/05/1…

via Tweetbot for Mac

@mpweiher I see this as adding optional static features rather than removing dynamic ones.

via Tweetbot for Mac in reply to mpweiher

@mpweiher Which dynamic features were removed from Objective-C?

via Tweetbot for Mac in reply to mpweiher

@wadeco @danielpunkass @willco007 APIs that don’t work from the sandbox should be documented as such. :(

via Tweetbot for Mac in reply to wadeco

@rosyna @danielpunkass Yes, but you’re not allowed to query ASL so that defeats the purpose.

via Tweetbot for Mac in reply to rosyna

@danielpunkass Yes. Thought maybe you were using your own custom logging function.

via Tweetbot for iΟS in reply to danielpunkass

@danielpunkass And do you redirect NSLog to catch messages logged by the frameworks for your process?

via Tweetbot for iΟS in reply to danielpunkass

@danielpunkass That’s great except if there’s a related error logged by another process that you don’t control.

via Tweetbot for iΟS in reply to danielpunkass

Code Coverage From the Command Line With Clang: mjtsai.com/blog/2016/05/2…

via IFTTT

Testing IBOutlets and IBActions With Curried Functions in Swift: mjtsai.com/blog/2016/05/2…

via IFTTT

@mergesort It’s a comment on Sadun’s blog. No permalink.

via Tweetbot for iΟS in reply to mergesort

ABI Stability Deferred Until After Swift 3.0: mjtsai.com/blog/2016/05/1…

via IFTTT

Twitter to Stop Counting Photos and Links in 140-Character Limit: mjtsai.com/blog/2016/05/1…

via IFTTT

Interesting theory from @mcelhearn about what might be happening with iTunes deleting music: mjtsai.com/blog/2016/05/0…

via Tweetbot for Mac

8 months and counting for the iOS 9 camera-pauses-audio bug: mjtsai.com/blog/2016/03/2…

via Tweetbot for Mac

@czechboy0 I would be surprised if they are not doing both.

via Tweetbot for Mac in reply to czechboy0

@czechboy0 Some commenters reported that Amazon didn’t seem to care. OTOH, Amazon has sued…

via Tweetbot for Mac in reply to czechboy0

Larry and Steve’s Plans to Save Apple: mjtsai.com/blog/2016/05/1…

via IFTTT

@czechboy0 I did write about that. What bothered me is that SwiftKey was withholding non-network features if I didn’t give it network access

via Tweetbot for Mac in reply to czechboy0

@czechboy0 When I looked at SwiftKey, I didn’t want any of the cloud features, yet it wouldn’t let me swipe without granting access.

via Tweetbot for Mac in reply to czechboy0

@czechboy0 It still feels like a different situation to me because it’s obvious that Gboard would need network access to offer search.

via Tweetbot for Mac in reply to czechboy0

@czechboy0 Other than that, I’m not sure what lies you think I’m spreading.

via Tweetbot for Mac in reply to czechboy0

@czechboy0 I retract the first half of that tweet, which was based on my faulty memory of 2014.

via Tweetbot for Mac in reply to mjtsai

@czechboy0 What I wrote was based on info from the SwiftKey Web site and app. Let me get back to you when I’m back at my Mac.

via Tweetbot for iΟS in reply to czechboy0

@czechboy0 Different situation because SwiftKey was sending regular typing to them. Gboard only sends searches.

via Tweetbot for iΟS in reply to czechboy0

Updated the Gboard and Apple Music Deletes Personal Music posts: mjtsai.com/blog/2016/05/1… mjtsai.com/blog/2016/05/0…

via Tweetbot for Mac

Proposed Client-side Encryption in OmniFocus: mjtsai.com/blog/2016/05/1…

via IFTTT

Compile Time vs. Run Time Type Checking in Swift: mjtsai.com/blog/2016/05/1…

via IFTTT

Long List of Ways Mac OS X Starts Code Running: mjtsai.com/blog/2016/05/1…

via IFTTT

@Schwieb Playing old sound formats? Or was that already removed?

via Tweetbot for Mac in reply to Schwieb

@jckarter Will try to make a good example and file a bug. I suspect the runtime APIs are there, just that patching is easier from Obj-C.

via Tweetbot for Mac in reply to jckarter

@jckarter Also if you want to use the static analyzer…

via Tweetbot for Mac in reply to jckarter

@jckarter Not done with app yet, but: handling exceptions raised by Cooca, avoiding bridging overhead for large plists, Obj-C runtime stuff.

via Tweetbot for Mac in reply to jckarter

Show TODOs and FIXMEs As Warnings in Xcode: mjtsai.com/blog/2016/05/1…

via IFTTT

No More Logs for Missing NSAutoreleasePool: mjtsai.com/blog/2016/05/1…

via IFTTT

@tjluoma No, they use my own plist-based update checker that predates Sparkle.

via Tweetbot for Mac in reply to tjluoma

@AppleSupport My MacBook Air meets the requirements here: support.apple.com/en-us/HT201343 Any idea why AirPlay is available but Mirroring isn't?

via Tweetbot for Mac

Tweetbot 4.3 Introduces “Topics” for Easier Tweetstorm Creation: mjtsai.com/blog/2016/05/1…

via IFTTT

Some Static Analyzer Warnings Off by Default: mjtsai.com/blog/2016/05/1…

via IFTTT

Lost Calendar Events, Change Notifications, and iCloud: mjtsai.com/blog/2016/05/1…

via IFTTT

@0xced My understanding is that _stdlib_demangleName() is private API. :(

via Tweetbot for Mac in reply to 0xced

@mmunz I wish there were something in that niche. And the new MacBook is slower and more expensive than the Air. :(

via Tweetbot for Mac in reply to mmunz

Apple’s Actual Role in Podcasting: mjtsai.com/blog/2016/05/0…

via IFTTT

Some more links about Apple Music and deleted files: mjtsai.com/blog/2016/05/0…

via Tweetbot for Mac

@brainy I thought rounded sounded like a good idea, but in practice it hurt my hand so much and made me grip more tightly.

via Tweetbot for Mac in reply to brainy

@flyosity It would also mean they haven’t relearned to make phones that are comfortable to hold, after all.

via Tweetbot for Mac in reply to flyosity

@peternlewis I just tried this in the new beta, and turning it back on does seem to work now.

via Twitter Web Client in reply to peternlewis

@tapbot_paul @steipete It was actually fixed (in a pre-release) two days after her post, but Apple didn’t put it in the release notes.

via Tweetbot for Mac in reply to tapbot_paul

@nickheer To me the main issue is the strained justifications.

via Tweetbot for Mac in reply to nickheer

@nickheer I did not read him as saying that minimal is necessarily bad.

via Tweetbot for Mac in reply to nickheer

stringdups: Identify Duplicate Strings or Other Objects: mjtsai.com/blog/2016/05/0…

via IFTTT

stringdups: Identify Duplicate Strings or Other Objects: mjtsai.com/blog/2016/05/0…

via IFTTT

Apple Officially Discontinues WebObjects: mjtsai.com/blog/2016/05/0…

via IFTTT

@rosyna @uliwitness It doesn’t say what form it uploads unmatched songs in.

via Tweetbot for Mac in reply to rosyna

Apple Music Deletes Personal Music Files: mjtsai.com/blog/2016/05/0…

via IFTTT

App Store Search Is Currently Broken: mjtsai.com/blog/2016/05/0…

via IFTTT

@leebennett Are the edges too far away from each other to make it convenient to navigate in more than one direction?

via Tweetbot for Mac in reply to leebennett

Survey of Developers Who Use Macs: mjtsai.com/blog/2016/05/0…

via IFTTT

@_jackhl I just tested a bunch of links from my old blog posts, and the redirects all worked. Thanks! (But what happened to your tweet?)

via Tweetbot for Mac

@pataling As a publisher. Either to have WordPress update the RSS feed or to have it notify IFTTT somehow.

via Tweetbot for Mac in reply to pataling

Added more developer stories about years-later refunds: mjtsai.com/blog/2016/04/3…

via Tweetbot for Mac

More links about Apple’s quarterly earnings, and an interesting fact about iPad revenue: mjtsai.com/blog/2016/04/2…

via Tweetbot for Mac

I updated the Bill Atkinson post with some links about dithering: mjtsai.com/blog/2016/04/2…

via Tweetbot for Mac

@pataling Do you know of an automated (via RSS) way to do that?

via Tweetbot for Mac in reply to pataling

Search Warrant to Force Unlocking iPhone With Touch ID: mjtsai.com/blog/2016/05/0…

via IFTTT