
NAME
	FindBigNews

SYNOPSIS
	FindBigNews [ options ]
        where options may be any of
            
            -days <days>
            -exec <command>
            -groups <groupsfile>
            -nosubject
            -size <bytes>

DESCRIPTION
    The problem:

        - you're an incurable collector of "interesting" items from Usenet
        - you don't have time to read all of the news arriving at your site
        - you don't want to miss anything "interesting"

    FindBigNews uses article size, date and a group selection file as the 
    criteria for determining what's "interesting". It scans all articles
    in all groups specified by a list file (more later), checking their
    creation date (not posting date) and size, in bytes. What's size got
    to do with it? Well, program sources, FAQ lists, etc. often show up
    in unexpected places or groups that you don't normally read. They 
    usually are substantially larger than the typical 2K or less 
    "conversational" messages.

    Depending upon the options you pass to FindBigNews, you can simply be
    informed of their existence or you can invoke special processing. You
    have a high degree of flexibility in what you can do with an article
    once you've found it. 

    The -date option specifies the maximum age of an article, in days,
    which will be considered for selection. The default value is 1 day.
    You can specify a value of 0 which means that all articles are to
    be considered, no matter how old they are.

    The -size option specifies the minimum size threshold, in bytes.
    Only article files whose size is greater than or equal to this 
    threshold will be considered for selection. The default value is
    8192 bytes. The lower limit is 1 byte, so be careful! This is a
    highly arbitrary choice - let experience and observation be your
    guides.

    If the -groups option is not specified, your UULIB:newsgroups file
    will be used to select the groups to be scanned. This isn't really
    a useful default. The recommended approach is to create a subset
    grouplist file (e.g. UULIB:findgroups) which contains group names
    which you might not normally read every day. For instance, you might
    want to copy your newsgroups file, then delete the sources, binaries
    and "uninteresting" group entries from the copy. Please note that
    the newsgroups file format is acceptable to FindBigNews, even though
    the "days-til-expiration" field is not used or required.

    The default action for FindBigNews is to print a crude report. No, 
    there isn't any dirty language - it's just not very pretty. The
    first line of the report contains the following:

        <article_file_name><tab><article_size>

    The second line of the report contains the Subject header and a blank
    line is printed after the Subject line. If you specify the -nosubject
    option, only the article name/size line is printed. By redirecting
    the standard output of FindBigNews to a pipe or file, this information 
    can be processed by another program, shell script or ARexx script.

    The -exec option allows you to invoke a program or script directly,
    passing the article file name as one (required) parameter. Some
    flexibility in positioning this parameter is provided through the
    use of a simple meta-notation. You must embed this string somewhere
    in your <command> argument: {MSG}. The article file name will be
    inserted at that point in your command string, replacing the meta-
    string. Examples:

        findbignews -exec "SaveBigNews {MSG}"
        findbignews -exec "ArchiveBigNews MyArchive {MSG}"

    In the first example, the article name is passed as the first argument
    while in the second example, the article name is passed as the second
    argument.

	FindBigNews is normally run once nightly from your crontab. A complete
    example of its use follows.

    The following script, named TodaysBigNews, is run via dcron. It 
    invokes a secondary script, named SendRawMail, to send the found
    articles to the user's mail box.

    === Begin TodaysBigNews ===
    .bra (
    .ket )
    ; This script looks for news articles which have arrived in the last
    ; day and mails them to the user of this system (assumes 1 user).
    uucp:c/findbignews -groups uulib:biggroups -days 1 -exec "uucp:scripts/SendRawMail {MSG} Big_News"
    === End TodaysBigNews ===

    This script sends one article file to the user's mail box.

    === Begin SendRawMail ===
    .key message/a,subject
    .bra {
    .ket }
    ; This script sends a text file to a (specific) user's mail box.
    sendmail < "{message}" -f mrr -t mrr -s "{subject}" -raw

    === End SendRawMail ===


AUTHOR

    Mark Rinfret (mrr@mrsoft.Newport.RI.US)
