Coldsync Conduits

Coldsync is software to allow you to sync your PalmOS device on *nix operating systems, where there is no "official" Palm desktop application. Additionally, it has the nice feature that you can write conduits in Perl, so that you can take data from your Palm apps, and use it for anything you want on your desktop machines.

You can find out more about Coldsync at http://www.ooblick.com/software/coldsync/. If you are really interested in Coldsync, and in particular in Coldsync conduits, please join the mailing list.

I use Coldsync on my IBM ThinkPad 600E running Slackware Linux, 2.2.16 with USB patches, so that I can use the USB cradle.

The following are some of the conduits that I use. Some of these are original to me, and others are borrowed from other folks and hacked on to some degree. I'll try to give credit where it is due, but some of them I'm not sure where they originated.

add_dates is a very simple example conduit which adds events to your date book. Some day, I'd like to make this a little more useful, but this was an early attempt to figure out how to talk to an existing database. This is not a conduit, but is a program that is run from the command line, and generates a .pdb file that you then install on your Palm device. [ add_dates ]

address-dump is an example of how to write an extremely simple conduit that does nothing more than dump your data to a text file. It requires that you have Data::Dumper installed, and that you know how to read the stuff that Data::Dumper emits, which usually requires a little Perl knowledge. This sort of conduit us helpful as a starting point for writing a more useful conduit, because it tells you what data you have to work with. [ address_dump | .coldsyncrc entry ]

punchclock-dump is my first attempt at a more serious and useful coldsync conduit, and requires a little explanation. PunchClock is a Palm app that I, and the rest of my department at work, use to track hours spent on various projects. You can get PunchClock at http://www.psync.com/PunchClock.shtml. While there is a desktop app available, and it is in Java, it apparently only works for Windows machines. This coldsync conduit takes the data from your punchclock databases (there's one per project, and one master database that lists all the projects) and puts the data into a MySQL database (or some other DBI-ready database, which is just about any database out there). So, as you can see, there are quite a few dependencies, and it's possible that this is not useful to anyone but myself. Nevertheless, I put it here as an example, because it illustrates a little about how all this stuff works together. [ punchclock-dump | .coldsyncrc entry ]
You will also need the PSync::PunchClock Perl module that you get when you install PunchClock. However, you need to comment out line 399 of that module, since it inexplicably deletes information that I actually want:

    # delete $record{data};     # No longer necessary

Like I said, a lot of dependencies.