Calendar synchronization between iPhone, Google calendars and iCal


Here is my situation: I am using three different Macs (Macbook Pro and two iMacs – one at home and occasionally second one at work) and need to keep the contacts and calendars synchronized at least between two of them (MBP and home iMac). I use iPhone which also has calendar and contacts. And in the cloud, there is Google calendar. Actually, more than one: my own calendar and company shared calendar of my colleagues from Thinknostic. Quite a challenge to keep it all in sync.

Here is the setup that works for me:

To synchronize iCals between different Macs as well as between Mac and iPhone, the most seamless and completely painless way seems to be using Mobile Me. I registered for Mobile Me back when it started – just to grab the name (miro at me dot com), and have not used it much at first. Thanks the 30+60 day extension, I have still until mid November ti decide whether I will keep it or no. The sync feature alone seems to be worth at least half of the subscription price. The other half is push email and really easy way how to synchronize files between Macs … Also to have online access to your contacts when you are not on a Mac can be useful sometimes. But back to the workflow:

Theoretically, both iCal and address book gets synchronized every time you sync the iPhone with Mac. This is not really as useful as it may sound, because I do the sync about once a week to download images from camera and upload new podcasts. And to update the apps, of course. I would not do that more often, for simple reason: the synchronization takes forever. Ten minutes at least. With Mobile me, you can sync as often as you want (every minute if you really want) – and also access the information online via browser.

To synchronize Google calendar used to require some helper applications, like GCalDaemon (free, opensource) or Spanning Sync. Not any more. Since Google opened up the API this summer, it can be done out of the box: read more on here

This solution is almost perfect, the only relatively minor problem is that sync between iCal and Google does not include iPhone: the calendars that you have added to iCal and are coming from GCal are left out – Mobile Me synchronization does not include calendars not created or owned by iCal application. This is not such a big deal as it may seem because from iPhone, you can always access the Google calendar by using the very good mobile Web UI.

Objective C: I really miss namespaces


One feature that I strongly miss from Objective C are namespaces. Inability to avoid name clash between your  classes sometimes really stands in your way.

I am reading S. Kochan’s book “Programming in Objective C” and in one of the examples he creates the class Point. Unfortunately, there already is struct Point defined in mactypes.h.

The solution is easy – rename the darn Point to something like TKPoint … at least that is what Cocoa naming guide recommends. It is probably matter of getting used to it  – but I still find the solution suggested by Kevin Hoffman much more elegant – too bad it is only theoretical. Much nicer than NSHack 😉

XCode annoyances


I have started to seriously play with Objective C and XCode about week ago. So far it was very pleasant experience. I really like the language – feels like Ruby (or Smalltalk if you want) with rocket launcher: very powerful, blastingly fast and dangerous like hell. No array boundary checks as in Java :-).

The XCode was not bad experience either. Here my very long Eclipse and Visual Studio history is going a bit in the way, as the things often works quite different. Not necessarily worse, but different. It would be too early to judge it – not before I get more proficient in both Objective-C and XCode and learn more Cocoa goodness.

Two things however are so annoying, that I have to mention them right now:

1) Setting breakpoints was gamble – sometimes it worked, sometimes it did not. I could not figure out why, until I found here that you must in Preferences -> Debug switch off the ‘Lazy loading symbols’. After re-entering the breakpoints, I finally got it to behave as expected.

2) Trying to add existing files to a projects crashes the XCode with the following:

The console window shows error:

PM Xcode[34563] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '
*** -[NSAutoreleasePool stopObservingModelObject:]: unrecognized selector sent to instance 0x32da240'

which is clearly a bug. I tried to reboot (it was about time after running for over two weeks anyway), no help.

Weird is that I remember doing that before without any problems … Workaround is use drag and drop, of course, but I wish Apple would fix this Really Soon, as it is plainly embarrassing …

I have seen crashes like this in Visual Studio, but Eclipse was rock solid environment despite the very complex plugins ecosystem, so it is hard to go back to use something blowing under your hands …

The Things bliss


Finally – the new version of Things on iPhone can synchronize with Things on Mac desktop.

It actually works – no strings attached. Assumed that:

1) the WiFi on iPhone is on

2) iPhone and Mac are on same network (so that Bonjour magic can work)

3) the Mac Things is running when you start Things on iPhone

the synchronization happens automatically and is VERY fast (few seconds max).

Finally a portable GTD application that works for me :-).

