<?xml version="1.0" encoding="windows-1252"?>
<node id="360256" title="sauoq's scratchpad" created="2004-06-03 12:33:03" updated="2005-08-12 11:13:40">
<type id="182711">
scratchpad</type>
<author id="182681">
sauoq</author>
<data>
<field name="doctext">
&lt;h3&gt;cblogparser for [castaway] &lt;em&gt;(Thanks!)&lt;/em&gt;&lt;/h3&gt;
&lt;code&gt;
#!/usr/bin/perl -w
use strict;


@ARGV = grep { !/^\s*\||\|\s*$/ } @ARGV;    # Don't allow pipes.

use Getopt::Std;
my %opt;
getopts('t', \%opt);
my $TIMESTAMPS = $opt{ t };

die "Usage: $0 [-t] file ...\n    -t  Add timestamps.\n" unless @ARGV;

require Text::Wrap;

while ( my $line = &lt;&gt; ) {
    $line .= $_ until ($_ = &lt;&gt;) =~ /^\s*\];/; # Append lines until we find end.
    $line .= $_;                              # Append that last line.
    $line =~ s/^[^[]*//;                      # Prep for eval'ing.

    my $aref = eval $line;
    die $@ if $@;

    pretty_print_message($_) for (@$aref);

}

sub pretty_print_message {
    my $msg = shift;
    my $txt = $msg-&gt;{ text };
    my $out = $TIMESTAMPS ? "[$msg-&gt;{ time }] " : '';
    $txt =~ s/&amp;(lt|gt|amp);/${{lt =&gt; '&lt;', gt =&gt; '&gt;', amp =&gt; '&amp;'}}{$1}/g;

    unless ( $txt =~ s!^/me !! ) {
        $out .= "&lt;$msg-&gt;{ author }&gt; ";
    } else {
        $out .= "* $msg-&gt;{ author } ";
    }

    my $indent = length $out;

    $out .= $txt;
    print Text::Wrap::wrap('', ' ' x $indent, $out), "\n";
}
&lt;/code&gt;


