So it looks like Swift KeyPaths can only be created by the compiler. :(
Swift Protocols Wishlist: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Algorithmic Arrangements at OkCupid: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Code Size Optimization Mode in Swift 4.1: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Algorithmic Arrangements at OkCupid: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Code Size Optimization Mode in Swift 4.1: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Designing Windows 95’s User Interface: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Google Libraries for Objective-C: mjtsai.com/blog/2018/02/2… #mjtsaiblog
@marcoarment So, in a way, Apple is incentivizing indirect and less privacy friendly methods of app payment such as ads.
@zcichy No doubt true for many. But Apple also did excellent work in the late 80s and early 90s without Steve, and… twitter.com/i/web/status/9…
@leebennett Looks like I made that change in July 2014. Glad you like it.
@leebennett No, haven’t touched it in a long time.
@OhMDee Yup, that’s exactly what I was thinking of. Thanks for the link.
The macOS Versions Management System: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Paradigms of Artificial Intelligence Programming: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Speed Improvements in Python 3.7: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Decoding Dictionaries in Swift: mjtsai.com/blog/2018/02/2… #mjtsaiblog
HomePod Positioning: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Last few weeks, customers are reporting continued crashes due to PDFKit. Also, new in High Sierra, failure to run a… twitter.com/i/web/status/9…
@ericyoung_1 @reneritchie @gruber @nickheer That makes sense in the U.S. But what happens when there’s an inevitabl… twitter.com/i/web/status/9…
@nickheer @reneritchie Even if they were stored in Canada, presumably the U.S. could compel Apple to edit the accou… twitter.com/i/web/status/9…
@nickheer @reneritchie Separately, the idea of different jurisdictions seems murky because even if there were count… twitter.com/i/web/status/9…
@nickheer @reneritchie I get that, but Rene seems to be saying that there’s no news here because Apple must obey lo… twitter.com/i/web/status/9…
@nickheer @reneritchie Having trouble following this line of thought unless you’re saying that you think the U.S. i… twitter.com/i/web/status/9…
@OhMDee Sorry, saw it but slipped through the cracks. Will add tomorrow.
WatchKit Is a Sweet Solution: mjtsai.com/blog/2018/02/2… #mjtsaiblog
BigTechCo Strategy: Paying the Platform Tax: mjtsai.com/blog/2018/02/2… #mjtsaiblog
iCloud in China and on Google’s Cloud: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Money Laundering via Author Impersonation on Amazon?: mjtsai.com/blog/2018/02/2… #mjtsaiblog
The Dropbox Comp: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Google and HTTP: mjtsai.com/blog/2018/02/2… #mjtsaiblog
@DSHowell Had a lot of reliability problems with ours, and the coverage was never great. Wi-Fi calling works much better.
@jemostrom Yeah, no shortcuts for Desktop 3 work, even when enabled.
macOS won’t respond to the keyboard shortcut for “Switch to Desktop 3.” All the other Mission Control shortcuts wor… twitter.com/i/web/status/9…
@iljawascoding It’s definitely in 4.0. Maybe earlier.
@iljawascoding Possibly a candidate to use the new Data.subscript(bounds: Range) that avoids copies?
Practices Make Perfect (Backups): mjtsai.com/blog/2018/02/2… #mjtsaiblog
Debugging NSNotificationCenter and NSRunLoop: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Debugging NSNotificationCenter and NSRunLoop: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Reasons to Get an Apple Watch: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Big List of Naughty Strings: mjtsai.com/blog/2018/02/2… #mjtsaiblog
StarCraft: Emulating a Buffer Overflow for Fun and Profit: mjtsai.com/blog/2018/02/2… #mjtsaiblog
When macOS High Sierra’s Content Caching Isn’t Working: mjtsai.com/blog/2018/02/2… #mjtsaiblog
@bob_burrough @OhMDee Do you mean spinning off the major product lines that already exist or for the creation of new “hobby” products?
@OhMDee @bob_burrough Also, it’s not just a matter of finding a customer advocate with good taste. Steve had a uniq… twitter.com/i/web/status/9…
@bob_burrough @lapcatsoftware Do you search the Twitter site or have some sort of local archive?
@OhMDee @bob_burrough Agreed, but how do they get one? There doesn’t seem to be an obvious internal candidate. Is t… twitter.com/i/web/status/9…
@lapcatsoftware @bob_burrough I wonder what the Apple University curriculum had to say about the linchpin.
@bob_burrough What should Apple do to try to fill that gap?
@MuellerSimhofer @steipete And Messages effects on the Mac are waiting for Marzipan…
@eli_schiff Makes me think of our local hospital, under fire for getting big and corporate, long waits for appointm… twitter.com/i/web/status/9…
Code Signing Validation Bug: mjtsai.com/blog/2018/02/2… #mjtsaiblog
“I’ve Only Had Good Years”: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Avast Anti-Virus False Positives for Apps That Use Swift: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Swype Keyboard Discontinued: mjtsai.com/blog/2018/02/2… #mjtsaiblog
iDefrag and iPartition Discontinued: mjtsai.com/blog/2018/02/2… #mjtsaiblog
On Compiling WebKit (Now Twice As Fast!): mjtsai.com/blog/2018/02/2… #mjtsaiblog
On Writing Software Well: mjtsai.com/blog/2018/02/2… #mjtsaiblog
@erikjohansson I don’t know. The warning said something like it was dangerously low. I took that to mean less than… twitter.com/i/web/status/9…
@LashaKrikheli @steipete Hmm. Always been like this for me with both iMacs and Magic Mouses that I’ve used.
Notification that Magic Mouse battery is dangerously low. Plug it in on the bottom, so can’t use it for a while. Af… twitter.com/i/web/status/9…
@meghafon Dylan was really cool. I posted a bit about it here mjtsai.com/blog/2013/01/2… and here… twitter.com/i/web/status/9…
@NSExceptional Won’t we run out, anyway, since most wouldn’t be reused, anyway?
Optimizing Global Constant Data Structures Using Relative References: mjtsai.com/blog/2018/02/2… #mjtsaiblog
How to Use Adaptive Width Strings for Localization: mjtsai.com/blog/2018/02/2… #mjtsaiblog
When Swift Makes You Use “throws” Instead of “rethrows”: mjtsai.com/blog/2018/02/2… #mjtsaiblog
GitHub Shouldn’t Allow Username Reuse: mjtsai.com/blog/2018/02/2… #mjtsaiblog
Security and Privacy Issues of Bitcoin: mjtsai.com/blog/2018/02/2… #mjtsaiblog
@nickheer Yeah. It’s confusing with several different comparisons at once. And I’m still not 100% clear on the scra… twitter.com/i/web/status/9…
@nickheer @siracusa In searching about this just now, I also came across claims that the iPhone 6 and 7 *also* used… twitter.com/i/web/status/9…
@nickheer @siracusa I thought his point was that Apple hasn’t talked about iPhone X being more scratchable, but the… twitter.com/i/web/status/9…
@nickheer @siracusa Thanks for finding the timestamp. Sounds to me like @siracusa was not confused and was referrin… twitter.com/i/web/status/9…
@mattbirchler @zcichy @nicklockwood @jeffinitelyjeff Yeah, would be good to compare. Part of the difference I recal… twitter.com/i/web/status/9…
@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.
Except that I have one on the bottom for sharing by e-mail. And I have ones for creating PDFs in each row. And book… twitter.com/i/web/status/9…
@jjlin So is the lesson here that App Review is inconsistent (again)? Or that if you’re Omni you can get pre-approved?
@invalidname Except that they do comment in cases where there’s damaging misinformation.
@invalidname I would like the believe that, but then where did the rumor come from, and why didn’t Apple squash it?
Time to End-of-Life Interact: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Twitter Abolishes Native Mac Client: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Nowhere Else to Go: mjtsai.com/blog/2018/02/1… #mjtsaiblog
iOS Share vs. Action Icons: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Color Picker Now Rearranges Custom Swatches: mjtsai.com/blog/2018/02/1… #mjtsaiblog
@andymallins @mdrockwell More complicated than that because The Wirecutter reported that, on the same surfaces, Hom… twitter.com/i/web/status/9…
Acorn Drops IAP Trial: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Multiple iOS Timers: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Chrome’s Ad Filtering: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Google Removes “View Image” Button From Search Results: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Simplenote Outage Due to DMCA: mjtsai.com/blog/2018/02/1… #mjtsaiblog
App Store Selective Enforcement: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Everything Easy Is Hard Again: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Bringing the Power of AMP to Gmail: mjtsai.com/blog/2018/02/1… #mjtsaiblog
@handcoding Yeah, this does seem like a bug that could have been caught through black box testing. And I guess this… twitter.com/i/web/status/9…
Can macOS Tell How Large a File Really Is?: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Another iOS Crash Caused By Sending Unicode Character: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Data Loss on APFS Sparse Disk Images: mjtsai.com/blog/2018/02/1… #mjtsaiblog
GitFinder 1.0: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Facebook’s “Protect” Feature: mjtsai.com/blog/2018/02/1… #mjtsaiblog
@jgordonshare Of course I had to initiate the APFS conversion from diskutil in Terminal because Disk Utility kept erroring out.
@EggFreckles Reminds me of this guy who took notes in 10-250 with a Palm Pilot in a dock attached to a Newton keyboard.
@EggFreckles Yeah, I guess it knows the blocks aren’t in use yet, and they’re also available for the other volume i… twitter.com/i/web/status/9…
OTOH, Finder doesn’t provide an option to encrypt the second APFS volume like it does for the second HFS+ partition. :(
@ClarkGoble I don’t know. The speed hit doesn’t seem to be bad enough that I notice it for backups.
Seems like turning on encryption for an APFS volume with lots of unused space does not have to read/write the entir… twitter.com/i/web/status/9…
Castro 3’s Business Model: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Good vs. Better at Bad: mjtsai.com/blog/2018/02/1… #mjtsaiblog
HomePod Can Leave White Rings on Wood Surfaces: mjtsai.com/blog/2018/02/1… #mjtsaiblog
@OluseyiSonaiya @jgordonshare @ClarkGoble Perhaps it’s more like medicine where there’s a range of reactions to a n… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble Yes, tricky. So best not to make blanket claims. But I do think there is… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble Agreed, people shouldn’t assume they are representative. But logically, I… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble I’ll agree with “can be argued to support.” But we all know there are man… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble The denominator is only relevant if you are looking on the Internet at li… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble It’s not even a falsifiable claim because he doesn’t accept user experien… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble I acknowledge that more users means more bugs revealed. But just knowing… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble At points he seems to be talking about big bugs like crashes and data los… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble In fact, he almost seems to be implying that his products, which people t… twitter.com/i/web/status/9…
@OluseyiSonaiya @jgordonshare @ClarkGoble The only reason what he said is interesting is because of his former job.… twitter.com/i/web/status/9…
@mdrockwell Volume.
A Blind HomePod Test: mjtsai.com/blog/2018/02/1… #mjtsaiblog
The Mac App Sandbox and Non-Native Apps: mjtsai.com/blog/2018/02/1… #mjtsaiblog
@NSExceptional Yeah, unless I say otherwise I’m implicitly thinking/talking about the Mac side. I’m not as familiar… twitter.com/i/web/status/9…
@NSExceptional Of course, this was also around the time when Steve died and Bertrand left, so there were lots of other changes, too.
@NSExceptional In my view, the decline started pretty much with the switch to the annual cycle, but it took a while… twitter.com/i/web/status/9…
@chrisltd @zcichy I don’t see that as what he was arguing. He actually said that quality is better now than it’s ever been.
@NSExceptional In another tweet, which I didn't quote, he called for Craig to be fired: twitter.com/lapcatsoftware…
@NSExceptional I see that tweet as taking for granted that things are bad now and arguing that the proposed fix is… twitter.com/i/web/status/9…
@NSExceptional Interesting that we have such different perceptions. It never would have occurred to me to label him… twitter.com/i/web/status/9…
@NSExceptional I don’t recall him making any excuses for Rogue Amoeba, nor am I aware of anything at that company that’s getting worse.
@NSExceptional Thanks. (But surely you don’t mean Jeff, who’s an indie looking for a job.)
How Apple Plans to Root Out Bugs: mjtsai.com/blog/2018/02/1… #mjtsaiblog
Some sort of OS bug overwrote my OmniOutliner attachments with unprintable characters again. Went to restore them u… twitter.com/i/web/status/9…
@brentsimmons Anyway, the point I was trying to make is that I don’t think it’s that they hate sets, but that this… twitter.com/i/web/status/9…
@brentsimmons Sorry, you’re right. To use the protocol in a set it has to be Hashable, and that adds a Self requirement.
@brentsimmons My understanding is that plain protocols work in all of these places (arrays, sets, dictionary keys/v… twitter.com/i/web/status/9…
@brentsimmons Sets are great. I think protocol limitation you’re referring to also applies to arrays and dictionaries.
@OhMDee @agilethumbs @apple_observer I wonder if that’s just iOS 11. I get app freezes all the time on me SE now.
@MarkkClifford That’s not possible for iOS apps.
VLC 3.0: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Twitter’s First Profit: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Many Siris: mjtsai.com/blog/2018/02/0… #mjtsaiblog
iOS 9 Source Code Leak: mjtsai.com/blog/2018/02/0… #mjtsaiblog
What I Learned from Watching My iPad’s Slow Death: mjtsai.com/blog/2018/02/0… #mjtsaiblog
John Perry Barlow, RIP: mjtsai.com/blog/2018/02/0… #mjtsaiblog
That 30% App Store Tax: mjtsai.com/blog/2018/02/0… #mjtsaiblog
iOS Auto-Correction From Contacts: mjtsai.com/blog/2018/02/0… #mjtsaiblog
@cocoadog Yeah, I’ve long wondered why tweets don’t have next/previous links or something…
@jsnell That was a good book.
@nubero It’s not slow for me to launch. You should probably contact their support.
@nubero If it was the only 32-bit app you had, the system would have to load all the 32-bit versions of the frameworks.
@Jonnebob @chartier @mdrockwell That would be great if it works (and when it gets out of beta).
BBEdit 12.1: mjtsai.com/blog/2018/02/0… #mjtsaiblog
HomePod Reviews: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Battery Health and Peak Performance Capacity: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Serialization on macOS and iOS: Speed and Size: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Minimum Password Lengths: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Apple E-mails Developers Other People’s Search Ad Results: mjtsai.com/blog/2018/02/0… #mjtsaiblog
@bbedit Congrats!
@chartier @mdrockwell That assumes that AirPlay works reliably: twitter.com/wadeco/status/…
@steipete How do you manage to get credits? They used to credit me when they couldn’t help, but not recently.
How CloudKit Works: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Sandbox Limitation on Number of Files That Can Be Opened: mjtsai.com/blog/2018/02/0… #mjtsaiblog
The Apple Music and HomePod Strategy: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Apple’s Q1 2018 Results: mjtsai.com/blog/2018/02/0… #mjtsaiblog
The Experts Have Taken Over: mjtsai.com/blog/2018/02/0… #mjtsaiblog
How Hotmail Changed Microsoft and E-mail: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Base64 Encoding and Decoding With SIMD Instructions: mjtsai.com/blog/2018/02/0… #mjtsaiblog
OWC Dual Drive Dock USB 3.1: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Good Ideas, Through the Looking Glass: mjtsai.com/blog/2018/02/0… #mjtsaiblog
@McCloudStrife :( Not my area. I assumed it was accurate since Gus recommended.
Podcast Listeners Really Are the Holy Grail Advertisers Hoped They’d Be: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Things I Wish I’d Known About Bash: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Touch ID and the Fifth Amendment: mjtsai.com/blog/2018/02/0… #mjtsaiblog
Colour Management: mjtsai.com/blog/2018/02/0… #mjtsaiblog
C String Functions in Swift: mjtsai.com/blog/2018/02/0… #mjtsaiblog