iOS to Android – Moving iCloud Calendar to Google

So, I have been with iOS now since the original iPhone was released and had every model up to my current iPhone4 as I couldn’t afford to upgrade to the iPhone 4S or 5.  Over the last few months though my iPhone4 has gotten slower to the point I don’t want to use it, and not being too keen on iOS anymore I fancied a change, so yesterday i picked up a HTC One.

Now before the HTC One I had all my contacts/calendar etc in iCloud which won’t work on Android.  For the Contacts I just exported them all from iCloud as a vCard and imported into my Google Account and it was fine, but calendars were a pain, so this is what I did.

  1. Logon to iCloud website, go to your Calendar.
  2. Next to each calendar click the icon and share to Public and copy/paste the URL if gives you to new browser tab, changing the webcal part to http
  3. This saves an ICS file of your calendar, just repeat for as many Calendars as you have.
  4. Now open Google Calendar and next to Other Calendars, click the drop down and Import Calendar, point to to your ICS file and you SHOULD be done.

Keyword there was SHOULD.  For me I had 5 calendars, 3 imported OK, 1 refused point blank (only had 2 old entries so not a biggy) but the other was my main calendar and had 7000+ entries.  Google told me it had found 7126 entries but only imported 62 and gave me the error

Failed to import events: Could not upload your events because you do not have sufficient access on the target calendar.

Crud.  I found a Google support entry saying create a new Calendar and Import to that, which I did and it worked fine!  But I wanted these in my main calendar, so i deleted both Calendars to start fresh, note you can’t actually delete your primary, instead it just wipes it clean.

A few hours of faffing around and many curses later I found a useful entry on another blog – http://ohadsc.wordpress.com/2013/06/16/google-calendar-ics-import-error-failed-to-import-events-could-not-upload-your-events-because-you-do-not-have-sufficient-access-on-the-target-calendar/ – which pointed me how to get them imported!  The only difference I had hear was I marked the entire line only for UID, not just UID because that marked some alarms and the file wouldn’t import!  This allowed me to import OK.

So because I had errors during my testing I decided I’d wipe the calendar and start again now I could import OK.  Nope.  I tried the import from the file which just worked and got this error

Failed to import events: Some of the events in this file were not imported because you had imported them to Google Calendar before. Other events in this file have been imported

^?%#!!  So more googling later I found out this because each calendar entry has a UID, but because I had already imported once, google basically keeps a record of this to avoid duplicates.  Makes sense really, but I wanted to import anyway.  So the way to do this I found was to open the original ICS file in NotePad++, and replace all exact matches of UID: with UID:1 which basically means every entry gets a new UID.   I ran the import and it worked fine!

So eventually all my calendars got imported from iCloud OK and are now running fine on Google in my primary calendar and syncing with my HTC ONE.  Probably not the cleanest way to do it but it ended up working out for me in the end.

Lenovo X230 Recovery Media

Recently my work finally got me a laptop to use, a pretty sweet Lenovo X230.  It comes with a 120Gb SSD and no optical drive which is fine, but they put recovery media on a 15Gb partition.  Usually wouldn’t be a problem but with an SSD every bit of space counts so I wanted to get rid it.

Problem comes in that when you go to the recovery media partition a tool loads that lets you create the recovery media on USB (don’t have a 16gb USB stick) or on DVD (no optical drive). And the kicker is you can only create it once….   Hmmmmm what to do.

So, I found a tool called Phantom Drive which lets you mount a virtual CD/DVD/BR burner on Windows.  Its not like a MagicISO which let you mount ISOs you have already created, instead this effectively mounts a blank ISO which is the same as you loading a blank CD/DVD, so any program can burn to it as if it was physical media!  BINGO!

I only got it on the trial first which for 30 days seems to work fine.  A quick install later, go into the tray icon app and create a new DVD-R sized ISO and run the Lenovo Factory Recovery Tool and get it to burn to the Phantom Drive ISO.  Works like a charm!  It create 1x CD and 3x DVD ISOs in my case and all I need to do was create a new ISO file each time the app ask for another blank disc.  After it was finished I moved the 3x ISOs to my work desktop and was able to burn the to DVD for safe keeping and the remove the recovery partition and claim my 15Gb of SSD space back.

Result!

Why I’m doing this..

So this is my first attempt at doing a blog.  I don’t know how long I’ll do it, or how frequently I’ll update it but its something I wanted to do.  Why?

Well, I’ve worked in IT now for about 14 years jumping between roles (trying to progress anyway).  I’ve taken on jobs from Desktop Support to Enterprise Systems Analyst and a lot in between so I count myself as a Jack of All Trades – Master of None.

Currently I find myself working as a lone IT Systems Administrator which has its plus and minus point.  The plus, is that I get a large amount of control over the IT systems in my branch office, the pitfall of that though is the buck stops with me on IT issues.  I have to look after everything from desktop and printer support, up to SANs, Networking, Active Directory etc so it can be a bit stressful.  This is where Google is your friend as I can’t possibly know everything but I believe one of the best attributes you can have working in IT is not knowledge of everything, but the willingness to find the answer as quick as you can to a given problem.  So numerous times now I’ve come across useful blog posts which have saved my bacon, so I thought it would be a good thing for me to contribute back and jot down some of my experiences so hopefully I can be that blog post which saves someone so hassle one day.

That’s the plan anyway 🙂

By andyr8939