&lt;hr&gt;
&lt;h2&gt;Closure Games&lt;/h2&gt;
&lt;p&gt;An example of a closure returning a reference so it can sort of be used as an lvalue. (Note that I don't necessarily recommend this technique for anything in particular. No matter what the problem is, it is like there is a better way to do it than like this... :-)&lt;/p&gt;

&lt;code&gt;
{
    my $c = 0; 
    sub counter { $c++; \$c } 
}

print ${counter()}, "\n" for 1..3;
${counter()} = 0;  
print ${counter()}, "\n" for 1..3;
${counter()} = 99; 
print ${counter()}, "\n" for 1..3;
&lt;/code&gt; 

&lt;p&gt;And here's an example of generating closures which return refs to their data so that they can be sort of be used as lvalues...&lt;/p&gt;

&lt;code&gt;
# Use a sub to generate closures to be used as settable counters.
sub new_counter {
    my $c = 0;
    sub { $c++; \$c }
}

my $c1 = new_counter;
print '$c1: ' . ${$c1-&gt;()}, "\n" for 1..3;
${$c1-&gt;()} = 0;
print '$c1: ' . ${$c1-&gt;()}, "\n" for 1..3;
${$c1-&gt;()} = 99;
print '$c1: ' . ${$c1-&gt;()}, "\n" for 1..3;


# Slightly less unwieldy syntax...
my $c2 = new_counter;
print '$c2: ' . ${&amp;$c2}, "\n" for 1..3;
${&amp;$c2} = 0;
print '$c2: ' . ${&amp;$c2}, "\n" for 1..3;
${&amp;$c2} = 99;
print '$c2: ' . ${&amp;$c2}, "\n" for 1..3;
&lt;/code&gt;

&lt;p&gt;Make the closure an lvalue anonymous sub and return the scalar rather than a reference to it and you can manufacture settable counters that have an even nicer syntax...&lt;/p&gt;

&lt;code&gt; 
sub new_lvalue_counter { 
    my $c = 0; 
    return sub : lvalue { $c++; $c } 
}

my $c3 = new_lvalue_counter;
print &amp;$c3, "\n" for 1..3;
&amp;$c3 = 10;
print &amp;$c3, "\n" for 1..3;
&lt;/code&gt;

&lt;p&gt;So. That's not as neat as a straight lvalue sub, but it gives you as many as you want.... Here's another way to get more than one (with all of the neatness of using a single lvalue sub) but with some additional maintenance problems:&lt;/p&gt;

&lt;code&gt;
{
    my @c;
    sub counter : lvalue { my $i = shift; $c[$i]++; $c[$i] }
}

print counter(0), "\n" for 1..3;
counter(0) = 10;
print counter(1), "\n" for 1..3;
counter(1) = 100;
print counter(0), "\n";
print counter(1), "\n";
&lt;/code&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;The code:&lt;/strong&gt;&lt;/p&gt;

&lt;code&gt;
#!/usr/bin/perl -wl
use strict;

my @good = qw( 0e0 0 +0 -0 1.  0.14 .14 1.24e5 24e5 -24e-5);
my @bad = ('', qw( 2.3.  2.3.4 1..2 .1.1 a.1 a1.1 .1a 1.a 1.1a 1a.1 1.a1));

my $pattern = qr!
    [+-]?
    (?: \d*? )?
    (?: (?&lt;=\d)\.? | \.?(?=\d) )
    (?: \d*?)?
    (?: \d[Ee] (?: [+-]?\d+ ) )?
!ox;

print 'GOOD Tests';
print /$pattern/ ? '   ': 'no ', "match: '$_'" for @good;
print 'BAD Tests';
print /$pattern/ ? '   ': 'no ', "match: '$_'" for @bad;
&lt;/code&gt;

&lt;p&gt;&lt;strong&gt;And the output:&lt;/strong&gt;&lt;/p&gt;
&lt;code&gt; 
GOOD Tests
   match: '0e0'
   match: '0'
   match: '+0'
   match: '-0'
   match: '1.'
   match: '0.14'
   match: '.14'
   match: '1.24e5'
   match: '24e5'
   match: '-24e-5'
BAD Tests
no match: ''
   match: '2.3.'
   match: '2.3.4'
   match: '1..2'
   match: '.1.1'
   match: 'a.1'
   match: 'a1.1'
   match: '.1a'
   match: '1.a'
   match: '1.1a'
   match: '1a.1'
   match: '1.a1'
&lt;/code&gt;

&lt;hr&gt;
[http://tinymicros.com/pm/index.php?goto=MainPage|Monk Statistics]

&lt;br /&gt;&lt;a HREF="/index.pl?node_id=26248"&gt;RE: RE: RE: Proposed XP System Changes&lt;/a&gt;
&lt;br /&gt;&lt;a HREF="/index.pl?node_id=3989"&gt;Super Search&lt;/a&gt;
&lt;br /&gt;&lt;a HREF="/index.pl?node_id=18207"&gt;Thoughts on voting and reputations&lt;/a&gt;
&lt;br /&gt;&lt;a HREF="/index.pl?node_id=167147"&gt;Front Page with Negative Rep..&lt;/a&gt;

&lt;hr&gt;
&lt;code&gt;
&lt;S_Shrum&gt; our?  never seen that one...Kewl...I'll research and implement if
          that does the trick...thanks
&lt;submersible_toaster&gt; think of it as our package var , and  my lexical var
&lt;submersible_toaster&gt; anyone fighting the good fight with Mail::IMAPClient
                      ?
&lt;PodMaster&gt; [Tutorials]
* S_Shrum wonders why anyone would buy a submersible toaster?  Hmmmm.....
* kodo thinks about if he ever used our but can't remember a single case
&lt;submersible_toaster&gt; [PodMaster] was that directed at me, ?
                      &lt;i&gt;Tutorials&lt;/i&gt;
&lt;S_Shrum&gt; bo yea! That works!
&lt;S_Shrum&gt; makes sense...my / our...I use MY all the time...shoulda just
          guessed
&lt;PodMaster&gt; no ~ s_shrum
&lt;3dan&gt; [id://105446] is a good place for further reading
&lt;sauoq&gt; [submersible_toaster] Better to think of it as "our lexically
        scoped global variable"
&lt;submersible_toaster&gt; but when does it go out of scope ?
&lt;graq&gt; Does anyone know any nice examples of modules that use DBI to setup
       database modules for use in CGI scripts?
&lt;sauoq&gt; Well, outside of use strict vars, there is really no reason for
        it... it doesn't exactly go out of scope... It just requires a
        package name when it isn't in the scope of the our decl.
&lt;sauoq&gt; [submersible_toaster]: &amp;lt;code&amp;gt;perl -Mstrict -wle '{our $foo=1} prin
t
        $foo'&amp;lt;/code&amp;gt;
&lt;sauoq&gt; Then try the same thing, but &amp;lt;code&amp;gt;print $main::foo&amp;lt;/code&amp;gt;
&lt;sauoq&gt; And if you are starting to wonder what "our" is good for... read
        [Why is 'our' good?] ... you're in good company. :-)
&lt;submersible_toaster&gt; ahHAH!
&lt;submersible_toaster&gt; ++[sauoq] thankyou for clearing that up.
&lt;submersible_toaster&gt; What is our good for. I could make a recommendation
                      for Mail::IMAPClient but I am yet to determine
                      exactly WTF is going on in there.
&lt;merlyn&gt; "our" is a lexical declaration for package variables
&lt;merlyn&gt; I talk about that in my alpaca book
&lt;theorbtwo&gt; [merlyn], do you come up with any place where our is better
            then use vars, other then that the syntax is closer to my?
&lt;sauoq&gt; all paco book?
&lt;merlyn&gt; better in that it can initialize, yes.
&lt;sauoq&gt; err [paco]?
* theorbtwo notes that alpaca yarn is sooo sooooft.
* theorbtwo starts to read the sample chapter, and chokes when the very
            first paragraph implies that a reference isn't a scalar pretty
            firmly.
* 3dan tries to remove the alpaca hairball from [theorbtwo]'s throat
&lt;merlyn&gt; where's that?
&lt;theorbtwo&gt; Uh, 3ch, in the two introductory paragraphs.  (I'd quote, but
            I'd just be quoting the whole para anyway.)
&lt;Alexander&gt; i cannot remember - can i print an entire array to a file with
            just &amp;lt;code&amp;gt;print FILE @array;&amp;lt;/code&amp;gt; --?
&lt;sauoq&gt; Well, you say that it isn't a job for one of those three... it's a
        job for a reference. (or similar.) It's obvious to me that you just
        dumbed it down a bit. Pedantry isn't always good for learning.
&lt;castaway&gt; yes you can
&lt;Alexander&gt; :-)
&lt;kodo&gt; Alexander: yes but why don't you try it out yourself?
&lt;Arguile&gt; "A reference fits wherever a scalar fits. It can go..." Pg.7 P3
&lt;Alexander&gt; because this is the last thing i need add to the script before
            it is complete and i can goto bed
&lt;merlyn&gt; right.  I think I go to great pains to be the opposite of what
         [theorbtwo] is noting
&lt;Arguile&gt; I'd say making that distinction is probably good for a learning
          book.
* theorbtwo shrugs.
&lt;merlyn&gt; A reference is not a scalar, but merely fits wherever a scalar
         fits.
&lt;merlyn&gt; well, almost everywhere.  it can't be the key of a hash
&lt;theorbtwo&gt; I'd instead say that a reference is a special type of scalar.
&lt;merlyn&gt; [theorbtwo] - what precisely is your problem?
&lt;merlyn&gt; No, it's not a special type of scalar.
&lt;sauoq&gt; Well, I do see how it could read that way... Saying a reference can
        go wherever a scalar goes falls just a tad short of saying "because
        a reference is in fact a scalar." But I'm sure you say that
        somewhere later... You do, right?
&lt;merlyn&gt; it's not quite a scalar.  it's neither a string nor a number nor
         undef.
&lt;castaway&gt; (neither can some scalars .9
&lt;merlyn&gt; a reference is &lt;i&gt;not&lt;/i&gt; a scalar.  every.
&lt;merlyn&gt; errr "ever"
&lt;merlyn&gt; a scalar can be used as a hash key, for example.
&lt;merlyn&gt; equating references with scalars is more damaging than useful
&lt;theorbtwo&gt; No, a string can be used as a hash key.  References can't,
            because while they are scalars, they aren't strings.
&lt;castaway&gt; with binary data?
&lt;merlyn&gt; but "a reference fits nearly everywhere a scalar fits" gives a
         useful storage model
&lt;merlyn&gt; I think you have been misled, [theorbtwo]
&lt;theorbtwo&gt; (Trying to use undef as a hash key results in actualy using the
            empty string, it appears.)
&lt;merlyn&gt; i don't know anyone on P5P that would say "a reference &lt;i&gt;is&lt;/i&gt; a
         scalar"
&lt;sauoq&gt; "A scalar may contain one single value in any of three different
        flavors: a number, a string, or a reference."
&lt;merlyn&gt; undef as a hash key uses "" instead, yes.
&lt;sauoq&gt; Quoting from [perldoc://perldata]...
* castaway quotes the Camel on scalars: A scalar always contains a single
           value. This may be a number, string, or a reference to another
           piece of data.
&lt;theorbtwo&gt; I simply state the rule as "a hash key is a string, not a
            scalar", which rules out refs and undefs nicely, and leaves a
            clean mental model.
* castaway grins at [sauoq]
&lt;merlyn&gt; I'm trying to capture the semantics, but perhaps not using the
         terminology that casual usage would lead you to, perhaps.
* sauoq notes that's because hash keys are stringified... that happens with
        references too.
&lt;merlyn&gt; I don't necessarily view the Camel as the final definition of
         terminology.  I use usage on P5P instead.
&lt;sauoq&gt; And you can use them as hash keys... you just can't use hash keys
        as references.
&lt;theorbtwo&gt; Oh.  I use usage here, more or less, but mostly what makes
            sense to me.
&lt;merlyn&gt; in any event, I'm presenting a model for learning.  that should
         not get in your way... just move along...
&lt;theorbtwo&gt; And what produces expectation most in line with what
            &amp;lt;code&amp;gt;perl&amp;lt;/code&amp;gt; does.
&lt;sauoq&gt; Why? Because hash keys always hold "strings." Not numbers, not
        scalars, not references... strings.
* theorbtwo shrugs -- no matter how good the Alpaca was, I wouldn't buy it
            -- it doesn't attempt to teach material not in Camel, which I
            have, and like.
&lt;merlyn&gt; [theorbtwo] - fine, that's not a tutorial book for you. and I bet
         you didn't use the llama either.  but both of them are useful for
         people that are not as smart as you
&lt;sauoq&gt; I might have bought it several years ago had it been out then... I
        think I've probably mastered the material pretty well by now
        though. :-)
&lt;Arguile&gt; I don't equate Alpca (from what I've seen of it) with Camel at
          all. Camel is a reference + some explanation. Alpaca == tutorial
          (correct me if I'm wrong [merlyn]).
&lt;merlyn&gt; many thousands - no millions, of people have found the llama
         useful.  I suspect most of them will find the alpaca useful too.
&lt;merlyn&gt; yes, the camel is a reference book. the llama + alpaca = tutorial
         books
&lt;theorbtwo&gt; Sorry, [merlyn].  I don't mean to diss your teaching style;
            it's just different then mine.
* sauoq has the pink llama on his shelf... It was the first book I bought
        on perl. And thank you [merlyn] for a gentle introduction... (and
        you're welcome... because I did -purchase- the book. ;-)
&lt;merlyn&gt; there's nothing in the llama and alpaca that isn't covered in the
         camel - but just in a different way.
&lt;sauoq&gt; I have the pink camel on my shelf too. I got that about a week
        later.
&lt;merlyn&gt; and nearly everyone who has learned Perl seems to have learned it
         from the llama.  that's cool froeme.
&lt;theorbtwo&gt; Noddage, [merlyn].  I wouldn't say that the camel isn't a
            tutorial, just not a tutorial for beginning programmers.
&lt;sauoq&gt; It taught me all I wanted to know about perl4... so thanks for that
        too, [merlyn]... and you're welcome again.
&lt;Arguile&gt; Pink Camel?
&lt;merlyn&gt; so [theorbtwo] - I have no problem with you learning from
         reference books.  just realize that others need more handholding,
         and there's nothing wrong with that.
&lt;theorbtwo&gt; [arguile], the first editions had pink, rather the cyan,
            covers.
&lt;merlyn&gt; no, there's really nothing in the Camel that is a "tutorial" in
         the traditional sense.  it's merely the manpages republished.
         more reference than anythign else.
&lt;castaway&gt; (Camel++)
&lt;merlyn&gt; but for those who want a tutorial, llama + alpaca is definitely
         the track to process.
&lt;theorbtwo&gt; [merlyn], I understand that -- it's just that I prefer to teach
            things such that I refine, rather then break, my students
            mental models later.
&lt;theorbtwo&gt; Then again, I don't teach much, and never in large groups.
&lt;merlyn&gt; [theorbtwo] - someday, you'll notice what I did as a blessing, not
         a curse. :)
&lt;sauoq&gt; So... then I got the second edition camel... and that was my bible
        while learning about perl's OO brew and all sorts of nifty things
        about perl5... so thank you one last time [merlyn]. (And you're
        welcome again.)
&lt;merlyn&gt; the way to teach "baby perl" is to teach a model that actually has
         a few holes.  that's life.
&lt;merlyn&gt; thanks saugo
&lt;theorbtwo&gt; Oh, I'm not saying that your books are bad.  They're rather
            good.  I just think that they could be better.
&lt;theorbtwo&gt; There are very few things I read and say "that couldn't have
            been better".
&lt;merlyn&gt; I'd challenge you to teach the same level of material in the same
         number of pages.  seriously.  I've spent a lifetime learnign how
         to teach this stuff.
&lt;Arguile&gt; Hehe. &amp;lt;code&amp;gt;curse( $foo ); # P5 compatible object model (in
          P6)&amp;lt;/code&amp;gt;
&lt;merlyn&gt; so I'll kindly suggest that you refrain from such crap unless
         you're willing to put yoru money where your mouth is.
&lt;theorbtwo&gt; LOL, [Arguile].
&lt;theorbtwo&gt; Hm.  Never considered technical writing and teaching as a
            carreer.  And I wasn't calling your work crap by any means.
&lt;merlyn&gt; And I dont' see O'Reilly clamoring to get you to write their next
         book.
&lt;merlyn&gt; No, I'm calling your claim crap.  I think you have no clue here.
&lt;merlyn&gt; And I'll show you my reviews and royalty checks to prove it.
&lt;merlyn&gt; I have credentials.  Critical Acclaim.  Street Cred.  You are just
         a guy who seems to always be over your head here on perlmonks.
         You have no weight here.
&lt;theorbtwo&gt; [merlyn], I have no doubt that your books are popular, that
            many people like them, and that you're a very good teacher.
&lt;merlyn&gt; so move along, please.  your comments are baseless.
* sauoq thinks he could do a good job of writing a book. How do you go
        about doing it and making a living at the same time?
* castaway giggles
&lt;merlyn&gt; I will certainly listen to any valid criticism.  Please forward
         that to merlyn@stonehenge.com - I'm curious.
&lt;theorbtwo&gt; In fact, I consider the book of yours that I own in hardcopy to
            be probably the best-written non-fiction book I own.
&lt;merlyn&gt; book writing is NEVER about making a living
&lt;sauoq&gt; That's what I'm missing... how do I approach a publisher and get
        them to pay my rent and bills for the time it takes me to write a
        book. I'd happily quit my job and do that...
&lt;merlyn&gt; it's only about credentials or collateral.  Book writing is never
         a living
&lt;merlyn&gt; [sauog] - if you figure that out, lemme know. :)
&lt;theorbtwo&gt; [sauoq], first you give them a finished book.  Then, if it's
            really really good, you might have a prayer, possibly, of that
            happening the next time.
* castaway thinks several fiction authors would argue about that..
&lt;merlyn&gt; right.. SF can be a living.  But not techwriting.  too small an
         audience.
&lt;theorbtwo&gt; [castaway], every time I've ever heard a writer write about
            writing, they've said that it's a horrible way to make a
            living.
&lt;merlyn&gt; I'm an &lt;u&gt;incredibly successful&lt;/u&gt; techwriter.... and yet the
         best month I've had in royalties paid about $10K.
* sauoq sighs.
&lt;merlyn&gt; that may seem huge, but there's been far too many $1K months as
         well.
&lt;castaway&gt; hmm.. havent looked hard enough then.. I see several that enjoy
           it.. (Terry Pratchett for example..)
&lt;merlyn&gt; so, back to the issue.  [theorbtwo] - if you have legitimate
         complaints, please email me.  Lemme brew on it.  But I bet you
         won't have anything that would have changed the way I did Llama or
         Alpaca.
&lt;theorbtwo&gt; BTW, [merlyn], ever consider putting out a book of collected
            articles?  (Or do you not have rights to do such a thing?)
&lt;merlyn&gt; and in fact, I'd bet you are telling me to change things in a way
         that I know for sure didn't work in the past.
&lt;merlyn&gt; [theorbtwo] - that's in progress.  expect such in a year or so.
&lt;theorbtwo&gt; Cool.  I'll quite likely buy such a beast.
&lt;castaway&gt; [sauoq] try this:
           [http://www.megafortress.com/essay2.htm|breaking in is hard to
           do]
&lt;merlyn&gt; that's what I and the publisher are hopping
&lt;merlyn&gt; (hoping)
* kodo likes effective perl programming a lot...
&lt;merlyn&gt; we're taking my 166 columns, throwing out the redundant ones,
         organizing them into topics, then creating a few paragraphs to
         "update" anything that needs such.
&lt;merlyn&gt; EPP for Stonehenge is being replaced by Alpaca
&lt;sauoq&gt; fwiw, I think you did the right thing in drawing a distinction
        between references and scalars. I don't think I agree that doing so
        is more pedantic... but less so. But, I'll reiterate, I think less
        pedantic is probably good for a learning book.
&lt;merlyn&gt; all I can say is whatever I'm doing in alpaca is nearly essential
         for learning, even if it breaks models needed later.
&lt;merlyn&gt; that's the strategy I'm always willing to take in a tutorial book
* theorbtwo shrugs.&lt;/i&gt;  [merlyn] is right; he is vastly more qualified
            then I am to be making assertations like this.
&lt;merlyn&gt; I say it on page one of my course materials "we lie from time to
         time"
&lt;theorbtwo&gt; There's been two kinds of debates/arguments I've had with you,
            and this one is the "it's just style" kind.
&lt;merlyn&gt; it's because I have to give scaffolding.  sometimes, the
         scaffolding is not the final materials.  that's life.
&lt;merlyn&gt; yeah, an art call, based on experience.
&lt;theorbtwo&gt; (I actualy had substance the other day, on for/foreach
            terminology, was actualy grounded in a good point, which I
            should write coherently at some point.  (That being that
            terminology should be easy to use correctly.))
&lt;merlyn&gt; don't knock my art until you have faced thousands of students.
&lt;merlyn&gt; until then, you haven't "earned your licks" enough for me to pay
         attention. :)
&lt;Alexander&gt; /me.oO(if i were not so overtired, i might get up and dance
            having finshed the deadline coding for the site.)
&lt;sauoq&gt; Right. And understandable.
&lt;merlyn&gt; in an ideal world, perhaps the teaching would be different.  I
         live in my world, not that ideal world.
&lt;theorbtwo&gt; The scary part is, you meant thousands of students in a large
            ampitheter, didn't you?
&lt;merlyn&gt; I mean everythign from 2 people to 200 people, yes.
&lt;theorbtwo&gt; I don't teach large groups, ever.  In fact, I don't teach
            professionaly in any matter.
&lt;merlyn&gt; bing!  so your comments about "how to teach" are all crap.  OK. :)
* sauoq considers it for a moment... online, I've had thousands of
        students... only dozens in real life... but I've taught a lot on
        IRC... nothing structured of course... hrm... maybe I should go
        into teaching. Got an opening on your team [merlyn]?
