From weborders at occamstoothbrush.com Mon Apr 2 23:16:01 2007 From: weborders at occamstoothbrush.com (Michael Graham) Date: Tue, 3 Apr 2007 02:16:01 -0400 Subject: [tpm] test the second Message-ID: <20070403021601.56264bf9@caliope> test2 -- Michael Graham From indy at indigostar.com Tue Apr 3 12:16:42 2007 From: indy at indigostar.com (Indy Singh) Date: Tue, 3 Apr 2007 15:16:42 -0400 Subject: [tpm] TEST 316 References: <20070331153613.3bf6e4ec@caliope><000e01c7753a$6a6d9d30$6600a8c0@roadhog><20070403023247.3644017d@caliope><004101c775fa$366dae60$6600a8c0@roadhog><20070403113022.2a6c3b9e@caliope><010001c77607$5450f970$6600a8c0@roadhog><20070403121422.2f643a49@caliope><015701c7760c$aefa1aa0$6600a8c0@roadhog><20070403135501.4ecd9f85@caliope><019a01c7761d$0f056750$6600a8c0@roadhog> <20070403150859.27e465df@caliope> Message-ID: <01ac01c77624$9ce286a0$6600a8c0@roadhog> TEST 316 Indy Singh IndigoSTAR Software -- www.indigostar.com From rdice at pobox.com Sun Apr 8 19:22:28 2007 From: rdice at pobox.com (Richard Dice) Date: Sun, 8 Apr 2007 22:22:28 -0400 Subject: [tpm] 99 Problems in Perl 6 Message-ID: <5bef4baf0704081922x382a38f4icde975a18812645e@mail.gmail.com> Hi everyone, There was a request at the last meeting to share the URL for the 99 Problems in Perl 6 exercise. Here it is -- http://www.oreillynet.com/onlamp/blog/2006/12/99_problems_in_perl_6.html To actually get the 99 problems, just get a svn checkout of the pugs source, per: svn co http://svn.pugscode.org/pugs/ Inside that checkout you'll be able to find the directory -- pugs/t/examples/99problems Cheers, Richard -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070408/140176d4/attachment.html From fulko.hew at gmail.com Tue Apr 10 11:05:35 2007 From: fulko.hew at gmail.com (Fulko Hew) Date: Tue, 10 Apr 2007 14:05:35 -0400 Subject: [tpm] dereferencing anonymous hashes Message-ID: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> I always seem to have a problem dereferencing anonymous hashes... (a mental block, or I'm just mental!) In a subroutine I create the thing as such: sub foo { my $device = {}; # create an anonymous hash $config{$cfg}{device} = \$device; # And stick it into the major data structure $device{$devId}{status) = 'ok'; # and populate the anonymous hash $device{$devId}{msgCnt}++; } Then later on I want to extract the status: my %device = ${$config{$cfg}{device}}; $status = $device{$devId}{status}; but this isn't quite right. ;-( From adam.prime at utoronto.ca Tue Apr 10 11:19:23 2007 From: adam.prime at utoronto.ca (adam.prime at utoronto.ca) Date: Tue, 10 Apr 2007 14:19:23 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> Message-ID: <20070410141923.ho1i5zqhzegwcoc8@webmail.utoronto.ca> Do you really want a reference to a reference to a hash here? $config{$cfg}{device} = \$device; That looks like the root of the problem to me. should be: $config{$cfg}{device} = $device; to work with the rest of your code i'd think, not having tested anything. Adam Quoting Fulko Hew : > I always seem to have a problem dereferencing anonymous hashes... > (a mental block, or I'm just mental!) > > In a subroutine I create the thing as such: > > sub foo { > my $device = {}; # create an anonymous hash > $config{$cfg}{device} = \$device; # And stick it into the major > data structure > > $device{$devId}{status) = 'ok'; # and populate the anonymous hash > $device{$devId}{msgCnt}++; > } > > Then later on I want to extract the status: > > my %device = ${$config{$cfg}{device}}; > $status = $device{$devId}{status}; > > but this isn't quite right. ;-( > _______________________________________________ > toronto-pm mailing list > toronto-pm at pm.org > http://mail.pm.org/mailman/listinfo/toronto-pm > From fulko.hew at gmail.com Tue Apr 10 11:58:33 2007 From: fulko.hew at gmail.com (Fulko Hew) Date: Tue, 10 Apr 2007 14:58:33 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> Message-ID: <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> On 4/10/07, Fulko Hew wrote: > I always seem to have a problem dereferencing anonymous hashes... > (a mental block, or I'm just mental!) > > In a subroutine I create the thing as such: > > sub foo { > my $device = {}; # create an anonymous hash > $config{$cfg}{device} = \$device; # And stick it into the major data structure > > $device{$devId}{status) = 'ok'; # and populate the anonymous hash > $device{$devId}{msgCnt}++; > } > > Then later on I want to extract the status: > > my %device = ${$config{$cfg}{device}}; > $status = $device{$devId}{status}; > > but this isn't quite right. ;-( Answering my own question... I was close, but not cigar. What I should have been using was: my $device = (); ... my %device = %{$config{$cfg}{device}}; because the reference I was trying to retrieve was a reference to a hash, not a reference to a scalar as in my first 'n' tries. I'm sure I had the dereference correct a number of times, but without the anonymous hash creation correct at the same time, It didn't work.... Nope, I just tried it as: my $device = {}; and that still worked. It makes me wonder then... whats the subtle difference between $x = () and $x = {} when dealing with hashes and their references? From janes.rob at gmail.com Tue Apr 10 12:00:14 2007 From: janes.rob at gmail.com (Rob Janes) Date: Tue, 10 Apr 2007 15:00:14 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <20070410141923.ho1i5zqhzegwcoc8@webmail.utoronto.ca> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <20070410141923.ho1i5zqhzegwcoc8@webmail.utoronto.ca> Message-ID: <83eac04d0704101200t6bc767f5w898efc7e5dc96369@mail.gmail.com> ooh boy where do i start ... sub foo { my $device = {}; # create an anonymous rash $config{$cfg}{device} = $device; # And stick it to the major data structure $$device{$devId}{status) = 'ok'; # fill up the anonymous rash $$device{$devId}{msgCnt}++; } ... our %device; # use strict or else { local *device = $config{$cfg}{device}; # an alias just for me $status = $device{$devId}{status}; # ahh, here it is } there you go! On 4/10/07, adam.prime at utoronto.ca wrote: > > > Do you really want a reference to a reference to a hash here? > > $config{$cfg}{device} = \$device; > > That looks like the root of the problem to me. should be: > > $config{$cfg}{device} = $device; > > to work with the rest of your code i'd think, not having tested anything. > > Adam > > > > > > Quoting Fulko Hew : > > > I always seem to have a problem dereferencing anonymous hashes... > > (a mental block, or I'm just mental!) > > > > In a subroutine I create the thing as such: > > > > sub foo { > > my $device = {}; # create an anonymous hash > > $config{$cfg}{device} = \$device; # And stick it into the major > > data structure > > > > $device{$devId}{status) = 'ok'; # and populate the anonymous > hash > > $device{$devId}{msgCnt}++; > > } > > > > Then later on I want to extract the status: > > > > my %device = ${$config{$cfg}{device}}; > > $status = $device{$devId}{status}; > > > > but this isn't quite right. ;-( > > _______________________________________________ > > toronto-pm mailing list > > toronto-pm at pm.org > > http://mail.pm.org/mailman/listinfo/toronto-pm > > > > > > _______________________________________________ > toronto-pm mailing list > toronto-pm at pm.org > http://mail.pm.org/mailman/listinfo/toronto-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070410/c2aa45b5/attachment.html From janes.rob at gmail.com Tue Apr 10 12:03:49 2007 From: janes.rob at gmail.com (Rob Janes) Date: Tue, 10 Apr 2007 15:03:49 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> Message-ID: <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> you're a php guy, right? $x = (); is a list assignment to a scalar. scalar conversion results in the scalar ($x that is) being assigned the count of the number of items in the list. 0 or zero. $x = {}; assigns a reference to an anonymous hash. On 4/10/07, Fulko Hew wrote: > > On 4/10/07, Fulko Hew wrote: > > I always seem to have a problem dereferencing anonymous hashes... > > (a mental block, or I'm just mental!) > > > > In a subroutine I create the thing as such: > > > > sub foo { > > my $device = {}; # create an anonymous hash > > $config{$cfg}{device} = \$device; # And stick it into the major > data structure > > > > $device{$devId}{status) = 'ok'; # and populate the anonymous > hash > > $device{$devId}{msgCnt}++; > > } > > > > Then later on I want to extract the status: > > > > my %device = ${$config{$cfg}{device}}; > > $status = $device{$devId}{status}; > > > > but this isn't quite right. ;-( > > Answering my own question... > I was close, but not cigar. What I should have been using was: > > my $device = (); > ... > my %device = %{$config{$cfg}{device}}; > > because the reference I was trying to retrieve was a reference to a hash, > not a reference to a scalar as in my first 'n' tries. > > I'm sure I had the dereference correct a number of times, but without > the anonymous hash creation correct at the same time, It didn't > work.... Nope, I just tried it as: my $device = {}; and that still > worked. It makes me wonder then... whats the subtle difference > between > $x = () and $x = {} when dealing with hashes and their references? > _______________________________________________ > toronto-pm mailing list > toronto-pm at pm.org > http://mail.pm.org/mailman/listinfo/toronto-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070410/2806795b/attachment.html From fulko.hew at gmail.com Tue Apr 10 12:25:48 2007 From: fulko.hew at gmail.com (Fulko Hew) Date: Tue, 10 Apr 2007 15:25:48 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> Message-ID: <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> On 4/10/07, Rob Janes wrote: > you're a php guy, right? Nope. Never seen PHP in my life... ain't gonna start now! > $x = (); is a list assignment to a scalar. scalar conversion results in > the scalar ($x that is) being assigned the count of the number of items in > the list. 0 or zero. > > $x = {}; assigns a reference to an anonymous hash. OK, so I was getting frustrated and made a whole lot of transcription errors to boot. :-( The question should have been... whats the difference between: %x = (); and %x = {}; because what fixed my problem was (transcribing correctly this time): my %device = {}; $config{$cfg}{device} = \%device; $device{$devid}{status} = 'OK'; ... my %device = %{$config{$cfg}{device}}; $status = $device{$devId}{status}; From james.a.graham at gmail.com Tue Apr 10 12:39:29 2007 From: james.a.graham at gmail.com (Jim Graham) Date: Tue, 10 Apr 2007 15:39:29 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> Message-ID: <020801c77ba7$fa5be5f0$1901a8c0@mecano> Hi Tricky one: %x = (); is an empty hash. The () is a list, and assigning it to a hash creates an empty hash. The '=>' notation that we're used to for hash creation is in fact just sugar for the "," list operator. So you can do: %x = ( 'foo' => 1, 'bar' => 2); #-- it's a hash or %x = ( 'foo' , 1, 'bar', 2); #-- looks like an array, but it's also a hash And get the same thing. %x = {}; is weird. The "{}" creates an anonymous hash. Then assigning it to a regular hash (%x) uses the anon-hash ref as the key, and undef as the value. In the Perl debugger: >perl -demo DB<1> %x = {} DB<2> foreach my $k ( keys %x) { print "$k\n";} HASH(0x1829fd0) Hope this helps; - jim -----Original Message----- From: toronto-pm-bounces+james.a.graham=gmail.com at pm.org [mailto:toronto-pm-bounces+james.a.graham=gmail.com at pm.org] On Behalf Of Fulko Hew Sent: April 10, 2007 3:26 PM To: Rob Janes Cc: tpm at to.pm.org Subject: Re: [tpm] dereferencing anonymous hashes On 4/10/07, Rob Janes wrote: > you're a php guy, right? Nope. Never seen PHP in my life... ain't gonna start now! > $x = (); is a list assignment to a scalar. scalar conversion results in > the scalar ($x that is) being assigned the count of the number of items in > the list. 0 or zero. > > $x = {}; assigns a reference to an anonymous hash. OK, so I was getting frustrated and made a whole lot of transcription errors to boot. :-( The question should have been... whats the difference between: %x = (); and %x = {}; because what fixed my problem was (transcribing correctly this time): my %device = {}; $config{$cfg}{device} = \%device; $device{$devid}{status} = 'OK'; ... my %device = %{$config{$cfg}{device}}; $status = $device{$devId}{status}; _______________________________________________ toronto-pm mailing list toronto-pm at pm.org http://mail.pm.org/mailman/listinfo/toronto-pm From adam.prime at utoronto.ca Tue Apr 10 12:41:24 2007 From: adam.prime at utoronto.ca (adam.prime at utoronto.ca) Date: Tue, 10 Apr 2007 15:41:24 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> Message-ID: <20070410154124.03993sugw0ow8g4o@webmail.utoronto.ca> Quoting Fulko Hew : > > The question should have been... whats the difference between: > > %x = (); and > %x = {}; > the first one is a normal assignment to a hash, the second one, i'm guessing is an assignment of a reference to a hash '{}' to a hash, so you get a hash with one key (the address of the anonymous hash) who's value is undef. Basically you probably never (or rarely) want to do the second one. Adam From janes.rob at gmail.com Tue Apr 10 13:21:35 2007 From: janes.rob at gmail.com (Rob Janes) Date: Tue, 10 Apr 2007 16:21:35 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> Message-ID: <83eac04d0704101321k62a1c7e0h1a2ad1b340120d14@mail.gmail.com> ouch. try putting on use warnings when you do my %x = {}; also, dumping out %x should show a funky key with an undef value. my %device = {}; ## this is the same as my %device = ( { } => undef ); $config{$cfg}{device} = \%device; ## a reference to a hash with a reference for a key $device{$devid}{status} = 'OK'; ## this is ok, auto creates a hash within a hash you really should use use warnings; use strict; at the top of your perl scripts. it will help catch your errors before they catch you. On 4/10/07, Fulko Hew wrote: > > On 4/10/07, Rob Janes wrote: > > you're a php guy, right? > > Nope. Never seen PHP in my life... ain't gonna start now! > > > $x = (); is a list assignment to a scalar. scalar conversion results > in > > the scalar ($x that is) being assigned the count of the number of items > in > > the list. 0 or zero. > > > > $x = {}; assigns a reference to an anonymous hash. > > OK, so I was getting frustrated and made a whole lot of transcription > errors to boot. :-( > > The question should have been... whats the difference between: > > %x = (); and > %x = {}; > > because what fixed my problem was (transcribing correctly this time): > > my %device = {}; > $config{$cfg}{device} = \%device; > $device{$devid}{status} = 'OK'; > > ... > > my %device = %{$config{$cfg}{device}}; > $status = $device{$devId}{status}; > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070410/5d6f10a4/attachment.html From sfryer at sourcery.ca Tue Apr 10 13:23:27 2007 From: sfryer at sourcery.ca (Shaun Fryer) Date: Tue, 10 Apr 2007 16:23:27 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> Message-ID: <20070410202327.GC31131@sourcery.ca> On Tue, Apr 10, 2007 at 02:58:33PM -0400, Fulko Hew wrote: > It makes me wonder then... whats the subtle difference > between > $x = () and $x = {} when dealing with hashes and their references? @x = (); # this is an array %x = (); # this is an array, in hash context $x = \@x; # this is a reference to an array $x = \%x; # this is a reference to a hash $x = []; # this is a reference to an array $x = {}; # this is a reference to a hash So one might do this... @x = qw( three element array ); $x = \@x; ...or... $x = [ qw( three element array ) ]; # same thing -- Shaun Fryer tf: 866-920-9209 From sfryer at sourcery.ca Tue Apr 10 13:29:25 2007 From: sfryer at sourcery.ca (Shaun Fryer) Date: Tue, 10 Apr 2007 16:29:25 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <20070410202327.GC31131@sourcery.ca> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <20070410202327.GC31131@sourcery.ca> Message-ID: <20070410202925.GD31131@sourcery.ca> # ah yes .. and I forgot the actual question. lol %x = ( this => that ); # the value of 'this' can be obtained by doing this $y = $x{this}; # howver as a hash reference... $x = { this => that }; $y = $x->{this}; # you must use a 'pointer' to dereference the value -- Shaun Fryer tf: 866-920-9209 On Tue, Apr 10, 2007 at 04:23:27PM -0400, Shaun Fryer wrote: > On Tue, Apr 10, 2007 at 02:58:33PM -0400, Fulko Hew wrote: > > It makes me wonder then... whats the subtle difference > > between > > $x = () and $x = {} when dealing with hashes and their references? > > @x = (); # this is an array > %x = (); # this is an array, in hash context > $x = \@x; # this is a reference to an array > $x = \%x; # this is a reference to a hash > $x = []; # this is a reference to an array > $x = {}; # this is a reference to a hash > > So one might do this... > > @x = qw( three element array ); > $x = \@x; > > ...or... > > $x = [ qw( three element array ) ]; # same thing From sfryer at sourcery.ca Tue Apr 10 13:49:48 2007 From: sfryer at sourcery.ca (Shaun Fryer) Date: Tue, 10 Apr 2007 16:49:48 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <20070410202925.GD31131@sourcery.ca> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <20070410202327.GC31131@sourcery.ca> <20070410202925.GD31131@sourcery.ca> Message-ID: <20070410204948.GE31131@sourcery.ca> Sorry for innundating you with emails Fulko. :) Perhaps of more value to consider (for those who don't know), is *why* to use a reference versus an ordinary string/array/hash/whatever. Consider this... my %big_hash = ( ... ); $big_hash{foo} = 1; # this makes a *totally seperate copy* of %big_hash in memory my %copy_of_big_hash = %big_hash; $copy_of_big_hash{foo} = 2; # at this point $big_hash{foo} still equals 1 # this makes a reference pointing to the memory address where %big_hash is stored my $ref_to_big_hash = \%big_hash; $ref_to_big_hash->{foo} = 3; # now $big_hash{foo} equals 3, but $copy_of_big_hash{foo} still equals 2 my $copy_of_ref_to_big_hash = $ref_to_big_hash; $copy_of_ref_to_big_hash->{foo} = 4; # now $big_hash{foo} equals 4, but $copy_of_big_hash{foo} still equals 2 Does that make sense? The same principal holds for array refs, blessed objects and any other sort of "reference versus copy" situation. -- Shaun Fryer tf: 866-920-9209 On Tue, Apr 10, 2007 at 04:29:25PM -0400, Shaun Fryer wrote: > # ah yes .. and I forgot the actual question. lol > > %x = ( this => that ); > > # the value of 'this' can be obtained by doing this > > $y = $x{this}; > > # howver as a hash reference... > > $x = { this => that }; > > $y = $x->{this}; # you must use a 'pointer' to dereference the value > > On Tue, Apr 10, 2007 at 04:23:27PM -0400, Shaun Fryer wrote: > > On Tue, Apr 10, 2007 at 02:58:33PM -0400, Fulko Hew wrote: > > > It makes me wonder then... whats the subtle difference > > > between > > > $x = () and $x = {} when dealing with hashes and their references? > > > > @x = (); # this is an array > > %x = (); # this is an array, in hash context > > $x = \@x; # this is a reference to an array > > $x = \%x; # this is a reference to a hash > > $x = []; # this is a reference to an array > > $x = {}; # this is a reference to a hash > > > > So one might do this... > > > > @x = qw( three element array ); > > $x = \@x; From uri at stemsystems.com Tue Apr 10 14:19:11 2007 From: uri at stemsystems.com (Uri Guttman) Date: Tue, 10 Apr 2007 17:19:11 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> (Rob Janes's message of "Tue, 10 Apr 2007 15:03:49 -0400") References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> Message-ID: >>>>> "RJ" == Rob Janes writes: RJ> $x = (); is a list assignment to a scalar. scalar conversion RJ> results in the scalar ($x that is) being assigned the count of the RJ> number of items in the list. 0 or zero. wrong result and wrong explanation. you can't have a list in scalar context by definition. in this case the () are just doing grouping of nothing so it is just like saying my $x and the value in $x is undef. perl -lwe '$x = () ; print $x' Use of uninitialized value in print at -e line 1. you can only get the number of elements in an array by putting it in scalar context. and () does not make a list. parens only do grouping in perl, and never directly make a list. uri -- Uri Guttman ------ uri at stemsystems.com -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org From uri at stemsystems.com Tue Apr 10 14:32:52 2007 From: uri at stemsystems.com (Uri Guttman) Date: Tue, 10 Apr 2007 17:32:52 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> (Fulko Hew's message of "Tue, 10 Apr 2007 15:25:48 -0400") References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <8204a4fe0704101225k1c334831icbf1ffe678797c99@mail.gmail.com> Message-ID: >>>>> "FH" == Fulko Hew writes: FH> because what fixed my problem was (transcribing correctly this time): FH> my %device = {}; that is STILL wrong. please enable warnings and it will barf out that you are assigning an odd number of elements to a hash. perl -lwe '%x = {}' Name "main::x" used only once: possible typo at -e line 1. Reference found where even-sized list expected at -e line 1. hey, it is even more informative than it used to be. FH> $config{$cfg}{device} = \%device; FH> $device{$devid}{status} = 'OK'; you still have a hash ref as a key in %device. print it out with Data::Dumper to see it. FH> ... FH> my %device = %{$config{$cfg}{device}}; that is doing a complete shallow copy of a hash. it will wipe out your broken initializer (which you think is a clearing operation). FH> $status = $device{$devId}{status}; $devId is not the same as $devid. spelling matters in perl. if you used strict you would have been told about that error. uri -- Uri Guttman ------ uri at stemsystems.com -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org From jkeen at verizon.net Wed Apr 11 03:31:07 2007 From: jkeen at verizon.net (James Keenan) Date: Wed, 11 Apr 2007 06:31:07 -0400 Subject: [tpm] [ANNOUNCE]: Hackathon Toronto Sat Apr 28 Message-ID: <9B478052-C00F-47E9-8A17-E404F25B581D@verizon.net> Toronto Perlmongers are pleased to announce Hackathon Toronto, a one- day, almost-spur-of-the-moment hackathon, to be held Saturday, April 28, 2007. A hackathon is a gathering of free and open source software developers reflecting the joy of collective hacking. Building on the tradition of previous Perl hackathons in Toronto, Chicago and elsewhere, Hackathon Toronto will encourage people to come together for face-to-face work on Perl 5, Perl 6, CPAN modules, Parrot, Pugs and ... you name it! A hackathon wiki has been established at http://rakudo.org/hackathon- toronto/. Go there to learn details as to participation, location, transportation, projects, logistics, etc. As we get closer to the hackathon date, log on to #hackathon on irc.perl.org. If you can be in Toronto on Saturday, April 28, we hope to see you there. Thank you very much. Jim Keenan From janes.rob at gmail.com Thu Apr 12 02:05:05 2007 From: janes.rob at gmail.com (Rob Janes) Date: Thu, 12 Apr 2007 05:05:05 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> Message-ID: <83eac04d0704120205x7d95429bs93d37395bbc3518a@mail.gmail.com> I guess I've just never seen $x = (); before. doesn't seem very useful unless it's a list expression. [robj at localhost ~]$ perl -e '$x=(5,44); print "$x\n";' 44 [robj at localhost ~]$ perl -e '$x=@x=(5,44); print "$x\n";' 2 So the comma operator behaves differently in a scalar context from how it behaves in a list context. [robj at localhost ~]$ perl -e 'sub x { print "side effect\n"; return 5 } $x=(x,44); print "$x\n";' side effect 44 Showing that the comma operator is useful for side effects in scalar context mode. On 4/10/07, Uri Guttman wrote: > > >>>>> "RJ" == Rob Janes writes: > > RJ> $x = (); is a list assignment to a scalar. scalar conversion > RJ> results in the scalar ($x that is) being assigned the count of the > RJ> number of items in the list. 0 or zero. > > wrong result and wrong explanation. you can't have a list in scalar > context by definition. in this case the () are just doing grouping of > nothing so it is just like saying my $x and the value in $x is undef. > > perl -lwe '$x = () ; print $x' > Use of uninitialized value in print at -e line 1. > > you can only get the number of elements in an array by putting it in > scalar context. and () does not make a list. parens only do grouping in > perl, and never directly make a list. > > uri > > -- > Uri Guttman ------ uri at stemsystems.com -------- > http://www.stemsystems.com > --Perl Consulting, Stem Development, Systems Architecture, Design and > Coding- > Search or Offer Perl Jobs ---------------------------- > http://jobs.perl.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070412/30308d65/attachment.html From uri at stemsystems.com Thu Apr 12 08:21:17 2007 From: uri at stemsystems.com (Uri Guttman) Date: Thu, 12 Apr 2007 11:21:17 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <83eac04d0704120205x7d95429bs93d37395bbc3518a@mail.gmail.com> (Rob Janes's message of "Thu, 12 Apr 2007 05:05:05 -0400") References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <83eac04d0704120205x7d95429bs93d37395bbc3518a@mail.gmail.com> Message-ID: >>>>> "RJ" == Rob Janes writes: RJ> I guess I've just never seen $x = (); before. doesn't seem very RJ> useful unless it's a list expression. RJ> [robj at localhost ~]$ perl -e '$x=(5,44); print "$x\n";' RJ> 44 RJ> [robj at localhost ~]$ perl -e '$x=@x=(5,44); print "$x\n";' RJ> 2 RJ> So the comma operator behaves differently in a scalar context from RJ> how it behaves in a list context. i will repeat this again. THERE IS NO SUCH THING AS A LIST IN SCALAR CONTEXT. what you see there in the first line is the comma operator which just returns its right side expression. in an actual list the comma is NOT AN OPERATOR but a separator. it is pure syntax in a list and no opcodes are generated. RJ> [robj at localhost ~]$ perl -e 'sub x { print "side effect\n"; return 5 } $x= RJ> (x,44); print "$x\n";' RJ> side effect RJ> 44 RJ> Showing that the comma operator is useful for side effects in RJ> scalar context mode. useful? that is what it is designed for. it was taken from c which has the same operator but no list context to confuse things. uri -- Uri Guttman ------ uri at stemsystems.com -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org From liam at holoweb.net Fri Apr 13 12:16:55 2007 From: liam at holoweb.net (Liam R E Quin) Date: Fri, 13 Apr 2007 15:16:55 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <83eac04d0704120205x7d95429bs93d37395bbc3518a@mail.gmail.com> Message-ID: <1176491815.15486.18.camel@dell.barefootcomputing.com> On Thu, 2007-04-12 at 11:21 -0400, Uri Guttman wrote: > useful? that is what it is designed for. it was taken from c which has > the same operator but no list context to confuse things. The , in C that's used in parameter lists (for example), as in int m = max(3, 12, 9, 76); is like the comma in a Perl list, my $m = max(3, 12, 9, 76); which is not at all like my @mm = max(3, 12, 9, 76); :-) Similarly, the C comma operator, really only used in a few places these days because it's dangerous otherwise, is the same as semicolon except that it doesn't terminate the statement, so if (e) a = 3, b = 6, c = 12; is the same as if (e) { a = 3; b = 6; c = 12; } except harder to follow. In Perl, you have to use the braces, so the second form is enforced, but you can still do things like for ($i = 1, $j = 6; $i < 10; $i++, $j++) { stuff } and that's also the main place the comma operator is used in C. I'd prefer in most cases for (my $i = 1; $i < 10; $i++) { my $j = $i + 5; stuff; } because the relationship between in and j is now made explicit. Liam -- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org www.advogato.org From janes.rob at gmail.com Fri Apr 13 13:44:12 2007 From: janes.rob at gmail.com (Rob Janes) Date: Fri, 13 Apr 2007 16:44:12 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <1176491815.15486.18.camel@dell.barefootcomputing.com> References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <83eac04d0704120205x7d95429bs93d37395bbc3518a@mail.gmail.com> <1176491815.15486.18.camel@dell.barefootcomputing.com> Message-ID: <83eac04d0704131344v7950e329r17717f640bd5dbd@mail.gmail.com> here's more of my 2 cents (have fun Uri! :) I notice there's two examples of for, but no examples of multiple lexical (my) variable assignments in for. for ($i = 1, $j = 6; $i < 10; $i++, $j++) { and for (my $i = 1; $i < 10; $i++) { Normally multiple lexical variables are declared in the same line like my ($i, $j); But if you do that you can't initialize them. my ($i=1, $j=2); gives an error. this works ... my $i=1; my $j=2; this is the common way. but ... my ($i, $j) = (1,2); is another way. here's another way, in a for statement: for (my $i=1, my $j=6; $i < 10; $i++, $j++) { print "$i\n" } and so, my $i=1, my $j=2; works too. even more thrilling is my $k = (my $i=1, my $j=2); which gives $k a 2. On 4/13/07, Liam R E Quin wrote: > > On Thu, 2007-04-12 at 11:21 -0400, Uri Guttman wrote: > > > useful? that is what it is designed for. it was taken from c which has > > the same operator but no list context to confuse things. > > The , in C that's used in parameter lists (for example), as in > int m = max(3, 12, 9, 76); > is like the comma in a Perl list, > my $m = max(3, 12, 9, 76); > which is not at all like > my @mm = max(3, 12, 9, 76); > :-) > > Similarly, the C comma operator, really only used in a few > places these days because it's dangerous otherwise, is the same > as semicolon except that it doesn't terminate the statement, so > > if (e) a = 3, > b = 6, > c = 12; > > is the same as > > if (e) { > a = 3; > b = 6; > c = 12; > } > > except harder to follow. In Perl, you have to use the braces, so the > second form is enforced, but you can still do things like > > for ($i = 1, $j = 6; $i < 10; $i++, $j++) { > stuff > } > > and that's also the main place the comma operator is used in C. > > I'd prefer in most cases > for (my $i = 1; $i < 10; $i++) { > my $j = $i + 5; > stuff; > } > > because the relationship between in and j is now made explicit. > > Liam > > -- > Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ > Pictures from old books: http://fromoldbooks.org/ > Ankh: irc.sorcery.net irc.gnome.org www.advogato.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070413/85406bdd/attachment.html From uri at stemsystems.com Fri Apr 13 14:16:50 2007 From: uri at stemsystems.com (Uri Guttman) Date: Fri, 13 Apr 2007 17:16:50 -0400 Subject: [tpm] dereferencing anonymous hashes In-Reply-To: <83eac04d0704131344v7950e329r17717f640bd5dbd@mail.gmail.com> (Rob Janes's message of "Fri, 13 Apr 2007 16:44:12 -0400") References: <8204a4fe0704101105p11a2d811r6d782340dc458f0a@mail.gmail.com> <8204a4fe0704101158k68a03120kf1262f1bc7966028@mail.gmail.com> <83eac04d0704101203g4cd99487w52c70c13492b8560@mail.gmail.com> <83eac04d0704120205x7d95429bs93d37395bbc3518a@mail.gmail.com> <1176491815.15486.18.camel@dell.barefootcomputing.com> <83eac04d0704131344v7950e329r17717f640bd5dbd@mail.gmail.com> Message-ID: >>>>> "RJ" == Rob Janes writes: RJ> here's more of my 2 cents (have fun Uri! :) RJ> I notice there's two examples of for, but no examples of multiple RJ> lexical (my) variable assignments in for. the reason is that the c style for loop should almost never be used. RJ> for ($i = 1, $j = 6; $i < 10; $i++, $j++) { i used to similar things in c. i would never in perl as i rarely need integer indexes in perl. i can practically count the number of c style loops i write on one hand. in fact i just checked. in 9933 lines of the stem project, i found 1 c style for loop. and i don't go out of my way to avoid them. they just don't enter my perl vocabulary anymore. perl has such nice arrays and lists that indexing into them in a c style loop makes little sense. you loop OVER a list of things (such as hashes) and work on them. if you need an index into 2 arrays they should be refactored or designed to be an array of hashes. accessing an array element in a for list is much faster than using an index variable too. RJ> for (my $i = 1; $i < 10; $i++) { for my $i ( 1 .. 10 ) { also less chance of a fencepost error with the for list style. RJ> for (my $i=1, my $j=6; $i < 10; $i++, $j++) { print "$i\n" } for my $i ( 1 .. 10 ) { my $j = $i + 6 ; much easier to read and follow IMO. again less chance of fencespost errors. you just need to change how you think. remember i coded in c for over 20 years and did some deep complex stuff in it. i have long ago transitioned to perl and i don't ever think about c style for loops. they are just about never needed in perl and coding them is usually a red flag to me that a better design is warranted. uri -- Uri Guttman ------ uri at stemsystems.com -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org From dada.da at gmail.com Fri Apr 13 19:13:57 2007 From: dada.da at gmail.com (Daniel Allen) Date: Fri, 13 Apr 2007 22:13:57 -0400 Subject: [tpm] Perl Review subscriptions In-Reply-To: References: Message-ID: The Perl Review has made their subscriptions available as web-only for "international subscribers" (that is to say, international to the US). The subscription includes a year's worth of new issues, plus the entire back-issue catalogue, for $7 US. So check it out! -Daniel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070413/3e689eba/attachment.html From magog at the-wire.com Sun Apr 15 20:55:43 2007 From: magog at the-wire.com (Michael Graham) Date: Sun, 15 Apr 2007 23:55:43 -0400 Subject: [tpm] April Meeting - Thu 26 Apr, 2007 - Component-focused Testing and Test-Driven Development Message-ID: <20070415235543.3d52c3c3@caliope> This month we two speakers on testing related subjects! (These details are also on the TPM web site: http://to.pm.org/) Date: Thursday 26 Apr 2006 Time: 6:45pm Where: 2 Bloor Street West (NW corner of Yonge/Bloor, skyscraper with the CIBC logo on top) Classroom TBA =================================================================== Talk Details: Speaker #1: Jim Keenan Title: Component-Focused Testing: The Case of the Parrot Build Tools Duration: 40 minutes Description: Installation of an open-source software package such as Perl or a CPAN module generally follows a 4-step process: configure, build, test, install. Although 'make test' is usually thought of as the place where all the testing happens, the successful completion of each of the other stages implicitly constitutes the passing of a functional test. But does there exist a place for a type of test which is not included in the 'test' target but instead is run either before the 'configure' stage or between the 'configure' and 'build' stages? In this talk, Jim argues that there is a role for such tests and he describes how he has implemented a number of test suites, run post- configure but pre-build, for those of Parrot's build tools written in Perl 5. Such tests encourage provide more rapid feedback on the results of refactoring than 'make test' can. Indeed, they encourage Phalanx-style refactoring which makes the build tools more maintainable over the long run. ------------------------------------------------------------------- Speaker #2: Henry Baragar Title: Test Driven Design: Or How I Learned to Love the KISS Principle Duration: 40 minutes Description: Test Driven Development is a practice that can be used to improve software quality by writing tests before writing code. Applied properly, this practice can be extended to the design activities as well as code construction. In other words, it is practical to organically grow an application from an acorn to a mighty oak without doing any up front design work. To demonstrate Test Driven Design, Henry will walk through the evolution of a real world example. He will discuss the techniques, examine some interesting and unexpected observations, and present statistics from personal use. Finally, the example will be developed using Jifty so that you may gain some exposure and insight into this interesting and cutting edge application framework. =================================================================== Note: The elevators in the building are "locked down" after 5:30pm to people without building access cards. Leading up to the meeting someone will come down to the main floor lobby every few minutes to ferry people upstairs. After 19:00, you can reach the access-card-carrying guy via a cell phone number that we'll leave with security in the front lobby. The room and floor numbers will be left with security too. -- Michael Graham From arocker at vex.net Mon Apr 16 11:07:31 2007 From: arocker at vex.net (arocker at vex.net) Date: Mon, 16 Apr 2007 14:07:31 -0400 (EDT) Subject: [tpm] Presentation techniques Message-ID: <37089.192.30.202.29.1176746851.squirrel@webmail.vex.net> Powerpoint, and why not. http://www.theregister.ca/2007/04/16/death_by_powerpoint/ From mike at stok.ca Mon Apr 16 14:16:56 2007 From: mike at stok.ca (Mike Stok) Date: Mon, 16 Apr 2007 17:16:56 -0400 Subject: [tpm] Presentation techniques In-Reply-To: <37089.192.30.202.29.1176746851.squirrel@webmail.vex.net> References: <37089.192.30.202.29.1176746851.squirrel@webmail.vex.net> Message-ID: <578683ED-6D9E-4E65-858D-5B25E5F26BF9@stok.ca> On 16-Apr-07, at 2:07 PM, arocker at vex.net wrote: > > Powerpoint, and why not. > > http://www.theregister.ca/2007/04/16/death_by_powerpoint/ The Tufte link at the end of the second page is good. I have a copy of Tufte's _Beautiful Evidence_ at home which is a great read and includes chapters on the cognitive style of powerpoint. Mike -- Mike Stok http://www.stok.ca/~mike/ The "`Stok' disclaimers" apply. From jkeen at verizon.net Mon Apr 16 16:57:52 2007 From: jkeen at verizon.net (James Keenan) Date: Mon, 16 Apr 2007 19:57:52 -0400 Subject: [tpm] Hackathon: Improved Link Message-ID: <0F44E353-92B3-4AC8-9F6E-7B8A93EE7956@verizon.net> It appears that in my last posting the link to the Hackathon wiki line-wrapped badly. Here's the shortest working version: http://rakudo.org/hackathon-toronto/ If you're planning on coming a week from Saturday, please sign up on the Attendees page. Also please feel free to contribute projects you'd like to hack on to the Projects page. I look forward to seeing you at to.pm on Thurs Apr 26 and at the Hackathon on Sat Apr 28. jimk From tom at legrady.ca Tue Apr 17 15:35:07 2007 From: tom at legrady.ca (Tom Legrady) Date: Tue, 17 Apr 2007 18:35:07 -0400 Subject: [tpm] Hackathon: Improved Link In-Reply-To: <0F44E353-92B3-4AC8-9F6E-7B8A93EE7956@verizon.net> References: <0F44E353-92B3-4AC8-9F6E-7B8A93EE7956@verizon.net> Message-ID: <7089F18E-F5DF-42CE-A771-F7CD81432272@legrady.ca> Too bad the login page won't send me the confirmation email. I expect to be there, not sure what I'll contribute but I'm curious to see what people are doing with Perl6 There's parking on peter street, (ie, just east of the venue) just south of Richmond, not sure how expensive it is Tom On 16-Apr-07, at 7:57 PM, James Keenan wrote: > It appears that in my last posting the link to the Hackathon wiki > line-wrapped badly. Here's the shortest working version: > > http://rakudo.org/hackathon-toronto/ > > If you're planning on coming a week from Saturday, please sign up on > the Attendees page. Also please feel free to contribute projects > you'd like to hack on to the Projects page. > > I look forward to seeing you at to.pm on Thurs Apr 26 and at the > Hackathon on Sat Apr 28. > > jimk > _______________________________________________ > toronto-pm mailing list > toronto-pm at pm.org > http://mail.pm.org/mailman/listinfo/toronto-pm > Tom Legrady tom at legrady.ca XMas Shopping photos => http://www.flickr.com/photos/89217343 at N00/ sets/1601047/show -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070417/0044df2f/attachment.html From alexmac131 at hotmail.com Tue Apr 24 08:44:47 2007 From: alexmac131 at hotmail.com (Alex Mackinnon) Date: Tue, 24 Apr 2007 15:44:47 +0000 Subject: [tpm] another reason not to move to Winnipeg Message-ID: Wow, what are these people thinking. 20k for a mod_perl/cgi perl developer. http://jobs.perl.org/job/5687 You got to know apache, mod_perl, cgi programing, linux and oh yes "Experience with Photoshop and/or Flash. " These sorts of job posts just blow my stack. Alex Anyone see the FTD flourist post there (under a different name) and what is their problem on employee retention. Accenture of course is hiring and they pay way more, but you have to sell your soul. _________________________________________________________________ Win a webcam! Nominate your friend?s Windows Live Space in the Windows Live Spaces Sweetest Space Contest and you both could win! http://www.microsoft.com/canada/home/contests/sweetestspace/default.aspx From adam.prime at utoronto.ca Tue Apr 24 10:07:54 2007 From: adam.prime at utoronto.ca (adam.prime at utoronto.ca) Date: Tue, 24 Apr 2007 13:07:54 -0400 Subject: [tpm] another reason not to move to Winnipeg Message-ID: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> Quoting Alex Mackinnon : > > Wow, what are these people thinking. 20k for a mod_perl/cgi perl developer. > > http://jobs.perl.org/job/5687 > > You got to know apache, mod_perl, cgi programing, linux and oh yes > "Experience with Photoshop and/or Flash. " > > > These sorts of job posts just blow my stack. > I saw that too and shuddered. I can't see the cost of living being THAT much lower in winnipeg. That being said, it might be an ok job for a kid straight out of school, living at home. 25K = 12/hr basically. you can make more than that in retail. > > Anyone see the FTD flourist post there (under a different name) and > what is their problem on employee retention. > I assume you're talking about the Novator posting. A friend of a friend works there, though not as a coder. From everything i've heard it seems like it'd actually be a pretty good place to work. Good benefits, right downtown close to TTC, big established clients. /shrug > Accenture of course is hiring and they pay way more, but you have to > sell your soul. Whenever I hear Accenture i think Mississauga. I'm not sure if i really should be thinking that or not though. From pm-neil at watson-wilson.ca Tue Apr 24 10:14:06 2007 From: pm-neil at watson-wilson.ca (Neil Watson) Date: Tue, 24 Apr 2007 13:14:06 -0400 Subject: [tpm] another reason not to move to Winnipeg In-Reply-To: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> References: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> Message-ID: <20070424171406.GF6978@watson-wilson.ca> On Tue, Apr 24, 2007 at 01:07:54PM -0400, adam.prime at utoronto.ca wrote: >I assume you're talking about the Novator posting. A friend of a >friend works there, though not as a coder. From everything i've heard >it seems like it'd actually be a pretty good place to work. Good >benefits, right downtown close to TTC, big established clients. /shrug I hear they have a hyperactive on call pager. I also heard that they were moving from perl to java. -- Neil Watson | Debian Linux System Administrator | Uptime 13:12:35 up 20:09, 1 user, load average: 0.01, 0.01, 0.00 http://watson-wilson.ca From pm-neil at watson-wilson.ca Tue Apr 24 10:14:06 2007 From: pm-neil at watson-wilson.ca (Neil Watson) Date: Tue, 24 Apr 2007 13:14:06 -0400 Subject: [tpm] another reason not to move to Winnipeg In-Reply-To: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> References: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> Message-ID: <20070424171406.GF6978@watson-wilson.ca> On Tue, Apr 24, 2007 at 01:07:54PM -0400, adam.prime at utoronto.ca wrote: >I assume you're talking about the Novator posting. A friend of a >friend works there, though not as a coder. From everything i've heard >it seems like it'd actually be a pretty good place to work. Good >benefits, right downtown close to TTC, big established clients. /shrug I hear they have a hyperactive on call pager. I also heard that they were moving from perl to java. -- Neil Watson | Debian Linux System Administrator | Uptime 13:12:35 up 20:09, 1 user, load average: 0.01, 0.01, 0.00 http://watson-wilson.ca From sfryer at sourcery.ca Tue Apr 24 14:09:26 2007 From: sfryer at sourcery.ca (Shaun Fryer) Date: Tue, 24 Apr 2007 17:09:26 -0400 Subject: [tpm] another reason not to move to Winnipeg In-Reply-To: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> References: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> Message-ID: <20070424210926.GA11034@sourcery.ca> I also work for Novator. It *is* a great place to work. We're looking for a Perl developer (with secondary skills in Java) to work in my dept aswell. It's a bonus if the candidate has experience with XML/XSL also. You'd be working with me, so you get one of the best coworkers in the whole joint. ;) If you apply, please be sure to mention that I referred you. -- Shaun Fryer On Tue, Apr 24, 2007 at 01:07:54PM -0400, adam.prime at utoronto.ca wrote: > Quoting Alex Mackinnon : > > > > Wow, what are these people thinking. 20k for a mod_perl/cgi perl developer. > > > > http://jobs.perl.org/job/5687 > > > > You got to know apache, mod_perl, cgi programing, linux and oh yes > > "Experience with Photoshop and/or Flash. " > > > > > > These sorts of job posts just blow my stack. > > > > I saw that too and shuddered. I can't see the cost of living being > THAT much lower in winnipeg. That being said, it might be an ok job > for a kid straight out of school, living at home. 25K = 12/hr > basically. you can make more than that in retail. > > > > > Anyone see the FTD flourist post there (under a different name) and > > what is their problem on employee retention. > > > > I assume you're talking about the Novator posting. A friend of a > friend works there, though not as a coder. From everything i've heard > it seems like it'd actually be a pretty good place to work. Good > benefits, right downtown close to TTC, big established clients. /shrug > > > Accenture of course is hiring and they pay way more, but you have to > > sell your soul. > > Whenever I hear Accenture i think Mississauga. I'm not sure if i > really should be thinking that or not though. > > > _______________________________________________ > toronto-pm mailing list > toronto-pm at pm.org > http://mail.pm.org/mailman/listinfo/toronto-pm > From sfryer at sourcery.ca Tue Apr 24 14:24:00 2007 From: sfryer at sourcery.ca (Shaun Fryer) Date: Tue, 24 Apr 2007 17:24:00 -0400 Subject: [tpm] novator posting In-Reply-To: <20070424171406.GF6978@watson-wilson.ca> References: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> <20070424171406.GF6978@watson-wilson.ca> Message-ID: <20070424212400.GB11034@sourcery.ca> > On Tue, Apr 24, 2007 at 01:07:54PM -0400, adam.prime at utoronto.ca wrote: > I hear they have a hyperactive on call pager. I also heard that they > were moving from perl to java. I've been with Novator since Sept and never had to deal with a pager once. Usually that's handled by senior team members so that any serious problems get resolved in a timely manner. The Java migration is true with varying time-lines depending on client/dept. A significant portion of the infrastructure will continue to be in Perl for the foreseeable future. -- Shaun Fryer From alexmac131 at hotmail.com Tue Apr 24 14:53:24 2007 From: alexmac131 at hotmail.com (Alex Mackinnon) Date: Tue, 24 Apr 2007 21:53:24 +0000 Subject: [tpm] another reason not to move to Winnipeg In-Reply-To: <20070424210926.GA11034@sourcery.ca> Message-ID: So this is a new hire ? I keep seeing the post over and over :) Alex >From: Shaun Fryer >To: tpm at to.pm.org >Subject: Re: [tpm] another reason not to move to Winnipeg >Date: Tue, 24 Apr 2007 17:09:26 -0400 > >I also work for Novator. It *is* a great place to work. We're looking for >a Perl developer (with secondary skills in Java) to work in my dept aswell. >It's a bonus if the candidate has experience with XML/XSL also. You'd be >working with me, so you get one of the best coworkers in the whole joint. >;) > If you apply, please be sure to mention that I referred you. >-- > Shaun Fryer > >On Tue, Apr 24, 2007 at 01:07:54PM -0400, adam.prime at utoronto.ca wrote: > > Quoting Alex Mackinnon : > > > > > > Wow, what are these people thinking. 20k for a mod_perl/cgi perl >developer. > > > > > > http://jobs.perl.org/job/5687 > > > > > > You got to know apache, mod_perl, cgi programing, linux and oh yes > > > "Experience with Photoshop and/or Flash. " > > > > > > > > > These sorts of job posts just blow my stack. > > > > > > > I saw that too and shuddered. I can't see the cost of living being > > THAT much lower in winnipeg. That being said, it might be an ok job > > for a kid straight out of school, living at home. 25K = 12/hr > > basically. you can make more than that in retail. > > > > > > > > Anyone see the FTD flourist post there (under a different name) and > > > what is their problem on employee retention. > > > > > > > I assume you're talking about the Novator posting. A friend of a > > friend works there, though not as a coder. From everything i've heard > > it seems like it'd actually be a pretty good place to work. Good > > benefits, right downtown close to TTC, big established clients. /shrug > > > > > Accenture of course is hiring and they pay way more, but you have to > > > sell your soul. > > > > Whenever I hear Accenture i think Mississauga. I'm not sure if i > > really should be thinking that or not though. > > > > > > _______________________________________________ > > toronto-pm mailing list > > toronto-pm at pm.org > > http://mail.pm.org/mailman/listinfo/toronto-pm > > >_______________________________________________ >toronto-pm mailing list >toronto-pm at pm.org >http://mail.pm.org/mailman/listinfo/toronto-pm _________________________________________________________________ Win a webcam! Nominate your friend?s Windows Live Space in the Windows Live Spaces Sweetest Space Contest and you both could win! http://www.microsoft.com/canada/home/contests/sweetestspace/default.aspx From sfryer at sourcery.ca Tue Apr 24 15:06:26 2007 From: sfryer at sourcery.ca (Shaun Fryer) Date: Tue, 24 Apr 2007 18:06:26 -0400 Subject: [tpm] another reason not to move to Winnipeg In-Reply-To: References: <20070424210926.GA11034@sourcery.ca> Message-ID: <20070424220626.GA17731@sourcery.ca> Yeah. They're expanding. It's probably a form letter that Andrea's pasting in. -Shaun On Tue, Apr 24, 2007 at 09:53:24PM +0000, Alex Mackinnon wrote: > > So this is a new hire ? > > I keep seeing the post over and over :) > > Alex From liam at holoweb.net Tue Apr 24 15:42:39 2007 From: liam at holoweb.net (Liam R E Quin) Date: Tue, 24 Apr 2007 18:42:39 -0400 Subject: [tpm] another reason not to move to Winnipeg In-Reply-To: <20070424210926.GA11034@sourcery.ca> References: <20070424130754.kl9fb3m8o9c8c000@webmail.utoronto.ca> <20070424210926.GA11034@sourcery.ca> Message-ID: <1177454559.31351.118.camel@dell.barefootcomputing.com> On Tue, 2007-04-24 at 17:09 -0400, Shaun Fryer wrote: > I also work for Novator. It *is* a great place to work. We're looking for > a Perl developer (with secondary skills in Java) to work in my dept aswell. But do they make you wear shoes and socks? The pay wouldn't be very convincing in the Toronto area -- minimum rent for a single room tends to be $500, so after tax and rent it'd be difficult to party every night. Plus it's hard to spend under $12,000 for clothes on a typical shopping trip to, say, Holt Renfrew or one of the Toronto discount stores say on Cumberland. And valet parking for the Lotus would be out of the question! > It's a bonus if the candidate has experience with XML/XSL also. There at least we agree :-) ;-) -- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org www.advogato.org From magog at the-wire.com Wed Apr 25 08:24:25 2007 From: magog at the-wire.com (Michael Graham) Date: Wed, 25 Apr 2007 11:24:25 -0400 Subject: [tpm] [REMINDER] April Meeting Tomorrow, Hackathon this Sunday Message-ID: <20070425112425.4c24afa8@caliope> The next TPM meeting will be tomorrow (Thursday Apr 26 2007) in the usual location (2 bloor St. west). There's also a special all-day Hackathon happening this Sunday (Apr 28 2007) downtown (Richmond and Peter streets). Details for the Hackathon are here: http://rakudo.org/hackathon-toronto/ If you're thinking of attending the Hackathon, please sign up on the wiki, so we have an idea of what sort of numbers to expect. Thursday Meeting Details: (These details are also on the TPM web site: http://to.pm.org/) This month we have two speakers on testing-related subjects! Date: Thursday 27 Apr 2007 Time: 6:45pm Where: 2 Bloor Street West (NW corner of Yonge/Bloor, skyscraper with the CIBC logo on top) Classroom 11, 8th floor =================================================================== Talk Details: Speaker #1: Jim Keenan Title: Component-Focused Testing: The Case of the Parrot Build Tools Duration: 40 minutes Description: Installation of an open-source software package such as Perl or a CPAN module generally follows a 4-step process: configure, build, test, install. Although 'make test' is usually thought of as the place where all the testing happens, the successful completion of each of the other stages implicitly constitutes the passing of a functional test. But does there exist a place for a type of test which is not included in the 'test' target but instead is run either before the 'configure' stage or between the 'configure' and 'build' stages? In this talk, Jim argues that there is a role for such tests and he describes how he has implemented a number of test suites, run post- configure but pre-build, for those of Parrot's build tools written in Perl 5. Such tests encourage provide more rapid feedback on the results of refactoring than 'make test' can. Indeed, they encourage Phalanx-style refactoring which makes the build tools more maintainable over the long run. ------------------------------------------------------------------- Speaker #2: Henry Baragar Title: Test Driven Design: Or How I Learned to Love the KISS Principle Duration: 40 minutes Description: Test Driven Development is a practice that can be used to improve software quality by writing tests before writing code. Applied properly, this practice can be extended to the design activities as well as code construction. In other words, it is practical to organically grow an application from an acorn to a mighty oak without doing any up front design work. To demonstrate Test Driven Design, Henry will walk through the evolution of a real world example. He will discuss the techniques, examine some interesting and unexpected observations, and present statistics from personal use. Finally, the example will be developed using Jifty so that you may gain some exposure and insight into this interesting and cutting edge application framework. =================================================================== Note: The elevators in the building are "locked down" after 5:30pm to people without building access cards. Leading up to the meeting someone will come down to the main floor lobby every few minutes to ferry people upstairs. After 19:00, you can reach the access-card-carrying guy via a cell phone number that we'll leave with security in the front lobby. The room and floor numbers will be left with security too. -- Michael Graham From adam.prime at utoronto.ca Wed Apr 25 17:51:29 2007 From: adam.prime at utoronto.ca (Adam Prime) Date: Wed, 25 Apr 2007 20:51:29 -0400 Subject: [tpm] April Meeting - Thu 26 Apr, 2007 - Component-focused Testing and Test-Driven Development In-Reply-To: <20070415235543.3d52c3c3@caliope> References: <20070415235543.3d52c3c3@caliope> Message-ID: <462FF791.7030709@utoronto.ca> I just added this to upcoming.org (well it use to be upcoming.org) http://upcoming.yahoo.com/event/184159/ It might be an idea to just do this as a part of the announcement process. There are a number of other local users groups that already do it. Adam Michael Graham wrote: > This month we two speakers on testing related subjects! > > (These details are also on the TPM web site: http://to.pm.org/) > > Date: Thursday 26 Apr 2006 > > Time: 6:45pm > > Where: 2 Bloor Street West (NW corner of Yonge/Bloor, skyscraper > with the CIBC logo on top) Classroom TBA > > =================================================================== > > Talk Details: > > Speaker #1: Jim Keenan > Title: Component-Focused Testing: The Case of the Parrot Build > Tools > > Duration: 40 minutes > > Description: > > Installation of an open-source software package such as Perl or a > CPAN module generally follows a 4-step process: configure, build, > test, install. Although 'make test' is usually thought of as the > place where all the testing happens, the successful completion of > each of the other stages implicitly constitutes the passing of a > functional test. But does there exist a place for a type of test > which is not included in the 'test' target but instead is run either > before the 'configure' stage or between the 'configure' and 'build' > stages? > > In this talk, Jim argues that there is a role for such tests and he > describes how he has implemented a number of test suites, run post- > configure but pre-build, for those of Parrot's build tools written > in Perl 5. Such tests encourage provide more rapid feedback on the > results of refactoring than 'make test' can. Indeed, they encourage > Phalanx-style refactoring which makes the build tools more > maintainable over the long run. > > ------------------------------------------------------------------- > > Speaker #2: Henry Baragar > Title: Test Driven Design: Or How I Learned to Love the KISS > Principle > > Duration: 40 minutes > > Description: > > Test Driven Development is a practice that can be used to improve > software quality by writing tests before writing code. Applied > properly, this practice can be extended to the design activities as > well as code construction. In other words, it is practical to > organically grow an application from an acorn to a mighty oak > without doing any up front design work. > > To demonstrate Test Driven Design, Henry will walk through the > evolution of a real world example. He will discuss the techniques, > examine some interesting and unexpected observations, and present > statistics from personal use. Finally, the example will be > developed using Jifty so that you may gain some exposure and insight > into this interesting and cutting edge application framework. > > =================================================================== > > Note: > > The elevators in the building are "locked down" after 5:30pm > to people without building access cards. Leading up to the > meeting someone will come down to the main floor lobby every > few minutes to ferry people upstairs. > > After 19:00, you can reach the access-card-carrying guy via > a cell phone number that we'll leave with security in the > front lobby. The room and floor numbers will be left with > security too. > > > From matt at starnix.com Thu Apr 26 15:49:04 2007 From: matt at starnix.com (G. Matthew Rice) Date: 26 Apr 2007 18:49:04 -0400 Subject: [tpm] [REMINDER] April Meeting Tomorrow, Hackathon this Sunday In-Reply-To: <20070425112425.4c24afa8@caliope> References: <20070425112425.4c24afa8@caliope> Message-ID: Michael Graham writes: > There's also a special all-day Hackathon happening this Sunday (Apr 28 > 2007) downtown (Richmond and Peter streets). Details for the Hackathon > are here: > > http://rakudo.org/hackathon-toronto/ > > If you're thinking of attending the Hackathon, please sign up on the > wiki, so we have an idea of what sort of numbers to expect. Other than myself, I'll have 0-3 people coming as well. All for CAF (I hope :) I forgot to mention the wiki to them. I'll send them a note tonight. TTYL, -- g. matthew rice starnix care, toronto, ontario, ca phone: 647.722.5301 x242 gpg id: EF9AAD20 http://www.starnix.com professional linux services & products From Henry.Baragar at instantiated.ca Fri Apr 27 05:55:36 2007 From: Henry.Baragar at instantiated.ca (Henry Baragar) Date: Fri, 27 Apr 2007 08:55:36 -0400 Subject: [tpm] [REMINDER] April Meeting Tomorrow, Hackathon this Sunday In-Reply-To: <20070425112425.4c24afa8@caliope> References: <20070425112425.4c24afa8@caliope> Message-ID: <200704270855.36968.Henry.Baragar@instantiated.ca> Hello, For those of you interested, you can find my presentation at: http://www.instantiated.ca/tdd-kiss.swf The git repository with the Address example can be found at: http://www.instantiated.ca/tdd-git.tgz As I indicated in my talk, feed back would be appreciated. Thanks, Henry On Wednesday, April 25 2007 11:24 am, Michael Graham wrote: > The next TPM meeting will be tomorrow (Thursday Apr 26 2007) in the > usual location (2 bloor St. west). > > There's also a special all-day Hackathon happening this Sunday (Apr 28 > 2007) downtown (Richmond and Peter streets). Details for the Hackathon > are here: > > http://rakudo.org/hackathon-toronto/ > > If you're thinking of attending the Hackathon, please sign up on the > wiki, so we have an idea of what sort of numbers to expect. > > > Thursday Meeting Details: > > (These details are also on the TPM web site: http://to.pm.org/) > > This month we have two speakers on testing-related subjects! > > Date: Thursday 27 Apr 2007 > > Time: 6:45pm > > Where: 2 Bloor Street West (NW corner of Yonge/Bloor, skyscraper > with the CIBC logo on top) Classroom 11, 8th floor > > =================================================================== > > Talk Details: > > Speaker #1: Jim Keenan > Title: Component-Focused Testing: The Case of the Parrot Build > Tools > > Duration: 40 minutes > > Description: > > Installation of an open-source software package such as Perl or a > CPAN module generally follows a 4-step process: configure, build, > test, install. Although 'make test' is usually thought of as the > place where all the testing happens, the successful completion of > each of the other stages implicitly constitutes the passing of a > functional test. But does there exist a place for a type of test > which is not included in the 'test' target but instead is run either > before the 'configure' stage or between the 'configure' and 'build' > stages? > > In this talk, Jim argues that there is a role for such tests and he > describes how he has implemented a number of test suites, run post- > configure but pre-build, for those of Parrot's build tools written > in Perl 5. Such tests encourage provide more rapid feedback on the > results of refactoring than 'make test' can. Indeed, they encourage > Phalanx-style refactoring which makes the build tools more > maintainable over the long run. > > ------------------------------------------------------------------- > > Speaker #2: Henry Baragar > Title: Test Driven Design: Or How I Learned to Love the KISS > Principle > > Duration: 40 minutes > > Description: > > Test Driven Development is a practice that can be used to improve > software quality by writing tests before writing code. Applied > properly, this practice can be extended to the design activities as > well as code construction. In other words, it is practical to > organically grow an application from an acorn to a mighty oak > without doing any up front design work. > > To demonstrate Test Driven Design, Henry will walk through the > evolution of a real world example. He will discuss the techniques, > examine some interesting and unexpected observations, and present > statistics from personal use. Finally, the example will be > developed using Jifty so that you may gain some exposure and insight > into this interesting and cutting edge application framework. > > =================================================================== > > Note: > > The elevators in the building are "locked down" after 5:30pm > to people without building access cards. Leading up to the > meeting someone will come down to the main floor lobby every > few minutes to ferry people upstairs. > > After 19:00, you can reach the access-card-carrying guy via > a cell phone number that we'll leave with security in the > front lobby. The room and floor numbers will be left with > security too. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070427/81715c7d/attachment.html From jkeen at verizon.net Fri Apr 27 07:58:45 2007 From: jkeen at verizon.net (James Keenan) Date: Fri, 27 Apr 2007 10:58:45 -0400 Subject: [tpm] Correction: Hackathon this Saturday, Apr 28 In-Reply-To: <20070425112425.4c24afa8@caliope> References: <20070425112425.4c24afa8@caliope> Message-ID: <059FC778-152F-4071-8374-AA2E8E6D4161@verizon.net> On Apr 25, 2007, at 11:24 AM, Michael Graham wrote: > > The next TPM meeting will be tomorrow (Thursday Apr 26 2007) in the > usual location (2 bloor St. west). > > There's also a special all-day Hackathon happening this Sunday (Apr 28 > 2007) downtown (Richmond and Peter streets). Correct date; wrong day of week. s/Sunday/Saturday/; > Details for the Hackathon > are here: > > http://rakudo.org/hackathon-toronto/ > > If you're thinking of attending the Hackathon, please sign up on the > wiki, so we have an idea of what sort of numbers to expect. > From jkeen at verizon.net Fri Apr 27 11:39:11 2007 From: jkeen at verizon.net (James Keenan) Date: Fri, 27 Apr 2007 14:39:11 -0400 Subject: [tpm] Hackathon Access Details Message-ID: <450E06C2-1867-41B7-8C39-E181CCCC7AD6@verizon.net> For those coming to the Sat Apr 28 hackathon: http://rakudo.org/hackathon-toronto/index.cgi?location When you arrive, enter "#7667" and the door will open. (That's pound- sign 7667.) From tom at legrady.ca Sun Apr 29 18:32:13 2007 From: tom at legrady.ca (Tom Legrady) Date: Sun, 29 Apr 2007 21:32:13 -0400 Subject: [tpm] Q for people at Novator References: Message-ID: <8C9C13A2-3FB0-4A38-9499-9D0CD85255EA@legrady.ca> Please contact me if you're at Novator Thanks Tom Legrady tom at legrady.ca XMas Shopping photos => http://www.flickr.com/photos/89217343 at N00/ sets/1601047/show -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/toronto-pm/attachments/20070429/0630ca52/attachment.html