How I Unlocked my iPhone4S (with VirginMobile)
VirginMobile let you unlock your iPhone on day 1, no cost. Here was my steps for the record:
- Ring VirginMobile, ask for the unlock. They will ask you for your IMEI and then send through the unlock
- They say ‘restore the iPhone in a few hours’
- Not wanting to restore the iPhone, I put in a foreign SIM card (when plugged in to iTunes)
- The iPhone then said “Activation Required”, and started the re-activation process

- iTunes then displayed the “unlocked” message
Mobile Design Patterns
Great roundup of mobile design patterns.
Hope they keep the historical ones as these apps change, it’s always interesting to see how apps evolve.
Save Power, Underclock the iPhone (A Suggestion for Apple)
With each iPhone, the battery capacity increases, but the power needs also increase, keeping the lifespan largely unchanged.
Why not allow underclocking to save power? Something like this:
- you have a shiny new iPhone4S with a higher capacity battery
- you are going out for a long day and need the power to last. So you set your iPhone’s CPU to down-clock to the previous generations speed (similar to how you set airplane mode when you need that).
- all your apps still run fine, as they did on the iPhone4, just a little slower than you are used to now
- if you launch a game, the CPU can run at full tilt, despite this option (if the developer has flagged that the higher CPU is needed)
So full CPU normally, and underclocking to the previous iPhone’s speed when you need to save some juice.
When symbolicatecrash Fails (and it often does)
This problem has plagued me for almost three years now. It seems sometimes symbolicatecrash works, sometimes it doesn’t.
I have all my dSYM files (I even use a build script that archives them all automatically), and spotlight can find them from the UDID, but to no avail.
The solution is atos.
I copied the dSYM file (actually a folder) to the desktop, and run this command & you will get the file & line of code. Repeat for each symbol in the crash that you need (generally you only need one or two key ones…)
$ atos -arch armv7 -o ~/Path/to/Your.app.dSYM/Contents/Resources/DWARF/AppName 0x000cefd8 -[SomeClass someMethod] (in GeoLog) (AppName.m:242)
Thanks to NaveenShan for this tip.
Incidentally, If someone writes a Mac OS X app that can reliably symbolicate crashes, each time, every time, and doesn’t break on every new version of the SDK/OS – I will pay upwards of $50.
I wish things would just work, and I wouldn’t have to waste my precious dev time stuffing around with this crap.
Fixing the ‘Big Red X’s’ in Google Earth
Is as simple as clearing your cache. On Mac it’s Google Earth -> Preferences, Cache tab.
Offline GMail
When I tried to use GMail on the plane (I had used this app earlier in the day to ensure the cache was up to date):
Am I missing something?
Next time I won’t close that tab…
Continuing will result in the loss of all media on this iPad
I love how the really key part of this message is the sub-text. I like verb dialogs that Apple promotes, but I can’t help but think that they could have picked a more informative word here, “Erase & Continue” perhaps?
Good thing I read it carefully…
A side note: the cause of all my iPad memory being used is that I use it to DL photos from my DSLR. I have these on my iPad, and I DL it also to my computer. Pity iTunes can’t just leave these photos in place, I don’t want to back them up again – but I do want to backup the rest. At least there are OTA updates in the future.
Twitter’s Approve or Deny this Request button fails.
Steps to Reproduce:
- Received Email from Twitter: “so and so has requested to follow you”

- Clicked the Approve or Deny this Request button.
- Prompted me to login
- I login, first attempt succeeded.
- Shown the default screen. Not my “pending request screen”
- This screen doesn’t even have a link or notification about pending requests
- I click “Followers”, maybe it’s there? No
- I click “Home”, ah – finally the button “5 new follower requests”

Expected Behaviour:
Clicking “Approve or Deny this Request” in the email should take me to a page where I can do this, after logging in.
Viewing my followers list should also show me (or at least link to) my pending followers.
Gripe:
I hate web pages who don’t redirect you to where you wanted to go when prompted to login.
Rooting my HTC Aria ‘Liberty’ 2.2
I have an HTC Aria phone, originally purchased for dev. I thought since it wasn’t my primary phone I’d try a small smartphone, see how it performs compared to it’s big-screen cousins. When the 2.2 OTA update was presented, I installed it.
I’ve been using HTC’s crappy original firmware for ages. And here’s a problem: HTC have basically deprecated this device. It’s still pretty decent, no reason why it can’t run the latest software, except business reasons. No 2.3 Android support for me.
Here’s how I rooted the device, it was actually pretty easy once I found the right instructions. This is not a generic HOWTO, just a tail of success using my particular hardware and my particular version. YMMV.
- Turn off the device. Hold the ‘volume down’ button and hit power.
- Note your HBOOT version. If you are using the HTC Aria ‘Liberty’ then it needs to be 1.02.0000.
- Grab the Revolutionary tool, and read the docs.
- You’ll need to install the HTC drivers, if you haven’t already.
- Then run the tool. Enter the beta key from the website, and let it do it’s thing enable (S-Off). NB the tool will give you the serial number to enter into the site.
- After this is complete, it will prompt you to download & install the recovery tools. Do this step. Be patient, the download has no progress indication, but it does work.
- After booting, root your device by the instructions in the revolution docs (install su-2.3.6.1-ef-signed.zip)
- Then you can install CyanogenMod in the same way, by installing the zip from the SD card. Instructions here.
- And you’re done. Easy really!
So now I have Android 2.3, from CyanogenMod (which is better than HTC Sense to boot). Runs perfectly – clearly the decision not to support 2.3 is purely a business one.
“Welcome to Android”
– Hank, commenting on my repeated excitement while playing with CyanogenMod



