[README FILE - START]

Copyright (C) 2003 Idan Nof

0. Contents of this file:

	1. Quick Summary
	2. License
	3. Supported platforms
	4. How to compile
	5. Files in this package
	6. Program description
	7. Technical issues
	8. Notes
	9. Acknowledgments
	10. Plans for future versions
	11. Release history

1. Quick Summary

	Name    : log - Log Analyzer
	Version : 0.01c (English)
	Author  : Idan Nof [idannof@hotmail.Removethis.com]
	Homepage: http://www.geocities.com/idannof/    (case sensitive)
	Excerpt : a cost calculator for Microsoft-Windows 9x MODEM log

	Usage   : use 'log -?' to see the available command-line arguments

		  Example: invoking 'log modemlog.txt -from_d 02-13-2000 -v2'
		  will process the file 'modemlog.txt', filter out all
		  calls starting before date 02-13-2000, and print the results
		  with verbosity level 2.

2. License 

	Copyright (C) 2003 Idan Nof
	(See attached file "GPL.TXT" and/or visit "www.gnu.org" )

	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
	of the License, or (at your option) any later version.

	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., 675 Mass Ave, Cambridge, MA 02139, USA.
	"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.

3. Supported platforms

	You may go ahead and try to compile under any ANSI-C environment, but
	'log' was tested to compile and run under the following platforms-

	GCC 3.03/MS-DOS
	GCC 2.96/RH-Linux 7.3
	GCC 3.2 /SunOS 5.9

4. How to compile

	a) Instructions For 'gcc':
	   - Build	: use 'make all'
	   - Clean	: use 'make clean'

5. Files in this package

	log.exe         binary for DOS, protected-mode

	readme.txt      this file
	copying         copying conditions: GPL license

	/src            source code (see src.txt for a list of files)

6. Program description

	'log' uses token-processing (originating from trial-and-error)
	to analyse a Windows' MODEM log file.

	The current implementation carries out calculation cost based on the
	current common 'Bezeq' billing-policy in Israel: there is a
	non-fixed second-wise tariff.

7. Technical issues

	a) Since Windows does not normally write the dialed phone number(s)
	   in the log files, one can try the following procedure to overcome
	   it (needed only if you want phone numbers information).

	   Enable the MODEM to echo back the commands sent to it, by
	   adding 'E1' (possibly 'ATE1') to the its initialization string.

	   In Windows, the init. string is found by accessing the MODEM
	   properties through 'System-Properties' or 'Control-Panel' and then
	   MODEM Properties-> Connection-> Advanced-> Special Definitions

	b) The project still lacks thorough tests, especially for logs of
	   MODEMs which differ from mine (Boca Research, Internal Fax Data
	   Plug and Play 33600) and for Windows versions other than Win-98.

	c) In the final summary screen, the following line is echoed-
	   "\ncall statistics for %s to %s (%d days)".

	   Please note that the dates replaced for the '%s', are determined
	   based on the actual log file (but are still bound to the user 
	   criteria).

	   Consider it as an 'auto-detection' of the first and last calls 
	   dates.

	   Example: if a user asks to process only calls which took place
	   after 01-30-1999, but the first log call which satisfies the last
	   criteria, took place in 04-31-1999, then the latter date is what
	   the first '%s' will be replaced by, in the printed line.

8. Notes

	-> Please report bugs/suggestions!

9. Acknowledgments

	* Danny Sadinoff [http://pobox.com/~sadinoff/hebcal] for his 'Hebcal-
	  A Jewish Calendar Generator'. The 'date.c' used here is simply
	  a subset of his 'greg.c'

	* DJ Delorie [http://www.delorie.com/djgpp/] for its DJGPP package-
	  a GNU CC environment port for DOS, and for the accompanied 
	  RHIDE editor

	* D.J. Murdoch [http://www.murdoch-sutherland.com/] of which I took
	  the outline of this Readme file

10. Plans for future versions 

	(from light to heavy features)

	a) A bit of code clean-up (mostly date and time I/O routines)
	b) Give time-cost daily/weekly/monthly histogram
	c) Give an example log file (for debugging and user-reference)
	d) Add different tariffs schemes (read from file, enable multiple)
	   note: this is important for country portability
	e) Add holidays (read dates from file!?)
	   reminder: this was a major goal of this project
	f) Use MODEM's .inf files for the log-tokens?

11. Release history (YYYY-MM-DD)

	2003-10-04 : Version 0.10
		- minimum call rate has been disabled
		> fixed average calculation: we now only count successful
		  calls inside the average
		> fixed detection of first call to ignore skipped-calls
		> changed 'invalid date format' error to
		  'invalid date format - ignoring line' warning
		+ added results sorting according to the Starting Date, 
		  Starting Time, Device Used, Dialed Phone, Call Duration, 
		  Call Cost, Call Result, Log Order, Log Order
		! code rewrite: log parsing, results summarizing and results
		  reporting is now grouped away to allow more flexibility
		> fixed an incorrect overflow-check for hours above 2 chars.
		> fixed a 'Division by Zero' bug at statistics
		> fixed 'total days' calculation
		> fixed time-format in usage instructions
		> user-instructions and error messages are sent to 'stderr'
		+ added usage-example in the Readme
		> fixed 'average online monthly time' calculation
		> changed 'incomplete session ending' error to 'session
		  overlaps its predecessor - ignoring previous session' 
		  warning
		+ added 'incomplete session - ignoring whole session' warning
		+ added 'no tokens nor timestamp - ignoring line' warning

	2003-07-01 : Version 0.01b, first public release
	2003-04-01 : A more-or-less stable state
	2003-02-06 : Project Started

[README FILE - END]
