Hi everyone,


I've put together a nice 'Swiss Army Knife' application for datebook data
reusing some pilot-link stuff. For this I sacrificed my three week winter
vacation, and finished it on the train commuting from and to work.

Since I've written it specifically also for others, and as a thank-you gift
I was willing to incorporate it back into pilot-link.

Now I've tried unsuccessfully to talk to David about it (see below).
This is in line with my past experiences with David:
* the bug report on install-datebook messing up the time/date information
about a year ago went pretty much unnoticed
* I had to re-submit my patch a number of times before it got included into
the source code
* the small program 'dat2txt' I already wrote and posted on the mailing list
for pilot-link has not been incorporated, without any response nor
justification
* when David asked for volunteers for putting together an FAQ I
volunteered and asked him for material to incorporate (I already maintain the
isdn4linux FAQ). No response ever.
* now yet another time.

I can only think of a number of reasons why this is happening:
* David does not like me, and has me on his shit/kill list for some to me
unknown reason
* David only values contribution of certain kinds of people
* David only follows the mailing list, but does not read his personal mail
* David is not interested in the content of what I'm doing, but does not
bother to tell me

I don't see any justification for either one of these reasons.

But here we go: if you want this stuff in, then this is your last chance
to vote for it. I'm not going to jump through hoops to contribute.

Since David seems to be dead for me, and it is my habit not to talk to dead
people, maybe someone else can help to bring David back to life if they are
interested in my contribution.

Nothing to do actually, if you don't care about what I've done, or don't
think it is worth to include.

Last chance to vote.
Vote now.

Matthias


P.S.: Content suggestions are also welcome.


On Sat, 24 Feb 2001 11:28:45 +0100, Matthias Hessler wrote:
> 
> Hi David,
> 
> here now a bit more detailed information about the program 'pilot-datebook'
> I had been working on.
> 
> The mission for pilot-datebook was to constitute a 'Swiss Army Knife' to
> import, export & manipulate PalmPilot data.
> 
> I created it out of the need that my PalmPilot and/or the Windows Desktop
> have messed up my datebook data a couple of times, to the point where
> hotsync would crash silently after a hard reset when trying to load back
> my data. Also, where a re-load was successful, all datebook records had been
> shifted by one hour (appointments) or one day (untimed events) due to the
> fact that my Windows computer was now on summer time, rather than on winter
> time (the first hotsync took place on winter time).
> 
> It comes close to the idea of more universal programs, rather than the
> individual point-to-point conversion programs we currently have in the
> pilot-link package.
> 
> pilot-datebook by far superseeds the following programs currently in the
> pilot-link package:
> * install-datebook
> * read-ical (only in regard to the datebook part, the todo part has not been
> incorporated into pilot-datebook)
> * reminders
> * dat2txt (was written by me and published a couple of time on the mailing
> list, but unfortunately for some reason unknown to me was never added to
> the pilot-link package)
> 
> pilot-datebook can easily manipulate datebook data 'on the fly'. For more
> complex manipulation, it allows additional file formats like csv for import
> and export to spreadsheet programs. This will make life a lot easier.
> 
> I've added so much functionality that the few still remaining references
> to the pilot-link package could easily be removed, making pilot-datebook
> a standalone program.
> 
> So have a look for yourself, and tell me your opinion.
> First the help screens I've included into the program, which explain its
> functionality:
> 
> > pilot-datebook -h
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> 
> usage: pilot-datebook [options] [[command] [cmd_options] [@optfile]...]
> Mostly: pilot-datebook  -r <in_fmt> -f <in_file>   -w <out_fmt> -f <out_file>
>     or: pilot-datebook  -r <in_fmt>  -w <out_fmt>   < <in_file>  > <out_file>
> [use pilot-datebook -hexamples  to see command line examples]
> 
> [options]:
>   -q          quiet mode
>   -v          verbose/debug mode
>   -h          show this help
>   -hhelp      show overview on all available help screens
> 
> [command]:
>   -i <cond>   only do next command if <cond> is true
>   -r <fmt>    read file with format <fmt>  (ignoring -i)
>   -w <fmt>    write file with format <fmt>
>   -s <order>  sort rows by <order>  (ignoring -i)
>   -u <assign> update rows according to <assign>
>   -d          delete rows  (only useful with -i)
> 
> [cmd_options] (for read/write):
>   -f <file>   read from <file>/write to <file> (default: stdin/stdout)
> 
> 
> @fes:~/src/pilot-link > pilot-datebook -hhelp
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Available help screens:
>   -h          show usage
>   -hhelp      show overview on all help screens
>   -hfield     show supported data field names
>   -hftype     show supported data field types
>   -hformat    show supported data formats for <fmt>
>   -hif        show information on how to specify <cond> for conditions
>   -hsort      show information on <order> for sorting
>   -hupdate    show information on <assign> for updating
>   -hconvert   show command line examples for data conversion (read/write)
>   -hcsv       show information on csv import/export
> 
> 
> > pilot-datebook -hfield
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)

