Merge branch 'master' of defaria.com:/opt/git/clearscm
authorAndrew DeFaria <adefaria@adefaria-lt.audience.local>
Fri, 20 Jun 2014 18:55:52 +0000 (11:55 -0700)
committerAndrew DeFaria <adefaria@adefaria-lt.audience.local>
Fri, 20 Jun 2014 18:55:52 +0000 (11:55 -0700)
19 files changed:
bin/backup
clearadm/etc/clearadm.conf
clearadm/lib/clearadm.sql
clearadm/lib/load.sql
clearadm/lib/users.sql
maps/bin/nuke [deleted file]
maps/bin/weed [deleted file]
maps/php/MAPS.php
maps/register.html
songbook/Media [new symlink]
songbook/Songs [new symlink]
web/.htaccess
web/Resumes/Andrew/Audience.png [new file with mode: 0644]
web/Resumes/Andrew/Resume.doc
web/Resumes/Andrew/index.php
web/Resumes/Ron/Resume.doc
web/Resumes/Ron/index.php
web/index.php
web/robots.txt [new file with mode: 0644]

index ef98e9e..adb5e50 100755 (executable)
@@ -15,7 +15,8 @@
 # Full Backup
 backup=/sbin/dump
 dumppath=/backup
-files2backup=/
+filesystems="sda1 sdb1"
+compression=9
 
 if [ -f /etc/dump.excludes ]; then
   excludes="-E /etc/dump.excludes"
@@ -38,12 +39,10 @@ function usage {
 type="$1"
 host=$(hostname)
 
-host=$(hostname)
-
 if [ "$type" = "full" ]; then
-  rm -f $dumppath/$host.$type.backup
-  rm -f $dumppath/$host.$type.backup.log
-  rm -f $dumppath/$host.$type.list  
+  rm -f $dumppath/$host.*.$type.backup
+  rm -f $dumppath/$host.*.$type.backup.log
+  rm -f $dumppath/$host.*.$type.list  
   level=0
 elif [ "$type" = "incremental" ]; then
   level=1
@@ -51,11 +50,12 @@ else
   usage $type
 fi
 
-log=$dumppath/$host.$type.backup.log
-
-$backup -$level\
-  -A $dumppath/$host.$type.list\
-  -f $dumppath/$host.$type.backup\
-  -z\
-  $excludes\
-  -u $files2backup > $log 2>&1 
+for fs in $filesystems; do
+  log=$dumppath/$host.$fs.$type.backup.log
+  $backup -$level\
+    -A $dumppath/$host.$fs.$type.list\
+    -f $dumppath/$host.$fs.$type.backup\
+    -z$compression\
+    $excludes\
+    -u /dev/$fs > $log 2>&1 
+done
index 668da41..4bd38f3 100644 (file)
@@ -11,7 +11,7 @@
 # (c) Copyright 2010, ClearSCM, Inc., all rights reserved
 #
 ###############################################################################
-CLEARADM_SERVER:            earth
+CLEARADM_SERVER:            localhost
 CLEARADM_PORT:              25327
 CLEARADM_LOADAVG_THRESHOLD: 5.00
 CLEARADM_USERNAME:          clearwriter
index e8236c3..f365201 100644 (file)
@@ -36,11 +36,11 @@ create table system (
                      'Unix',
                      'Windows'
                    ) not null,
-  region          tinytext,
+  region                tinytext,
   port             int default 25327,
   lastheardfrom    datetime,
   notification     varchar (255),
-  description     text,
+  description       text,
   loadavgHist      enum (
                      '1 month',
                      '2 months',
@@ -58,7 +58,7 @@ create table system (
   loadavgThreshold float (4,2) default 5.00,
 
   primary key (name)
-) type=innodb; -- system
+) engine=innodb; -- system
 
 -- clearcase: Information about a Clearcase system
 create table clearcase (
@@ -90,7 +90,7 @@ create table clearcase (
     on delete cascade
     on update cascade,
   primary key (system)
-) type=innodb; -- clearcase
+) engine=innodb; -- clearcase
 
 -- package: A package is any software package that we wish to keep track of
 create table package (
@@ -106,7 +106,7 @@ create table package (
     on delete cascade
     on update cascade,
   primary key (system, name)
-) type=innodb; -- package
+) engine=innodb; -- package
   
 -- filesystem: A systems file systems that we are monitoring 
 create table filesystem (
@@ -136,7 +136,7 @@ create table filesystem (
     on delete cascade
     on update cascade,
   primary key (system, filesystem)
-) type=innodb; -- filesystem
+) engine=innodb; -- filesystem
 
 -- fs: Contains a snapshot reading of a filesystem at a given date and time
 create table fs (
@@ -155,7 +155,7 @@ create table fs (
     references filesystem (system, filesystem)
       on delete cascade
       on update cascade
-) type=innodb; -- fs
+) engine=innodb; -- fs
 
 -- loadavg: Contains a snapshot reading of a system's load average
 create table loadavg (
@@ -165,11 +165,11 @@ create table loadavg (
   users         int,
   loadavg       float (4,2),
 
-  primary key   (system, timestamp).
+  primary key   (system, timestamp),
   foreign key systemLink (system) references system (name)
     on delete cascade
     on update cascade
-) type=innodb; -- loadavg
+) engine=innodb; -- loadavg
 
 -- vobs: Describe a system's vobs
 create table vob (
@@ -181,7 +181,7 @@ create table vob (
     on delete cascade
     on update cascade,
   primary key (tag)
-) type=innodb; -- vob 
+) engine=innodb; -- vob 
 
 -- view: Describe views
 create table view (
@@ -208,7 +208,7 @@ create table view (
     on update cascade,
   key regionIndex (region),
   primary key (region, tag)
-) type=innodb; -- view
+) engine=innodb; -- view
 
 create table task (
   name          varchar (255) not null,
@@ -221,10 +221,11 @@ create table task (
                 ) not null default 'true',
   
   primary key (name)
-  foreign key systemLink (system) references system (name)
-    on delete cascade
-    on update cascade,
-) type=innodb; -- task
+--  primary key (name),
+--  foreign key systemLink (system) references system (name)
+--    on delete cascade
+--    on update cascade
+) engine=innodb; -- task
 
 create table runlog (
   id            int not null auto_increment,
@@ -242,32 +243,12 @@ create table runlog (
   primary key (id, task, system),
   foreign key taskLink (task) references task (name)
     on delete cascade
-    on update cascade
+    on update cascade,
   foreign key systemLink (system) references system (name)
     on delete cascade
     on update cascade
-) type=innodb; -- runlog
+) engine=innodb; -- runlog
   