&lt;merlyn&gt; allow me to introduce myself as "Randal the professional teacher,
         writer, and tutorial author" then.
&lt;Alexander&gt; g'nite everyone (merlyn and orb, dont hurt each other... much)
            ;-P
&lt;theorbtwo&gt; OTOH, I don't ever recall somebody complaignign about my
            teaching style... including teachers I constantly corrected to
            the point a good argument can be made that I was teaching.
&lt;theorbtwo&gt; [alexander], goodnight.
&lt;merlyn&gt; [saouq] - I hire only people who are famous.  (1) get famous.  (2)
         I'll notice you.
* theorbtwo wonders momentarly if [merlyn] has ever hired somebody other
            then [merlyn].
&lt;castaway&gt; night alexander
&lt;merlyn&gt; [http://www.unixreview.com/documents/s=8217/ur0306h/]
&lt;theorbtwo&gt; I respect Randal the professional teacher, writer, and tutorial
            author.  If I didn't, I wouldn't bother trying to disagree with
            him.
&lt;merlyn&gt; I've had a half dozen instructors working for me, yes.
&lt;theorbtwo&gt; wow.
&lt;theorbtwo&gt; I always got the impression you were a one-man show.
&lt;merlyn&gt; Joseph Hall, Tom Phoenix, Chip Salzenberg, &lt;tt&gt;brian d foy&lt;/tt&gt;,
         Tad Maclellan
&lt;merlyn&gt; you certainly don't visit my website ever then.
&lt;merlyn&gt; I also had a few others who tried but washed out during the
         prelims
&lt;sauoq&gt; Tad McClellan is famous?
&lt;theorbtwo&gt; I've been there a few times, actualy, but normaly just to read
            your articles, which are quite fun, even when I've been over
            the same ground myself.
&lt;Corion&gt; [merlyn]: Does brian d foy insist on monospace for his name?
&lt;merlyn&gt; he was answering nearly every other question in
         comp.lang.perl.misc when I approached him
&lt;sauoq&gt; But whatever... if I get famous [merlyn] it'll be too late. You
        will have missed your chance. Poof. Gone.
&lt;merlyn&gt; [http://www.panix.com/~comdog/style.html]
&lt;Corion&gt; .oO(Getting famous in the Perl community is no problem - getting
         famous and still being liked in the Perl community is harder :-))
&lt;merlyn&gt; famous != marketable.  I turn famous people into marketing items.
&lt;merlyn&gt; if you don't know the difference, you'll never make money. :)
* theorbtwo wonders if it'd be &lt;tt&gt;d foy&lt;/tt&gt;, &lt;tt&gt;brian&lt;/tt&gt;.
&lt;merlyn&gt; Stonehenge is a marketing machine.  we work hard to brand the
         brand, and have people call us first.
