From james.pitts at gmail.com Sun Jan 2 13:06:36 2011 From: james.pitts at gmail.com (James Pitts) Date: Sun, 2 Jan 2011 22:06:36 +0100 Subject: [AnnArbor.pm] Fwd: Indiana LinuxFest 2011 Call For Speakers Message-ID: From: Lord Drachenblut To: president at mdlug.org Date: Sun, 2 Jan 2011 01:11:59 -0500 Subject: Indiana LinuxFest 2011 Call For Speakers Greetings I am contacting you in hopes that you could spread the word amongst your members and any past speakers that you have had that we are currently looking for speakers for the upcoming Indiana LinuxFest 2011. You can visit http://indianalinux.org for more details and to submit talks. We hope you and all your members will join us in are inaugural year to help start a great resource for the community. Thank you for your time and consideration -- Matthew Williams President Indiana F/oss Society Organizer of Indiana Linuxfest http://indianalinux.org PGP e-mail is welcome! Get my 1024 bit signature key from: From besmit at umich.edu Tue Jan 4 16:37:58 2011 From: besmit at umich.edu (Bryan Smith) Date: Tue, 4 Jan 2011 19:37:58 -0500 Subject: [AnnArbor.pm] One more try... scheduling next Ann Arbor Perl Mongers meeting Message-ID: Hi everyone, Since only a handful of people responded to the poll, I would like to try to see if we accommodate everyone. Here's a new poll with more days -- please pick out the days you are available: http://doodle.com/dnxb82t8rv75p8hi I'll see whether we can get Workantile on the day we choose, but if not we can meet at AADL or a coffee shop. My vote is for downtown Sweetwater. Please respond! Cheers, Bryan From besmit at umich.edu Thu Jan 6 08:27:32 2011 From: besmit at umich.edu (Bryan Smith) Date: Thu, 6 Jan 2011 11:27:32 -0500 Subject: [AnnArbor.pm] Next A2 Perl Mongers Meeting Weds January 26 Message-ID: Hello everyone, Thanks for participating in the Doodle poll. The next meeting will be Weds., January 26 at 7pm at Workantile. Should anything change, I'll let you know. I will present a basic introduction to Moose. If you have any short presentations you'd like to make, let me know! Cheers, Bryan From besmit at umich.edu Thu Jan 6 11:51:56 2011 From: besmit at umich.edu (Bryan Smith) Date: Thu, 6 Jan 2011 14:51:56 -0500 Subject: [AnnArbor.pm] UM library looking for two developers Message-ID: The Publishing Technology Group (PTG) and Digital Library Production Service (DLPS), units of the University of Michigan Library, seek two Application Developers to help design and implement a robust publishing platform for use with the HathiTrust digital library and repository. These positions will join our inter-divisional team to create a modular, extensible, enterprise-level suite of applications on the cutting edge of digital publishing. Yep, its a Perl job. http://umjobs.org/job_detail/54579/application_developer Sincerely, Bryan From besmit at umich.edu Mon Jan 24 15:49:00 2011 From: besmit at umich.edu (Bryan Smith) Date: Mon, 24 Jan 2011 18:49:00 -0500 Subject: [AnnArbor.pm] Meeting this Wednesday at 7pm, Workantile Exchange Message-ID: Hello everyone, We have a meeting this Wednesday Jan 26th at 7pm at Workantile. I will be presenting an introduction to Moose, followed by open mic. Sneak peak: http://annarbor.pm.org/meetings/#20110126 And there will be unhealthy snacks! Bryan Smith P.S., if you'd like to present in future meetings (not limited to Perl), please let me know! We also plan on having open mic each meeting, so you can bring a mini-presentation any time. -------------- next part -------------- An HTML attachment was scrubbed... URL: From schelcj at pobox.com Thu Jan 27 05:43:41 2011 From: schelcj at pobox.com (Chris Scheller) Date: Thu, 27 Jan 2011 08:43:41 -0500 Subject: [AnnArbor.pm] moose attribute handling Message-ID: <20110127134341.GG32531@batai.hsd1.mi.comcast.net> i found the modules i was trying to remember last night for handling arrayrefs/hashrefs and the like more cleanly in moose. turns out they were deprecated and the functionality moved into core moose in Moose::Meta::Attribute::Native[1]. [1]: http://search.cpan.org/~drolsky/Moose-1.21/lib/Moose/Meta/Attribute/Native.pm -- Chris Scheller | http://www.pobox.com/~schelcj | jabber: schelcj at gmail.com ---------------------------------------------------------------------------- If this fortune didn't exist, somebody would have invented it. From besmit at umich.edu Thu Jan 27 06:59:12 2011 From: besmit at umich.edu (Bryan Smith) Date: Thu, 27 Jan 2011 09:59:12 -0500 Subject: [AnnArbor.pm] Moose: errata and follow-up Message-ID: 1. CORRECTION: I made a mistake when discussing the attributes. I had said that the default is "read/write", and that omiting the 'is' option for an attribute would mean it is read/write. But by default the attribute has no accessors (which you can confirm by setting 'is' to 'bare'). http://search.cpan.org/~drolsky/Moose-1.21/lib/Moose/Manual/Attributes.pod#Read-write_vs._read-only So: has 'val1' => ( isa => 'Str' , is => 'rw' ); # You need the 'is' if you want read-write accessors has 'val2' => ( isa => 'Num' , is => 'rw' ); # You need the 'is' if you want read-write accessors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2. In the around method modifier, the $orig argument below is a code ref: around 'to_html' => sub { my $orig = shift; my $self = shift; print "ref \$orig : " . ref( $orig ) . "\n"; print ''; $self->$orig; print ''; }; ~ ~ ~ bryan at bryan-laptop:~/public_html_bryanesmith/demos/perl/oo$ ./strong-paragraph.plx