-create table schedule (
-  name          varchar (255) not null,
-  task          varchar (255) not null,
-  notification  varchar (255) not null,
-  frequency     tinytext,
-  active        enum (
-                  'true',
-                  'false'
-                ) not null default 'true',
-  lastrunid     int,
-  
-  primary key (name),
-  foreign key taskLink (task) references task (name)
-    on delete cascade
-    on update cascade
-  foreign key notificationLink (notification) references notification (name)
-    on delete cascade
-    on update cascade
-) type=innodb; -- schedule
-
 create table alert (
   name varchar (255) not null,
   type enum (
@@ -278,7 +259,7 @@ create table alert (
   who  tinytext,
   
   primary key (name)
-) type=innodb; -- alert
+) engine=innodb; -- alert
 
 create table notification (
   name         varchar (255) not null,
@@ -294,10 +275,30 @@ create table notification (
   primary key (name),
   foreign key alertLink (alert) references alert (name)
     on delete cascade
-    on update cascade,
- ) type=innodb; -- notification
+    on update cascade
+ ) engine=innodb; -- notification
  
- create table alertlog (
+create table schedule (
+  name          varchar (255) not null,
+  task          varchar (255) not null,
+  notification  varchar (255) not null,
+  frequency     tinytext,
+  active        enum (
+                  'true',
+                  'false'
+                ) not null default 'true',
+  lastrunid     int,
+  
+  primary key (name),
+  foreign key taskLink (task) references task (name)
+    on delete cascade
+    on update cascade,
+  foreign key notificationLink (notification) references notification (name)
+    on delete cascade
+    on update cascade
+) engine=innodb; -- schedule
+
+create table alertlog (
   id           int not null auto_increment,
   alert        varchar (255) not null,
   system       varchar (255) not null,
@@ -314,7 +315,7 @@ create table notification (
   foreign key notificationLink (notification) references notification (name)
     on delete cascade
     on update cascade,
-  foreigh key runlogLink (runlog) references runlog (id)
+  foreign key runlogLink (runlog) references runlog (id)
     on delete cascade
     on update cascade
-) type=innodb; -- alertlog
\ No newline at end of file
+) engine=innodb; -- alertlog
index f89e5c2..4c005f4 100644 (file)
@@ -20,7 +20,7 @@ insert into alert (
   'email'
 );
 
--- Predefined notifications
+-- Predefined notificationsTables
 insert into notification (
   name,
   alert,
@@ -98,24 +98,24 @@ insert into task (
   name,
   system,
   description,
-  command,
+  command
 ) values (
   'Loadavg',
   'Localhost',
   'Obtain a loadavg snapshot on all systems',
-  'updatela.pl',
+  'updatela.pl'
 );
 
 insert into task (
   name,
   system,
   description,
-  command,
+  command
 ) values (
   'Filesystem',
   'Localhost',
   'Obtain a filesystem snapshot on all systems/filesystems',
-  'updatefs.pl',
+  'updatefs.pl'
 );
 
 insert into task (
@@ -127,17 +127,19 @@ insert into task (
   'Scrub',
   'Localhost',
   'Scrub Clearadm database',
-  'clearadmscrub.pl',
+  'clearadmscrub.pl'
 );
 
 insert into task (
   name,
   system,
-  description
+  description,
+  command
 ) values (
   'System checkin',
   'Localhost',
   'Checkin from all systems',
+  'default'
 );
 
 insert into task (
@@ -149,7 +151,7 @@ insert into task (
   'Update systems',
   'Localhost',
   'Update all systems',
-  'updatesystem.pl -host all',
+  'updatesystem.pl -host all'
 );
 
 -- Predefined schedule
@@ -186,5 +188,5 @@ insert into schedule (
   'Scrub',
   'Scrub',
   'Scrub',
-  '1 day
+  '1 day'
 );
index b89b5b2..b124e3d 100644 (file)
 -- Copyright (c) 2010, ClearSCM, Inc., all rights reserved
 --
 -- -----------------------------------------------------------------------------
+
+-- Seems that in order to grant access to a user from really all hosts you need
+-- to do both @'%' and @localhost!
 grant all privileges 
   on clearadm.*
-  to clearadm@"%"
+  to clearadm@'%'
+identified by 'clearscm';
+grant all privileges
+  on clearadm.*
+  to clearadm@localhost
 identified by 'clearscm';
 
 grant select
   on clearadm.*
-  to cleareader@"%"
+  to cleareader@'%'
+identified by 'cleareader';
+grant select
+  on clearadm.*
+  to cleareader@localhost
 identified by 'cleareader';
 
 grant insert, select, update, delete
   on clearadm.*
-  to clearwriter@"%"
+  to clearwriter@'%'
+identified by 'clearwriter';
+grant insert, select, update, delete
+  on clearadm.*
+  to clearwriter@localhost
 identified by 'clearwriter';
diff --git a/maps/bin/nuke b/maps/bin/nuke
deleted file mode 100755 (executable)
index 2b8c4ac..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/usr/bin/perl
-################################################################################
-#
-# File:         $RCSfile: nuke,v $
-# Revision:    $Revision: 1.1 $
-# Description:  Displays list of email addresses based on report type.
-# Author:       Andrew@DeFaria.com
-# Created:      Fri Nov 29 14:17:21  2002
-# Modified:     $Date: 2013/06/12 14:05:47 $
-# Language:     perl
-#
-# (c) Copyright 2000-2006, Andrew@DeFaria.com, all rights reserved.
-#
-################################################################################
-use strict;
-use warnings;
-
-use FindBin;
-
-use lib $FinBin::Bin, '/opt/clearscm/lib';
-
-use MAPS;
-
-use Display;
-
-# Just me
-my $userid = "andrew";
-
-sub GetMailLoops {
-  my $type = "mailloop";
-
-  my @emails;
-
-  # Hack: ReturnEmails normally wants a start and end range of what
-  # emails to get. We really want all of them so let's just use 10000.
-  @emails = ReturnEmails $userid, $type, 0, 10000;
-
-  my %senders;
-
-  foreach (@emails) {
-    my $sender = shift @{$_};
-    my @msgs = @{$_};
-    my ($pattern, $domain) = split (/@/, $sender);
-
-    if (scalar @msgs > 0) {
-      $senders{$domain} = scalar @msgs;
-    } # if
-  } # foreach
-
-  return %senders;
-} # GetMailLoops
-
-sub Add2List {
-  my $type     = shift;
-  my @items    = @_;
-
-  my $sender   = "";
-  my $nextseq  = MAPSDB::GetNextSequenceNo $userid, $type;
-
-  foreach (@items) {
-    my $domain = "\@$_";
-
-    display_nolf "Adding $domain to null list ($nextseq)...";
-
-    if (OnNulllist $domain) {
-      display_nolf " Already on list";
-      DeleteLog $domain;
-      display " - cleaned";
-    } else {
-      Add2Nulllist $domain, $userid, "";
-      display " done";
-       
-      # Now remove this entry from the other lists (if present)
-      foreach my $otherlist ("white", "black") {
-       my $sth = FindList $otherlist, $domain;
-       my ($sequence, $count);
-       ($_, $_, $_, $_, $_, $sequence) = GetList $sth;
-       if (defined $sequence) {
-         $count = DeleteList $otherlist, $sequence;
-       } # if
-      } # foreach
-    } # if
-    $nextseq++;
-  } # while
-} # Add2List
-
-# Main
-
-# Set no output buffering
-$| = 1;
-
-# Let's be nice
-setpriority 0, 0, 10;
-
-SetContext $userid;
-
-my %senders = GetMailLoops;
-
-foreach (sort (keys (%senders))) {
-  print "\@$_\n";
-} # foreach
-
-if (scalar keys (%senders) eq 0) {
-  display "No mailloops detected";
-  exit 0;
-} # if
-
-print "Nuke these domains? ";
-$_ = <STDIN>;
-
-if (/y/i) {
-  Add2List "null", (sort (keys (%senders)));
-} # if
-
-exit;
diff --git a/maps/bin/weed b/maps/bin/weed
deleted file mode 100755 (executable)
index 2160653..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/usr/bin/perl
-################################################################################
-#
-# File:         $RCSfile: weed,v $
-# Revision:    $Revision: 1.1 $
-# Description:  Weed out obvious spams from the mail store
-# Author:       Andrew@DeFaria.com
-# Created:      Mon Feb 19 22:37:30 CST 2007
-# Modified:     $Date: 2013/06/12 14:05:47 $
-# Language:     perl
-#
-# (c) Copyright 2007, Andrew@DeFaria.com, all rights reserved.
-#
-################################################################################
-use strict;
-use warnings;
-
-use lib $FindBin::Bin, '/opt/clearscm/lib';
-
-use Getopt::Long;
-
-use MAPS;
-
-use Display;
-use Utils;
-
-my $mailstore = "/var/spool/exim/input";
-
-sub Usage {
-  display "Usage: weed: [ -v|erbose ] [ -d|ebug ]\n";
-  display "Where:";
-  display "  -v|erbose\tTurn on verbose mode (default off)";
-  display "  -d|ebug\tTurn on debug mode (default off)";
-  display "  -u|sage\tDisplay this usage message";
-  exit 1;
-} # usage
-
-# Just me
-my $userid = "andrew";
-
-my ($username, $user_email) = SetContext $userid;
-
-sub GetEmailsInSpool () {
-  my %emails;
-
-  # Open mailstore directory. Note must have read access to this
-  # directory and the files in this directory. IOW we probably need to
-  # be running as root. Also, the MTA should not be running because we
-  # may be removing files...
-  opendir MAILSTORE, $mailstore
-    or error "Unable to open mailstore $mailstore - $!", 1;
-
-  # Weed out . and ..
-  my @msgs = grep {!/^\./} readdir MAILSTORE;
-
-  # Don't need the directory opened anymore...
-  closedir MAILSTORE;
-
-  # Select only the "-H" header files...
-  @msgs = grep {/-H$/} @msgs;
-
-  # Now search for "From:" in the header files, extract email address
-  # and put into return hash.
-  my $msg_nbr;
-
-  foreach (@msgs) {
-    $msg_nbr = $_;
-
-    my @lines = ReadFile "$mailstore/$msg_nbr";
-
-    foreach (@lines) {
-      if (/From:\s*(.*)/) {
-       my $sender = $1;
-
-       if ($sender =~ /<(\S*)@(\S*)>/) {
-         $sender = lc ("$1\@$2");
-       } elsif ($sender =~ /(\S*)@(\S*)\ /) {
-         $sender = lc ("$1\@$2");
-        } elsif ($sender =~ /(\S*)@(\S*)/) {
-         $sender = lc ("$1\@$2");
-       } # if
-
-       $emails {$msg_nbr} = $sender;
-      } # if
-    } # foreach
-  } # foreach
-
-  verbose scalar (keys (%emails)) . " emails to process";
-
-  return %emails;
-} # GetEmailsInSpool
-
-sub RemoveEmailInSpool ($) {
-  my ($msg_nbr) = @_;
-
-  my $datafile         = "$mailstore/${msg_nbr}-D";
-  my $header_file      = "$mailstore/${msg_nbr}-H";
-  my $j_file           = "$mailstore/${msg_nbr}-J";
-
-  if (-f $datafile) {
-    unlink $datafile
-      or error "Unable to unlink $datafile - $!";
-  } # if
-
-  if (-f $header_file) {
-    unlink $header_file
-      or error "Unable to unlink $header_file - $!";
-  } # if
-
-  if (-f $j_file) {
-    unlink $j_file
-      or error "Unable to unlink $j_file - $!";
-  } # if
-} # RemoveEmailInSpool
-
-sub FilterEmails (%) {
-  my %emails= @_;
-
-  my $removed = 0;
-
-  foreach (sort (keys (%emails))) {
-    my $msg_nbr;
-
-    if (/(\S+)-H$/) {
-      $msg_nbr = $1;
-    } # if
-
-    my $sender = $emails {"${msg_nbr}-H"};
-
-    if ($sender eq "maps\@defaria.com" ||
-       $sender eq "mailer-daemon\@defaria.com" ||
-        $sender =~ /^defaria.*\@defaria.com$/) {
-      verbose "Removing email $msg_nbr with sender of $sender";
-      RemoveEmailInSpool $msg_nbr;
-      $removed++;
-
-#     Need to get $sender_long. Should call ReadMsg from maps. Have to
-#     reorganize how this program flows...
-#
-#     } elsif ($sender eq $user_email and
-#           (lc ($sender_long) !~ lc ("\"$username\" <$user_email>") and
-#            lc ($sender_long) !~ lc ("$username <$user_email>"))) {
-#       RemoveEmailInSpool $msg_nbr;
-#       $removed++;
-    } elsif (OnNulllist $sender) {
-      verbose "Nulllist $msg_nbr ($sender)";
-
-      Nulllist $sender;
-      RemoveEmailInSpool $msg_nbr;
-      $removed++;
-    } # if
-  } # foreach
-
-  return $removed;
-} # FilterEmails
-# Main
-
-my %opts;
-my $result = GetOptions (\%opts,
-                         "usage"       => sub { Usage },
-                         "verbose"     => sub { set_verbose },
-                        "debug"        => sub { set_debug },
-                        );
-
-my $removed = FilterEmails (GetEmailsInSpool ());
-
-verbose "$removed emails removed from the mail store";
-
-exit;
index 18b9abe..72e1390 100755 (executable)
@@ -37,18 +37,18 @@ $Types = array (
 function DBError ($msg, $statement) {
   $errno  = mysql_errno ();
   $errmsg = mysql_error ();
-  print "$msg\nError # $errno $errmsg";
-  print "SQL Statement: $statement";
+  print "$msg<br>Error # $errno $errmsg";
+  print "<br>SQL Statement: $statement";
 
   exit ($errno);
 } // DBError
 
 function OpenDB () {
-  $db = mysql_pconnect ("localhost", "mapsadmin", "mapsadmin")
+  $db = mysql_connect ("localhost", "mapsadmin", "mapsadmin")
     or DBError ("OpenDB: Unable to connect to database server", "Connect");
 
   mysql_select_db ("MAPS")
-    or DBError ("OpenDB: Unable to select MAPS database", "MAPS");
+    or DBError ("OpenDB: Unable to select MAPS database", "adefaria_maps");
 } // OpenDB
 
 function SetContext ($new_userid) {
@@ -144,7 +144,7 @@ function Today2SQLDatetime () {
 function countem ($table, $condition) {
   $statement = "select count(distinct sender) as count from $table where $condition";
 
-  $result = mysql_query ($statement) 
+  $result = mysql_query ($statement)
     or DBError ("countem: Unable to perform query: ", $statement);
 
   // How many rows are there?
@@ -164,7 +164,7 @@ function countlog ($condition="") {
 } // countlog
 
 function SubtractDays ($date, $nbr_days) {
-  
+
 } // SubtractDays
 
 function GetStats ($nbr_days, $date = "") {
@@ -205,31 +205,31 @@ function displayquickstats () {
 
   $processed           = $dates[$today]["processed"];
   $returned            = $dates[$today]["returned"];
-  $returned_pct                = $processed == 0 ? 0 : 
+  $returned_pct                = $processed == 0 ? 0 :
     number_format ($returned / $processed * 100, 1, ".", "");
   $whitelist           = $dates[$today]["whitelist"];
-  $whitelist_pct       = $processed == 0 ? 0 : 
+  $whitelist_pct       = $processed == 0 ? 0 :
     number_format ($whitelist / $processed * 100, 1, ".", "");
   $blacklist           = $dates[$today]["blacklist"];
-  $blacklist_pct       = $processed == 0 ? 0 : 
+  $blacklist_pct       = $processed == 0 ? 0 :
     number_format ($blacklist / $processed * 100, 1, ".", "");
   $registered          = $dates[$today]["registered"];
   $mailloop            = $dates[$today]["mailloop"];
   $nulllist            = $dates[$today]["nulllist"];
-  $nulllist_pct                = $processed == 0 ? 0 : 
+  $nulllist_pct                = $processed == 0 ? 0 :
     number_format ($nulllist / $processed * 100, 1, ".", "");
 
-  $returned_link = $returned == 0 ? 0 : 
+  $returned_link = $returned == 0 ? 0 :
     "<a href=/maps/bin/detail.cgi?type=returned;date=$today>$returned</a>";
-  $whitelist_link = $whitelist == 0 ? 0 : 
+  $whitelist_link = $whitelist == 0 ? 0 :
     "<a href=/maps/bin/detail.cgi?type=whitelist;date=$today>$whitelist</a>";
-  $blacklist_link = $blacklist == 0 ? 0 : 
+  $blacklist_link = $blacklist == 0 ? 0 :
     "<a href=/maps/bin/detail.cgi?type=blacklist;date=$today>$blacklist</a>";
-  $registered_link = $registered == 0 ? 0 : 
+  $registered_link = $registered == 0 ? 0 :
     "<a href=/maps/bin/detail.cgi?type=registered;date=$today>$registered</a>";
-  $mailloop_link = $mailloop == 0 ? 0 : 
+  $mailloop_link = $mailloop == 0 ? 0 :
     "<a href=/maps/bin/detail.cgi?type=mailloop;date=$today>$mailloop</a>";
-  $nulllist_link = $nulllist == 0 ? 0 : 
+  $nulllist_link = $nulllist == 0 ? 0 :
     "<a href=/maps/bin/detail.cgi?type=nulllist;date=$today>$nulllist</a>";
 
 print <<<EOT
@@ -326,7 +326,7 @@ END;
   <div class="search">
   <form method="get" action="/maps/bin/search.cgi" name="search">
     Search Sender/Subject
-    <input type="text" class="searchfield" id="searchfield" name="str" 
+    <input type="text" class="searchfield" id="searchfield" name="str"
      size="20" maxlength="255"  value="" onclick="document.search.str.value='';">
   </form>
   </div>
@@ -399,7 +399,7 @@ function DisplayList ($type, $next, $lines) {
     $last_hit = substr ($last_hit, 5, 2) . "/" .
                 substr ($last_hit, 8, 2) . "/" .
                 substr ($last_hit, 0, 4);
-    $leftclass = ($i == $lines || $sequence == $total || $sequence == $last) ? 
+    $leftclass = ($i == $lines || $sequence == $total || $sequence == $last) ?
       "tablebottomleft" : "tableleftdata";
     $dataclass = ($i == $lines || $sequence == $total || $sequence == $last) ?
       "tablebottomdata"  : "tabledata";
@@ -505,8 +505,8 @@ function Space () {
     or DBError ("Space: Unable to execute query: ", $statement);
 
   while ($row = mysql_fetch_array ($result)) {
-    $msg_space = 
-      strlen ($row["userid"])          + 
+    $msg_space =
+      strlen ($row["userid"])          +
       strlen ($row["sender"])          +
       strlen ($row["subject"])         +
       strlen ($row["timestamp"])       +
index 516a4de..17b5503 100644 (file)
@@ -17,7 +17,7 @@ Permission System</font></h1>
 email click <a
 href="http://defaria.com/maps/bin/registerform.cgi?userid=$userid;sender=$sender">here</a></b></font>
 
-<p>For your convience you email message is attached to this
+<p>For your convenience you email message is attached to this
 message. Note that if you register your previous emails will be
 delivered therefore you do not need to resend the message that is
 attached to this one.
@@ -51,7 +51,7 @@ likely move you to my <i>black list</i>.</p>
 
 <div class="copyright">
 
-Copyright &copy; 2001-2013 - All rights reserved<br>
+Copyright &copy; 2001-2014 - All rights reserved<br>
 
 <a href="http://defaria.com/">Andrew DeFaria</a> <a
 href="mailto:Andrew@DeFaria.com">&lt;Andrew@DeFaria.com&gt;</a>
diff --git a/songbook/Media b/songbook/Media
new file mode 120000 (symlink)
index 0000000..ceb0f53
--- /dev/null
@@ -0,0 +1 @@
+/net/earth/home/andrew/Dropbox/SongBook/Media
\ No newline at end of file
diff --git a/songbook/Songs b/songbook/Songs
new file mode 120000 (symlink)
index 0000000..72237a6
--- /dev/null
@@ -0,0 +1 @@
+/net/earth/home/andrew/Dropbox/SongBook
\ No newline at end of file
index 8d84198..bddccb9 100644 (file)
@@ -1 +1,2 @@
 Redirect /resume /Resumes/Andrew
+ModPagespeed off
diff --git a/web/Resumes/Andrew/Audience.png b/web/Resumes/Andrew/Audience.png
new file mode 100644 (file)
index 0000000..d482021
Binary files /dev/null and b/web/Resumes/Andrew/Audience.png differ
index b3326df..9614303 100644 (file)
Binary files a/web/Resumes/Andrew/Resume.doc and b/web/Resumes/Andrew/Resume.doc differ
index 41c61a1..33456f6 100644 (file)
@@ -171,49 +171,64 @@ function stoptimer () {
 
   <h2>Clients</h2>
 
+  <p><a href="http://audience.com"><img alt="Audience" src="Audience.png" border="0"></a></p>
+
+  <p>March 2014 - Present<br>
+  <font class=dim>Contract</font><br>
+  <a href="http://defaria.com/blogs/Status/archives/cat_audience.html">Workblog</a></p>
+
+  <p>Worked as a Linux Admin, Perforce Admin maintaining an inhouse developed build system
+  that utilizes Perl/PHP/Apache/Linux/Windows servers to allow engineers in the field to
+  perform customized builds around the world. Helped set up and establish Swarm installation,
+  integration between Bugzilla and Perforce (P4DTG) on various vituralized hardware. Established
+  and maintained documentation of various Dev/Test/Prod environments throughout the organization.</p>
+
+  <hr noshade>
+
   <p><a href="http://www.axcient.com"><img src="Axcient.png" alt="Axcient" border="0"></a></p>
 
-  <p>July 2013 - Present<br>
+  <p>July 2013 - Dec 2013<br>
   <font class=dim>Contract</font><br>
   <a href="http://defaria.com/blogs/Status/archives/cat_axcient.html">Workblog</a></p>
 
   <p>Worked as a Build and Release Engineer for AxOS. The Axcient product is
-  a customized derivative of Ubuntu. The SCM system being used is git.
+  a customized derivative of Ubuntu. The SCM system being used is git. Developed
+  and standardized procedures for performing builds.</p>
 
   <hr noshade>
-  
+
   <p><a href="http://www.broadcom.com"><img src="Broadcom.gif" alt="Broadcom" border="0"></a></p>
 
   <p>December 2011 - April 2013<br>
   <font class=dim>Contract</font><br>
   <a href="http://defaria.com/blogs/Status/archives/cat_broadcom.html">Workblog</a></p>
 
-  <p>Worked as a Clearquest Designer and hook code writer. The Clearquest 
+  <p>Worked as a Clearquest Designer and hook code writer. The Clearquest
   database used Visual Basic. Implemented fixed and feature development for
   Clearquest as well as wrote several Perl scripts to perform data maintenance as
   required by utilizing ClearSCM's <a href="/php/scm_man.php?file=lib/Clearcase.pm">Clearquest</a>
   module. Also utilized <a href="/php/scm_man.php?file=lib/Clearquest/Server.pm">Clearquest::Server<a/>,
-  <a href="/php/scm_man.php?file=lib/Clearquest/Client.pm">Clearquest::Client</a> 
+  <a href="/php/scm_man.php?file=lib/Clearquest/Client.pm">Clearquest::Client</a>
   and <a href="/php/scm_man.php?file=lib/Clearquest/REST.pm">Clearquest::REST</a> modules.</p>
-  
-  <p>Worked with <a href="http://www.electric-cloud.com/products/electriccommander.php">Electric 
+
+  <p>Worked with <a href="http://www.electric-cloud.com/products/electriccommander.php">Electric
   Commander</a> migrating a group from their unsupported build environment into
   the standard Electric Commander based solution. This involved using Cygwin,
   bash and LSF to farm builds out to a pool of Windows servers to perform builds.
   Builds were down using Visual Studio 8.0, 9.0 and 10.0. Build system also used
   Perforce and Perforce trigger to fire builds as the engineers checked in code.</p>
-  
+
   <p>Implemented Perl module, <a href="/php/scm_man.php?file=lib/Clearquest/REST.pm">Clearquest::REST</a>,
   to replace a <a href="http://clearscm.com/clearquest/cqd/">Clearquest Daemon</a>
   that was in use so that systems that did not have Clearquest installed (e.g.
   Linux build machines) could talk to Clearquest to update defects when required.
   Modified Perforce and Git triggers to use this REST interface.</p>
-  
+
   <p>Served as a mentor to the group on issues of programming in Perl as well as
   using and configuring Eclipse IDE.</p>
 
   <hr noshade>
-  
+
   <p><a href="http://www.tellabs.com"><img src="Tellabs.gif" alt="Tellabs" border="0"></a></p>
 
   <p>March 2011 - December 2011<br>
index 0b996dd..58882ab 100755 (executable)
Binary files a/web/Resumes/Ron/Resume.doc and b/web/Resumes/Ron/Resume.doc differ
index ff9aeed..3b92117 100755 (executable)
   <div id="content">
     <?php start_box ("cs2")?>
       <h2><a href="http://penwin.net">Ron Van Scherpe</a></h2>
-      <p style="text-align:center">1225 Vienna Drive #157<br>
-      Sunnyvale, California 94089<br>
-      (650) 722-0759<br>
-      Email: <a href="mailto:rvanscherpe@gmail.com">rvanscherpe@gmail.com</a>
+      <p style="text-align:center">Email: <a href="mailto:rvanscherpe@gmail.com">rvanscherpe@gmail.com</a>
 
       <p style="text-align:center"><a href="Resume.doc">MS Word format</a></p>
 
index c04bb9a..0be1847 100755 (executable)
@@ -5,6 +5,7 @@
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <meta name="GENERATOR" content="Mozilla/4.61 [en] (Win98; U) [Netscape]">
   <meta name="verify-v1" content="zmJmtrlhCOjGAk5w/JcwHaDsI3gxxRug9f4Vcl8YftU=" />
+  <meta name="google-site-verification" content="zkTOHKQ7DzVWZ4QCw33m9wJb6-FSRWEIlZhEKwVl6is" />
 
   <title>ClearSCM</title>
 
diff --git a/web/robots.txt b/web/robots.txt
new file mode 100644 (file)
index 0000000..4f83a2b
--- /dev/null
@@ -0,0 +1,59 @@
+# Robots.txt: Configure which spiders can crawl this site
+
+# Why is this server crawling my site?
+User-agent: panscient_data_services.demarc.cogentco.com
+Disallow: /
+User-agent: Inktomi
+Disallow: /
+User-agent: BaiDuSpider
+Disallow: /
+User-agent: crawl
+Disallow: /
+User-agent: GigaBot
+Disallow: /
+User-agent: arks
+Disallow: /
+User-agent: EchO!
+Disallow: /
+User-agent: Viola
+Disallow: /
+User-agent: hit
+Disallow: /
+User-agent: WISENutbot
+Disallow: /
+User-agent: BBot
+Disallow: /
+User-agent: spider
+Disallow: /
+User-agent: psbot
+Disallow: /
+User-agent: SurveyBot
+Disallow: /
+
+# Allow all others not listed above
+User-agent: *
+Disallow: /Backgrounds
+Disallow: /bin
+Disallow: /binme
+Disallow: /doc
+Disallow: /Fonts
+Disallow: /gallery
+Disallow: /Icons
+Disallow: /Images
+Disallow: /INS
+Disallow: /Legal
+Disallow: /msoffice
+Disallow: /Music
+Disallow: /Olga
+Disallow: /Personal
+Disallow: /Pictures
+Disallow: /Senators
+Disallow: /Software
+Disallow: /Sounds
+Disallow: /Warsaw
+Disallow: /Wedding
+Disallow: /jinzora
+Disallow: /jinzora2
+Disallow: /blogs/Status
+Disallow: /IBM
+Disallow: /Broadcom