##
## Configuration file for fmscore
##

minimum allowed score -5

##
## Score rules follow
##

# Make sure I notice updates on the best programs around ;-)
$homepage =~ m,http://adamspiers.org/, and score(+100, 'me');

# Programming
$name     =~ /[Pp]erl/ and score(+50, 'Perl');
$body     =~ /[Pp]erl/ and score(+10, 'Perl');
$body     =~ /php[3-9]/i and score(+5, 'PHP');

$body     =~ /java/i and score(-10, 'Java');
$body     =~ /\btcl\b/ and score(-10, 'tcl');

if ($category =~ /Development/) {
  $name =~ /^lib/ and score(-10, 'clib');
  $body =~ /\bC\+\+/ and score(-10, 'c++lib');
}

$body     =~ /\b(cvs|version control|bonsai|bugzilla)\b/i and score(+20, 'vc');

# System
$ALL      =~ /dvorak/i and score(+70, 'Dvorak');
$category =~ /kernel/i and score(+70, 'kernel');
$category =~ /Log Analyzers/ and score(+10, 'logs');
$category =~ /Monitoring/ and score(+10, 'mon');
$category =~ /Console\/Packaging/ and score(+10, 'pkg');
$category =~ /Console\/Administration/ and score(+10, 'admin');
$category =~ /Filesystems/ and score(+8, 'fs');

# X11
$name     =~ /xfree|sawfish/i and score(+50, 'X11');
$body     =~ /xfree|sawfish/i and score(+10, 'X11');
$category =~ /Office Applications/i and score(+30, 'office');
$body     =~ /GTK/i and score(+3, 'GTK');
$body     =~ /gnome/i and score(+3, 'GNOME');
$body     =~ /theme/i and score(+5, 'theme');
$body     =~ /back(ground|drop)|wallpaper/i and score(+5, 'bg');

# Audio / music
$body     =~ /mp(e?g)?3/i and score(+40, 'mp3');
$body     =~ /juke.?box/i and score(+40, 'jukebox');
$body     =~ /music/i and score(+10, 'music');

# Graphics
$body     =~ /gimp/i and score(+20, 'gimp');

# Communications
$body     =~ /ppp|PPP/ and score(+10, 'ppp');
$body     =~ /icq/i and score(+10, 'icq');
$body     =~ /messaging/i and score(+8, 'msg');
$body     =~ /sms|SMS/ and score(+40, 'sms');
$category =~ /Anti-Spam/ and score(+20, 'spam');
$category =~ /Networking/ and score(+8, 'netwk');
$category =~ /Mail/ and score(+8, 'mail');

# Security-related
$category =~ /Security/ and score(+25, 'sec');
$name     =~ /\b(secur\w+)\b/i and score(+25, 'sec');
$body     =~ /\b(secur\w+)\b/i and score(+13, 'sec');
$body     =~ /\b(pgp|PGP)\b/ and score(+10, 'pgp');
$name     =~ /\b(pgp|PGP)\b/ and score(+30, 'pgp');
$body     =~ /crypt/i and score(+25, 'crypt');
$body     =~ /port.*scan/i and score(+45, 'portscan');
$body     =~ /network.*traffic/s and score(+25, 'nettraf');

# IRC
$category =~ /IRC/ and score(+10, 'IRC');
$body     =~ /\bbot\b/i and score(+20, 'bot');

# Particular pieces of software
$name     =~ /(alsa|emacs|mutt|s[tl]rn|zsh|xmms|rpm|redhat|cvs|gimp|(l|nc)ftp|
               netscape|mozilla|apache|mysql|mod_perl|dejasearch|x-?chat|
               xlock|screensave|eterm|lsof|xwrits|xmms|bugzilla|urmcore|cvs|
               gnucash|gif2png|sawfish|fmscore|email2sms|quietrun|ttm|srip|
               watchlogs|wwwoffle|openssh|galeon|rsync|curl|xmps|skipstone)/ix
  and score(+50, 'use');

$name     =~ /(PHP|suck|fetchmail|bash|latte|sdf|root-portal)/ix
  and score(+30, 'software');

# General interest keywords
$body     =~ /off-?line/i and score(+30, 'off');
$body     =~ /\bimap\b/i and score(+20, 'imap');
$body     =~ /laptop/i and score(+20, 'laptop');
$body     =~ /crack/i and score(+10, 'crack');
$body     =~ /hack/i and score(+5, 'hack');
$body     =~ /mysql/i and score(+5, 'MySQL');
$body     =~ /Apache/i and score(+5, 'Apache');
$body     =~ /typing/i and score(+30, 'type');
$body     =~ /chess/i and score(+20, 'chess');
$body     =~ /v(card|cal)|\bvcs\b/i and score(+30, 'organise');
$body     =~ /address.?\s*book|calendar|jobs|notes|(time|project).*manag/i
  and score(+10, 'organise');
$category =~ /CD Writing/i and score(+20, 'CDburn');
$category =~ /Community/ and score(+18, 'Comm');
$category =~ /Web/ and score(+2, 'web');
$category =~ /Console\/Shells/ and score(+10, 'sh');
#$body     =~ /Web|www/ and score(+2, 'web');

# General bad keywords
$body     =~ /\bqt\b/i and score(-30, 'Qt');
$body     =~ /\bTk\b/ and score(-5, 'Tk');
$name     =~ /^tk/i and score(-5, 'Tk');
$body     =~ /\b(pop|POP3)\b/ and score(-2, 'pop3');
$category =~ /KDE/ and score(-5, 'KDE');
$category =~ /X11\/Games/ and score(-15, 'games');
$category =~ /Console\/Games/ and score(-5, 'games');
$license  =~ /commercial/i and $license !~ /free\s+for\s+non.?commercial/
  and score(-3, 'ripoff');
$body     =~ /commerce/i and score(-5, 'commerce');

# Urgency
$urgency  =~ /high/ and score(+1, 'urgency');
