Paul Calnan
Published March 24, 2014

This seems to happen whenever someone on the team updates the provisioning profile and commits the change to the .xcodeproj file. The build fails and Xcode complains that it can't find a provisioning profile identified by a UUID.

To fix it, I have to stop what I'm doing, open Preferences, click the right Apple ID (I have one for each client), click the team, click View Details, click the refresh button, and then close out the action sheet and the Preferences dialog. Not the end of the world, but it gets old after a while.

To get around this issue, I wrote an AppleScript to automate the process. It's a bit fragile, as it's using Accessibility and System Events to poke around in the Preferences dialog. It probably will break in a later version of Xcode (it works in Xcode 5.1).

To use the script save it to your computer and set the appleID variable to your Apple ID. I use FastScripts to bind the script to ⌥R while in Xcode.

The script:

Published October 4, 2013

Autocorrect has been driving me nuts in Skype. I found an easy way to disable it without disabling it system-wide.

  1. Right-click in an editable text area.
  2. Select "Spelling and Grammar"
  3. Uncheck "Correct Spelling Automatically"

It looks like this also works in other apps that support autocorrect.

Published September 22, 2013

In writing my recent posts on Keyboard Maestro, I made some new TextExpander snippets for typing Mac modifier keys. In the table below, typing the Symbol Abbreviation results in the Symbol being inserted; typing the HTML Entity Abbreviation results in the HTML Entry being inserted.

Name Symbol HTML Entity Symbol Abbreviation HTML Entity Abbreviation
Alt (Option) ⌥ ;alt ;halt
Backspace ⌫ ;backspace ;hbackspace
Caps Lock ⇪ ;caps ;hcaps
Command ⌘ ;cmd ;hcmd
Enter ⏎ ;enter ;henter
Escape ⎋ ;esc ;hesc
Shift ⇧ ;shift ;hshift

I previously just had the symbol abbreviations set. This caused some encoding problems in my posts. Rather than try to figure those out, I added the HTML Entity abbreviations. These should appear regardless of the encoding of the final document.

Published September 22, 2013

I cancelled my cable television subscription a few months ago. I don't watch enough television to justify what my cable company was charging me monthly for a service I didn't use.

I'm a football fan, though, and couldn't imagine going the whole season without watching the Patriots play. Luckily, around the time I cancelled my cable, Aereo came to Boston. If you're not familiar with their service, Aereo allows you to watch broadcast television over the Internet. It's only broadcast, so I can't watch the Red Sox (as they're on a cable-only network), but local NFL games are carried on broadcast stations.

Aereo also works like an online DVR. You tell it which shows to record and you can stream those shows whenever you want.

In my previous post I explained how I use Keybord Maestro to get HTML5 video. That trick works with Aereo as well, which usually requires Flash to view video on the desktop. Log in to Aereo from desktop Safari and it says you need to have Flash installed to watch video. Change to the Mobile Safari for iPad user agent string and you can watch video.

When using a DVR, I find it essential to be able to skip back and forth by several seconds, mainly to skip commercials. This is impossible to do using the HTML5 video player. I'm not sure if you can do the same in the Flash player, but I'd rather not have to use Flash in order to watch video.

The Media Center Safari Extension adds a context-menu when you right-click on an HTML5 video with the option to open the video in QuickTime Player. I wrote an AppleScript that can tell QuickTime Player to jump forwards or backwards an arbitrary number of seconds. I activate those scripts via Keyboard Maestro macros to allow me to fast forward or rewind 5, 15, 30, 60, 120, or 300 seconds. I have those bound to the following keys:

Action Key
Rewind 5 minutes [
Rewind 2 minutes [
Rewind 1 minute [
Rewind 30 seconds ,
Rewind 15 seconds ,
Rewind 5 seconds ,
Fast forward 5 seconds .
Fast forward 15 seconds .
Fast forward 30 seconds .
Fast forward 1 minute ]
Fast forward 2 minutes ]
Fast forward 5 minutes ]

That's a lot of shortcuts. I just remember that square brackets ([ and ]) jump by minutes and angle brackets (< and >) jump by seconds. Shift (⇧) jumps by more and alt (⌥) shifts by less.

Combined with AirPlay Mirroring to my Apple TV, I have a decent DVR system controlled by my MacBook Air that allows me to watch NFL football without having to see any commercials.

The Keyboard Maestro macros are available on Github.

Published September 22, 2013

It's surprising how many websites still require Flash to view video when using a desktop browser. I use the technique described in this Daring Fireball post to change the user agent string in Safari on OS X, making it look like Mobile Safari in order to get HTML5 video. This does the trick about 90% of the time. I find that the YouTube 5 Safari Extension also helps, often making the user agent shenanigans unnecessary.

I used to keep Google Chrome installed as a fallback since it comes with Flash preinstalled. I find I need to use that less and less, though.

I use two Keyboard Maestro macros for this. The Toggle iPad UA macro (bound to ⌘.) toggles between the Mobile Safari for iPad user agent string and the default Safari user agent string. The Open in Google Chrome macro (bound to ⌘.) opens Safari's frontmost tab in Google Chrome.

Both macros are available on Github.

Newer Posts | Older Posts