My experiment with replacing irssi with Jabber clients is over for now. There are a few reasons for this of course.

  • Mobile Jabber clients simply are not there yet. There is no way they can compete with a screened irssi over PuTTY. Notifications are nice, but the cost in RAM usage (for Java apps) and usability (for native clients) is too high.
  • 24/7 connectivity is too hard to achieve with Jabber clients.
  • I like being available on IRC at all times without people having to find out my Jabber ID or email address. This is for making myself more available, not to keep my contact information  more private (that’s not my cup of tea anyway.)

Bottom line: old school server/client solutions still rule in chat, just as I’ve found with email (IMAP) and PIM data (SyncML servers).

I still love Jabber though, and my Bitlbee session is open. Running Jabber over my irssi session may make my Jabber presence less exciting and featureful, but it also makes it client-independent and more reliable.

Linux users with smartphones and PDAs are familiar with the narrow definition of a “supported PC” most mobile device manufacturers have: a Windows PC, and perhaps a Mac. I have tackled this problem from many angles in the past, from the struggle to achieve simple file transfers between Nokia phones and Linux boxen, to the quest for calendar and address book sync, to accessing email.

There are two main routes to solve the sync problem: the Web2.0 Way and the Old School Way. Both have one thing in common: if you’re a Linux user, you should keep your data online. Forget about plugging your Nokia smartphone via the USB cable and pressing “Sync”. While software such as OpenSync and Gnokii exist, I’ve never had complete success with them. Also, when your data lives on a centralized server maintained by professional Other People, you get backups as a bonus!

There are three main things that I need to be able to access at all times: email, calendar, and todo list. I’ll describe my sync methods below.

The Web2.0 Way

The hip and the cool among us enjoy Gmail and other online apps and services, and I do like them as well. For example, Gmail’s user interface changed the way I looked at webmail forever, and in some ways it’s superior to any desktop email client. Who has better search than Google, after all? When you have a mail archive of hundreds of megabytes, it’s safe to say that the network is no longer the slowest part of your system when you search for that message from Charlotte she wrote in 2004, saying she doesn’t love you anymore. We’re generating increasingly large amounts of information, and as Paul Boutin noted a while back, you would never allow a system in your house that would compete with Google’s search.

Sync-wise, the Web2.0 Way has one obvious advantage over the Old School Way: there simply isn’t very much to synchronize! Gmail has an awesome interface for your desktop browser, as well as for the puny WAP browser on your mobile phone, so that’s a no-brainer. Even better, Google’s Java mobile client application is top notch.

Google Calendar is a very nice web app as is, and it has a more-or-less adequate mobile version as well. Google doesn’t give you a todo list of any kind though, so I recommend Remember The Milk. RTM has all the features you can hope for and then some, and comes with a very nice mobile version for your WAP browser.

On the desktop, you can integrate all these apps into your GNOME environment with read-only access. GCal and RTM provide standard iCal interfaces you can subscribe to with Evolution. This allows you to view your appointments and tasks right from GNOME’s Clock applet. You can also make a smart bookmark for Epiphany to search Gmail, and have it accessible from the deskbar applet if you like: 1) Go to your Gmail inbox. 2) Switch to “basic HTML” mode. 3) Search Gmail for a recognizable string like FOOBAR. 4) Bookmark the results page. 5) Edit the bookmark, replacing FOOBAR in the URL with %s and give it a descriptive name such as “Gmail search”. You will now be able to search your Gmail archives from the Epiphany location bar and deskbar-applet. (Firefox version is left as an exercise to FF users.)

Old School Way

In a nice paradox, the good old fashioned computing lifestyle demands much more from your tools than the “more advanced” Web2.0. However, if you have such tools, they are usually more comfortable and flexible to use than web apps. They will also survive network outages, which naturally is a tremendous benefit. My gear is Evolution on the desktop and the native Messaging and Calendar applications on my Nokia E70. The phone has to support the SyncML synchronization standard (sometimes called OMA these days) and IMAP for mail.

On the server side, we need an IMAP account, which rules out every free email provider I know of, including Gmail. We also need a SyncML server. ScheduleWorld offers this one for free, so we’re in luck. Evolution does not speak SyncML, but we can use a simple command-line tool called SyncEvolution as glue.

The benefits of IMAP are obvious: multiple clients can connect, even at the same time, and all mail is accessible to all of them. One can argue we can achieve the same with Gmail, but synchronizing local folders is far from trivial using POP.1 Also, since mobile phones usually don’t have lots of storage (mine can handle 2GB at best,) it is nice to work with only the mail headers and download and delete message bodies as needed.

