  pi-address FAQ
  Michael Wiedmann, mw@miwie.in-berlin.de
  v1.25, January 22, 2000

  This document is the FAQ (Frequently Asked Questions) for pi-address,
  a GUI frontend for the address database of a 3Com Palm Pilot.
  ______________________________________________________________________

  Table of Contents


  1. General

     1.1 What is pi-address?
     1.2 Can it be used standalone?
     1.3 Can it read direct from my Palm Pilot?
     1.4 Can it write direct to my Palm Pilot?
     1.5 Can it sync my database?

  2. Installation

     2.1 Where to find?
     2.2 Are there precompiled binaries?
     2.3 Prebuilt packages
        2.3.1 Is there a Debian package?
        2.3.2 Is there an RPM package?
        2.3.3 Is there a Solaris (Sparc) package?
        2.3.4 Is there a Solaris (X86) package?
     2.4 How to build?
     2.5 Where to install?
     2.6 Where to put the online FAQ files?
     2.7 Where to put the configuration files?

  3. Using the program

     3.1 Can I specify a default database to load on startup?
     3.2 Can I reread the currently loaded database?
     3.3 Where does pi-address look for the database files?
     3.4 How can I import existing data?
     3.5 How can I import data from Alan Harder's Pilot Manager?
     3.6 How can I export existing data?
        3.6.1 CSV (Comma Separated Value)
        3.6.2 LDIF (LDAP Data Interchange Format)
        3.6.3 XML (Extensible Markup Language)
     3.7 How can I clone an existing record?
     3.8 How can I specify the device used for the Pilot?
     3.9 How can I delete all records of a specific category?
     3.10 How can I edit the categories?
     3.11 How can I disable all functions which access the Pilot?
     3.12 How can I disable the confirmation messages of some operations?
     3.13 What to do if the program hangs after trying to access the Pilot?
     3.14 Can I change the configuration file at runtime?
     3.15 Why are the button W in the toolbar and the menu entry "Pilot / Write to Pilot" sometimes disabled?
     3.16 Can I change the fonts used in the various windows?
     3.17 Printing
        3.17.1 Can I print my records?
        3.17.2 How is the encoding for the field names for printing?
        3.17.3 Restrictions and known bugs on printing
        3.17.4 Can I print to a file?
     3.18 Can I execute a user defined application?
     3.19 Why are there sometimes mixed languages in the menus/dialogs?

  4. Miscellaneous

     4.1 Is this FAQ accessible via WWW?
     4.2 Is there a users mailinglist?
     4.3 Is there an announcement mailing list?
     4.4 How can I contact the author of pi-address?
     4.5 Which platforms are supported?
     4.6 How can I contribute to this FAQ?

  5. Credits

  6. License

     6.1 How is pi-address licensed?

  7. Links



  ______________________________________________________________________

  1.  General



  1.1.  What is pi-address?


  A GUI frontend to address databases from a 3Com Palm Pilot. It can
  read/edit/save address database files in PDB-format. Those files can
  be read from or written to the pilot using pilot-xfer from the pilot-
  link package. Starting with V0.2.0 it can read your address data
  directly from the Pilot.


  1.2.  Can it be used standalone?


  The program can also be used as a general address manager without a
  3Com Palm Pilot. Some of the record fields may not be very meaningful
  in this case.


  1.3.  Can it read direct from my Palm Pilot?


  Starting with V0.2.0 the program can read the address data directly
  from the Palm Pilot. Put your Pilot in the cradle, connect the cable
  properly and select Pilot / Read from Pilot from the menu or by
  pressing the button in the toolbar.

  You will be prompted for pressing the Hotsync Key and the data is read
  from the pilot. Afterwards you can save the data to a file in PDB-
  format, the format used by pilot-xfer from the pilot-link package.

  An alternative way to get your address data is using pilot-xfer from
  the pilot-link-package.

  To fetch the database from your Pilot use the following command:



       pilot-xfer -f AddressDB




  Yet another way is to backup all your files from the Pilot with the
  following command:



       pilot-xfer -b(ackup) backup-dir




  Afterwards backup-dir is populated with all files from your Pilot.
  One of them is AddressDB.pdb. You can directly read this file with pi-
  address.

  1.4.  Can it write direct to my Palm Pilot?


  Starting with V0.2.1 the program can write the address data directly
  to the Palm Pilot. Put your Pilot in the cradle, connect the cable
  properly and select Pilot / Write to Pilot from the menu or by
  pressing the button in toolbar.

  You will be prompted for pressing the Hotsync Key and the data is
  written into the pilot.

  An alternative way to write your address data back to the Pilot is
  using pilot-xfer from the pilot-link-package.



       pilot-xfer -d AddressDB
       pilot-xfer -i AddressDB.pdb




  Before writing your database back to the Pilot you have to delete the
  database on the Pilot first and then install the saved data file using
  the second command (otherwise you will get duplicate records).


  1.5.  Can it sync my database?


  No, not yet. This maybe will be added in a future version. If you want
  to sync all your database files from your Palm Pilot watch out for
  Kpilot.



  2.  Installation



  2.1.  Where to find?


  You can always find the newest version of the software at
  ftp://linux.in-berlin.de/pub/pilot/pi-address.tar.gz.  This is always
  a symbolic link to the latest version (pi-address-0.x.y.tar.gz).

  Our local Linux User Group (BeLUG, Berlin Linux User Group) provided
  me with additonial ftp space, so I set up a mirror at:
  ftp://ftp.belug.org/pub/user/mw/pilot/. This ftp site has a fast
  internet connection and is always up to date. Her you will find the
  source tarballs as well as the precompiled binaries and prebuilt
  packages.



  2.2.  Are there precompiled binaries?


  Starting with V0.2.11 there is a ready to run Solaris (Sparc) binary
  statically linked against libpisock.a and libqt.a at ftp://linux.in-
  berlin.de/pub/pilot/binaries/solaris/.

  Starting with V0.3.0 there is a ready to run Solaris (X86) binary
  statically linked against libpisock.a and libqt.a at ftp://linux.in-
  berlin.de/pub/pilot/binaries/solaris/.
  Note: I cannot guarantee that there will always be a Solaris Sparc or
  X86 binary of the newest version! Usually the binaries can be found at
  the above mentioned location only after a short delay of several days.

  From time to time users ask for precompiled binaries, so if you are
  willing to provide a precompiled binary for any platform this would be
  very appreciated. Please contact the author.


  2.3.  Prebuilt packages



  2.3.1.  Is there a Debian package?


  No, not yet. If you are willing to maintain a Debian package please
  contact the author. Any help will be appreciated.

  Note: Beginning from V0.3.1 the author will provide an unofficial
  Debian package at ftp://linux.in-berlin.de/pub/pilot/packages/debian/.
  This package depends on the following packages:


  o  libc6

  o  libstdc++2.9

  o  xlib6g (>= 3.3-5)

  o  qt1g (>= 1.40)

  o  libpisock3

  Treat this package as experimental only and please report any problems
  in using this package to the author only and do not submit bug reports
  to the Debian bug tracking system!


  2.3.2.  Is there an RPM package?


  Beginning with V0.3.0 Bodo Bauer maintains an RPM package, which
  should work with both Redhat and SuSE Linux distributions (tell me if
  I'm wrong!). You find the package at:

  http://www.bb-zone.com/PalmPilot/PiAddress.html

  and on the master ftp server at: ftp://linux.in-
  berlin.de/pub/pilot/packages/rpm/.

  Note: I cannot guarantee that there will always be an RPM package of
  the newest version! Usually the RPM can be found at the above
  mentioned location only after a short delay of several days.


  2.3.3.  Is there a Solaris (Sparc) package?


  Beginning from V0.3.1 the author will provide an unofficial Solaris
  (Sparc) package at ftp://linux.in-
  berlin.de/pub/pilot/packages/solaris/.




  2.3.4.  Is there a Solaris (X86) package?


  Beginning from V0.3.1 Ulrich Klar maintains a Solaris (X86) package.
  You can find this package at ftp://linux.in-
  berlin.de/pub/pilot/package/solaris.



  2.4.  How to build?


  Follow the instructions in the README file. Make sure the include
  files and libraries of Qt and libpisock can be found.

  QT 1.3X-1.40 have been tested tested are known to work. Note however
  that QT V2.X currently is not supported!

  pilot-link.0.8.9, 0.8.11, 0.8.13, 0.9.0 and 0.9.3 have been tested and
  are known to work.

  gcc 2.7.2 and 2.8.1 have been tested on Linux and Solaris.

  egcs-1.03 and egcs-1.1.1 have been tested on Linux and are known to
  work.

  If you have linking errors on Solaris about undefined symbols like
  socket, gethostbyname, accept, bind, etc. uncomment the line
  LFLAGS_ADD in the Makefile and make again.

  If you have linking errors on HP-UX uncomment the line LFLAGS += -lX11
  -lXext in the Makefile and make again.

  The authors plan is to use GNU autoconf for configuring the package.
  This would be the best solution for solving problems in finding header
  files and libraries. The only problem is the lack of spare time...


  2.5.  Where to install?


  In general pi-address does not rely on a specific directory.

  Just copy the binary to any directory which is appropriate for your
  system. There is a install target in the Makefile, check the variable
  $prefix in the Makefile, change if necessary and run make install.
  Depending on the directory where you want to install you may need root
  privileges.


  2.6.  Where to put the online FAQ files?


  The FAQ files can be accessed online by chosing Help / FAQ from the
  menubar.

  There is an install-doc target in the Makefile, check the variable
  $doc_prefix in the Makefile, change if necessary and run make install-
  doc. This target is also run if a make install is done. Dont forget to
  specify this new path in your ``configuration'' file for your
  HelpApplication. Depending on the directory where you want to install
  you may need root privileges.

  Specifying an empty entry for HelpApplication disables the menu Help /
  FAQ.

  2.7.  Where to put the configuration files?


  Starting with V0.1.2 there is a configuration file for the program. On
  startup the program searches and reads the configuration file in the
  following places (and in that order):


  o  /etc/pi-addressrc

  o  ~/.pi-addressrc

  The package provides an example configuration file with the program's
  default values. It's fairly well documented so the meanings of the
  key/value pairs should be obvious.



  3.  Using the program



  3.1.  Can I specify a default database to load on startup?


  Just give the pathname of the database file to load on startup on the
  command line, e.g. pi-address /path/to/AddressDB.pdb. (Thanks to Jon
  Lasser for suggesting this.)

  Create an alias like alias pi-address="pi-address
  /path/to/AddressDB.pdb" if you want to load the program the default
  database any time you start the program.

  Another possibility is to specify the default database in the
  ``configuration'' file with an entry like:



       DefaultDB = /path/to/AddressDB.pdb





  3.2.  Can I reread the currently loaded database?


  As of V0.3.2 there is a menu entry File / Reread database which
  rereads the currently loaded database. This is useful if you make
  regular backups of your PalmPilot data using e.g.  pilot-xfer and want
  to easily update the database inside pi-address.


  3.3.  Where does pi-address look for the database files?


  If you try to open a database file using File / Open pi-address will
  start searching in the following directories (in the shown order):


  o  $PILOT

  o  $HOME

  Of course you can change directories at your will in the file
  selection dialog.
  3.4.  How can I import existing data?


  Importing records is done by selecting File / Import / Import CSV.
  Select a file in the file selection dialog. The records in this file
  will be merged into the currently opened database, if any. The
  imported records will be assigned to the category which currently is
  selected.

  The format of a CSV-file is the same like the one of pilot-addresses
  from the pilot-link package. To see an example create a new database
  (File / New), add a new record and specify a unique entry for every
  field. Export this database as a CSV-file (selecting File / Export /
  Export as CSV) and look at the file with your favorite text editor.

  If you currently maintain your address records with another program,
  export the records from this program as a text file, write a small
  converter with your favorite scripting language which converts this
  text file to CSV format. Import the converted file into pi-address,
  that's it.



  3.5.  How can I import data from Alan Harder's Pilot Manager?


  Alan Harder provided diff's which make it possible to read existing
  CSV-files of his famous PilotManager!  I included these patches in
  V0.3.0.

  You can select the pathname to the actual PilotManager data file using
  the usual file selection dialog. Preselected is the default pathname
  of PilotManager to the data file ($HOME/.csvAddr).

  PilotManager uses a separate file for the application info of the
  Address Database of the PalmPilot. The default value
  (/home/user/.pilotmgr/SyncAB/pilot.appinfo) is used by pi-address
  without any user intervention.

  You can specify a different pathname in the ``configuration'' file
  with an entry like:



       PilotManagerAppInfo = /absolute/path/name




  Dont use the environment variable $HOME because the underlying QT-
  functions cannot handle this!

  This handling can be changed in a future version. If you use this
  feature, please tell me what you think of it and how it can be
  improved.



  3.6.  How can I export existing data?


  Currently pi-address supports three different export formats.

  In selecting one of the three export methods all currently displayed
  (selected through the chosen category) records will be exported.

  3.6.1.  CSV (Comma Separated Value)


  The first is the same like the one of pilot-addresses from the pilot-
  link package. Select File / Export / Export as CSV... and choose an
  appropriate filename.



  3.6.2.  LDIF (LDAP Data Interchange Format)


  The second is the format used by Netscapes Communicator Address Book
  (LDIF=LDAP Data Interchange Format). Select File / Export / Export as
  LDIF... and choose a filename. You can import this file to your
  Netscape Address Book. Beware: The Communicator 4.5 Release Notes
  states, that LDIF-files which contain 8-bit data (like e.g. German-
  Umlaut characters) must have .4ld as filename extension!

  Which phone labels are to be used as LDIF attribute values can be
  configured in the ``configuration'' file with the following entries:



       # Variables for LDIF export function:
       #
       # which phone label (1-5) to be used as attribute value
       # (0 means not used)
       #
       # LDIFtelephonenumber = 1
       #
       # LDIFhomephone = 2
       #
       # LDIFfacsimiletelephonenumber = 3
       #
       # LDIFmail = 5
       #
       # LDIFpagerphone = 0
       #
       # LDIFcellphone = 0




  This allows the mapping of every phone label (p1 -p5) to all 6
  supported LDIF attribute names. A number of 0 means that this
  attribute is not be used and will not be exported. The above settings
  show the default values.


  3.6.3.  XML (Extensible Markup Language)


  The third format is in XML format. For the experienced user the
  specification of this format is included as a DTD (Document Type
  Defintion) file (pilot-addresses.dtd).

  Select File / Export / Export as XML... and choose an appropriate
  filename. This format allows easy postprocessing using selfwritten
  scripts or programs. If anybody creates scripts for postprocessing
  (e.g. stylesheets for print or HTML output) I would like to hear about
  it and will include such scripts in the distribution in a separate
  contrib directory.



  3.7.  How can I clone an existing record?


  As of V0.2.12 there is a Clone button to clone an existing address
  record. This is useful if you have many records which contain quite a
  few identical record fields (e.g. company contact records).

  To use it select the record which you want to clone, press the Clone
  button (or use right mouse click and select Clone) then edit the
  record in the normal edit dialog. If you finish editing the record
  with OK this record will be inserted into the database.


  3.8.  How can I specify the device used for the Pilot?


  The default device name for communication with the Palm Pilot is
  /dev/pilot. If you have a symbolic link to the actual device used, you
  are done.

  You can specify a different device name in the ``configuration'' file
  with an entry like:



       DeviceName = /dev/name





  3.9.  How can I delete all records of a specific category?


  Select the category in the combobox and press right mouse button.  A
  popup menu appears with an entry named Delete addresses.  If you
  select this entry you will be asked for confirmation and if you answer
  yes all records belonging to this category will be deleted.

  You can find the same functionality in the menuitem "Record / Delete
  Addresses..." (on some systems the right mouse button seems not to
  work :-( ).


  3.10.  How can I edit the categories?


  As of V0.3.3 there is pushbutton to the right of the category combobox
  labeled "Edit cat.". Press this button if you wish to edit your
  categories. A dialog will pop up which lets you add, delete, or change
  the categories.

  If you delete a category all records which are assigned to this
  category will be moved to category Unfiled.



  3.11.  How can I disable all functions which access the Pilot?


  As of V0.2.8 you can disable all functions which access the Pilot
  using the following entry in the ``configuration'' file:




  DisablePilotFunctions = 1




  This will disable the correspending menu items and toolbar buttons for
  accessing the Pilot. The describing text for the used device in the
  statusbar will be changed to disabled.


  3.12.  How can I disable the confirmation messages of some operations?


  As of V0.3.3 you can disable the confirmation messages for certain
  dangerous operations using the follwing entry in the ``configuration''
  file:



       ConfirmOperations = 0






  3.13.  What to do if the program hangs after trying to access the
  Pilot?


  Some users reported problems if they try to access the Pilot. The
  reason for this is not known up to know. As a workaround there is a
  new ``configuration'' variable as of V0.3.2 which disables the test
  for accessing the device before actually using it.  This should help
  in most cases.



       CheckDevice = 0




  This entry will disable the access test.



  3.14.  Can I change the configuration file at runtime?


  As of V0.2.1 there is a new entry in the menubar File / Reread
  configuration file. If selected, the user configuration file will be
  reread and evaluated, changing the corresponding values in the
  program.


  3.15.  Write to Pilot" sometimes disabled?  Why are the button W in
  the toolbar and the menu entry "Pilot /


  Both the button W in the toolbar and the menu entry Pilot / Write to
  Pilot will be enabled after the entered data records are saved to a
  file.



  3.16.  Can I change the fonts used in the various windows?


  As of V0.2.2 the user can configure the fonts used in the various
  windows through variables in the configuration file. The following
  variables are recognized:


     ListFont
        Font used for listing of all records in left window (Default:
        fixed).


     RecordFont
        Font used for display of a single record in right window
        (Default: Helvetica).


     EditFont
        Font used for displaying fields in edit dialog (Default: fixed).

  The main purpose of this is to provide the user a possibility to
  display address databases with non ISO8859-1 character sets. There is
  still a lot of work to do for this, but its a beginning.



  3.17.  Printing



  3.17.1.  Can I print my records?


  Yes, as of V0.1.2 there is rudimentary support for printing address
  records.

  Just select the category for which you want to print the records and
  choose File / Print from the menu bar. This will print all records
  selected through the category using a default value for formatting
  each record.

  As of V0.1.3 there is also a toolbar button for printing the selected
  address records. Pressing this button activates the same function like
  choosing File / Print from the menubar.

  You can modify the way the records are printed in changing the
  following values in the program's configuration file (see Section
  ``Where to put the configuration files'' for more information on
  configuration files):


     PrintingFontName
        The font to use for printing (Default: Helvetica, valid font
        names: Helvetica, Times, Courier)


     PrintingPointSize
        The point size for printing (Default: 8)


     PrintingFormat
        Which fields to print (Default: %l %f %p1 %p2 %p3 %c1, see the
        following explanations for the encoding)


     PrintTo
        Where to print to (Default: Printer, valid entries: Printer,
        File)


     PrintFileName
        The default print filename if printing to a file (Default: pi-
        address.ps)


  3.17.2.  How is the encoding for the field names for printing?


  The key PrintingFormat in the ``configuration'' file defines which
  fields will be printed for each record. The encoding of the fields
  follows:


  o  %l Last name

  o  %f First name

  o  %i Title

  o  %o Company

  o  %p1 - 5 Phone fields no. 1 - 5

  o  %a Address

  o  %z ZIP code

  o  %t Town

  o  %s State

  o  %n Country

  o  %c1 - 4 Customer fields no. 1 - 4

  Beginning with V0.1.3 the user can specify an optional width for each
  column (e.g. %20l).

  When specified it is used to calculate the width of the column by
  multiplying the specified width (= no. of characters to print for this
  column) by the no. of pixels of the widest character for the font in
  use. So there is always enough room to print width characters though
  in most cases there can be printed one or two characters more as
  specified.

  If no width is specified a default value of 20 will be used.


  3.17.3.  Restrictions and known bugs on printing



  o  Characters > 0x7F (e.g. german Umlaut-characters) will not be
     printed if using Qt < 1.40.

  o  No header line on each printed page.

  o  All fields are printed on a single line.

  Expect these restrictions to be solved in future versions.

  3.17.4.  Can I print to a file?


  If you want to print to a file instead directly to a printer, choose
  File / Print from the menu bar and make the corresponding entries. You
  only have to set the Combobox Print to: to file, a default filename
  pi-address.ps in the current directory will be used if none is given
  in the setup dialog.

  You can specify the default destination for printing in your
  ``configuration'' file. Set the following if you want your default to
  be printing to a file:



       PrintTo = File




  You can change the default printing filename from pi-address.ps by
  setting:



       PrintFileName = /path/to/file-name





  3.18.  Can I execute a user defined application?


  As of V0.3.2 there is a new menu item "Records / Exec. User Progr. #1"
  (the same functionality is also accessible through the right mouse
  button popup menu). This executes a user defined external program
  which can be configured in the ``configuration'' file:



       UserApplication1 = /path/to/external/program param1 param2 ...




  If this variable is not defined (which is the default), the menu item
  will be disabled.

  You can reference any record field using the same syntax as in
  ``PrintingFormat''. E.g. if you want to start your mail program use a
  configuration like:



       UserApplication1 = mail-prog %p3




  Change %p3 to the phone entry which corresponds in your AddressDB with
  the email address.

  Another possible use is writing a script using your favorite script
  language which dials a telephone number through an attached modem, so
  you only have to select the record, select "Records / Exec. User
  Progr. #1", let the script dial the number and pickup the handset.

  As of V0.3.3 the name of the menu item is configurable with an entry
  like:



       ApplicationName1 = Invoke Mailer...




  If there is additonal need for more user defined applications, I will
  extend this functionality in a future version. Please let me know if
  you find this useful.



  3.19.  Why are there sometimes mixed languages in the menus/dialogs?


  People using a german version of the Palm Pilot OS will see mixed
  german/english text entries in some menus/dialogs. This is because the
  label names for the record fields are stored in the database file. If
  you open such a database file, the corresponding field names (e.g.
  Category, Last name, etc.) will be updated and will be shown in the
  language the database was created with.



  4.  Miscellaneous



  4.1.  Is this FAQ accessible via WWW?


  There is a homepage at http://www.in-berlin.de/User/miwie/pia/ with
  links to the online version of this FAQ (HTML, ASCII and PS format)
  and some screenshots.

  A copy of this FAQ is part of the archive in the doc directory.


  4.2.  Is there a users mailinglist?


  There is an experimental users mailinglist hosted at
  http://www.egroups.com/group/pi-address/. Subscribe yourself at this
  webpage and join the discussion!

  Alternatively you can send an email message to pi-address-
  subscribe@egroups.com.


  4.3.  Is there an announcement mailing list?


  This may change without notice:

  Currently the author is maintaining an announcement mailing list. This
  is a closed mailing list used only for announcing new versions of pi-
  address. If you want to be put on this list by the maintainer send
  mail to majordomo@miwie.in-berlin.de with subscribe pia-announce in
  the message body.

  4.4.  How can I contact the author of pi-address?


  You can reach him via email at mw@miwie.in-berlin.de.  I will try to
  answer all email quickly.

  Any suggestions, hints, tips, questions, bug reports are always
  welcome.


  4.5.  Which platforms are supported?


  pi-address is known to work on the following platforms:


  o  Linux, 2.x.x, i386

  o  Solaris, 2.5.x/2.6/2.7, Sparc

  o  Solaris, 2.7, x86

  o  NetBSD, Amiga

  o  FreeBSD, 2.2.5R, i486

  o  OpenBSD

  o  SGI, Irix 6.2, 6.3

  o  HP-UX, 10.20

  o  Compaq Tru64 UNIX (formerly DEC OSF/1)

  o  email the author if you run the program successfully on another
     platform ...


  4.6.  How can I contribute to this FAQ?


  Send mail to the author of this FAQ with complete information about
  the question and a suggested answer which you want to be included in
  this FAQ.



  5.  Credits


  Thanks to Florian Cramer, Rainer Doemer, Philipp W. Grau, Alan Harder,
  Matthias Kranz, Jon Lasser, Frank Ronneburg, Peter Schwenke, Till
  Siering, David Wang, Johannes Walther, Carsten Wartmann and Peter
  Weyers for giving me bug reports, hints, suggestions, ...

  Thanks to Bodo Bauer for maintaining the RPM package.

  Thanks to Ulrich Klar for maintaining the Solaris X86 binary.

  Thanks to Rainer Doemer and Frank Ronneburg for providing ftp space to
  distribute the software.





  6.  License



  6.1.  How is pi-address licensed?


  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2, or (at your option)
  any later version.

  Additionally, you are granted permission to assume, for the purposes
  of distributing this program in object code or executable form under
  Section 3 of the GNU Public License, that the QT library is normally
  distributed with the major components of the operating system on which
  the executable or object code runs.

  This program is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
  USA.



  7.  Links




     pi-address
        ftp://linux.in-berlin.de/pub/pilot/


     pi-address FAQ
        http://www.in-berlin.de/User/miwie/pia/



     pilot-link
        ftp://ryeham.ee.ryerson.ca/pub/PalmOS/


     PilotManager
        http://www.moshpit.org/pilotmgr/


     Qt http://www.troll.no/

