Friday, May 20, 2005

Thunderbirds Are Go

So it's all been pretty quiet on the Mac front, because most everything that needs installing or setting up has been done. All that's left are occasional annoyances.

Of which, the one that's been puzzling me recently is how to get mailto: tags to bring up Thunderbird rather than the default Mac mail client.

To my surprise, this wasn't actually something that immediately popped out from a quick google, at least not for any combination of appropriate words I could think of. Eventually, I found a link that gave me the hint I needed—for Mac OS X 10.3, the way to set the default mail application is in Mail. So I loaded up Mail, went to Preferences pane and set Firefox as the default email application, and my mailto: links now seem to work fine.

Monday, May 02, 2005

Toothing problems

I eventually realized that I now own two Bluetooth devices, the Powerbook and a Tungsten T5, so it only seemed natural to try to get the two to talk to each other.

My initial attempts failed miserably—every time I turned on Bluetooth on the Powerbook, it hanged. However, installing the firmware update improved things enormously, and together with some additional instructions, things were soon syncing OK.

Sunday, May 01, 2005

Palm DBs

Once upon a time, I used to use some tools for putting things into and out of the Palm DB database format, so I thought I'd take another look.

The most recent version looks to be 0.3.3, but that hasn't been modified since 2002, so it looks like I'm on my own. Thanks to the magic of autoconf, a large fraction of the build works straight out of the box, but there's a couple of tweaks needed:

  • modifying */Makefile to add the -Wno-long-double option
  • modifying flatfile/Makefile to set STATIC=yes so that it builds a static library rather than a shared library (looks like another chunk of code that needs the --work-properly option).

Of course, now that I've built it, it doesn't work—it claims my PDB files are corrupt. After a bit of debugging, the problem seems to be that it thinks there's a zero length record at the end of the file. One quick and dirty hack to libflatfile/DB.cpp coming up:

*** old/DB.cpp  Sun May  1 12:41:29 2005
--- new/DB.cpp  Sun May  1 12:43:45 2005
*** 450,455 ****
--- 450,456 ----
          PalmLib::Record record = pdb.getRecord(i);
          Record rec;
+         if (record.size() == 0) continue;
              std::vector ptrs;
              std::vector sizes;
              parse_record(record, ptrs, sizes);
(in the main loop in PalmLib::FlatFile::DB::DB) ...and all seems to work.