Today, I went to send a weekly email to a list I maintain in Contacts, and I noticed that my group had inexplicably lost 7 cards! So I restored the contact cards from Time machine, which allowed me to only "Keep New" ones. However, I ended up with more cards than I knew I was supposed to have.
So I tried using Contacts' "Look for Duplicates" feature, but it would not let me review the duplicates. It simply told me that I had 28 duplicate cards and 8 duplicate entries based on people having the same name, and offered to let me either select Merge or Cancel. I'd sorted out messy merges before, so I wasn't about to get into that morass. So I devised my own way of finding and reviewing duplicates.
First, I selected my group, clicked the name at the top, then Shift-clicked the last name to highlight all the cards. I then dragged them into the to field of an empty email. I then typed Command-A to select them again and pasted them into a temporary TextEdit plain text document which I named "dupe_search.txt". (If anyone knows a way to skip the email/drag step, let me know.) I then ran the text document through this set of piped commands in Terminal:
This returns a list of email addresses with the number of times they occur in Contacts to the left. I then manually searched for each one in Contacts to inspect the dupes.
To merge the cards, select them and just type Command-Shift-| or select "Merge Selected Cards" from the Card menu.
I remembered after doing this that most of my missing cards had been a series of duplicates I'd previously merged a week ago! But I did recover 4 that had apparently slipped through Apple's cracks.
Be wary about maintaining lists in Contacts, especially if you use iCloud. I have found some disturbing bugs, such as when you right-click on a group and select "Send email to '...'", I wasn't getting the same number of email addresses as when I manually selected all the cards in that group and dragged them to the email! I've been adding emails via my iPhone - and I'm not sure I trust that iCloud is syncing them correctly given these four recovered cards!
[kirkmc adds: I haven't tested this. I have often had problems with Contacts, however, especially with certain cards having multiple email addresses that come from other cards. I wish there were a better way to clean out the Contacts database.]
A recent article in TechHive points out that you can now use line breaks in tweets. However, this is nothing new; I've been doing this for a long time, with my Twitter clients. Just press Option-Return to make a line break that does not act as press Return (or sending a tweet). It's worth noting that Option-Return works in just about any text field, including those where Return sends text (such as in Messages). This isn't a new hint; this feature has been around for ages, but it's good to know.
It's worth noting that my Twitter client of choice, Twitterrific, already handles Returns as line breaks; you have to press Command-Return to send a tweet.
You may have seen the news that Google Reader is shutting down as of July 1, 2013. If you use Google Reader, you may want to save your feeds to be able to import them into another RSS reader.
Go to Google Reader, then click on the gear icon at the right of the page and choose Settings. Click in Import/Export. In the Export your information section, click on Download your data through Takeout. Follow the instructions to download your data.
When you download the data, you'll get a ZIP archive. Double-click it, and look in the Reader folder for a subscriptions.xml file. You can use that to import your feeds into other RSS readers.
If you are jealous of the Roku 3's new, very cool "private listening" feature (headphone jack is on the remote) and would like to achieve the same on your AppleTV, here's a way to do so:
• AppleTV 2 or 3, running AppleTV software 5.2 or newer (need not be jailbroken)
• iOS device (iPhone, iPod touch or iPad)
• Any one of the following apps to make the above device act as an "AirPlay Speaker"
- AirView, AirFloat, or something similar (previously downloaded from App Store, as these routinely get pulled from the App Store)
- Airfoil Speakers Touch, with in-app upgrade for direct AirPlay feature already purchased (also no longer available for purchase.) This feature can be manually added via jailbreak and manual hack (or via app preference editor Flex, though)
- Jailbreak, and installed via Cydia, any one of the following: AirServer, AirFloat, airplayspeaker, AirCrack, perhaps others?
• Enable the app/feature/function that turns your handheld iOS device into an AirPlay Speaker.
• Plug in headphones into your iOS device.
• On the AppleTV, go to Settings > AirPlay > Speakers and select your iOS device. This will be the speaker to which audio is routed. (This can also be selected or changed while playing video content, by holding down the Select button on the remote, moving to the "Speakers" tab and selecting your iOS device from the list.)
• Start playing a video content on AppleTV.
You're now "private listening" to the AppleTV! Be amazed by the perfect audio/video sync, while your bed mate sleeps soundly. You can even use the Remote app to control playback too, and the audio should continue playing in the background.
[kirkmc adds: Interesting. I don't know why Apple doesn't offer this possibility. Personally, I don't have a TV in the bedroom, so I wouldn't use this, but I can imagine sometimes in the living room wanting to watch something when someone else wants to be in the living room and not hear it.]
The ability to control Time Machine from the Time Machine preferences in System Preferences is quite limited. You can choose exclusions, turn Time Machine on or off, and force backups, but that's about it. Fortunately, a command-line tool, tmutil provides much more control over Time Machine. The man page for tmutil says the following:
"tmutil provides methods of controlling and interacting with Time Machine, as well as examining and manipulating Time Machine backups. Common abilities include restoring data from backups, editing exclusions, and comparing back-ups."
For example, you can compare backups to see what has changed from one backup to another, inherit a backup (which you can do from the Time Machine menu, when you set up a new Mac and want to use a backup from an older Mac), or set up fixed-path exclusions (excluding items at a specific file path).
Check man tmutil to see all that you can do with this command.
If you ever accidentally delete a contact, you can go to the Dropbox website and find older versions of your Contacts database.
[kirkmc adds: Obviously, this hint is useful only for those who don't use Time Machine. But it also suggests a way to store backups of other key files.
In the AddressBook folder, you'll find the entire Contacts database (AddressBook-v22.abcddb), which you can restore, but, while it may include contacts you've deleted, it might not have new contacts you've added. There's also a Metadata folder, which contains cards for your contacts, which are used when you search with Spotlight. You can browse through these cards and, if you find a contact you've lost, double-click it to add it to Contacts.]
I have to agree with Erica Sadun, at TUAW, who writes that Basso, the sound used by Notification Center, is horrid. It makes me cringe, and, because of this, I don't use sounds with Notification Center.
But Sadun found that you can change the Notification Center sound with a bit of a hack. If you go to ~/Library/Sounds and place a sound in AIFF format there, and name it Basso.aiff, Notification Center will use that sound. You'll need to run the following Terminal command to relaunch Notification Center (or restart your Mac):
You'll have a much better sound for notifications. I really think Notification Center should not only allow users to change the default sound, but also choose specific sounds for different applications, the same way you can choose a specific ringtone for different callers on iOS.
Let's face it: ringtones are boring. And annoying. How many times do you want to hear the refrain from your favorite song when someone calls? And do you realize how annoying it is to others to hear a blasting bit of the latest Lady Gaga song.
On the other hand, using a default iPhone ringtone means that, if you're in a crowded area, lots of people will check their phones, thinking that they're getting a call, since they use the same ringtone.
The iPhone's Do Not Disturb setting (in Settings > Notifications) is a way to turn off rings, alerts and other sounds on your iPhone; it's great when you're in meetings, or in the movies.
However, you may want to not be disturbed and still want to be notified when you get calls from specific people. There's a way to do this, but it's a bit complex; a Stack Exchange member explained how to do it.
It involves creating a group for the person or people you want to "disturb" you in Contacts (either on your Mac or on iCloud.com; you can't do this on the iPhone), and selecting that group in Settings > Notifications > Do Not Disturb. You can choose to allow calls from Everyone, No One, Favorites, or specific groups. So you might have a few people set as Favorites, so you can call them quickly from the Phone app, but if you want to limit the rings to just one or two people, it's easier to create a group for them.