PS: Things is very nice implementation of GTD. If you are not into GTD cult, do not bother – or try reading this, this and this first ….

iPhone 3G first impressions: Applications


Having used Touch 2.0, I managed not to install everything I found in AppStore. Majority of which is crap anyway – people are still learning how to use the platform properly. Pretty soon though, all those flashlights, tip calculators and similar pointless-ware will be replaced by apps that make sense. I hope.

Just for the reference: here is my iTunes snapshot as of today:

Some applications are pure time killers (when waiting in line and there is signal to read news online) but some are actually very useful. Few comments to those I actually use are below – actually, first three of the apps are below – I will get back to few more in subsequent posts:


This is Facebook as it should be. It actually made me come back to the Facebook. iPhone makes perfect device companion for social network sites: you can update your status in the moment when you actually doing something interesting and see your friends updates at any time, not just while sitting at the computer. You can take photos and upload them right away. And when you are bored or waiting, you can browse messages or pictures of the people you know. This is a good one – try it out:


Main reason I am mentioning it is that this was first app I bought while testing the AppStore purchase system ( the required $0.99 which is less than one half of Grande in Starbucks does not really create any entry barrier ;-)). I wish I had it with me when I was down in the USA last moth. My car does not have second circle for speed with the medevial units they still use I had to keep multiplying by 1.6 to make sure I am within speed limit …

Right now, there are just too many unit conversions, but this one does everything I need so I guess I am done with them all. Unless of course there will be an app written by somebody I know (hi Pero …).


Work of art. Simple, elegant, functional. Allows to pair the iPhone / iPod touch with one or more iTunes libraries on your Macs and use the device as remote control. No line of sight is required – but WiFi must be on. Good for practical jokes by changing somebody’s music 🙂

It arrived


Mac #3 in our household (after Macbook and Macbook Pro):

The beautiful 20″, 4GB RAM, 750 GB HDD, about to replace the old tablet my wife was using and as school computer.

PS: In the excitement of the event I forgot to publish this so it was sitting in Drafts until Saturday. Publishing with original date of the event – for the record. Funny enough, it is almost precisely the 10 birthday of the original iMac.

ByMUG meeting – August


This Sunday, as every first Sunday in month we had regular Bytown Mac User Group meeting at usual place – Patty Bolands Pub at the Market. It was great meeting because we had many newcomers – both to the group as well as to the platform, including very fresh Mac switch – a happy owner of 24 hours old Macbook Pro.

The presentations were very suited for the audience of newcomers, especially Katheryne’s demo on customizing the Mac. She was kind enough to send the links to the talk (the mailing list). I think that the links are very useful for wider audience than just the ByMUG folks, so I will repost them here … withour her permission, but in here very own words 🙂

Thanks again for your attention during my presentation – these are the times I am very happy I chose the MBP over the MacBook 🙂 Here are the links as promised:

Hardshell cases:
– InCase <>
– Speck <> (Warning: Flash. Eugh.)

From Apple:
– Icons, screensavers, etc. <> Don’t be afraid to click around and find out about other downloadable goodies.

– Phantom Butterflies, Strands, Filigree, Iota, Scattered Flurries (aka snow!), etc. <; & Ignis Fatui (one of my faves) <;
– Anèmona <;
– Fishes, Matrix code, Jigsaw puzzle, etc.: <;
– X-Galaxy <; (The purpley whooshy one)

Wallpapers sites:

Icon sites:
DeviantArt has a lot of artists putting up amazing icon sets, like this one: <;

Custom folder creators:
<; (Oops, I think the download link is broken. You can probably still download it from the host site.)

Other cool stuff:
– Adium (instant messaging application): <;
– Wallsaver (screensaver as wallpaper): <;
– iConiCal (different colors for your iCal icon): <;
– CandyBar (to change icons, app icons, dock, etc. 15-day trial with 250 icon capacity, 29$ for full version): <; and Iconfactory: <;
– LiteIcon (free icon restore/change app): <;
– Shapeshifter <; to use themes (GUIs) <; built using ThemePark <;

The dock I was using today, Alu Curved 3D: <; (MacThemes – learn to love this site if you want to sleekify your Mac even more!). Other docks from this site: <; and <; (this link has a dock with instructions for a manual installation of a new Simple Dock – left/right).

Thanks, Katheryne and Glenda for preparing the demos – and sorry for the projector cables mix up …

Some shots from the meeting (taken on my shiny new whitey iPhone 😉