Last week, a friend was in a serious car accident. His family wasn’t notified because he didn’t have any In Case of Emergency info on him, and his phone was locked with a passcode. When his family found he hadn’t come home, they called the police, who said he was in the hospital. He’d been either unconscious or medicated since arriving, and couldn’t tell the police anything. The good news is, he’s now recovering after surgery to repair a couple of broken vertebrae.
I know people have suggested turning your ICE info into a JPG and using it as lock screen wallpaper, but that’s kind of ugly. There should be a way to designate ICE contacts and to have them accessible from the iPhone’s Emergency Call screen.
Accordingly, I’ve filed rdar://11505181. Please consider doing the same. It’s important, and it can save you and your family a lot of grief.
Using previous versions of Xcode to develop Automator actions, you could just click the Run button, and Automator would launch using the just-built version of your action. However, this broke in Xcode 4, for both existing and new projects.
Looking around, I found an article with a solution (via Stack Overflow). Here’s a summary.
-action "$(BUILT_PRODUCTS_DIR)/$(FULL_PRODUCT_NAME)".Now, when you Run the product, Automator will launch as before, and your new action will be available for debugging. I used this approach to freshen my Automator Pack.
I filed a Radar bug about the problem. Feel free to file a duplicate.
We lost our cousin Sophie Temou to cystic fibrosis in 1996. However, the prognosis for CF sufferers gets better every year thanks to advances in medical science and thanks to the money raised by events such as the CF Great Strides Walk. We’ve named our team Sophie’s Striders in her memory.

That’s Sophie in a photo “taken one year ago” (as she wrote on the back of her copy).
We’ll be participating in the CF Great Strides walk at the Toronto Zoo on Sunday, May 27, 2012. Thanks to your donations last year, we raised over $4,000! Here are some photos of our day at the zoo.
You can contribute and help us beat 2010’s record total. Please donate securely by credit card here, then follow our progress on our Great Strides page.
You can join our team and raise money among your friends and family. Please contact me for more information.
Thank you.
I’ve been to WWDC a few times, and I’ve learned a few things. Here’s a condensed list.
If you’re hungry for more, Quora has huge list of tips. Not enough? Just Google.
A while back, @chicagobob tweeted about the MVPS hosts file. It blocks unwanted parasites by redirecting them to 127.0.0.1. To automate updating to the latest parasites list, I wrote* this bash script (warning: it’s not for the faint of heart, and I make no guarantees):
#!/bin/bash
# Downloads the MVPS hosts file, and appends it to the system hosts file
#
# If you want to make any manual persistent changes to the system hosts
# file, run this script first, then make sure that the change is in
# /etc/hosts.orig.
if [ "$(whoami)" != "root" ]; then
echo "Sorry, this script must be run as root."
exit 1
fi
# Back up the original hosts file
if [ ! -f /etc/hosts.orig ]; then
cp /etc/hosts /etc/hosts.orig
fi
# Create tmp dir
if [ ! -f /tmp/update_hosts/ ]; then
mkdir /tmp/update_hosts/
fi
# Download the MVPS hosts file
curl http://winhelp2002.mvps.org/hosts.txt > /tmp/update_hosts/hosts.mvps
# Remove the stuff at the top
tail +26 /tmp/update_hosts/hosts.mvps > /tmp/update_hosts/hosts.mvps.tail
cat /etc/hosts.orig /tmp/update_hosts/hosts.mvps.tail > /tmp/update_hosts/hosts.dos
# Convert DOS line endings to UNIX
tr -d '\r' < /tmp/update_hosts/hosts.dos > /etc/hosts
# Clean up
rm -rf /tmp/update_hosts/
# Flush DNS
dscacheutil -flushcache
Save it to a file somewhere, make it executable and run it using sudo from time to time. (I’ll leave scheduling it regularly as a launchd daemon as an exercise for now.)
Combine that with a few free** Safari extensions - Safari AdBlock, Javascript Blacklist, Incognito, Disable Google ClickTracker, DoNotTrackPlus- and you have a reasonably effective ad blocking and privacy arsenal.
* Thanks to Peter Hosey for the dscacheutil suggestion.
** Safari AdBlock is donation-ware. It’s well worth whatever you want to donate.
A while back, I gave a presentation at tacow about using Uncrustify to prettify your source code in Xcode 3.2. Then Apple released Xcode 4 and rendered much of that presentation obsolete. Now, I finally have it working in Xcode 4.1.
First, get the source for Uncrustify from its github repository, then build and install it, using these Terminal commands:
Then create a uncrustify config file and save it somewhere. You can start with the sample ones in the uncrustify project. Here’s mine.
Then, create an Automator service to uncrustify selected text in Xcode. I used Tony Arnold’s workflows, but they didn’t work for me by dropping the files; I had to create one manually.
Finally, open Keyboard System Preferences, go to the Services section of the Keyboard Shortcuts tab, and set a shortcut for the Uncrustify service (I use ^U).
Now, when you select text in Xcode, the Xcode > Services > Uncrustify menu should be enabled. Select the menu, or hit the keystroke, and your code will become a thing of beauty.
(Once caveat: it doesn’t seem to correctly align colons on multi-line method invocations. Using Xcode’s Indent command (^I) following Uncrustify fixes that nicely.)
As a Canadian, it’s sad to see RIM’s rapid fall from grace. Their products have devolved into too little, too late, and too buggy. Their once-mainstay corporate customers are defecting to iOS and Android devices, seemingly en masse, and their consumer offerings show a distinct misreading of the market. So, here’s what I see in the ol’ crystal ball.
The board will axe the co-CEOs by the end of this year. Their replacement (singular, it’s to be hoped, and not one of the incumbents) will publicly try to turn the tide, but really he’s there to cut costs and find an acquirer while their shares still hold some value. (To be sure, his golden parachute will be sweet, contingent on the deal he makes.)
Why would anyone want to buy them? Their IP may hold some attraction, but mostly it would be for BlackBerry Messenger. It’s their only remaining differentiator, and the only thing keeping people on BlackBerry (see network effect).
Apple built iOS 5’s iMessage app as a BBM-killer; for that reason, they don’t need RIM. Google doesn’t seem to me a good fit either — if they added advertising to BBM, people would head to iPhone in droves.
It would have to be someone with an existing smartphone platform into which they could integrate BBM while preserving support for legacy BlackBerry devices, at least until they could sell them a new phone. Microsoft comes to mind, and a couple of years ago they’d have been the obvious choice.
However, I think that within two years, RIM will be acquired by HP. They’ll build BBM into webOS and make it interoperate with legacy BBM. They’ll also try to sell a metric crapload of phones. It’ll probably be too late by then to become more than a niche player, but they’ll try.