> Available data fields (for use in <fmt>, <order>, <assign>):
> * uid (long)
> * attributes (int)
> * category (int: 0=Unfiled)
> * untimed (int: 0=Appointment, 1=Untimed)
> * begin (time) = beginDate (time) + beginTime (seconds)
> * end (time) = endDate (time) + endTime (seconds)
> * alarm (int: 0=no alarm, 1=alarm)
> * advance (int), advanceUnit (int: 0=minutes, 1=hours, 2=days)
> * repeatType (int: 0=none, 1=daily, 2=weekly, 3=monthly, 4=monthly/weekday,
> * repeatForever (int: 0=not forever, 1=forever)                       5=yearl
> y)
> * repeatEnd (time)
> * repeatFrequency (int)
> * repeatDay (int: day# or 0..6=Sun..Sat 1st, 7..13 2nd, 14..20 3rd, 21..27 4t
> h,
> * repeatWeekstart (int)                                         28-34 last we
> ek)* repeatWeekdays (int: add - 1=Sun,2=Mon,4=Tue,8=Wed,16=Thu,32=Fri,64=Sat)
> * description (str)
> * note (str)
> * xLong,yLong,zLong (long), xInt,yInt,zInt (int), xTime,yTime,zTime (time),
> * xSeconds,ySeconds,zSeconds (seconds), xStr,yStr,zStr (str)
> 
> 
> > pilot-datebook -hftype
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Available data field types:
> * long (is 'unsigned long' in C)
>     Examples: '123456789','987654321'
> * int (is 'int' in C)
>     Examples: '123456','654321'
> * time (is 'struct tm' in C, but will be converted to time_t for calculation)
>     Examples: '27 oct 1968 19:15','1968-10-27 19:15','27 oct 1968','1968-10-2
> 7'
> * seconds (is 'long' in C)
>   Modifiers 'd','m','h' are possible (days, minutes, hours);
>   alternatively specify in form 'x:y:z' (hours:minutes:seconds).
>   Time field assignments will use 'seconds modulo 86400'.
>     Examples: '86400','1d','24:' (= 1 day)
>     Examples: '3600','1h','1:' (= 1 hour)
>     Examples: '60','1m','0:1' (= 1 minute)
>     Examples: '1','0:0:1' (= 1 second)
> * str (is 'char *' in C, requires strdup)
>   String literals have to be surrounded by single or double quotes.
>   String literals may quote characters with backslash (like printf).
>     Examples: "String1", "String2,line1\n\t\"String2\",line2"
> 
> 
> > pilot-datebook -hformat
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Available data formats (for <fmt>):
> * hotsync     direct connection to pilot (read & write)
> * pdb         pilot database file format (read & write)
> * csv         comma-separated values format (read & write)
> * longtxt     human-readable text file format (read & write)
> * shorttxt    install-datebook import text file format (read & write)
> * remind      reminders import text format (write only)
> * ical        ical import text format (write only)
> (File formats hotsync, pdb, and longtxt are almost lossless,
> csv can be lossless with the exception of repeat exceptions)
> 
> 
> > pilot-datebook -hif
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Condition:  -i "<cond>"
> 
> * <cond> specifies a list of conditions
> * Multiple conditions can be listed with ';' in between (= AND).
> * Each condition consists of: <field> <operator> <value>
> * <field>: has to be a field name
> * Use pilot-datebook -hfields  to see available data fields
> * <operator>: use '==' for equal, '!=' for not equal, '<' for less,
> * '<=' for less or equal, '>' for greater, '>=' for greater or equal
> * <value>: currently has to be a literal
> * All listed conditions within <cond> are connected with AND
> * Multiple definitions of -i will be connected with OR
> 
> Example: -i "alarm=0" -u "alarm=1;advance=5;advanceUnit=0"
>                     [if no alarm is set, then set alarm to 5 minutes before]
>      or: -i "begin<27 oct 1988 10:13" -d
>                       [delete all rows which begin before 27 Oct 1988 10:13]
> 
> 
> > pilot-datebook -hsort
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Sort:  -s "<order>"
> 
> * <order> specifies a list of sort fields
> * Multiple sort fields can be listed with ';' in between
> * Use pilot-datebook -hfields  to see available data fields
> * Rows are compared first on their first sort field. If those are equal,
> then the second (then third,...) sort fields are compared
> * Add '+' for ascending, '-' for descending order before sort field name
> * Use '-s ""' to buffer all rows unsorted (avoids straight-through processing
> )
> 
> Example: -s "alarm;advanceUnit;advance"  [default = ascending sort order]
>      or: -s "-alarm;-advanceUnit;-advance"  [descending sort order]
> 
> 
> > pilot-datebook -hupdate
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Update:  -u "<assign>"
> 
> * <assign> specifies a list of assignments
> * Multiple assignments can be listed with ';' in between.
> * Each assignment consists of: <field> <operator> <value>
> * <field>: has to be a field name
> * Use pilot-datebook -hfields  to see available data fields
> * <operator>: use '=' to assign, '+=' to increase, '-=' to decrease
> * <value>: currently has to be a literal
> * String literals have to be surrounded by single or double quotes
> * String literals may quote characters with backslash (like printf)
> * All listed updates are carried out
> 
> Example: -u "alarm=1;advance=5;advanceUnit=0"  [set alarm: 5 minutes before]
>      or: -u "note+='\nadditional\tcomment\;line1\nline2'"   [add text to note
> ]
> 
> 
> > pilot-datebook -hconvert
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> Examples for data conversion (read/write):
> 
> * Drop records starting before 1971:
>     pilot-datebook -r pdb -f in.pdb -i "beginDate<1Jan1971" -d -w pdb -f out.
> pdb* Export in.pdb into clear text file out.txt:
>     pilot-datebook  -r pdb -f in.pdb  -w longtxt -f out.txt
> * Import clear text file in.txt and write out.pdb:
>     pilot-datebook  -r longtxt -f in.txt  -w pdb -f out.pdb
> * Behave like pilot-xfer -f DatebookDB (read hotsync, write to pdb):
>     pilot-datebook  -r hotsync -f /dev/pilot  -w pdb -f DatebookDB.pdb
> * Behave like install-datebook (read shorttxt, write hotsync):
>     pilot-datebook  -r shorttxt <in_file>  -w hotsync -f /dev/pilot
>   or (for multiple files):
>     cat <files> | pilot-datebook  -r shorttxt  -w hotsync -f /dev/pilot
> * Behave like reminders (read hotsync, write to stdout):
>     pilot-datebook  -r hotsync -f /dev/pilot  -w remind
> * Behave like read-ical -d (read hotsync, pipe to ical):
>     pilot-datebook  -r hotsync -f /dev/pilot  -w ical | ical -f - -calendar <
> filename>
> 
> 
> > pilot-datebook -hcsv
> pilot-datebook 0.97  (c) 2000 by Matthias Hessler
> (use pilot-datebook -h  to see usage)
> 
> CSV (comma-separated values) import/export (read/write):
> 
> * The CSV format is well understood by many programs, especially
>   by spreadsheet programs
> * Two additional [cmd_options] are supported: -o and -t
> * -o <output_value_list> specifies a comma separated list of output values
> * The default for <output_value_list> includes all printable data fields
> * All data fields can be used in <output_value_list>, even transient
>   internal data fields like the x/y/z variables
> * -t <header_value_list> specifies which header to write/expect in the file
> * <header_value_list> can be empty to indicate that no header line should
>   be written/expected in the csv file
> * if <header_value_list> has been provided, then it has to match
> * if only <output_value_list> was provided, then it will also be used
>   as <header_value_list>
> * If neither <output_value_list> nor <header_value_list> have been provided,
>   then default will be used for writing, and encountered header for reading
> 
> 
> 
> 
> Additionally, here the list of the files which implement this functionality:
> -rwxr-xr-x   1 mathes   users      384846 Feb 23 21:35 .libs/pilot-datebook
> -rwxr-xr-x   1 mathes   users        3467 Feb 23 21:35 pilot-datebook
> -rw-r--r--   1 mathes   users        8630 Feb  3 12:59 pilot-datebook-compare
> .c
> -rw-r--r--   1 mathes   users        1975 Feb  3 12:17 pilot-datebook-compare
> .h
> -rw-r--r--   1 mathes   users       40744 Feb 23 21:34 pilot-datebook-compare
> .o
> -rw-r--r--   1 mathes   users       34547 Feb 21 23:20 pilot-datebook-csv.c
> -rw-r--r--   1 mathes   users        3814 Feb 20 22:50 pilot-datebook-csv.h
> -rw-r--r--   1 mathes   users       62824 Feb 23 21:34 pilot-datebook-csv.o
> -rw-r--r--   1 mathes   users       82686 Feb 21 08:40 pilot-datebook-data.c
> -rw-r--r--   1 mathes   users       15912 Feb 23 21:06 pilot-datebook-data.h
> -rw-r--r--   1 mathes   users      116516 Feb 23 21:34 pilot-datebook-data.o
> -rw-r--r--   1 mathes   users       22679 Feb 15 21:00 pilot-datebook-hotsync
> .c
> -rw-r--r--   1 mathes   users        2758 Jan  7 04:10 pilot-datebook-hotsync
> .h
> -rw-r--r--   1 mathes   users       55212 Feb 23 21:35 pilot-datebook-hotsync
> .o
> -rw-r--r--   1 mathes   users       13226 Feb 15 21:01 pilot-datebook-ical.c
> -rw-r--r--   1 mathes   users        1790 Jan  7 04:12 pilot-datebook-ical.h
> -rw-r--r--   1 mathes   users       46104 Feb 23 21:35 pilot-datebook-ical.o
> -rw-r--r--   1 mathes   users       19640 Feb 12 21:31 pilot-datebook-io.c
> -rw-r--r--   1 mathes   users        2230 Feb 12 21:27 pilot-datebook-io.h
> -rw-r--r--   1 mathes   users       57204 Feb 23 21:34 pilot-datebook-io.o
> -rw-r--r--   1 mathes   users       11950 Feb 11 16:03 pilot-datebook-job.c
> -rw-r--r--   1 mathes   users        1752 Feb  5 23:50 pilot-datebook-job.h
> -rw-r--r--   1 mathes   users       49356 Feb 23 21:34 pilot-datebook-job.o
> -rw-r--r--   1 mathes   users       18834 Feb 15 08:21 pilot-datebook-joblist
> .c
> -rw-r--r--   1 mathes   users        1246 Feb 10 12:19 pilot-datebook-joblist
> .h
> -rw-r--r--   1 mathes   users       53800 Feb 23 21:34 pilot-datebook-joblist
> .o
> -rw-r--r--   1 mathes   users       70043 Feb 20 01:10 pilot-datebook-longtxt
> .c
> -rw-r--r--   1 mathes   users        2762 Jan  7 04:09 pilot-datebook-longtxt
> .h
> -rw-r--r--   1 mathes   users       97668 Feb 23 21:35 pilot-datebook-longtxt
> .o
> -rw-r--r--   1 mathes   users       16642 Feb 16 20:45 pilot-datebook-pdb.c
> -rw-r--r--   1 mathes   users        2333 Jan  7 04:08 pilot-datebook-pdb.h
> -rw-r--r--   1 mathes   users       50220 Feb 23 21:34 pilot-datebook-pdb.o
> -rw-r--r--   1 mathes   users       15531 Feb 15 21:04 pilot-datebook-remind.
> c
> -rw-r--r--   1 mathes   users        1812 Jan  7 04:11 pilot-datebook-remind.
> h
> -rw-r--r--   1 mathes   users       49392 Feb 23 21:35 pilot-datebook-remind.
> o
> -rw-r--r--   1 mathes   users       20146 Feb 15 21:04 pilot-datebook-shorttx
> t.c
> -rw-r--r--   1 mathes   users        2620 Jan 28 01:06 pilot-datebook-shorttx
> t.h
> -rw-r--r--   1 mathes   users       53332 Feb 23 21:35 pilot-datebook-shorttx
> t.o
> -rw-r--r--   1 mathes   users       13471 Feb 20 22:30 pilot-datebook-sort.c
> -rw-r--r--   1 mathes   users        2776 Jan 22 19:48 pilot-datebook-sort.h
> -rw-r--r--   1 mathes   users       44252 Feb 23 21:34 pilot-datebook-sort.o
> -rw-r--r--   1 mathes   users         716 Feb 21 23:22 pilot-datebook-todo.tx
> t
> -rw-r--r--   1 mathes   users        7794 Feb 20 23:02 pilot-datebook-update.
> c
> -rw-r--r--   1 mathes   users        1936 Feb  5 08:44 pilot-datebook-update.
> h
> -rw-r--r--   1 mathes   users       40004 Feb 23 21:34 pilot-datebook-update.
> o
> -rw-r--r--   1 mathes   users       16496 Feb 23 21:34 pilot-datebook.c
> -rw-r--r--   1 mathes   users         407 Jan 15 08:53 pilot-datebook.h
> -rw-r--r--   1 mathes   users       63556 Feb 23 21:34 pilot-datebook.o
> 
> 
> Additionally I've implemented quite a long list of test shell scripts for
> unit and regression tests.
> 
> So far the program was developed under Linux. A few portability issues may
> arise even so I've tried to avoid it as much as possible - it's not tested
> to compile on other systems.
> 
> For the future, I've planned to add support for the Windows Desktop dat files
> ,
> and maybe some day an XML format. Additionally I've a list of potential
> improvements which I will leave for others to implement (if they want).
> Otherwise I see the scope of pilot-datebook stable and fixed, unless you
> or someone else convinces me otherwise.
> 
> Please give me your opinion until Monday on whether you want to see this
> added to the pilot-link package.
> 
> I wanted to get you buy-in before announcing anything to the mailing list.
> If you don't want to see it included, I'll probably make a standalone
> program out of it which is independent of the pilot-link package.
> 
> Matthias
> 
> 
> On Wed, 21 Feb 2001 23:22:04 +0100, Matthias Hessler wrote:
> > 
> > Hi David,
> > 
> > I've put a small application together which I call 'pilot-datebook'.
> > It is able to convert all kinds of data formats forwards and backwards.
> > It will superseed install_datebook, read_ical (for datebook data, but not
> > for todo data), and reminders.
> > 
> > I'm a bit in a hurry at the moment, but will send you some more details
> > on the weekend. I would like to let you know beforehand, so that you
> > have a chance for review and give me your honest opinion about it, before
> > any announcement on the mailing list.
> > 
> > If you want to include it into the pilot-link package I would suggest that
> > we arrange for cvs write access; nevertheless I intend to also publish it
> > on my website.
> > 
> > The last item I have on my todo list is to get it to read/write dat files
> > (the one used by Windows desktops).
> > 
> > I think such a large thing is probably too late for 0.9.5
> > anyway - but let me know if you think otherwise.
> > 
> > Matthias
> > 
> > 
> > On Wed, 21 Feb 2001 12:04:58 -0800 (PST), "David A. Desrosiers" wrote:
> > > 
> > > > Which reminds me, did you try it with pilot-link-<notpre> installed?
> > > > I'm not sure if dlp_ReadAppPreference changed since then, but I'm
> > > > pretty sure everyone I've talked to until now was not using the -pre
> > > > version.
> > > 
> > >   Being way overwhelmed for the past few months at ${JOB} has left
> > > me with little time for releases, but that's very recently changed. I'm
> > > going to cut a final release of 0.9.5 and get it out there, so if anyone
> > > has any last-minute tweaks or fixes, let me know.
> > > 
> > > 
> > > /d
> > > 
> > > 
> > > _______________________________________________
> > > Pilot-unix mailing list
> > > [EMAIL PROTECTED]
> > > http://hcirisc.cs.binghamton.edu/mailman/listinfo/pilot-unix
> > > 
> > 
> > ---------------------------------------------------------------
> > Matthias Hessler
> > home:        [EMAIL PROTECTED]         http://www.mhessler.de
> > i4l FAQ:     [EMAIL PROTECTED]     http://www.mhessler.de/i4lfaq.html
> > isdn4linux:  [EMAIL PROTECTED]    http://www.isdn4linux.de
> > 
> 
> ---------------------------------------------------------------
> Matthias Hessler
> home:        [EMAIL PROTECTED]         http://www.mhessler.de
> i4l FAQ:     [EMAIL PROTECTED]     http://www.mhessler.de/i4lfaq.html
> isdn4linux:  [EMAIL PROTECTED]    http://www.isdn4linux.de
> 

---------------------------------------------------------------
Matthias Hessler
home:        [EMAIL PROTECTED]         http://www.mhessler.de
i4l FAQ:     [EMAIL PROTECTED]     http://www.mhessler.de/i4lfaq.html
isdn4linux:  [EMAIL PROTECTED]    http://www.isdn4linux.de
_______________________________________________
Pilot-unix mailing list
[EMAIL PROTECTED]
http://hcirisc.cs.binghamton.edu/mailman/listinfo/pilot-unix

Reply via email to