Greetings PagePeeker Users!

	The purpose of PagePeeker is to aid you on those long lonely search engine journeys where you receive too many links with too few words describing what the link contains. Just copy and paste the link address into PagePeeker, give it a Searchterm and hit the Go button to have every line in that web page containing your Searchterm spit out into PagePeekers' text area. 
 
	This is a major upgrade from my original funky version. I dumped it into IBM's Visual Age for Java and used it to learn that very sophisticated tool. After two months of learning the hard way (my only way to learn!), I had an 'object-oriented' epiphany and solved all of the problems in one afternoon. 

Installation:

Windows Platform:

To use this program, unzip it into an appropriate directory on your 
hard drive, and modify the included 'peeker.bat' batch file:

set path=%path%;c:\jdk1.1.5\bin;
set classpath=%classpath%;.;d:\Download\peek\PagePeeker\wiring.jar;

d:\

cd peek\PagePeeker


java Notes

just change the path to point to your own java jdk bin directory, and change that last part
of the classpath to point to the directory where you unzipped the thing. 

Then the program will start up whenever you start the batch file. For those of you
using Netscape Communicator, here is my cute trick:

copy 'file:///D|\DOWNLOAD\peeker\peeker.bat' (after changing the directories so they point to where your
peeker.bat file is hiding) and edit your bookmarks in Netscape and make a new bookmark
with that 'file:///D|\DOWNLOAD\peeker\peeker.bat' put into the address line. 

Place this new bookmark into the 'Personal Toolbar Folder' and then you can start up Page Peeker
with a click to the toolbar! 

Those directory change commands in the batch file are there for those who launch this from the Toolbar, which opens a DOS window in a different directory.

Netscape might warn you of a security hazard when you do this, and give the option of saving it to disk,
but choose 'Open' and unless you are worried about future malicious batch files (see disclaimer below), you can uncheck the box that
keeps this message popping up.    


Mac and other platforms:

	I assume you have the equivalant of batch files like Windows, so hopefully you get the general idea from the above. It should run on any platform that has the Java JDK 1.1.x  or higher. JDK1.0.x uses a slightly different event model et cetera, so its time to upgrade if you haven't already.  

Usage Notes: 

	This version of PagePeeker is totally reusable. In other words, you can clear the Searchterm field and put in a new searchterm, clear the http field and put in a new http address, hit the GO button and launch a new page peek. Or just replace the Searchterm and search the same page again.

I changed the font to a bigger, bolder font so the output is more enjoyable to read. You can blow up the frame
to full screen size for better viewing also.

For those of you playing around with java, this entire little program is a java bean. dump it into to a visual environment to monkey around with it.

Sometimes it takes a long time to get the info from the page you are peeking. Check the page size. 
I started a Peek on a page that turned out to have 750,000 bytes of text! Made me so mad that I wrote the author an irate email!

Sometimes you only get 'Peeking...Done." This means there was no instance of your exact Searchterm in that webpage. The Searchterm has to be exact, "Marble" is different than "marble" for instance.

	This project is an amalgamation of classes, including a variation on the Pipes program, and the use of GrepReader, by David Flanagan in his Java Examples In A Nutshell book from O'Reilly. He gives explicit permission to use those classes for non-commercial purposes, and this little project is freely distributable freeware. I also use a modified version of TextCompOutputStream by Jeff Poskanzer who 
has many fine and clever programs at www.acme.com. I list his conditions and disclaimers below, as he requested.

Hope this makes searching a happier experience.

		-Michael Bennett
              mikebent@ix.netcom.com

Check out my website at: http://www.geocities.com/TimesSquare/4167/index.html
              
               August 4, 1998

TextCompOutputStream is:

// Copyright (C) 1996 by Jef Poskanzer <jef@acme.com>.  All rights reserved.
//
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions
//  are met:
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
// Visit the ACME Labs Java page for up-to-date versions of this and other
// fine Java utilities: http://www.acme.com/java/

My Own Copy of the Standard Disclaimer:

 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 SUCH DAMAGE.