The Herd Of Kittens Python Development - PalmOS

peepdb patches

peepdb is a rough (v0.1) cut at a Python library for direct manipulation of Palm "PDB" files. Even a rough version is useful, PDB files are simple - they have to be, they're supposed to be efficient on a 12mhz 68k, after all.

This local copy has some minor bug fixes in the set-dirty-bit code.

Hand/RSS pseudo-conduit

Hand/RSS is a rather smooth "native" RSS reader for PalmOS. I follow about 160 RSS feeds, which isn't nearly as hard as it sounds - unlike plain web sites, if there is no traffic, there's no (human) overhead - I still probably see around 100 messages a day, but they're much more "prompt" or "timely" than they would via other non-aggregated sources. At the same time, the "collect for later reading" nature of most aggregators helps one use them to absorb "spare" or otherwise dead time. A Palm app that can pop up on GPRS or 802.11 (see also my NX70V page) can pull down a bunch of news for later reading in the elevator or walking to the coffee shop (crash! :-)

While Hand/RSS has a nice UI, it doesn't have support for loading batches of feed URIs (at least not natively, I don't know (or care) what the PC conduit does.) One useful approach might be for it to take a URL for an OPML file (and maybe update from it periodically) though that wouldn't really get synchronization. As a starting point, it isn't bad: NetNewsWire Lite can export the subscription list as OPML. So, I wrote handrss.py which takes an OPML file, pulls out the xmlUrl and title attributes from the outline elements, and then stuffs them into the RSS Source URLs.pdb it picks out of the Palm Desktop "Backups" directory. It stuffs the resulting collection into "Files to Install" so that it overwrites the Palm on next update (thus "pseudo"-conduit.) If you're using something other than the Mac OS X Palm Desktop, it is probably enough to change the settings of filename and outfilename to match your installation.

The script outputs things of note while processing; it notes any entries that are only on the Palm (with some motivation, having this emit an OPML file with updates would be easy, having it update the OPML file given as input would be harder. It also filters out non-http feeds - I have a "file:" feed generated by a screen-scraper that would be meaningless on the Palm.