SyncEvolution doesn’t come with Ubuntu, and I haven’t seen any suitable Debian packages floating around the Internet. Not to worry, the source builds nicely on Ubuntu, and you’ll be up and running soon enough. There is a nice tutorial on the Ubuntu Forums as well. I’ve setup a bash alias syncevo=’syncevolution scheduleworld’ and run that whenever needed. Works like a charm.

Which Path should i take, Master?

Whichever you like more! I’ve been using and loving both, and the best thing is they don’t rule each other out. ScheduleWorld not only syncs your phone and Evolution but Google Calendar as well, and recently introduced experimental support for syncing Gmail contacts. It also has quite a usable web interface too. Mail can be duplicated between your IMAP server and Gmail via simple forwarding.

Ultimately, the more advanced your mobile phone, the more you will like old-fashioned “native apps and sync” approach, while the Web2.0 applications’ mobile versions will work in your old phone’s WAP browser, and even have SMS interfaces.

1. But see the “recent hack”, which is useful for other things as well: I use it to backup my Gmail with fetchmail.

Koke’s list of his top 10 commands sems to have started a meme. Here’s my list:

juha@marvin ~ >history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c | sort -rn | head -10

  • 94 wajig
    74 ls
    59 sudo
    54 cd
    19 less
    15 rm
    13 syncevolution
    13 nano
    12 u
    11 fetchmail

Looks like most of my command line work is administration related. This could mean that GNOME users don’t need the terminal very much in their daily work. Most notable exceptions are syncevolution and fetchmail. SyncEvolution is used to synchronise my evolution calendar and address book with my phone via ScheduleWorld’s SyncML server. I use fetchmail to download backups of my Gmail account.

A couple of other commands in the list may be unfamiliar to some. u is just an alias for cd.. and wajig is my favorite front end to dpkg, apt, and init script handling.

I’ve been much happier since dropping support for legacy IM protocols since April 20th last year. I also celebrated Open Discussion Day last year. The second ODD is/was today, so if someone is still clinging onto the uncertain proprietary chat protocols, now’s the time to switch to Jabber!

It’s easy! You can get a real jabber account in no time, or you might like to use Google Talk like me, especially if you like Gmail.

While you’re at it, don’t forget to dump your Skype account as well. There are many SIP solutions (more or less free, the protocol is open all the same), and Google Talk works as well.

My Nokia E70 smartphone came with some nice software like MS Office compatible office apps and the regular PIM stuff that smartphones should include. However, I’ve made the thing much more useful with some cool pieces of freeware (mostly not open source though) leeched from around the Internet. Here’s a shortlist of favorites:

First of all, a mobile phone is a communication device, right? So let’s pack this thing up with apps to really talk to people in all ways possible! Let us see what we want to do and how to do it.

  • To talk to people, there’s fring which supports VoIP calls over Skype, Google Talk, MSN and SIP. Not much of a chat client but chat does work. (note to self: bother fring support about chat functionality improvements)
  • For real chat, there’s a new IRC client called mIRGGI, a native S60 app. mIRGGI is very young but works well.
  • The best Jabber client around is probably Bombus_mod but it’s a Java app, meaning it eats more RAM than fring and mIRGGI combined. It does support every aspect of Jabber though, including transports which also makes it an awesome multiprotocol chat tool.
  • I let my friends know about my presence status and activity updates via Jaiku. As fun as twitter but also genuinely useful for keeping in touch with people you actually care about. As Marko says, Jaiku is “not about celebrity” but about “silent sociality” among small groups. (I do share presence with a group quite a lot larger than that though, via the Jaiku badge in the sidebar of this blog. Lurk away!)

Then there’s always the fun side of the device. First off, we need music!

  • If I get inspired to buy a large memory card for this phone, I’ll probably enjoy OggPlay a lot, since I don’t have many MP3 files to play with Nokia’s own media player. Currently I use it to play “We Are The Road Crew” every morning at 8 for wakeup alarm. Works very well.
  • Currently, I don’t feel a huge pressure to carry my own music around since I can use Nokia’s own open source Internet Radio app to listen to my favorite channels.

Since things do sometimes slow down, I want to be able to enjoy games.

  • There’s no nethack like there used to be one for my old Communicator, but luckily we have DOOM!
  • Tetris should be required by law or standard on every device sold, but Nokia doesn’t care. There’s S-Tris2 though and it’s great with very cool graphics and fantastic gameplay.

And of course whenever I miss my Linux box, I’ll simply call home with PuTTY. Armed with these, the phone is more useful and fun than it was when I bought it.

This morning, I stopped by #ubuntu-offtopic just to rant about Matrox’s support for X.org 7.x — rather, lack thereof. Ubuntu bug #58721 is one of my favorite bugs, titled “Edgy upgrade breaks multiple Matrox cards” (High,Confirmed). Of course this is so because I have a Matrox G550 in my old desktop box at home.

