If you want to run things locally, you can use sync4j. This is what scheduleworld uses on their servers. You can sync between your PocketPC, Outlook, Evolution, and some other stuff. Scheduleworld is just easier to get started with, and it includes a stand-alone client. Also, look at MultiSync and SynCE if you use linux.