[Submitter's note: Submitted for the sheer irony emanating from our
"sensetive" friend.]
Fhowrpg: Er: Jung unccraf jura lbh qvqa'g trg rabhtu fyrrc...
Sebz: Puevfwbl <hygenyvor...@tznvy.pbz>
Arjftebhcf: pbzc.bf.yvahk.zvfp, pnz.zvfp
Ba 6 Znv, 18:20, Wba Terra <wb...@qrnqfcnz.pbz> jebgr:
> Puevfwbl jebgr:
> > Ba 6 Znv, 17:50, Wba Terra <wb...@qrnqfcnz.pbz> jebgr:
> >> Puevfwbl jebgr:
> >>> Vf vg sha gb or n qhzo shpx hanoyr gb nqzvg lbhe yvrf?
> >> Pna lbh fnl "bire-ernpgvba"?
>
> > Lrf, naq V pna fnl "frafrgvir gb ohyyfuvg" gbb.
>
> Ohg lbh pna'g fcryy vg...
Ubj qb lbh xabj, qhzo shpx?
#!/usr/bin/perl
# work is a program created specifically for the moderators of the newsgroup
# alt.humor.best-of-usenet, designed to make their job easier by removing
# many of the repetitive lines found in headers and properly format the
# 'From:' 'Subject:' 'Message-ID:' and 'Newsgroups:' headers.
#
# Usage: work <filename>
#
# Algo: checks for existence of <filename>, strips unnecessary headers,
# formats the appropriate headers properly (one hopes) and places the
# results in a file named 'art'. Moves <filename> to the directory
# 'PROCESSED', and opens up pico to edit the newly-created file.
#
# Created by: Shane H. W. Travis (contact me via the ahbou-mod list:
# ahbo...@mit.edu)
#########################################################################
# This section sets up arrays which are used later in the program.
%message = (
'No_From', '*** ERROR: Not enough \'From:\' headers.',
'No_Subject', '*** ERROR: One or both \'Subject:\' lines are blank.',
'No_Newsgroup', '*** ERROR: The \'Newsgroups:\' line is blank.',
'No_Msg_ID', '*** ERROR: The \'Message-ID:\' line is blank.',
'Extra_From', '*** WARNING: Too many \'From:\' headers. Be sure to use the right ones.',
'Extra_Msg_ID', '*** WARNING: Too many \'Message-ID:\'s. Be sure to use the right ones.',
'X_No_Archive', 'X-No-Archive header encountered: bailing out.',
'X_No_ahbou', 'X-No-ahbou header encountered: bailing out.',
);
#############################################################################
# If you come across more undesired headers, they can be added to this array;
# just follow the formatting found here. You should also let the rest of the
# moderators know what you've added, so that later versions of the program
# can be modified, and everyone is using the same script.
# NOTE: Some headers (notably 'Organization:') have been deliberately left
# in, even though they aren't part of the necessary headers. This is because
# they are occasionally custom-formatted and humorous.
@unwanted_headers = (
'Approved:',
'Article:',
'Cache-Post-Path:',
'Content-Length:',
'Content-Transfer-Encoding:',
'Content-Type:',
'Date:',
'Distribution:',
'Expires:',
'In-Reply-To:',
'Lines:',
'MIME-Version:',
'NNTP-Posting-Host:',
'Originator:',
'Path:',
'Precedence:',
'Received-Date:',
'References:',
'Reply-To:',
'Sender:',
'Status:',
'Supersedes:',
'To:',
'X-Admin:',
'X-Article-Creation-Date:',
'X-Auth:',
'X-Comment-To:',
'X-Complaints-To:',
'X-Http-User-Agent:',
'X-Ident-Sender:',
'X-Mail2News-Path:',
'X-Mailer:',
'X-MimeOLE:',
'X-NETCOM-Date:',
'X-Notice:',
'X-NNTP-Posting-Host:',
'X-Newsreader:',
'X-PipeGCOS:',
'X-PipeHub:',
'X-PipeUser:',
'X-Posted-By:',
'X-Poster:',
'X-Priority:',
'X-Sender:',
'X-Trace:',
'X-URL:',
'Xref:',
'cc:',
'Start of Forwarded Message',
'End of Forwarded Message',
'Cut Here',
'Forwarded Message Follows',
);
###########################################################################
# Begin the actual program
#
open (IN, @ARGV[0]) || die "Cannot find or open $ARGV[0]. $!\n";
open (OUT, ">art") || die "Cannot open 'art' for writing. $!\n";
###########################################################################
# If we encounter either the X-No-Archive header or the X-No-Ahbou header,
# bail out and do not process anything else on this article.
$seen_blank = 0;
LINE1:
while ($line = <IN>) # reading lines in one at a time
{
if ($line =~ /^\s*\[\s*(\S+:.*?)\s*[\]=]\s*$/) {
$line = $1 . "\n";
}
$seen_blank && ($line =~ /^\ *\>*\ *X-No-Archive:\ *Yes\n/i)
&& die "$message{X_No_Archive}\n";
$seen_blank && ($line =~ /^\ *\>*\ *X-No-ahbou:\ *Yes/i)
&& die "$message{X_No_ahbou}\n";
###########################################################################
# Read through the submission, storing all the necessary information from
# the needed headers for later processing.
if ($line =~ /^\ *\>*\ *Newsgroups:\ *([a-z0-9\.\-\_\+]*),?(.*)\n/)
{
$NEWSGROUP = $1;
@OTHERGROUPS = split(/,/,$2);
next LINE1;
}
if ($line =~ /^\ *\>*\ *(F|=46)rom: (.*)\n/)
{
push (@FROM_ARRAY, $2);
next LINE1;
}
if ($line =~ /^\ *\>*\ *Subject:*\ (.*)\n/)
{
@SUB_ARRAY = split(' ',$1);
$SUBJECT = join (' ', @SUB_ARRAY);
next LINE1;
}
if ($seen_blank && $line =~ /^\ *\>*\ *Message-ID: <(.*)>/i)
{
push (@MSG_ARRAY, $1);
next LINE1;
}
$seen_blank = 1 if ($line =~ /^\s*$/);
}
close(IN); # Have to close it, as we open it for reading again below
#######################################################################
# Print the posting headers to the output file, properly formatted.
print (OUT "From: $FROM_ARRAY[0]\n");
print (OUT "Subject: [$NEWSGROUP] $SUBJECT\n");
foreach $msg_id (@MSG_ARRAY)
{
print (OUT "Message-ID: <ahbou=$msg_id>\n");
}
print (OUT "\n");
#######################################################################
# Print the 'Subject:' and 'From:' attribution headers to the output
# file, properly formatted.
$num_words = @SUB_ARRAY;
$next_word = '';
$space = " ";
$line_length = 68; # First time through, we set it to 68 so
# that it fits after 'Subject:' - after
# that it gets set to 76 (below)
$subject_line = shift @SUB_ARRAY;
print (OUT "Subject:");
foreach $i (1 .. $num_words)
{
$next_word = shift @SUB_ARRAY;
$subject_line = $subject_line.$space;
if ( (length($subject_line.$next_word)) <= $line_length )
{
$subject_line = $subject_line.$next_word;
}
else
{
print(OUT " $subject_line\n");
$subject_line = $next_word;
$line_length = 76;
}
}
print (OUT " $subject_line\n");
print (OUT "From: $FROM_ARRAY[1]\n");
######################################################################
# Deal with all the Newsgroups, including any extra after the first.
$num_newsgroups = @OTHERGROUPS;
$next_group = '';
$comma = ", ";
$line_length = 66; # First time through, we set it to 66 so that
# it fits after 'Newsgroups:' - after that
# it gets set to 76 (below)
$newsgroup_line = $NEWSGROUP;
print (OUT "Newsgroups:");
foreach $i (1 .. $num_newsgroups)
{
$next_group = shift @OTHERGROUPS;
$newsgroup_line = $newsgroup_line.$comma;
if ( (length($newsgroup_line.$next_group)) <= $line_length )
{
$newsgroup_line = $newsgroup_line.$next_group;
}
else
{
print(OUT " $newsgroup_line\n");
$newsgroup_line = $next_group;
$line_length = 76;
}
}
print (OUT " $newsgroup_line\n\n");
#########################################################################
# Check for any errors caused by irregularly formatted submissions and
# raise the appropriate warning or error message.
(@FROM_ARRAY < 2) && print (OUT "$message{No_From}\n");
(@FROM_ARRAY > 2) && print (OUT "$message{Extra_From}\n");
($SUBJECT eq '' || $subject_line eq '') && print (OUT "$message{No_Subject}\n");
($NEWSGROUP eq '') && print (OUT "$message{No_Newsgroup}\n");
(@MSG_ARRAY < 1) && print (OUT "$message{No_Msg_ID}\n");
(@MSG_ARRAY > 1) && print (OUT "$message{Extra_Msg_ID}\n");
print (OUT "$!\n");
##########################################################################
# Having retrieved (and printed out) the proper headers on the first pass
# through, eliminate all the extraneous headers on the second pass.
open (IN, @ARGV[0]) || die "Cannot find or open $ARGV[0]. $!\n";
##########################################################################
# Look for certain patterns that start a line; if found, do not write
# that line to the output file.
# If it isn't an unnecessary header line, print it out intact.
LINE2:
while ($line = <IN>) # reading lines in one at a time
{
foreach $item (@unwanted_headers)
{
if ($line =~ /^\>*$item/i)
{
next LINE2;
}
elsif ($line =~ /^\>*-* $item/i)
{
next LINE2;
}
}
print(OUT $line);
}
close(IN);
close(OUT);
##########################################################################
# Now that the 'art' file is completed, move the edited submission to the
# PROCESSED directory. NOTE: This assumes that the PROCESSED directory
# is directly below the directory in which 'work' is located. If this is
# not the case, add the absolute pathname of your PROCESSED directory
# in front of 'PROCESSED' in the statement below.
rename ($ARGV[0], "PROCESSED/$ARGV[0]");
############################################################################
# I use pico as a text-editor because it works in text-only environments and
# on a VT100 terminal type. (I cannot get X-Windows through my dial-up, so
# no emacs available.) Substitute whatever you use here in its place.
exec($ENV{VISUAL} || $ENV{EDITOR} || 'vi', 'art');
exit(0)
X-From-Line: imap Thu May 21 12:19:42 2009
Return-Path: <a...@bees-knees.mit.edu>
Received: from po12.mit.edu ([unix socket])
by po12.mit.edu (Cyrus v2.1.5) with LMTP; Thu, 21 May 2009 12:15:46 -0400
X-Sieve: CMU Sieve 2.2
Received: from pacific-carrier-annex.mit.edu by po12.mit.edu (8.13.6/4.7) id n4LGFhfh013786; Thu, 21 May 2009 12:15:43 -0400 (EDT)
Received: from mit.edu (W92-130-BARRACUDA-1.MIT.EDU [18.7.21.220])
by pacific-carrier-annex.mit.edu (8.13.6/8.9.2) with ESMTP id n4LGFZ2o023558
for <a...@mit.edu>; Thu, 21 May 2009 12:15:35 -0400 (EDT)
Received: from alum-mailsec-relay-5.mit.edu (localhost [127.0.0.1])
by mit.edu (Spam Firewall) with ESMTP id 91DF7E8A2A6
for <a...@mit.edu>; Thu, 21 May 2009 12:15:34 -0400 (EDT)
Received: from alum-mailsec-relay-5.mit.edu (ALUM-MAILSEC-RELAY-5.MIT.EDU [18.7.68.25]) by mit.edu with ESMTP id adX1bUauxE1mMKN8 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for <a...@mit.edu>; Thu, 21 May 2009 12:15:34 -0400 (EDT)
X-Barracuda-RBL-Trusted-Forwarder: 18.7.68.25
Received: from alum-mailsec-scanner-8.mit.edu (ALUM-MAILSEC-SCANNER-8.MIT.EDU [18.7.68.20])
by alum-mailsec-relay-5.mit.edu (8.13.8/8.12.8) with ESMTP id n4LGFPBd008867
for <a...@alum-mailsec.mit.edu>; Thu, 21 May 2009 12:15:34 -0400
X-AuditID: 12074414-b7bfaae0000049d2-be-4a157e26373d
Received: from alum-1.mit.edu (ALUM-1.MIT.EDU [18.7.7.79])
by alum-mailsec-scanner-8.mit.edu (Symantec Brightmail Gateway) with SMTP id 56.5D.18898.62E751A4; Thu, 21 May 2009 12:15:34 -0400 (EDT)
Received: from bees-knees.mit.edu (BEES-KNEES.MIT.EDU [18.181.0.167])
by alum-1.mit.edu (8.13.6/8.12.8) with ESMTP id n4LGEUHL002656
for <a...@alum.mit.edu>; Thu, 21 May 2009 12:15:01 -0400 (EDT)
Received: from bees-knees.mit.edu (localhost.localdomain [127.0.0.1])
by bees-knees.mit.edu (Postfix) with ESMTP id 1A9A474091
for <a...@alum.mit.edu>; Thu, 21 May 2009 12:14:30 -0400 (EDT)
Received: (from amu@localhost)
by bees-knees.mit.edu (8.14.2/8.14.2/Submit) id n4LGETXO023416
for Aaron M. Ucko <a...@alum.mit.edu>; Thu, 21 May 2009 12:14:29 -0400
X-Original-To: amu+ah...@scripts.mit.edu
Delivered-To: amu+ah...@scripts.mit.edu
Received: from fort-point-station.mit.edu (FORT-POINT-STATION.MIT.EDU [18.7.7.76])
by bees-knees.mit.edu (Postfix) with ESMTP id 681D47408F
for <amu+ah...@scripts.mit.edu>; Thu, 21 May 2009 12:14:29 -0400 (EDT)
Received: from mit.edu (M24-004-BARRACUDA-1.MIT.EDU [18.7.7.111])
by fort-point-station.mit.edu (8.13.6/8.9.2) with ESMTP id n4LGELbZ022256
for <ahbo...@mit.edu>; Thu, 21 May 2009 12:14:21 -0400 (EDT)
Received: from cowpens.ceas.rochester.edu (localhost [127.0.0.1])
by mit.edu (Spam Firewall) with ESMTP id 2B1211D2F9A9
for <ahbo...@mit.edu>; Thu, 21 May 2009 12:13:36 -0400 (EDT)
Received: from cowpens.ceas.rochester.edu (cowpens.ceas.rochester.edu [128.151.162.25]) by mit.edu with ESMTP id bO3sMWMocdJTvm2U for <ahbo...@mit.edu>; Thu, 21 May 2009 12:13:35 -0400 (EDT)
Received: from harn.ceas.rochester.edu (j...@harn.ceas.rochester.edu [128.151.162.4])
by cowpens.ceas.rochester.edu (8.13.6/8.13.6) with ESMTP id n4LGDZN9016834
for <ahbo...@mit.edu>; Thu, 21 May 2009 12:13:35 -0400 (EDT)
Received: by harn.ceas.rochester.edu (8.13.1/8.13.1/Submit) id n4LGDZs9028713
for ahbo...@mit.edu; Thu, 21 May 2009 12:13:35 -0400 (EDT)
X-Gnus-Mail-Source: imap:po12.mit.edu:INBOX
Message-Id: <200905211613....@harn.ceas.rochester.edu>
From: j...@seas.rochester.edu (Jim Prescott)
Date: Thu, 21 May 2009 12:13:35 EDT
Reply-To: Jim Prescott <j...@seas.rochester.edu>
X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98)
To: ahbo...@mit.edu
X-Spam-Score: 1.29
X-Spam-Level: * (1.29)
X-Spam-Flag: NO
X-Scanned-By: MIMEDefang 2.42
X-Brightmail-Tracker: AAAAAg71q+0O9rQR
Lines: 40
Xref: vinegar-pot.mit.edu list.ahbou.sub:7565
Path: news.cc.rochester.edu!nntp1.roc.gblx.net!nntp.gblx.net!nntp.gblx.net!newsfeed.yul.equant.net!newspeer.monmouth.com!newsfeed1.swip.net!feeder.motzarella.org!news.motzarella.org!news.eternal-september.org!not-for-mail
From: Opus the Penguin <opusthepen...@gmail.com>
Newsgroups: alt.fan.cecil-adams
Subject: Re: Most watery view of earth
Date: Thu, 21 May 2009 14:55:02 +0000 (UTC)
Organization: Bloom County Meadow Party
Lines: 19
Message-ID: <Xns9C126466092B7op...@127.0.0.1>
References: <guvmj1$i61$1...@news.eternal-september.org> <I7-dndReqZAZvYnX...@vex.net> <4A142E71...@sonnnic.invalid> <77jkfkF...@mid.individual.net> <4a14c040$0$20000$ed36...@nr5-q3a.newsreader.com> <gv2ujq$bcs$1...@news.eternal-september.org> <5opa15lr7fd4uns51...@4ax.com>
X-Trace: news.eternal-september.org U2FsdGVkX1+3TeLJbyvWRIG494Z1v8BVT3Hioe2ATxOPl2xjxeEYeJNF6RovrbkOTPczwihwd6o9V9PZvzaeL4R9Z/aImXItLVf61Krg9Zvps6c2+psOyd3kuxn/c524V07m3zSwTuXw/zekNKjj1D2wXMTAcFEM
X-Complaints-To: ab...@eternal-september.org
NNTP-Posting-Date: Thu, 21 May 2009 14:55:02 +0000 (UTC)
X-Auth-Sender: U2FsdGVkX19Y8ipSXXsLgPoE7kRckp5PVluq3puZCn1IGFL/FHlUA5HNOstSawuz
X-Face: "g,l7UC-}RBEwq5bUPKlF,x&e>0%@pvP<e3(RM>AO*_\kk>E-;4ZvFMWdqD<&_m9?I5tp{~LkDT!Tv-]yfH#(><,fds;tAh%n6RdsMY}Lhg"KZ;:;zs]aSboB0K~N;Z*+yqQa2X.n(2zqW'zw)U_\Q-o>A/(0)M3#){6`!h3,|/4.7
Cancel-Lock: sha1:jz3FGTD62VuMS2J+Lh5V4Mbg44Q=
User-Agent: Xnews/5.04.25 Hamster/2.1.0.11
Xref: news.cc.rochester.edu alt.fan.cecil-adams:1454936
Peter Boulding (pjbn...@UNSPAMpboulding.co.uk) wrote:
> On Thu, 21 May 2009 17:07:35 +1000, Killawarra <xom...@gmail.com>
> wrote in <gv2ujq$bcs$1...@news.eternal-september.org>:
>
>>The center point of the max-water-view may
>>even be on land! (Maybe even on Penrhyn Is. if so I'll go there
>>and plant an AFC-A flag.)
>
> That's a thought. What does the AFCA flag look like?
>
>
It features a hoard of geeks beating a question mark, and sometimes
each other, to death.
--
Opus the Penguin
I love being an evil influence. - Lesmond
--
Moderators accept or reject articles based solely on the criteria posted
in the Frequently Asked Questions. Article content is the responsibility
of the submitter. Submit articles to ahbo...@mit.edu. To write to the
moderators, send mail to ahbo...@mit.edu.