When I built this machine many moons ago, I picked the Matrox card specifically because of Matrox’s great support for XFree86. Later, as the consumer graphics card business was divided between NVidia and ATI, the only customers that Matrox had left were the *nix users. Then all of a sudden, when X.org 7.0 came out (and entered Ubuntu Edgy), the mga driver was suddenly broken and Matrox responded to the flood of angry Linux users on their support forums by simply closing them down. Way to go. Of course, I ranted about this quite enough at the time, so there’s no need to reiterate.

Obviously Matrox thinks it is a magic company who doesn’t need customers. Good luck on your way to the Deadpool.

Anyway, when i ranted about the bug, saying it should be marked (Critical, Confirmed many times, Unfixable) instead of just (High,Confirmed) it seems like gord really meant what said when he quoth thusly:

<gord> Nothing is unfixable! *gets out his sticky tape, a screwdriver and a cardboard box*

Terminus actually developed a method:

<Terminus> topyli: aha! you can use duct tape as a stream editor thereby creating a program that automatically fixes the source code of the driver, compiles it, and installs it!

<Terminus> and now, for breakfast!

* Terminus vanishes

<topyli> it's a bird! it's a plane! it's Terminus!

When i got home from the office this evening, an email was waiting on my inbox, from bugs.launchpad.net, by rix:

I’ve got a Matrox MGA G550 and I’ve experienced various kinds of X crashes after upgrading to edgy. I’ve tried all the solutions proposed above and here is the combination that works for me:

* No framebuffer enabled in xorg.conf and no special kernal module loaded (I’m using standard edgy kernel)

* Added vga=795 (1280×1024 resolution) in kernel parameters (/boot/grub/menu.lst). Without this it was booting with a very dark screen and the monitor was refusing to display anything after gdm started;

* I’ve upgraded the driver to John’s backport above to have 3D (e.g screensaver) working. without this upgrade gnome-screensaver was giving a blank screen before crashing X.

Now it seems to work very well and MUCH faster then VESA.

You bet! I just enjoyed a quick game of Planet Penguin Racer and 3D acceleration and all is working. I only used vga=791 in menu.lst though, for 1024×768.

I don’t know if gord and Terminus are in the same team with rix, but thanks to all three as well as others who have helped sort this out at Launchpad and elsewhere. Very special thanks to John of course, for backporting the fixed driver for Edgy.

If you use Edgy and have been suffering from the mga driver bug, you can get John’s package from Launchpad until it gets backported for real. Of course, nobody knows if it will fix your X or break your system altogether, but it Worked For Me ™. :)

Also note that the bug is still officially non-fixed until the fix has been either backported to the current X in Edgy, or the new driver enters the backports repository. Until then, this workaround is not a fix.

Update: Fixed in feisty, edgy backport is being debated. Backporting all of X is not a very popular option, but we’ll see if the build dependencies can be relaxed so that this single driver can be made available.

I’ve been looking for a good way to “jabberify” some of my online tools. Since any Web 2.0 application worth the name has an open API, I figured it must be possible to talk XMPP to them. I wanted to get to my calendar info, online bookmarks, TODO notes and perhaps even to Gmail via just a standard Jabber client and was looking for a bot that would do it for me - if something is hackable, someone must have hacked it!

IMified: Add task to RTM

The IMified buddy adding an important task to my RTM list

Well, turns out that now someone has! I found about IMified, an instant message buddy that will connect you to Google Calendar, Remember the Milk, Blogger and a number of other services, plus offers a simple notes list, todos, and reminders on its own too. I’ve played with it a little, and it works rather well after the initial unstability (the service was launched just four days ago.) You can add the buddy to most of the popular IM services but we Ubuntu users of course only use Jabber since we like our freedom :)

The interface is nice, and works great on my mobile phone too since IMified doesn’t hit my screen with too much verbosity. Yet it always providies clear instructions, I haven’t been lost once. Google Calendar has some timezone problems, and the Remember the Milk functionality could be more advanced (and no, you don’t get mail notifications), but IMified certainly has my support - I won’t be studying XMPP on my own any time soon :)

Imified: Complete RTM task

Done!

Fresh from my mail inbox:

The old stable release Debian GNU/Linux (codename ‘woody’) has been archived. The official source for this distribution is the dedicated archive host called archive.debian.org. It is no longer available on regular Debian mirror servers. After four and a half years this marks the final end of life for GNU/Linux 3.0.

I will remember Woody as one of the greatest distributions of all time. My all-time favorites so far: Red Hat 6.2, Mandrake 8.2, Debian Woody, Ubuntu Dapper. Once in a while everything is Just Right, and you can enjoy an innovative, yet stable, system. Thanks to the Debian community for the great time I had with this best of Debian releases!

Next Page →