Syncing Google Calendar with the iPhone or iPod Touch

Since several people asked me how to do this, after I twittered about this, here it comes: How to correctly sync the Google Calendar with the iPhone. First step is to create a new calendar account in the iPhone settings (Email, Calendar, Contacts) using the Exchange protocol. The finished account should look something like this:
You can also sync the contacts and emails, if you want, but that’s optional. The second step is to go to http://m.google.com/sync/ to set up which of your google calendars you are going to sync. Beware: on the german iPhones, the page will display an error message, unless you switch to the english page!
That seems to be a bug on google’s page. So after you’ve done this, you get a list of your iPhones and can select for each device which calendars to sync:

Some small iPhone address book nags

I am using the try-out version of Mobile Me for the iPhone. Syncing the device with the Macbook Pro. Whenever I go to my address book, all the contacts appear twice. Very strange, I though, until I noticed that I was in the Group “All contacts”, which will show the contacts synced from the Mac and from Mobile Me. What a stupid way to present things. Right now, I just need to switch to “All contacts from my Mac” to fix this, but when I were to add another address book (say a corporate one or the Google one), I would be in trouble. Not very clever, Apple…

Qt woes on OS X 10.6…

Oh dear, Nokia and Macports do seem to hate me. I’ve spent half a day to get some version of Qt running on OS X 10.6.2. The problem is as follows. Nokia only provides 32 bit builds of their Qt SDK for OS X (universal binaries for PPC and i386) as can be seen here and here. Under OS X 10.5 this was no problem, since the whole system was basically 32 bit. But Snow Leopard now builds for x86_64 per default. Especially when using Macports. So I thought, lets just install the qt4-mac port from Macports. Wrong again! That port is currently broken. So, my project depends half on Qt and half on stuff from Macports. Now neither one is in a usable state. Ok, so I thought maybe I can force Macports to build in i386 mode only, to be compatible again with Qt. So I edited /opt/local/etc/macports.conf, cleaned the whole Macports tree and reinstalled. Fail again. This time, perl5 fails to build. That port is broken on 10.6 for non 64 bit builds. Hooray. Well, I give up for today, but will continue to investigate and will report back, as soon as either Nokia provides a decent 64 bit build, or Macports recovers and fixes any of their build issues.

What’s with PulseAudio?

After my upgrade to OpenSUSE 11.2, I noticed that VLC was again stuttering when playing videos. A quick check revealed, that the upgrade re-installed the PulseAudio system. Removing all Pulse related stuff fixed the problem. I wonder why, oh why on earth all the sound servers under Linux suck? And why are they default for every installation, if they don’t work as expected? I still own a nice SoundBlaster Live, which does sound mixing in hardware, which means I do not even need a sound server, since the card can expect many different audio streams from many applications. Anyway, please, dear sound server developers: If you need to write such a beast of a tool, make it work as expected!

Using YMP URLs from the command line

I just upgraded my home machine to OpenSUSE 11.2, and needed a few programs from secondary repositories. SUSE comes with those nice YMP URLs, which allow one-click installation of programs. However, after my change to using sudo from a few weeks back, this does not work anymore. The One Click Installer does not seem to be compatible with sudo yet. So I now found a workaround, by just using the shell to do the same. E.g. if you wanted to install Amarok 2.2, which does not come with SUSE 11.2, you would do:

/sbin/OCICLI http://software.opensuse.org/ymp/KDE:Backports/openSUSE_11.2/amarok.ymp

Nice, isn’t it?

Printing the SSH host key fingerprint

Whenever you update your SSH host keys, your machine becomes compromised, or you re-install your system, the SSH host key will change. To check if there is really a man in the middle attack, it is nice to be able to print out the fingerprint of the SSH host key on the host itself. So locally log onto your machine, and do the following:

$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

If you are using the DSA key, you should replace rsa with dsa, naturally.

Computing the standard deviation of timings in OpenOffice

I took some timings during a user study, and tried to use NeoOffice (aka OpenOffice for OS X) to evaluate the results. I needed to compute the standard deviation of the timings. The data itself was in a format MM:SS. What does work is computing the sum, like this:

=SUMME(A1:A20)
Note that I am using the german function names. I don’t know all the english function names, so you have to check that yourself. Now I tried to compute the standard deviation as follows:
=STABW(A1:A20)
But all I got was 00:00 as the answer. I couldn’t get an answer why that is the case, not even by the helpful people in #openoffice.org on Freenode. What I did find out is that you can do the computation when converting the timings to another format, namely just seconds. You can do this in the following way:
=MINUTE(A1)*60+SEKUNDE(A1)
So you basically need another column, filled with the above formula, say column B, and then you can compute the standard deviation:
=STABW(B1:B20)

How to scrobble vinyl records

I like to listen to music. Mostly MP3, CD, and my all-time favourite: records. Yeah, those big, black 12″ monsters from your youth. Or maybe you don’t even remember those…?

It also happens that I like to scrobble my music. What’s scrobbling you ask? Easy: It means to track what you have been listening to, using the Audioscrobbling service of last.fm. This gives me the advantage of knowing what I listened to last week, getting recommendations on new music, and such stuff. This automatically happens when I listen using Amarok, Cog or some iPod.
But what do I do with my vinyl records? Turns out, that is simple as well. Just use Scrymble, which is available here: http://ansiform.afraid.org/scrymble/
Requirements are: Firefox, Greasemonkey and the scrymble script. I usually use Konqueror or Safari, but it’s ok to have Firefox around for purposes like this. After the installation of Scrymble, you can go to RYM (http://rateyourmusic.com/) to scrobble any album listed there, either in real time, or post auditem.
PS: I actually made up the auditem. Anybody here who knows the correct form? 🙂

sudo and xauth

Ok, last week I tried to switch my OpenSUSE system to use sudo rather than su for running things like YaST as root. This works relatively well, apart from the fact that I am not able to run X11 programs. My first guess was to edit the sudoers file so that the $DISPLAY does not get reset. So when I would do something like this:

$ sudo echo $DISPLAY
I would not get an empty line, but something like “localhost:10.0“. However, this does not work. Would have been too easy. The problem here is that of course the xauth cookie gets in the way. X11 uses cookie based authentication, which is stored in a file in the user’s home directory. After some googling I found out that an automatic xauth handling could be implemented in sudo using pam (pluggable authentication modules), but no one has done that so far. There are some people trying to do some magic tricks, involving the merging of root’s and the user’s xauth files, but I don’t like that this needs so many commands and not only a simple sudo command anymore. If I find anything more simple, I will post it here…
UPDATE:
Well, one simple solution is as follows:
$ export XAUTHORITY=~/.Xauthority
$ sudo -E xeyes
Instead of using the -E flag (preserve environment), one could add DISPLAY and XAUTHORITY to the variables which are not reset in the /etc/sudoers file. Actually I think that is the most comfortable solution.