&lt;sauoq&gt; That's not what I need... I need the avenue to get famous. Timing
        and all, ya know? I missed the perl boat by a couple years.... that
        and I took employment in the private sector where I needed to be
        careful about my open source involvement at times.-sigh-
&lt;merlyn&gt; feel free to try to do the marketing on your own.  you'll come up
         short.  I've spent hundreds of thousands of dollars marketing the
         Stonehenge brand.
&lt;merlyn&gt; ask Allison Randal about how long it takes to be famous.
&lt;theorbtwo&gt; And you do a good job, [merlyn].  If I needed a perl class
            taught, I'd email you first... and then have no idea where else
            to look.
&lt;merlyn&gt; I gave her the same challenge I just gave you.  WIthin six months,
         she pushed herself into the Perl6 committee.  And now has a book
         already available at OSCON.
&lt;merlyn&gt; she had asked to work with me.  I told her what I just told you.
&lt;merlyn&gt; she is clearly famous now.  I'd hire her in a second.
&lt;merlyn&gt; so don't tell me that you can't be famous within a year or so.
         It's been done!
&lt;castaway&gt; (who's Allison Randal ?)
&lt;merlyn&gt; it's about finding a need within the Perl community, and filling
         it excellently.  then your name gets out there. and that makes you
         marketable for Stonehenge.
&lt;sauoq&gt; Wait... "You'll come up short?" Heh. That's cute. Well... I sure am
        lucky that my future doesn't rely on &lt;em&gt;your&lt;/em&gt; faith, aren't I?
&lt;merlyn&gt; [castaway] - you've not been following perl6 at all, apparently.
         :)
