MightySETIInfo Readme.txt
Copyright (C) 2002, 2003 All Rights Reserved Drake Christensen
version 4.5 03/JUL/03

http://www.mightydrake.com/SetiAtHome/MightySETIInfo/

The primary purpose of this program is to give me a simple programming project
to keep my skills up.  I recently choked in an interview because I've been
lazy the last 18 months and am out of practice.  I blew a simple programming
question.

Anyway.

What this program does is read your SETI@Home files and spit out a .txt file
for an email sig and an .html file for posting on a web site.  The output
format is controlled by template files.  You specify how you want it to look,
and the program will replace strings in the file with information from your
SETI@Home progress.  You can tell it if you're using Setihide and it will
automagically find the current work unit.

Eventually, it will report the progress of other machines on your LAN. It will
read the SETI@Home group page and grab the info so you can format your own
group info summary.  I'll probably also add output to a BMP/GIF/JPG.

For anyone interested, I have included the source code to this program.  Any
questions, comments, suggestions, etc are encouraged.  I decided to use the Fox
GUI toolkit. I use MSVC, but this should compile fairly easily on *nix.  If
anyone does so, please let me know if there's anything I can do to make the
code more portable. mighty@mightydrake.com

I retain copyright on the portions of the program I've written, but I
authorize you to feel free to use and distribute this program and it's source
code as you wish. I do ask that you include acknowledgement of me if you do
so. For example, with a link on the web page where you post the zip file to
my web site. I'd also appreciate a quick email, just so I have a clue how many
are using it. Let me know if you'd like notification of updates.

If you make any changes to anything in the zip file, please include a
prominent notice that you've done so for anyone who downloads the altered
file.  And please share it with me.  I'd like know how my stuff is being used.
And, if you chose to make a change then it may be something I should be doing
in the official distribution.

How to use this program ------------------------------------------------------

System requirements: Tested on Win 98 SE and Win ME.  As far as I know it
should work on all Win 9x, NT, 2k and XP systems.

This program is not all that hard to use.  See MightySETIInfo.html in this zip
file for detailed documentation.

Installation:
 - Copy MightySETIInfo.exe, ftp4w.dll MightySETIInfo.ini
   MightySETIInfoInput.txt and MightySETIInfoInput.html to any directory you
   like.
 - If you want to run the program everytime you start Windows then create a
   shortcut to the .exe in your Windows Startup folder

Operation:
 - If you put these into your SETI@Home folder, and you're running the plain
   vanilla screensaver version, then when you run the program it should find
   your user_info.sah file and write to MightySETIInfoSig.txt.
 - If you put it in a different directory, then the first time you run the
   program it will pop up a file selection dialog that will let you navigate
   to your SETI@Home directory.
 - If you're running Setihide, you should also point at the SETI@Home
   directory. From there, the program will scan the cache directories on its
   own to find the current work unit. Currently, I only scan local cache
   directories. I'm thinking that few people use the network caches.
 - You may change input and output filenames, write schedules, etc from the
   Main settings screen. Click the Main Settings button, or choose
   Configure|Main settings.
 - The FTP Configure button brings up the FTP settings dialog
 - When started, the program will check to see if enough time has passed
   since the last successful write of each output file.
 - If you have Update Once Then Exit checked then, whether or not the program
   actually writes something, it will pop up a dialog box and pause for 10
   seconds and then automagically exit. If you want to look at what's on the
   screen then click OK and that will kill the timer and the program will
   remain until you exit manually.
 - If left running, the program will watch the time and write the files as
   their timers expire.
 - FTP upload defaults to disabled. If you want to upload your HTML file to a
   web server then under the Configure menu bring up the FTP dialog, enable it
   and fill in the info. (You'll have to experiment with the firewall fields
   if you use them. I don't know firewalls and the docs for the lib I'm using
   didn't spell them out for me. My firewall doesn't need any of them. Try it
   with Firewall type None and see how that works for you. If anyone wants to
   help me with docs for this portion I'd be happy to include them here.)
 - You may edit MightySETIInfoInput.txt and .html to format the output
   however you like. Line breaks in the .txt are preserved. The HTML can come
   from any HTML editor, or you can easily edit it by hand. Replacement
   strings are listed at the end of this file.

Uninstall:
 - Just delete it.  The only files it writes are the INI file in its own
   directory and the output files you specify.  It does not store anything in
   the registry.

Change history ---------------------------------------------------------------
v1.0 Sep 29
Initial release

v1.1 Sep 30
Changed the UI to look like something a user could use
Updated docs
Put wrappers around writing to text boxes

v2.0 Nov 20
Implemented simple HTML output
Implemented FTP upload
Implemented FTP UI

v3.0 Jan 21
New: Implemented templates for both email sig and HTML
New: Hook up Once and then Exit to checkbox on UI
New: Implemented DoIt button to write files after changing something
New: Templates for sig and HTML
New: Timers for writes.  Checked when program started and then continuously if
program left running
Change: Changed the email sig and html output boxes to have a splitter window
between them
Change/New: Moved most of configuration settings into its own dialog box.  Use
Settings button, or Config menu|Main settings
Bug: FTP - If we got an error sending the file we didn't disconnect,
and therefore couldn't connect without closing the program
Bug: FTP - Never called Shutdown (no effect right now, because it does
nothing)

v4.0 Apr 25
New: Implemented Random quote
New: Look for multiple occurances of a given tag
New: Support for Setihide cache directories
Bug: About box formatting
Bug: Fixed crash when we've passed the interval and that output is disabled
Change: Big GUI redesign.  Moved almost all config info into main config
dialog.  The only things left in the main window are the sig and html text
boxes, buttons to get to the main and ftp config screens, an Update Once Then
Exit checkbox, and the Do It button
New: Debug flags, so I can turn various debug checks and output on and off at
runtime

v4.1 Apr 27
Bug: FTP button wasn't working

v4.5 Jul 3
Bug: Typo <%CurDateSting%> should have been <%CurDateString%>
New: Hide button and Hide On Startup option
New: System hotkey to show window
New: Made my own silly icon
New: Documentation in HTML
Added: Several WU* progress string replacements
Change: Default example html template, so it wouldn't mash up against the left
edge of the browser window
Change: Renamed SETIInfo to UserInfo and made it a real class
Change: Rearranged the Settings screen
Programming: Split out SETIState and UserInfo classes
Programming: Changed MainConfigDlg to use FXMatrix

Acknowledgements -------------------------------------------------------------
SETI@Home http://setiathome.berkeley.edu/
SETIHide http://www.setihide.de/
Fox http://www.fox-toolkit.org/fox.html
Freeware FTP source http://membres.lycos.fr/phjounin/P_ftp4w.htm
