Difference between revisions of "Palm Pilot"
Marc Saric (talk | contribs) |
Marc Saric (talk | contribs) |
||
Line 41: | Line 41: | ||
Siemens got that right with their phones (but apparently, they got some other things wrong, so...). | Siemens got that right with their phones (but apparently, they got some other things wrong, so...). | ||
{{clear}} | {{clear}} | ||
+ | |||
+ | == Data transfer on Linux == | ||
+ | |||
+ | === Basic setup === | ||
+ | |||
+ | To use J-Pilot, one needs to install a few things: | ||
+ | |||
+ | * Copy <tt>/60-libpisock.rules</tt> to /etc/udev/rules.d/ | ||
+ | <pre> | ||
+ | cp /usr/share/pilot-link/udev/60-libpisock.rules /etc/udev/rules.d/ | ||
+ | </pre> | ||
+ | * Add a group "dialout" which is needed by this rules set. | ||
+ | * Configure J-Pilot to use <tt>usb:</tt> as connector. | ||
+ | |||
+ | Now you should be able to sync with your USB-Palm. | ||
+ | |||
+ | === Data transfer from the m100 and my old Siemens S45 phone === | ||
+ | |||
+ | To get a clean setup, I decided to export all neccessary data from the old Palm m100 and from my mobile phone (a ancient Siemens S45) and import them into my new Palm phone. | ||
+ | |||
+ | J-Pilot can export data in <tt>csv</tt> format, very convenient for the PIM and Phonebook (both neede some cleanup anyway). | ||
+ | |||
+ | To get the data from my phone, I had to install <tt>scmxx</tt>: | ||
+ | |||
+ | <pre> | ||
+ | sudo yum install scmxx | ||
+ | </pre> | ||
+ | |||
+ | for [[Fedora 8]]. | ||
+ | |||
+ | * Export phonebooks (fixed and custom) to csv: | ||
+ | <pre> | ||
+ | scmxx -d /dev/ttyS0 --get --pbook --mem=SM --out=sim_phonebook | ||
+ | scmxx -d /dev/ttyS0 --get --pbook --mem=ME --out=mobile_phonebook | ||
+ | </pre> | ||
+ | * Export addressbook as vcard-files: | ||
+ | <pre> | ||
+ | scmxx -d /dev/ttyS0 --get --binary --mem=vcf --out=vcf | ||
+ | </pre> | ||
+ | |||
+ | Now the problem is to convert a few hundred vcard entries to csv to merge them with the existing dataset before reimporting them to the new gadget. | ||
+ | |||
+ | One could have beamed the vcards directly to the Palm, but this would mess things up even more... | ||
+ | |||
+ | Very conveniently, there is a Python library, which could do that job: http://vobject.skyhouseconsulting.com/ | ||
+ | |||
+ | Download and install as described on their web page. | ||
+ | |||
+ | And here is the (very hacky) script, which did the final data extraction: | ||
+ | |||
+ | <python> | ||
+ | #!/usr/bin/env python | ||
+ | |||
+ | # Import libs | ||
+ | import vobject | ||
+ | from vobject import * | ||
+ | import os | ||
+ | import csv | ||
+ | |||
+ | # This must be executed in the dir containing the exported vcard files | ||
+ | vcflist = os.listdir(".") | ||
+ | vcard_keys = {} | ||
+ | vcards = [] | ||
+ | for file in vcflist: | ||
+ | if file.split(".")[-1] == "vcf": | ||
+ | print "Processing", file | ||
+ | f = open(file, "rb") | ||
+ | try: | ||
+ | v = vobject.readOne(f) | ||
+ | for i in v.contents: | ||
+ | vcard_keys[i] = "" | ||
+ | vcards.append(v) | ||
+ | except vobject.base.ParseError: | ||
+ | print file, "contains errors" | ||
+ | f.close() | ||
+ | else: | ||
+ | print file, "is not an vcard-file" | ||
+ | |||
+ | print "Finished" | ||
+ | print "Processed", len(vcflist), "files" | ||
+ | print "Found the following unique keys" | ||
+ | for key in vcard_keys.keys(): | ||
+ | print key, | ||
+ | |||
+ | print "\nWriting to csv-flatfile" | ||
+ | |||
+ | out = csv.writer(open("vcard_out.csv","wb")) | ||
+ | header = vcard_keys.keys() | ||
+ | header.sort() | ||
+ | print header | ||
+ | out.writerow(header) | ||
+ | for card in vcards: | ||
+ | tmp = {} | ||
+ | line = [] | ||
+ | for entry in card.getChildren(): | ||
+ | tmp[entry.name.lower()] = entry.value.encode("latin-1", "replace").strip() | ||
+ | |||
+ | for key in header: | ||
+ | try: | ||
+ | line.append(tmp[key.encode("latin-1", "replace").strip("'").strip()]) | ||
+ | except KeyError: | ||
+ | line.append("") | ||
+ | print line | ||
+ | out.writerow(line) | ||
+ | </python> | ||
+ | |||
+ | The final file was merged by hand with the existing phonebook export in Open Office Calc. Unfortunately, J-Pilot insists on a very arcane csv-format, in which every field must be escaped by double quotes (also the empty ones), whereas the first line with the header names must not contain quotes. | ||
+ | |||
+ | Here's another hacky Python one-liner, which did that job (reading the OO-Export and rewriting it for J-Pilot): | ||
+ | |||
+ | <python> | ||
+ | #!/usr/bin/env python | ||
+ | # Fix broken csv output of OpenOffice for import into Palm (needs all empty fields quoted as well). | ||
+ | # | ||
+ | # Marc Saric 2008-03-21 | ||
+ | import csv | ||
+ | csv.register_dialect("jpilot", delimiter=",", quoting=csv.QUOTE_ALL) | ||
+ | |||
+ | f = csv.reader(open("Phonebook.csv", "rb")) | ||
+ | w = csv.writer(open("Phonebook_ok.csv", "wb"), "jpilot") | ||
+ | for line in f: | ||
+ | w.writerow(line) | ||
+ | </python> | ||
== Palm m 100 == | == Palm m 100 == |
Revision as of 22:57, 21 March 2008
Some Reviews regarding devices running PalmOS.
Palm Centro
Recently I needed a new phone, and because I always loathed Windows Mobile, it had to be something with a decent mobile operating system.
The iPhone is a bit expensive, can't be extended (currently) and comes bundled with a very expensive T-Com contract. No go (for me).
So I went to a local electronics retail store (*cough* Media.. Markt *cough*) and bought a Palm Centro.
Because there are a ton of reviews about this device, I will only add stuff I think has not been mentioned elsewhere:
First look
Nice package, pretty small, although not really thin. The finish (black with some kind of cheap-looking metallic-effect) smudges pretty easily, but as most phones nowadays have a piano-lacquer finish and glossy screens, this is a must apparently. I wish they would offer a silver-colored version with a matte finish.
But anyway.
Startup
Pretty fast if you ask me. Compare that to a Windows Mobile driven device (Treo 500 comes to mind).
Software
The default setup consists of a lot of useful tools beside the standard phone/organizer programs, there is a Pocket Office app, a Web-browser, Email program, Google Maps, a world-time-clock and pTunes.
More to come...
Linux compatibility
More to come...
Badbads
Well, mostly the charger for now. Maybe someone should tell those guys THAT THE GODDAMN CHARGER SHOULD NOT -NEVER- BE TWICE THE VOLUME OF THE DEVICE IT IS SUPPOSED TO RECHARGE.
Have a look at this (and imagine the charger being twice as thick as the phone).
Siemens got that right with their phones (but apparently, they got some other things wrong, so...).
Data transfer on Linux
Basic setup
To use J-Pilot, one needs to install a few things:
- Copy /60-libpisock.rules to /etc/udev/rules.d/
cp /usr/share/pilot-link/udev/60-libpisock.rules /etc/udev/rules.d/
- Add a group "dialout" which is needed by this rules set.
- Configure J-Pilot to use usb: as connector.
Now you should be able to sync with your USB-Palm.
Data transfer from the m100 and my old Siemens S45 phone
To get a clean setup, I decided to export all neccessary data from the old Palm m100 and from my mobile phone (a ancient Siemens S45) and import them into my new Palm phone.
J-Pilot can export data in csv format, very convenient for the PIM and Phonebook (both neede some cleanup anyway).
To get the data from my phone, I had to install scmxx:
sudo yum install scmxx
for Fedora 8.
- Export phonebooks (fixed and custom) to csv:
scmxx -d /dev/ttyS0 --get --pbook --mem=SM --out=sim_phonebook scmxx -d /dev/ttyS0 --get --pbook --mem=ME --out=mobile_phonebook
- Export addressbook as vcard-files:
scmxx -d /dev/ttyS0 --get --binary --mem=vcf --out=vcf
Now the problem is to convert a few hundred vcard entries to csv to merge them with the existing dataset before reimporting them to the new gadget.
One could have beamed the vcards directly to the Palm, but this would mess things up even more...
Very conveniently, there is a Python library, which could do that job: http://vobject.skyhouseconsulting.com/
Download and install as described on their web page.
And here is the (very hacky) script, which did the final data extraction:
<python>
- !/usr/bin/env python
- Import libs
import vobject from vobject import * import os import csv
- This must be executed in the dir containing the exported vcard files
vcflist = os.listdir(".") vcard_keys = {} vcards = [] for file in vcflist:
if file.split(".")[-1] == "vcf": print "Processing", file f = open(file, "rb") try: v = vobject.readOne(f) for i in v.contents: vcard_keys[i] = "" vcards.append(v) except vobject.base.ParseError: print file, "contains errors" f.close() else: print file, "is not an vcard-file"
print "Finished" print "Processed", len(vcflist), "files" print "Found the following unique keys" for key in vcard_keys.keys():
print key,
print "\nWriting to csv-flatfile"
out = csv.writer(open("vcard_out.csv","wb")) header = vcard_keys.keys() header.sort() print header out.writerow(header) for card in vcards:
tmp = {} line = [] for entry in card.getChildren(): tmp[entry.name.lower()] = entry.value.encode("latin-1", "replace").strip() for key in header: try: line.append(tmp[key.encode("latin-1", "replace").strip("'").strip()]) except KeyError: line.append("") print line out.writerow(line)
</python>
The final file was merged by hand with the existing phonebook export in Open Office Calc. Unfortunately, J-Pilot insists on a very arcane csv-format, in which every field must be escaped by double quotes (also the empty ones), whereas the first line with the header names must not contain quotes.
Here's another hacky Python one-liner, which did that job (reading the OO-Export and rewriting it for J-Pilot):
<python>
- !/usr/bin/env python
- Fix broken csv output of OpenOffice for import into Palm (needs all empty fields quoted as well).
- Marc Saric 2008-03-21
import csv csv.register_dialect("jpilot", delimiter=",", quoting=csv.QUOTE_ALL)
f = csv.reader(open("Phonebook.csv", "rb")) w = csv.writer(open("Phonebook_ok.csv", "wb"), "jpilot") for line in f:
w.writerow(line)
</python>
Palm m 100
My old organizer. Now on a pension.
Useful programs for the m100
OK, this isn't really exiting -everyone knows http://www.palmgear.com or some other site like http://www.freewarepalm.com/ where you can get virtually every program written for the palm-pilot, including a review, screenshots and all info you need, but..
Due to the fact that my m100 has only 2 MB of RAM, which is really not much compared to the 8 MB of other models (and maybe even more in upcoming multi-media-enabled Palms) most modern programs are not really usable either due to the ammount of memory they use or their speed.
Therefore I was searching for some programs which have a small footprint while providing good performance and -yes- they should be free.
This page has not been updated for ages, and probably won't be in the future (although I am still using my m100 on a daily basis).
Cryptopad | |
Need a safe place for all your passwords and bank-account transaction numbers??? Cryptopad is a freeware-replacement for the Memo-application which uses strong encryption to protect your data. Although it is not meant as a complete lock for the Palm it is very usable for encrypting passwords of all kind. | |
Feiertage | |
Integrates all (german) holidays into the calendar, the holiday-list is editable. Quite nice. | |
GermanChars | |
A simpler way to write german "Umlaute". Instead of using the special-function, just draw a horizontal bar over the letter and it will be converted to the correct sign. Unfortunately this seems to be quite picky from time to time, i.e. the program does not always recognize a stroke as it should (or maybe my graffiti-abilities are too poor). You need Hackmaster installed to use it. | |
HappyDays | |
A free birthday-calendar which integrates into the default calendar, THE killer-app on the Palm m100 (at least for me). | |
IndexView | |
Lets you view all entries from the calendar in one long index-list. Very useful if you remember a date or event but can't really find it in your calendar. | |
Invaders | |
A Space Invaders clone for the Palm. Nothing more to say. | |
IQ3D | |
Neither free (the demo is) nor very useful, but it remembers me of a certain game one could download and play in the 386-days (before Doom (sic!)). In fact this is pretty ugly and the scenery is really boring by all standards, but its fun to roam around a 3D-environment on a Palm-Pilot. | |
LR | |
A Loderunner-clone (anyone remember this from the C64?). | |
MiddleCapsHack | |
Tired of doing the two-stroke-business all the time you want to write capital letters? You can choose which part of your graffiti-area becomes permanently assigned to capital-letters, i.e. every letter, which is started in this area is being capitalized. You need Hackmaster installed to use it. | |
MsgAgent | |
Due to the fact that the m100 comes without the default Mailtool, you need something else: MsgAgent is a nice and quite small Email/News-Reader which can be synced via a Mobile or a fixed Internet-connection. This works really great with my GPRS-cell-phone. | |
ParensLite | |
The scientific calculator Palm Inc. should have included in the default setup (Handspring has). | |
Plucker | |
A Offline-Browser published under the GNU Public License, see http://www.plckr.org . | |
Reptoids | |
An Asteriods-clone which works quite nice and is fun to play. Like Loderunner and Space Invaders it isn't top of the notch in Palm-game programming, but it does not need all your memory and runs fine on b/w-screens also. | |
TrekSoundsHack | |
A absolute must for all fans of Star Trek: Converts your Palm into a gadget from the future which will emit small convenient beeps while being used. You need Hackmaster installed to use it. The commercial version has some more sounds, but the free version is also OK. Not to mention that this program is totally useless beside making noise and providing a fake startup and shutdown-screen, but... | |
Linux and Palm
Fortunately, Palm devices are quite well supported by Linux-programs. You can have syncing and backup-software, as well as integration with desktop-PIM-programs for Linux. Here comes my short and incomplete list of stuff I use to organize my calendar and address-data on my Linux-box (mostly at work) .
Jpilot | |
One very cool Linux-program which tries to recreate the Palm-Desktop for UNIX. Small, stable, useful. Anything more to say? | |