&lt;castaway&gt; Nope, cant say I have
* kodo also got no clue about perl6 yet...
* theorbtwo wonders momentarly if [tye] or [vroom] is really famous in the
            community-at-large, or just here.
&lt;merlyn&gt; [vroom] gets street cred for perlmonks, but [tye] hasn't outted
         himself enough to do so.
&lt;theorbtwo&gt; perl6 is fun stuff... half of the time I read somthing of
            [thedamian]'s, I just go "huh?"... but the "whoh"s are intense.
&lt;sauoq&gt; Thanks for the link [castaway].
&lt;castaway&gt; but then, I'd been using perl for 2 years, and hadnt heard of
           you til I came here, either
* theorbtwo nods.
&lt;merlyn&gt; in terms of perl6 design, it's Larry, Damian, and Allison.  They
         are The Holy Three.
&lt;merlyn&gt; and that's due in part to my urging her to be a famous person.
* djantzen has set his sights on infamy instead.
* merlyn sets his sights on blasphemy
&lt;castaway&gt; welcome, [sauoq] (some of his others are also not bad.. and the
           books anyway ,)
&lt;theorbtwo&gt; Odd, it's always looked from here like Allison is one of the
            more minor people -- a lot of Larry, Damian, and Dan (though he
            has a slightly different sphere).  I suspect Allison just gets
            less credit and/or puts out less public emails.
