April 2004 Archives

PalmHTTP Shared Library

There is a cool LGPL http library,Palm HTTP, I found on palm opensource. I modified the release source to build a palm glib shared library. I modified the sample programs to use the shared library instead. Here's a patch to Palm HTTP 2.1. I saw that it was on the todo list and am interested into integrating it into a project.

Titrax Conduit 1.04 Release

I'm very pleased to be posting a *polished* version of my earlier Titrax Conduit. Here's a description from the readme:
TitraxConduit is a win32 palm conduit for Titrax. It facilitates transferring project timing data from the palm to the desktop in the form of text files.
Visit the project page for downloads, details and screen shots. Read on for some ramblings...

These are some of my thoughts about this project. Most of them are further detailed in the source and readme.

This was a fun 4 day project (two weekends). I'd had some experience programming palm in earlier conduit exploits, but this release is really full featured.

I'm really pleased with the installer. The installer dll integerates seamlessly with the palm desktop sync framework. It makes the package accessible to the layman. I hope it really broadens titrax scope of users.

I got in contact with Titrax's author, Bernd Esser. There's talk of me taking over Titrax. I might do it, but I'd also be willing to just contribute. There's not much I'd change.

The palm byte alignment problem was really sticky. Being in the middle of an endian transformation made it that much more difficult to follow. I was getting crap numbers because of the compiler padding the structs. It's just a good lesson not to use structs to transfer memory (or to be sure of your struct on your target). /Zp2 switch to the compiler really was the simplest solution.

Now I know a lot about time and the way that different programs store them. Those utility methods will be useful.

The prc-tools are now pretty close to ubuquitous. I just used the default packages on debian and then main cygwin, pilrc included. Using the unsupported version of the palm sdk, I was easily able to compile titrax on linux and windows/cygwin.

Visual Studio .NET 2003 rocks. I know! Flog me! I don't like liking it any more than you like me liking it. But it is a well designed editor and IDE. I'm flexible, but it sure makes a lot of things very easy. People really need to start duplicating that interfaace. Escpecially, function pulldowns, project explorer, class explorer, tab-ide, integrated debugger, and popup members. Taking a page from ultra-edit, I wish it had column mode. Don't tell RMS, but I find myself hacking GNU projects over samba *a lot*.

Back on Palm

| | Comments (1)
I ended up hating the PocketPC. I let it sit for a few days turned off and it lost all my data. Plus it just couldn't get things straight between exchange, outlook, isync, and palm desktop. The palm syncs to all of them together. I bought myself a Sony CLIE PEG-TJ37. It's a nice piece of equipment because of the built in camera and 802.11b. The wireless sold me. That leads me back down a familiar path of developing for the palm os...

PRC-Tools and pilrc are both part of the debian woody distribution. So I get to skip about half of my howto. You do still have to get your own copies of the v5 SDK from palm. It of course has some problems

  • take the "Palm OS Tools/" subdirectory's contents and put them in /usr/share/prc-tools/sdk (debian defined directory).
  • move Incs to include
  • Change DOS line endings to UNIX (^M is CTL-V then CTL-M)
    for i in `find . -type f -name "*.h"`;do sed -e 's/^M$//g' $i > it; mv it $i;done
  • Core/System/ImcUtils.h has case problems from SystemPublic.h. I didn't even dig. I just linked ImcUtils.h to IMCUtils.h. Now they can call it what hell they want.
Using the above setup I was able to build and install the hello.c app from my linux palm howto. Now for more abmitious things...