ref $orig : CODE Hello, World!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3. I did some simple performance testing with Moose and blessed hashes. (The code will be posted at end of email). The results show drastic differences between Moose with and without immutability and between Moose and old-style. # Moose bryan at bryan-laptop:~/public_html_bryanesmith/demos/perl/oo$ ./benchmark-oo.plx timethis 100000: 22 wallclock secs (22.36 usr + 0.01 sys = 22.37 CPU) @ 4470.27/s (n=100000) # Moose, immutable bryan at bryan-laptop:~/public_html_bryanesmith/demos/perl/oo$ ./benchmark-oo.plx timethis 100000: 2 wallclock secs ( 2.47 usr + 0.00 sys = 2.47 CPU) @ 40485.83/s (n=100000) # blessed hash bryan at bryan-laptop:~/public_html_bryanesmith/demos/perl/oo$ ./benchmark-old-oo.plx timethis 100000: 0 wallclock secs ( 0.89 usr + 0.00 sys = 0.89 CPU) @ 112359.55/s (n=100000) The methodology was crude (no hypothesis except that there might be a time difference), and I'd like to revisit this. Also, I want to know about memory as well. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4. Thanks for the info, Chris: http://search.cpan.org/~drolsky/Moose-1.21/lib/Moose/Meta/Attribute/Native.pm This is certainly cleaner, and I will be using it. Cheers, Bryan P.S., - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Moose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #!/usr/bin/perl package Test; use Moose; has 'val1' => ( isa => 'Str' , is => 'rw' ); has 'val2' => ( isa => 'Num' , is => 'rw' ); package main; use Benchmark qw(:all) ; sub testMoose { my $val1 = rand( 1000000 ); my $val2 = rand( 1000000 ); my $test = Test->new( 'val1' => $val1, 'val2' => $val2 ); die "Wrong val" unless $val1 == $test->val1; die "Wrong val" unless $val2 == $test->val2; } timethis ( 100000, "testMoose"); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Moose (immutable) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #!/usr/bin/perl package Test; use Moose; has 'val1' => ( isa => 'Str' , is => 'rw' ); has 'val2' => ( isa => 'Num' , is => 'rw' ); no Moose; __PACKAGE__->meta->make_immutable; package main; use Benchmark qw(:all) ; sub testMoose { my $val1 = rand( 1000000 ); my $val2 = rand( 1000000 ); my $test = Test->new( 'val1' => $val1, 'val2' => $val2 ); die "Wrong val" unless $val1 == $test->val1; die "Wrong val" unless $val2 == $test->val2; } timethis ( 100000, "testMoose"); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Non-moose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #!/usr/bin/perl package Test; sub new { my $class = shift; my $self = { _val1 => shift, _val2 => shift }; bless $self, $class; return $self; } sub val1 { my $self = shift; return $self->{ _val1 }; } sub val2 { my $self = shift; return $self->{ _val2 }; } package main; use Benchmark qw(:all) ; sub testMoose { my $val1 = rand( 1000000 ); my $val2 = rand( 1000000 ); my $test = Test->new( $val1, $val2 ); die "Wrong val" unless $val1 == $test->val1; die "Wrong val" unless $val2 == $test->val2; } timethis ( 100000, "testMoose"); -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.pitts at gmail.com Thu Jan 27 15:33:50 2011 From: james.pitts at gmail.com (James Pitts) Date: Thu, 27 Jan 2011 18:33:50 -0500 Subject: [AnnArbor.pm] Awesome meeting last night Message-ID: That was a great meeting! What especially struck me was how much we all know and yet how willing each of us are to share it. Thanks to Bryan for giving the Moose talk, and thanks to both Bryan and Seth for setting up the pizza and pop (to use the proper, local terminology). I look forward to the next gathering and learning about Catalyst... - Jamie From schelcj at pobox.com Thu Jan 27 17:59:15 2011 From: schelcj at pobox.com (Chris Scheller) Date: Thu, 27 Jan 2011 20:59:15 -0500 Subject: [AnnArbor.pm] Awesome meeting last night In-Reply-To: References: Message-ID: <20110128015915.GO32531@batai.hsd1.mi.comcast.net> James Pitts wrote on Thu, Jan 27, 2011 at 06:33:50PM -0500: > That was a great meeting! What especially struck me was how much we > all know and yet how willing each of us are to share it. Thanks to > Bryan for giving the Moose talk, and thanks to both Bryan and Seth for > setting up the pizza and pop (to use the proper, local terminology). it's soda! i don't care how long i live in MI, it will always be soda! :) > > I look forward to the next gathering and learning about Catalyst... > > - Jamie > _______________________________________________ > AnnArbor-pm mailing list > AnnArbor-pm at pm.org > http://mail.pm.org/mailman/listinfo/annarbor-pm > -- Chris Scheller | http://www.pobox.com/~schelcj | jabber: schelcj at gmail.com ---------------------------------------------------------------------------- Injustice anywhere is a threat to justice everywhere. -- Martin Luther King, Jr. From crystalruby at gmail.com Fri Jan 28 01:07:43 2011 From: crystalruby at gmail.com (Erin) Date: Fri, 28 Jan 2011 04:07:43 -0500 Subject: [AnnArbor.pm] Awesome meeting last night In-Reply-To: <20110128015915.GO32531@batai.hsd1.mi.comcast.net> References: <20110128015915.GO32531@batai.hsd1.mi.comcast.net> Message-ID: So what would people like for a discussion on Catalyst? Would you like something that follows the tutorial more closely, or would you like a general introduction to what it is and the way Catalyst does things as compared to something like Rails? I have some passing understanding of Rails. I want to make it as useful as possible for everyone. -Eriin -- Insanity is more than a state of mind; it's a way of life! -------------- next part -------------- An HTML attachment was scrubbed... URL: From bryanesmith at gmail.com Fri Jan 28 08:06:29 2011 From: bryanesmith at gmail.com (Bryan Smith) Date: Fri, 28 Jan 2011 11:06:29 -0500 Subject: [AnnArbor.pm] Awesome meeting last night In-Reply-To: References: <20110128015915.GO32531@batai.hsd1.mi.comcast.net> Message-ID: I think both an overview and a comparison with another framework might be nice. Other ideas (though I wouldn't attempt them all): - features list - installation tutorial - a simple demo - showing previous projects (you or anyone) using Catalyst (and perhaps discussing how Catalyst made life easier/harder) - a design idea followed by an overview of the steps you'd take with Catalyst Since Catalyst has so much going on, maybe you'd want to brainstorm some options like above (or unlike above) and mix and match until you settle on something that resonates. Or you can ask other people with Catalyst experience if they want to do mini-lectures/demos and you can focus on the intro and orchestrating. Have some fun with the format. Bryan On Fri, Jan 28, 2011 at 4:07 AM, Erin wrote: > So what would people like for a discussion on Catalyst?? Would you like > something that follows the tutorial more closely, or would you like a > general introduction to what it is and the way Catalyst does things as > compared to something like Rails?? I have some passing understanding of > Rails.? I want to make it as useful as possible for everyone. > > -Eriin > -- > Insanity is more than a state of mind; it's a way of life! > > _______________________________________________ > AnnArbor-pm mailing list > AnnArbor-pm at pm.org > http://mail.pm.org/mailman/listinfo/annarbor-pm > > From james.pitts at gmail.com Fri Jan 28 12:24:06 2011 From: james.pitts at gmail.com (James Pitts) Date: Fri, 28 Jan 2011 15:24:06 -0500 Subject: [AnnArbor.pm] Awesome meeting last night Message-ID: Erin, I'd say that one of the most useful things would be to show how to get Catalyst set up and running to the point where it can say "Hello, World!" in html ... using TemplateToolkit (or your favorite template engine). Of course a lot of background info would be needed before this, especially configuration and interacting with the plugins (hm, now called components). Along the lines of what Bryan suggested, this could be a series with mini-talks; there are so many "big Catalyst concepts" to cover and mini-talks could give you a way to have the rest of us pitch in. - Jamie From mikemol at gmail.com Fri Jan 28 13:02:47 2011 From: mikemol at gmail.com (Michael Mol) Date: Fri, 28 Jan 2011 16:02:47 -0500 Subject: [AnnArbor.pm] Awesome meeting last night In-Reply-To: References: <20110128015915.GO32531@batai.hsd1.mi.comcast.net> Message-ID: On Fri, Jan 28, 2011 at 4:07 AM, Erin wrote: > So what would people like for a discussion on Catalyst?? Would you like > something that follows the tutorial more closely, or would you like a > general introduction to what it is and the way Catalyst does things as > compared to something like Rails?? I have some passing understanding of > Rails.? I want to make it as useful as possible for everyone. > Well, you could see if there are any interesting problems on rosettacode.org that you might solve with it, but don't listen to me; I'm probably not going to be there (I live all the way over here in GRR), and I'm particularly biased on the topic of Rosetta Code, anyway. ;) -- :wq From besmit at umich.edu Mon Jan 31 18:23:24 2011 From: besmit at umich.edu (Bryan Smith) Date: Mon, 31 Jan 2011 21:23:24 -0500 Subject: [AnnArbor.pm] Doodle poll: date for next meeting? Message-ID: Please participate in the poll. Meeting: catalyst and open mic. http://www.doodle.com/s6xh4qdyyv8b2vr4 Cheers, Bryan