&lt;theorbtwo&gt; [castaway], but this site was your first exposure to The
            Community, wasn't it?
&lt;sauoq&gt; Well... there it goes.... you had a chance there. Momentarily. Now,
        if I ever talk to you about working for you again... it'll be you
        asking me and me saying "no thanks." Then I'll wink and whisper,
        "by the way, I'm bones."
&lt;merlyn&gt; never heard of bones.
&lt;merlyn&gt; if you had street cred, I'd know you.
* castaway nods [theorbtwo]
&lt;theorbtwo&gt; [sauoq], can I suggest that picking one name might be a good
            thing in terms of famousness?
&lt;theorbtwo&gt; OTOH, if I winked at [merlyn], and whispered "by the way, I'm
            theorbtwo", I'd probably get slugged...  ;)
&lt;sauoq&gt; rollin' bones, jay bones.... talk about street cred... you have
        &lt;em&gt;no idea.&lt;/em&gt; :-)
* djantzen can hear [sauoq]'s sigh all the way over here.
&lt;merlyn&gt; listen, if you wanna be a fuckhead, and be pseudonymous when you
         don't need to be, go ahead.
&lt;theorbtwo&gt; (Yes, I have read your name space, [sauoq], I do know that
            [sauoq] is a 180deg rotation of bones -- but people who know
            who sauoq is won't realize they know bones, and vice-versa.)
&lt;sauoq&gt; [theorbtwo] Nah... ubergeeks always have at least 3 names...
        they're kinda like cats. Ever read T.S.?
&lt;theorbtwo&gt; Works well enough for [chromatic].
&lt;merlyn&gt; you earn no respect with me hiding behind a pretend name.  I am
         very clearly who I am, and it works for me.
&lt;sauoq&gt; Now I'm a fuckhead?
&lt;merlyn&gt; and [chromatic] is clearly chromatic everywhere.  not his real
         name anywhere.
&lt;theorbtwo&gt; [sauoq], can't say I have.  (And James Mastros, theorb, and
            theorbtwo, pleased to meet you, [sauoq], bones, and
            whateveryourrealnamehappenstobe.)
