Archive for September 16, 2019

Monday, September 16, 2019

Faster Xcode Rename Refactoring

Daniel Martín:

Tip: If you use the rename refactoring in Xcode a lot, you can save some time by skipping the code folding animation:

defaults write CodeFoldingAnimationSpeed -int 0

I’ve tended to do it manually with Find/Replace, both because the animation was so annoying and because the refactoring would often fail with an error or not actually find all the occurrences. With this default and Xcode 11, I’m going to start trying it again.


Recreating Mac Desktop Picture Photos

Oliver Haslam:

Have you ever wondered where your Mac’s macOS wallpaper was taken? Sure, we know roughly where, but do you want to know exactly where those iconic shots were captured? YouTuber Andrew Levitt apparently did. So he set about tracking down the location of each macOS wallpaper along with photographer Taylor Gray and videographer Jacob Phillips.

The result is a 13-minute video showing their escapades as they attempted to recreate the images we’ve been seeing on Mac desktops for years.

The video is here.

Update (2019-11-27): Stephen Warwick:

YouTuber Andrew Levitt and two friends, Jacob Phillips and Taylor Gray have teamed up in their latest attempt to recreate Apple’s default macOS wallpapers, this time taking a stab at the iconic shot of Catalina island from macOS Catalina.

TextMate 2.0

Allan Odgaard (via David Heinemeier Hansson, Hacker News):

After far too long, there is no longer any qualifier suffix in the version string, so it is now finally just “TextMate 2.0”


Not everything on the wishlist made it into 2.0, but TextMate remains a work in progress, so don’t despair :)

Congratulations are definitely in order after so many years of development. It is apparently a free update. There are tons of changes listed, but unfortunately they aren’t (yet?) organized in a way that’s very helpful for those who haven’t been using the app and following along with its development. In any case, it’s great to see continued development of native Mac text editors.


Allan had been making very fast progress on TextMate for the first several years, and the community was full of excited “early adopter” types, who were very chatty and supportive, and were actively engaged in improving the TextMate language “bundles”, trying out new features, etc. I found the ##textmate IRC channel at the time to be the best place to get technical help with pretty much any programming language.

Then at some point Allan decided that he had made some suboptimal design choices in pretty much every component of TextMate 1, and wanted to improve those with new designs. But he thought it would take more work to incrementally swap new parts in that were compatible with all of the other stuff he wanted to eventually replace, so he started in on what was a substantial rewrite of everything.

That (a) took away his incremental improvement of TextMate 1, (b) took his time away from being as responsive to user questions/ideas, (c) caused bundle authors to slow down on improvements to TM1 bundles while they waited to see what new features TM 2 had in store.

At the same time, the creation of an “insider” IRC channel took away some of the activity from the main IRC chat, the migration from one big SVN repository to a bunch of separate per-language Git repositories damped a lot of the bundle development activity as people were no longer exposed to every change to every bundle, so the bundles didn’t cross-pollinate as much.


Notarization Provider IDs

Daniel Jalkut (tweet):

The steps for automating notarization involve running the “altool” command from Terminal. Everything in the guide linked above should work perfectly unless you’re a member of more than one development team. If you have more than one team associated with your Apple ID, the back-end at Apple doesn’t know which one it should notarize on behalf of.


All that said, here is a surefire list of steps for obtaining your ITC Provider ID, or as it’s described in the altool man page, your ASC Provider Shortcode.

  1. Create a new App-Specific Password from your Apple ID management page.
  2. From Terminal, invoke iTMSTransporter with the following options:
    xcrun iTMSTransporter -m provider -u <yourAppleID> -p <yourAppSpecificPassword>
  3. At your discretion, revoke the App-Specific Password you created for this process.

It seems to be my name concatenated with the old “person number” for my developer account.

See also: Notarizing Your Flash/Air Applications For macOS (tweet).


MRT Updates: Informed Security

Howard Oakley:

We’re not informed about when these updates occur, nor of their purpose, nor do we know what changes they bring. In the past, Apple’s security tools used to refer to malware using names which, although not always the best-known, at least enabled us to know what they protected us from. Then last year Apple switched to using internal code names, so we now know that the latest MRT update enables that tool to remove MACOS.87fabeb and MACOS.07758e9. Oh boogaloo.

If you went to your physician and they said that you needed an immunisation but refused to tell you what it protected you from, would you consider that informed consent? Surely, everyone would be suspicious and refuse.


I keep trying to imagine who Apple thinks it’s protecting by this prolonged silence and refusal to inform. It’s not the malware developers, who will quickly be able to tell the effect of any changes that Apple makes to the protection in macOS. It’s not the users, who are unable to make informed decisions about whether third-party protection is worthwhile. It’s not system administrators, who are as baffled as anyone else on the receiving end.

Update (2019-09-17): Rosyna Keller:

Not all things in MRT have names. Some updates may just be to cover unnamed variants too.