* kodo lols
&lt;castaway&gt; (3 names? 1 name + 1 nick is enough for me..)
&lt;theorbtwo&gt; Uh... exactly the reason for my advice [merlyn].  You're
            clearly Randal Schwartz, wherever you go, even here, where it
            says [merlyn].  Similarly, chromatic is always chromatic, even
            more so.
&lt;merlyn&gt; so [sauoq] - I have no respect for you, because you are pretending
         to be someone whom you arent'.
&lt;merlyn&gt; even if you are someone famous, you're being a fuckhead.
* sauoq was being obtuse, [castaway]... but it's a good rule of thumb just
        the same.
&lt;theorbtwo&gt; Makes little difference if the name you use was given to you by
            your parents.  Indeed, people will remember &lt;tt&gt;chromatic&lt;tt&gt;
            or &lt;tt&gt;brian d foy&lt;/tt&gt; on the cover of a book.
&lt;merlyn&gt; I don't appreciate people who lie to me.
&lt;theorbtwo&gt; &lt;/tt&gt;&lt;/tt&gt; D'oh!  Easy to miss a slash.
&lt;merlyn&gt; &lt;/tt&gt;
&lt;sauoq&gt; Well, I often think the same of you. You're entitled, of course.
&lt;theorbtwo&gt; Interesting, [merlyn] -- exactly my earlier point -- I don't
            like tutorials that lie to me.
&lt;Corion&gt; ... &amp;lt;code&amp;gt;code be gone&amp;lt;/code&amp;gt;
* sauoq never lied once.
&lt;merlyn&gt; All tutorials lie.  Get over it.
&lt;sauoq&gt; To you that is... I'm not a saint.
&lt;merlyn&gt; if they didn't lie, they'd be reference books. :)
* kodo lols a bit more
&lt;theorbtwo&gt; I am over it, [merlyn].
&lt;sauoq&gt; I do think its funny that you just have no idea whether I'm famous
        or not... I can see the gears churning... "well, he's not a
        newbie... do I know this guy? Have I met him?"
&lt;merlyn&gt; well, if you're sherm pendley, you certainly pick a weird way to
         presence yourself in the world.
&lt;merlyn&gt; and if that's also an alias, I'm even more disgusted with you. :)
&lt;sauoq&gt; You just need to get over yourself. Street cred... pshaw. "famous"
        pbbbt.
&lt;theorbtwo&gt; [merlyn], you're both famous and rather respected.  If I had to
            choose one, I'd rather be respected.
&lt;merlyn&gt; you've certainly earned a few points in the "ASSHOLE" category.
&lt;sauoq&gt; What kind of name is "sherm pendley"?
* theorbtwo sighs, and would also rather have a full nights sleep, but has
            to get up in a maximum of 4.5 hours... goodnight, all.
&lt;merlyn&gt; that's "camelbones" - since you also call yourself "bones", I
         suspect a link.
&lt;sauoq&gt; Cool. I thought we playing HORSE... but I guess I did sink a couple
        three pointers.
&lt;merlyn&gt; but you know, I just plain don't care.  I'm not into puzzles.  If
         you'd rather be hidden behind a puzzle, you're a fucking nobody.
         go away.
* castaway gives [theorbtwo] a birthday kiss and sends him to bed..
* merlyn heads off to bed
&lt;theorbtwo&gt; Goodnight, [merlyn].
&lt;sauoq&gt; Never heard of "camelbones". I used to smoke camels... years ago.
        The filtered ones... the unfiltered made even me hack...
&lt;castaway&gt; night merlyn..
* djantzen wonders how one's street cred is affected by successfully
           goading someone of [merlyn]'s stature into flinging slurs...
&lt;theorbtwo&gt; camels, or kamels, [sauoq]?
&lt;kodo&gt; everyone's a nobody finally. doesn't mean anything to be famous or
       not.
* sauoq smiles.
&lt;sauoq&gt; camels.
* castaway grins to herself.
* theorbtwo suspects [merlyn] would be a little more respected and a little
            less famous if he were to swear less when confronted with
            critisisim...and wonders which he'd prefer.
&lt;sauoq&gt; And I kept it in bounds the whole time too, [djantzen]...
        wonderous, huh?
&lt;robobunny&gt; i certainly hope watching this discussion was not someone's
            first exposure to perlmonks
&lt;theorbtwo&gt; [robobunny], my first exposure to PM was the stink around
            [merlyn]'s name being taken off of Camel3.
* Corion has this surefire plan to get famous and disrespected in the core
         Perl community, while at the same time earning some money ... But
         he is too chicken ...
&lt;sauoq&gt; The way I hear it, he didn't even contribute that much to the 2nd
        ed.
&lt;kodo&gt; I really have lots of respect from merlyn when it comes to coding
       and his books. But tbh until I saw him talking here and on some
       nodes I thought he'd be a much more gentle person...with more wisdom
       not caring about beeing "famous" or not...
&lt;robobunny&gt; in a way, talking smack about your perl street cred is pretty
            hilarious if you think about it
&lt;true&gt; anybody know how to grant a user an email address while not allowing
       ftp on linux?
* djantzen practices his not famous signature.
&lt;merlyn&gt; [sauoq] - the only people who say that are the people who weren't
         there.
&lt;theorbtwo&gt; Anyway, goodnight, really.
&lt;merlyn&gt; and now I suspect you may actually be Tom Christiansen. How
         interesting.
&lt;merlyn&gt; that would nearly explain your previous behavior here.
&lt;castaway&gt; true, theres an /etc/ftpusers for those allowed to do ftp..
&lt;kodo&gt; true: don't understand your question...why shouldn't that work?
* sauoq would rather be a plain old guy... working a plain old job...
        raising his beautiful little daughter... than a famous geek with
        street cred and huge head.
&lt;robobunny&gt; ftp servers typically don't allow access if your shell is not
            listed in /etc/shells
&lt;merlyn&gt; [kodo] - I'm responsible for everythign I say, but I'd appreciate
         concrete feedback instead of abstract handwaving, thank you.
&lt;sauoq&gt; I thought you'd still be listening.
&lt;robobunny&gt; /etc/ftpusers is actually people who are not allow to use ftp
&lt;merlyn&gt; Whoa.  So it's really Gnat.  How cool.
&lt;kodo&gt; merlyn: sure, that's fine. I respect your point of views just think
       you should be a bit more open and don't take things that serious.
       :-)
&lt;merlyn&gt; Again, putting on a clown face and walking in to here doesn't
         impress me.
&lt;castaway&gt; oops.. well, right thought .. thanks robobunny
&lt;merlyn&gt; There are very few things that I take seriously.  Perhaps you
         don't agree, but allow me that indulgeence.
* sauoq wonders how many other people he will guess that I am...
&lt;merlyn&gt; spreading crap amongst the community like bad security advice or
         bad code, I take seriouslyl.
&lt;theorbtwo&gt; [merlyn], I just /msg'd a reminder to myself to write a
            meditation on terminology, I welcome your thoughts on it when I
            finish it (which, at the rate I'm going on my mental todo will
            be a while.)
&lt;true&gt; so i add users to this file. and restart??
&lt;sauoq&gt; You were right the first time, dude... I'm "a nobody"... what are
        you worried about? What are all these shadows jumping up and
        attacking you?
* merlyn would like to wring [sauoq]'s neck, and now realizes this is
         exactly the behavior that [sauoq] is trying to elicit.  How droll.
&lt;robobunny&gt; you shouldn't have to restart the ftp daemon
&lt;merlyn&gt; OK, nothing more from me regarding the troll.  /me moves on
&lt;sauoq&gt; I'm not trying to elicit any behavior, [merlyn].
&lt;sauoq&gt; But, so nice of you to start spelling the name right.
&lt;theorbtwo&gt; OK, really, really, really time for bed.
&lt;sauoq&gt; And, calling me a troll here is sort of joke. I think there's
        enough evidence that I come to help out.
&lt;kodo&gt; now fucking leave orb or I'll tell castaway to bring you to bed :-)
&lt;true&gt; thanks monks, works great. my domain control panel thanks you.
* castaway would love to ..
&lt;theorbtwo&gt; Yes, [kodo|sir]!  Not that she hasn't been trying, sir!
* castaway .oO( gone .. )
&lt;djantzen&gt; [sauoq] is not and never has been a troll [merlyn].
&lt;/code&gt;

Thanks, [djantzen]. :-)

&lt;code&gt;
...

* Corion is sufficiently convinved that [sauoq] is not gnat...

...


* virtualsue never understood why merlyn thought sauoq was gnat to begin
             with
* castaway doesnt understand merlyn, period.
&lt;kodo&gt; as i said I respect him but also don't understand why he is so
       "serious" in a weird way sometimes
* kodo goes out for a walk to relax a bit
&lt;sauoq&gt; [Corion] Sshh... don't tell anyone else I'm not gnat... I wouldn't
        want that to get around. ;-)
* sauoq chuckles.
&lt;/code&gt;
&lt;br /&gt;&lt;a HREF="/index.pl?node_id=235798"&gt;&amp;amp;bull;Re: Generators&lt;/a&gt;
&lt;br /&gt;&lt;a HREF="/index.pl?node_id=230799"&gt;Best Practices for Exception Handling&lt;/a&gt;</field>
</data>
</node>
