From enobacon at gmail.com Tue Jan 3 00:42:13 2012 From: enobacon at gmail.com (The Dread Parrot) Date: Tue, 3 Jan 2012 00:42:13 -0800 Subject: [Pdx-pm] The 2011 Perl 6 Coding Contest Message-ID: <201201030042.13637.enobacon@gmail.com> http://strangelyconsistent.org/blog/the-2011-perl-6-coding-contest "...This is a contest for people who are aware that Perl 6 has been "officially released", and who want the perfect excuse to start playing around with the language. ..." -- http://pdx.pm.org From enobacon at gmail.com Tue Jan 3 10:11:55 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Tue, 3 Jan 2012 10:11:55 -0800 Subject: [Pdx-pm] The 2011 Perl 6 Coding Contest In-Reply-To: <190F588E-C6A9-427F-96DD-5250BB3DF17E@ohsu.edu> References: <201201030042.13637.enobacon@gmail.com> <190F588E-C6A9-427F-96DD-5250BB3DF17E@ohsu.edu> Message-ID: <201201031011.55598.enobacon@gmail.com> # from Tom Keller on Tuesday 03 January 2012 10:06: >For those of us "behind the curve" here, the version history of > submissions would make a great introduction to a Practical Perl6 > Programming book. ... I would buy it. If anybody here decides to give it a whirl (sign up this week), consider posting your git repository after the contest is over. We could take some time to review the code before meetings if there is interest. --Eric -- You can't whack a chisel without a big wooden mallet. --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From enobacon at gmail.com Thu Jan 5 22:52:24 2012 From: enobacon at gmail.com (Seven till Seven) Date: Thu, 5 Jan 2012 22:52:24 -0800 Subject: [Pdx-pm] January Meeting next Thursday -- AMGSP2012 (Schwern rides a pail Moose) Message-ID: <201201052252.25121.enobacon@gmail.com> Thu. January 12th, 6:53pm at FreeGeek - 1731 SE 10th Ave 2012 is here, and that means it's time for the 7th-ish Annual-ish Michael G Schwern pdx.pm Presentation Presentation details to be determined. (Rumored to be about small, furry creatures with antlers aka OOSE.) http://pdx.pm.org/kwiki/?January2012Meeting As usual, the meeting will be followed by social hour at the Lucky Lab. -- http://pdx.pm.org From ben.hengst at gmail.com Fri Jan 6 11:16:48 2012 From: ben.hengst at gmail.com (benh) Date: Fri, 6 Jan 2012 11:16:48 -0800 Subject: [Pdx-pm] January Meeting next Thursday -- AMGSP2012 (Schwern rides a pail Moose) In-Reply-To: <201201052252.25121.enobacon@gmail.com> References: <201201052252.25121.enobacon@gmail.com> Message-ID: I was under the impression that it was a small creature like a mite. On Thu, Jan 5, 2012 at 22:52, Seven till Seven wrote: > > ?Thu. January 12th, 6:53pm at FreeGeek - 1731 SE 10th Ave > > 2012 is here, and that means it's time for the > > ?7th-ish Annual-ish Michael G Schwern pdx.pm Presentation > > Presentation details to be determined. ?(Rumored to be about small, > furry creatures with antlers aka OOSE.) > > ?http://pdx.pm.org/kwiki/?January2012Meeting > > As usual, the meeting will be followed by social hour at the Lucky Lab. > -- > > ? ? ? ?http://pdx.pm.org > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- benh~ http://about.notbenh.info From jonathan at leto.net Fri Jan 6 18:28:08 2012 From: jonathan at leto.net (Jonathan "Duke" Leto) Date: Fri, 6 Jan 2012 18:28:08 -0800 Subject: [Pdx-pm] January Meeting next Thursday -- AMGSP2012 (Schwern rides a pail Moose) In-Reply-To: <201201052252.25121.enobacon@gmail.com> References: <201201052252.25121.enobacon@gmail.com> Message-ID: Howdy, Sadly, I will be out of town. Please video this Schwern-on-furry-creature action, for posterity. Duke On Thu, Jan 5, 2012 at 10:52 PM, Seven till Seven wrote: > > ?Thu. January 12th, 6:53pm at FreeGeek - 1731 SE 10th Ave > > 2012 is here, and that means it's time for the > > ?7th-ish Annual-ish Michael G Schwern pdx.pm Presentation > > Presentation details to be determined. ?(Rumored to be about small, > furry creatures with antlers aka OOSE.) > > ?http://pdx.pm.org/kwiki/?January2012Meeting > > As usual, the meeting will be followed by social hour at the Lucky Lab. > -- > > ? ? ? ?http://pdx.pm.org > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- Jonathan "Duke" Leto Leto Labs LLC 209.691.DUKE // http://labs.leto.net NOTE: Personal email is only checked twice a day at 10am/2pm PST, please call/text for time-sensitive matters. From ben.hengst at gmail.com Mon Jan 9 11:20:15 2012 From: ben.hengst at gmail.com (benh) Date: Mon, 9 Jan 2012 11:20:15 -0800 Subject: [Pdx-pm] Fwd: UG News - Register Today: Repairing Problems in Windows 7, Black & White Photography, Top 10 New Google Advertiser Mistakes and More In-Reply-To: <1326136270.25101.0.897510@post.oreilly.com> References: <1326136270.25101.0.897510@post.oreilly.com> Message-ID: ---------- Forwarded message ---------- From: O'Reilly Media Date: Mon, Jan 9, 2012 at 11:11 Subject: UG News - Register Today: Repairing Problems in Windows 7, Black & White Photography, Top 10 New Google Advertiser Mistakes and More To: ben.hengst+oreilly at gmail.com ** View in browser . *Forward this announcement to your user group or a friend* [image: O'Reilly Webcasts] Meet experts online. Join us for these free, live webcasts. Attendance is limited, so register now. We'll send you a reminder before the webcast. And please feel free to *forward this invitation*to others. [image: Mike Halsey] Diagnosing and Repairing Difficult Problems in Windows 7 Presented by *Mike Halsey*, author of *Troubleshooting Windows 7 Inside Out * [image: Add to iCal] *Thursday, Jan 12, 2012 at 10:00AM PT* [image: Last Chance to Register] In this webcast, Mike Halsey, the author of *Troubleshooting Windows 7 Inside Out* talks you through how to diagnose really stubborn and hidden problems in Windows 7, and explains how you can go about fixing them. [image: Fred Trotter] 6 New Year Resolutions for Health IT Presented by *Fred Trotter*, *David Uhlman* [image: Add to iCal] *Tuesday, Jan 17, 2012 at 10:00AM PT* [image: Register now] If you are interested in insight into the strange behind the scenes workings of healthcare or are already a grizzled veteran, this webcast presentation will cover a diverse set of topics sure to be as informative as they are interesting and funny. [image: Clay Johnson] The Information Diet: How to Control What You Consume Presented by *Clay Johnson*, author of *The Information Diet* [image: Add to iCal] *Wednesday, Jan 18, 2012 at 10:00AM PT* [image: Register now] We'll talk about obesity ?? where it comes from, and what's been done to prevent it. Clay Johnson, author of *The Information Diet*, will explain the parallels between them in this live webcast presentation. [image: Harold Davis] Digital Black & White: Craft & Vision Presented by *Harold Davis*, author of *Google Advertising Tools, Second Edition* [image: Add to iCal] *Thursday, Jan 19, 2012 at 10:00AM PT* [image: Register now] In this webcast, master photographer Harold Davis, author of the best-selling *Creative Black & White: Digital Photography Tips & Techniques*examines the vision requires to create black & white photos in the digital era, and explains the craft involved in his monochromatic images. [image: Anastasia Holdren] Top 10 Google New Advertiser Mistakes (and how to avoid them) Presented by *Anastasia Holdren*, author of *Google AdWords* [image: Add to iCal] *Friday, Jan 20, 2012 at 10:00 PT* [image: Register now] This webcast session will cover the most common pitfalls new AdWords advertisers face. We'll discuss ways to avoid them and correct issues in existing accounts to improve overall performance. To learn more about O'Reilly Webcasts, and watch on?demand videos of previous webcasts, visit: *oreilly.com/webcasts* [image: Spreading the knowledge of innovators - oreilly.com] You are receiving this email because you are a User Group contact with O'Reilly Media. Forward this announcement. If you would like to stop receiving these newsletters or announcements from O'Reilly, send an email to *usergroups at oreilly.com* . O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000 -- benh~ http://about.notbenh.info -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Wed Jan 11 16:25:41 2012 From: enobacon at gmail.com (Seven till Seven) Date: Wed, 11 Jan 2012 16:25:41 -0800 Subject: [Pdx-pm] tomorrow -- AMGSP2012 (Schwern rides a pail Moose) Message-ID: <201201111625.41655.enobacon@gmail.com> Thu. January 12th, 6:53pm at FreeGeek - 1731 SE 10th Ave 2012 is here, and that means it's time for the 7th-ish Annual-ish Michael G Schwern pdx.pm Presentation Presentation details to be determined. (Rumored to be about small, furry creatures with antlers aka OOSE.) http://pdx.pm.org/kwiki/?January2012Meeting As usual, the meeting will be followed by social hour at the Lucky Lab. -- http://pdx.pm.org From enobacon at gmail.com Thu Jan 12 14:29:17 2012 From: enobacon at gmail.com (Seven till Seven) Date: Thu, 12 Jan 2012 14:29:17 -0800 Subject: [Pdx-pm] tonight -- change of plans: Unit Test Your Database! Message-ID: <201201121429.17340.enobacon@gmail.com> Thu. January 12th, 6:53pm at FreeGeek - 1731 SE 10th Ave Schwern is unable to make it tonight due to unexpected externalities. Instead, we'll have: Unit Test Your Database! with David Wheeler http://www.pgcon.org/2009/schedule/events/165.en.html As usual, the meeting will be followed by social hour at the Lucky Lab. -- http://pdx.pm.org From kellert at ohsu.edu Thu Jan 12 17:01:59 2012 From: kellert at ohsu.edu (Tom Keller) Date: Thu, 12 Jan 2012 17:01:59 -0800 Subject: [Pdx-pm] error: Can't use string ("Workrequest::Utilities") as a HASH ref Message-ID: Greetings, Writing a module Workrequest::Utilities with subroutine ##### code snippet ###### sub sample_range_fix { my $params_ref = shift; my $samples; my $filename = $params_ref->{filename}; my $start = $params_ref->{start}; my $count = $params_ref->{count}; my $prefix = $params_ref->{prefix}; my $last = $start + $count -1; for my $c ($start .. $last -1) { if ( $c < 10 ) { my $number = "0$c"; $samples .= "${prefix}_$number, "; } else { my $number = "$c"; $samples .= "${prefix}_$number, "; } $c++; } # add last sample w/o a comma if ( $count < 10 ) { $samples .= "${prefix}_0$last"; } else { $samples .= "${prefix}_$last"; } return $samples } ##### end code snippet ###### I get the strict ref error when I call this method with: ##### code snippet ###### my %params = ( filename => $filename, start => $start, count => $count, prefix => $prefix ); my $samples = Workrequest::Utilities->sample_range_fix( %params ); ##### end code snippet ###### I can't see what's wrong with it. Can you? thanks for your help, Tom MMI DNA Services Core Facility 503-494-2442 kellert at ohsu.edu Office: 6588 RJH (CROET/BasicScience) OHSU Shared Resources -------------- next part -------------- An HTML attachment was scrubbed... URL: From chromatic at wgz.org Thu Jan 12 17:06:19 2012 From: chromatic at wgz.org (chromatic) Date: Thu, 12 Jan 2012 17:06:19 -0800 Subject: [Pdx-pm] error: Can't use string ("Workrequest::Utilities") as a HASH ref In-Reply-To: References: Message-ID: <201201121706.19867.chromatic@wgz.org> On Thursday, January 12, 2012 at 05:01 PM, Tom Keller wrote: > I can't see what's wrong with it. Can you? Two problems: it's not a method, and it expects a hash reference. my $samples = Workrequest::Utilities::sample_range_fix( \%params ); -- c From joshua at keroes.com Thu Jan 12 17:06:32 2012 From: joshua at keroes.com (Joshua Keroes) Date: Thu, 12 Jan 2012 17:06:32 -0800 Subject: [Pdx-pm] error: Can't use string ("Workrequest::Utilities") as a HASH ref In-Reply-To: References: Message-ID: Try Workrequest::Utilities::sample_range_fix() instead. Using ->class_method() notation passes the class as the first argument. Two more things: 1. I suspect that $c++ line does nothing. 2. sprintf or printf will handle that 0-prefixing with less code. 2012/1/12 Tom Keller > Greetings, > Writing a module Workrequest::Utilities with subroutine > ##### code snippet ###### > sub sample_range_fix { > my $params_ref = shift; > my $samples; > my $filename = $params_ref->{filename}; > my $start = $params_ref->{start}; > my $count = $params_ref->{count}; > my $prefix = $params_ref->{prefix}; > my $last = $start + $count -1; > > for my $c ($start .. $last -1) { > if ( $c < 10 ) { > my $number = "0$c"; > $samples .= "${prefix}_$number, "; > } else { > my $number = "$c"; > $samples .= "${prefix}_$number, "; > } > $c++; > } > # add last sample w/o a comma > if ( $count < 10 ) { > $samples .= "${prefix}_0$last"; > } else { > $samples .= "${prefix}_$last"; > } > return $samples > } > ##### end code snippet ###### > > I get the strict ref error when I call this method with: > ##### code snippet ###### > my %params = ( > filename => $filename, > start => $start, > count => $count, > prefix => $prefix > ); > my $samples = Workrequest::Utilities->sample_range_fix( %params ); > ##### end code snippet ###### > > I can't see what's wrong with it. Can you? > > thanks for your help, > Tom > MMI DNA Services Core Facility > 503-494-2442 > kellert at ohsu.edu > Office: 6588 RJH (CROET/BasicScience) > > OHSU Shared Resources > > > > > > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kellert at ohsu.edu Thu Jan 12 17:15:02 2012 From: kellert at ohsu.edu (Tom Keller) Date: Thu, 12 Jan 2012 17:15:02 -0800 Subject: [Pdx-pm] error: Can't use string ("Workrequest::Utilities") as a HASH ref In-Reply-To: References: Message-ID: <3159D013-E6CB-49F8-A9C7-EBD1C3E308E5@ohsu.edu> Thanks folks. I use OO modules all the time, but haven't made one. So I forgot the difference. and just missed that I'd not referenced the input hash. thanks again, Tom kellert at ohsu.edu 503-494-2442 On Jan 12, 2012, at 5:06 PM, Joshua Keroes wrote: Try Workrequest::Utilities::sample_range_fix() instead. Using ->class_method() notation passes the class as the first argument. Two more things: 1. I suspect that $c++ line does nothing. 2. sprintf or printf will handle that 0-prefixing with less code. 2012/1/12 Tom Keller > Greetings, Writing a module Workrequest::Utilities with subroutine ##### code snippet ###### sub sample_range_fix { my $params_ref = shift; my $samples; my $filename = $params_ref->{filename}; my $start = $params_ref->{start}; my $count = $params_ref->{count}; my $prefix = $params_ref->{prefix}; my $last = $start + $count -1; for my $c ($start .. $last -1) { if ( $c < 10 ) { my $number = "0$c"; $samples .= "${prefix}_$number, "; } else { my $number = "$c"; $samples .= "${prefix}_$number, "; } $c++; } # add last sample w/o a comma if ( $count < 10 ) { $samples .= "${prefix}_0$last"; } else { $samples .= "${prefix}_$last"; } return $samples } ##### end code snippet ###### I get the strict ref error when I call this method with: ##### code snippet ###### my %params = ( filename => $filename, start => $start, count => $count, prefix => $prefix ); my $samples = Workrequest::Utilities->sample_range_fix( %params ); ##### end code snippet ###### I can't see what's wrong with it. Can you? thanks for your help, Tom MMI DNA Services Core Facility 503-494-2442 kellert at ohsu.edu Office: 6588 RJH (CROET/BasicScience) OHSU Shared Resources _______________________________________________ Pdx-pm-list mailing list Pdx-pm-list at pm.org http://mail.pm.org/mailman/listinfo/pdx-pm-list _______________________________________________ Pdx-pm-list mailing list Pdx-pm-list at pm.org http://mail.pm.org/mailman/listinfo/pdx-pm-list -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Fri Jan 13 10:58:19 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Fri, 13 Jan 2012 10:58:19 -0800 Subject: [Pdx-pm] prefixing, padding, and joining with commas In-Reply-To: References: Message-ID: <201201131058.19557.enobacon@gmail.com> # from Joshua Keroes # on Thursday 12 January 2012 17:06: >? ?1. I suspect that $c++ line does nothing. >? ?2. sprintf or printf will handle that 0-prefixing with less code. Using sprintf(), map(), and join() eliminates the four instances of duplicate/pseudo-duplicate "$prefix . $something" code and reduces it to: join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last) Note the concatenation of commas onto $samples, plus the trailing case with special handling for "add last sample w/o a comma". Using join() eliminates this special case at the end. It is also more efficient (for large strings, repeated concatenation can be very expensive vs growing a list.) Or, if you would rather read your code from left to right: use List::oo qw(L); L($start..$last)->map(sub{$prefix . sprintf("%02d", $_)})->join(', '); --Eric -- Issues of control, repair, improvement, cost, or just plain understandability all come down strongly in favor of open source solutions to complex problems of any sort. --Robert G. Brown --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From kellert at ohsu.edu Fri Jan 13 11:52:55 2012 From: kellert at ohsu.edu (Tom Keller) Date: Fri, 13 Jan 2012 11:52:55 -0800 Subject: [Pdx-pm] Testing question In-Reply-To: <201201131058.19557.enobacon@gmail.com> References: <201201131058.19557.enobacon@gmail.com> Message-ID: <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last); is much less clunky and elegantly handles the format issue. Thanks May I ask aTesting question? Is this a reasonable way to test this function? Do you test just that the output looks like you expect, or do you test that your program gets the input too (even though GetOpt includes it's own test for the input? ( t/02-range_fix.t ) ########## code snippet ######### #!perl -T use lib '/Users/kellert/Computing/Git/Workrequest-Utilities/lib'; # for development on Edofleini use Test::More 'no_plan'; BEGIN { use_ok( 'Workrequest::Utilities' ); } $prefix = 'test'; $start = 8; $count = 5; $last = $start + $count -1; $answer = 'test08, test09, test10, test11, test12'; ## n.b. space between elements in csv list $result = join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last); diag( "Testing Workrequest::Utilities $Workrequest::Utilities::VERSION, Perl $], $^X" ); ok( defined $result, 'got a result from map' ); is( $result eq $answer, 1, "compare result to $answer" ); ## 1 means TRUE ######## end code snippet ######### thanks, Tom kellert at ohsu.edu 503-494-2442 On Jan 13, 2012, at 10:58 AM, Eric Wilhelm wrote: > # from Joshua Keroes > # on Thursday 12 January 2012 17:06: > >> 1. I suspect that $c++ line does nothing. >> 2. sprintf or printf will handle that 0-prefixing with less code. > > Using sprintf(), map(), and join() eliminates the four instances of > duplicate/pseudo-duplicate "$prefix . $something" code and reduces it > to: > > join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last) > > Note the concatenation of commas onto $samples, plus the trailing case > with special handling for "add last sample w/o a comma". Using join() > eliminates this special case at the end. > > It is also more efficient (for large strings, repeated concatenation can > be very expensive vs growing a list.) > > Or, if you would rather read your code from left to right: > > use List::oo qw(L); > L($start..$last)->map(sub{$prefix . sprintf("%02d", $_)})->join(', '); > > --Eric > -- > Issues of control, repair, improvement, cost, or just plain > understandability all come down strongly in favor of open source > solutions to complex problems of any sort. > --Robert G. Brown > --------------------------------------------------- > http://scratchcomputing.com > --------------------------------------------------- > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From enobacon at gmail.com Fri Jan 13 14:10:12 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Fri, 13 Jan 2012 14:10:12 -0800 Subject: [Pdx-pm] February meeting topic (and speaker) needed Message-ID: <201201131410.12716.enobacon@gmail.com> Hi all, We need a topic and a speaker for the February meeting (and the next few months, for that matter.) What topics would you like to hear about? Suggestions from last night's meeting: Perl on Android What's New in Perl 5.12/5.14 (or Year-in-Review) Getting Started on Win32 AnyEvent.pm Web Frameworks Unit Testing Strategies Creating XS Modules Managing per-Application Dependencies Lightning Talks: My Favorite Module CPAN Module Creation and Packaging Please consider whether you could present on one of the topics mentioned in the coming months. First-time speakers are welcome (and you might even just want to do half of a pair of half-length presentations.) If you think you might be able to give a talk, please feel free to contact me about it off-list. Thanks, Eric -- We did have a meeting wishlist page on the wiki at one point... that's the best part about a wiki! From ben.hengst at gmail.com Fri Jan 13 15:09:57 2012 From: ben.hengst at gmail.com (benh) Date: Fri, 13 Jan 2012 15:09:57 -0800 Subject: [Pdx-pm] February meeting topic (and speaker) needed In-Reply-To: <201201131410.12716.enobacon@gmail.com> References: <201201131410.12716.enobacon@gmail.com> Message-ID: I could put on my dancer advocate hat if we wanted to do a web framework lightning talk &| panel. Also as much as there are warts I could do a small 'How ben uses dzil to build and maintain CPAN modules, and how you could too with out much hassle' talk though again I think the how to maintain CPAN modules should be a bit more encompassing so also might be better suited to a lighting talk &| panel setup. On Fri, Jan 13, 2012 at 14:10, Eric Wilhelm wrote: > Hi all, > > We need a topic and a speaker for the February meeting (and the next few > months, for that matter.) ?What topics would you like to hear about? > > Suggestions from last night's meeting: > > ?Perl on Android > ?What's New in Perl 5.12/5.14 (or Year-in-Review) > ?Getting Started on Win32 > ?AnyEvent.pm > ?Web Frameworks > ?Unit Testing Strategies > ?Creating XS Modules > ?Managing per-Application Dependencies > ?Lightning Talks: ?My Favorite Module > ?CPAN Module Creation and Packaging > > Please consider whether you could present on one of the topics mentioned > in the coming months. ?First-time speakers are welcome (and you might > even just want to do half of a pair of half-length presentations.) ?If > you think you might be able to give a talk, please feel free to contact > me about it off-list. > > Thanks, > Eric > -- > We did have a meeting wishlist page on the wiki at one point... that's > the best part about a wiki! > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- benh~ http://about.notbenh.info From ben.hengst at gmail.com Fri Jan 13 15:13:39 2012 From: ben.hengst at gmail.com (benh) Date: Fri, 13 Jan 2012 15:13:39 -0800 Subject: [Pdx-pm] February meeting topic (and speaker) needed In-Reply-To: References: <201201131410.12716.enobacon@gmail.com> Message-ID: Something that's not on the list that I would find useful would be to have a hardly structured gripe about getting to know perl session where everyone that has not talked presents a few things that are 'wrong' or 'hard' in there opinion as a way to give us ways to improve access to the perl community. On Fri, Jan 13, 2012 at 15:09, benh wrote: > I could put on my dancer advocate hat if we wanted to do a web > framework lightning talk &| panel. Also as much as there are warts I > could do a small 'How ben uses dzil to build and maintain CPAN > modules, and how you could too with out much hassle' talk though again > I think the how to maintain CPAN modules should be a bit more > encompassing so also might be better suited to a lighting talk &| > panel setup. > > On Fri, Jan 13, 2012 at 14:10, Eric Wilhelm wrote: >> Hi all, >> >> We need a topic and a speaker for the February meeting (and the next few >> months, for that matter.) ?What topics would you like to hear about? >> >> Suggestions from last night's meeting: >> >> ?Perl on Android >> ?What's New in Perl 5.12/5.14 (or Year-in-Review) >> ?Getting Started on Win32 >> ?AnyEvent.pm >> ?Web Frameworks >> ?Unit Testing Strategies >> ?Creating XS Modules >> ?Managing per-Application Dependencies >> ?Lightning Talks: ?My Favorite Module >> ?CPAN Module Creation and Packaging >> >> Please consider whether you could present on one of the topics mentioned >> in the coming months. ?First-time speakers are welcome (and you might >> even just want to do half of a pair of half-length presentations.) ?If >> you think you might be able to give a talk, please feel free to contact >> me about it off-list. >> >> Thanks, >> Eric >> -- >> We did have a meeting wishlist page on the wiki at one point... that's >> the best part about a wiki! >> _______________________________________________ >> Pdx-pm-list mailing list >> Pdx-pm-list at pm.org >> http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > > -- > benh~ > > http://about.notbenh.info -- benh~ http://about.notbenh.info From exodist7 at gmail.com Sat Jan 14 12:31:28 2012 From: exodist7 at gmail.com (Chad Granum) Date: Sat, 14 Jan 2012 12:31:28 -0800 Subject: [Pdx-pm] February meeting topic (and speaker) needed In-Reply-To: <201201131410.12716.enobacon@gmail.com> References: <201201131410.12716.enobacon@gmail.com> Message-ID: I would be willing to do a "how to cleanup code" session. People can bring scripts/modules that they know are ugly, such as 200+ line functions, large blocks of if/else/else/else and other monstrosities, then I could bring it up and show how to clean it by factoring it into smaller parts in manageable chunks. I would show how a successful refactor preserves logic, but improves readability and testability. Also showing that refactoring does not have to be scary as long as you don't try to do a full re-write. I could also create some samples in case nobody brings any. Would anyone have interest in this? -Chad On Fri, Jan 13, 2012 at 2:10 PM, Eric Wilhelm wrote: > Hi all, > > We need a topic and a speaker for the February meeting (and the next few > months, for that matter.) ?What topics would you like to hear about? > > Suggestions from last night's meeting: > > ?Perl on Android > ?What's New in Perl 5.12/5.14 (or Year-in-Review) > ?Getting Started on Win32 > ?AnyEvent.pm > ?Web Frameworks > ?Unit Testing Strategies > ?Creating XS Modules > ?Managing per-Application Dependencies > ?Lightning Talks: ?My Favorite Module > ?CPAN Module Creation and Packaging > > Please consider whether you could present on one of the topics mentioned > in the coming months. ?First-time speakers are welcome (and you might > even just want to do half of a pair of half-length presentations.) ?If > you think you might be able to give a talk, please feel free to contact > me about it off-list. > > Thanks, > Eric > -- > We did have a meeting wishlist page on the wiki at one point... that's > the best part about a wiki! > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From gorthx at gmail.com Sat Jan 14 15:59:43 2012 From: gorthx at gmail.com (gabrielle) Date: Sat, 14 Jan 2012 15:59:43 -0800 Subject: [Pdx-pm] February meeting topic (and speaker) needed In-Reply-To: References: <201201131410.12716.enobacon@gmail.com> Message-ID: On Sat, Jan 14, 2012 at 12:31 PM, Chad Granum wrote: > I would be willing to do a "how to cleanup code" session. People can > bring scripts/modules that they know are ugly, such as 200+ line > functions, ?large blocks of if/else/else/else and other monstrosities, > then I could bring it up and show how to clean it by factoring it into > smaller parts in manageable chunks. I would show how a successful > refactor preserves logic, but improves readability and testability. > Also showing that refactoring does not have to be scary as long as you > don't try to do a full re-write. I could also create some samples in > case nobody brings any. > > Would anyone have interest in this? I'm always interested in refactoring. gabrielle From outgoing at SolutionsCreative.com Sat Jan 14 21:19:14 2012 From: outgoing at SolutionsCreative.com (FilteredMessages) Date: Sat, 14 Jan 2012 21:19:14 -0800 Subject: [Pdx-pm] February meeting topic (and speaker) needed Message-ID: <4F1261D2.7090509@SolutionsCreative.com> If there is interest, in March or April (but not February) I could give a presentation titled: "VoteFair ranking: Math-based voting power for the 99%" Note that Voting::VoteFairRanking is a Perl CPAN module that I uploaded some weeks ago -- after 20 years of development. I'm already giving this presentation to the Westside Proggers group on January 26 (see Calagator for details), but I could repeat it, or a variation of it, for the PDX Perl Mongers group. Here is the presentation description: "Just-released open-source software that implements VoteFair ranking is now available to help us reach higher levels of voting fairness. You do voting when you click on Google search results, and you use voting results when you view the star rating of an Amazon product. Now learn how voting really works, how it is usually miscalculated -- intentionally in the case of elections -- and how it can be done to fully extract the wisdom in a group. Learn the math behind the puppet strings that connect politicians to the biggest campaign contributors. (Partial spoiler: The biggest unfairness is hidden in primary elections.) Also learn the math that eventually will cut those puppet strings. Along the way you will learn that there are different kinds of popularity." FYI, I'm the author of /The Creative Problem Solver's Toolbox/ and /Ending The Hidden Unfairness In U.S. Elections/, the developer of the Dashrep programming language, and the developer of the software negotiation tool at www.NegotiationTool.com . If there is a preference for a shorter talk, I could give a presentation about the Dashrep language I created. It's a text-manipulation language, with details at www.Dashrep.org. The CPAN module Language::Dashrep is the engine that does the translation. BTW, Eric Wilhelm knows who I am. Richard Fobes -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan at leto.net Wed Jan 18 07:53:26 2012 From: jonathan at leto.net (Jonathan "Duke" Leto) Date: Wed, 18 Jan 2012 07:53:26 -0800 Subject: [Pdx-pm] Testing question In-Reply-To: <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> References: <201201131058.19557.enobacon@gmail.com> <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> Message-ID: Howdy, The test seems reasonable. Some suggestions: 1) use strict + use warnings 2) Instead of is($x eq $y, 'blarg') this is better: cmp_ok($x, 'eq', $y, 'blarg') because you will get better error reporting from cmp_ok. It knows that you are using 'eq', so it can say "hey, $x != $y", whereas the first test will just say "this thing isn't true", which isn't nearly as useful. 3) Consider using Test::Most. It has lots of awesomesauce. Duke On Fri, Jan 13, 2012 at 11:52 AM, Tom Keller wrote: > join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last); > is much less clunky and elegantly handles the format issue. Thanks > > May I ask aTesting question? > Is this a reasonable way to test this function? > Do you test just that the output looks like you expect, or do you test that your program gets the input too (even though GetOpt includes it's own test for the input? > > ?( t/02-range_fix.t ) > ########## code snippet ######### > #!perl -T > > use lib '/Users/kellert/Computing/Git/Workrequest-Utilities/lib'; ? ? ? ? ? ? ? # for development on Edofleini > use Test::More ?'no_plan'; > > BEGIN { > ? ? ? ?use_ok( 'Workrequest::Utilities' ); > } > $prefix = 'test'; > $start = 8; > $count = 5; > $last = $start + $count -1; > $answer = 'test08, test09, test10, test11, test12'; ? ? ? ? ? ? ## n.b. space between elements in csv list > $result = ?join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last); > > diag( "Testing Workrequest::Utilities $Workrequest::Utilities::VERSION, Perl $], $^X" ); > ok( defined $result, 'got a result from map' ); > is( $result eq $answer, 1, "compare result to $answer" ); ? ? ? ? ? ? ? ## 1 means TRUE > ######## ?end code snippet ######### > > thanks, > > Tom > kellert at ohsu.edu > 503-494-2442 > > > > > > > > On Jan 13, 2012, at 10:58 AM, Eric Wilhelm wrote: > >> # from Joshua Keroes >> # on Thursday 12 January 2012 17:06: >> >>> ? ?1. I suspect that $c++ line does nothing. >>> ? ?2. sprintf or printf will handle that 0-prefixing with less code. >> >> Using sprintf(), map(), and join() eliminates the four instances of >> duplicate/pseudo-duplicate "$prefix . $something" code and reduces it >> to: >> >> ?join(', ', map {$prefix . sprintf("%02d", $_)} $start..$last) >> >> Note the concatenation of commas onto $samples, plus the trailing case >> with special handling for "add last sample w/o a comma". ?Using join() >> eliminates this special case at the end. >> >> It is also more efficient (for large strings, repeated concatenation can >> be very expensive vs growing a list.) >> >> Or, if you would rather read your code from left to right: >> >> ?use List::oo qw(L); >> ?L($start..$last)->map(sub{$prefix . sprintf("%02d", $_)})->join(', '); >> >> --Eric >> -- >> Issues of control, repair, improvement, cost, or just plain >> understandability all come down strongly in favor of open source >> solutions to complex problems of any sort. >> --Robert G. Brown >> --------------------------------------------------- >> ? ?http://scratchcomputing.com >> --------------------------------------------------- >> _______________________________________________ >> Pdx-pm-list mailing list >> Pdx-pm-list at pm.org >> http://mail.pm.org/mailman/listinfo/pdx-pm-list > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- Jonathan "Duke" Leto Leto Labs LLC 209.691.DUKE // http://labs.leto.net NOTE: Personal email is only checked twice a day at 10am/2pm PST, please call/text for time-sensitive matters. From andy at petdance.com Wed Jan 18 07:57:14 2012 From: andy at petdance.com (Andy Lester) Date: Wed, 18 Jan 2012 09:57:14 -0600 Subject: [Pdx-pm] Testing question In-Reply-To: References: <201201131058.19557.enobacon@gmail.com> <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> Message-ID: On Jan 18, 2012, at 9:53 AM, Jonathan Duke Leto wrote: > is($x eq $y, 'blarg') > > this is better: > > cmp_ok($x, 'eq', $y, 'blarg') > > because you will get better error reporting from cmp_ok. It knows that > you are using 'eq', so it can say "hey, $x != $y", whereas the first > test will just say "this thing isn't true", which isn't nearly as > useful. ok( $x eq $y, 'blarg' ) isn't informative. is( $x, $y, 'blarg' ) tells you what's different. cmp_ok( $x, 'eq', $y, 'blarg' ) is no more informative than the is() call. cmp_ok should be used only if you want to compare using something other than 'eq'. xoa -- Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.hengst at gmail.com Wed Jan 18 10:50:58 2012 From: ben.hengst at gmail.com (benh) Date: Wed, 18 Jan 2012 10:50:58 -0800 Subject: [Pdx-pm] Testing question In-Reply-To: References: <201201131058.19557.enobacon@gmail.com> <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> Message-ID: Another option is to not boil everything down to a single string to do the test. Like Leto said, if you use Test::Differences (included when you use Test::Most) then you'll have access to eq_or_diff that gives you Data::Dumper-ish output for data structures when they fail. In the example below take a look at the output (post __END__) and look at the last row, note that it's flagged with '*' and you can see what's the same and what's not. #!/usr/bin/env perl use strict; use warnings; use Test::Most qw{no_plan}; eq_or_diff [ qw{test08 test09 test10 test11 test13} ], # NOTE 13 rather then 12 to cause failure [ map{sprintf q{test%02d}, $_} 8..12 ], q{well do they match?} ; __END__ not ok 1 - well do they match? # Failed test 'well do they match?' # at tom.t line 8. # +----+----------+----------+ # | Elt|Got |Expected | # +----+----------+----------+ # | 0|'test08' |'test08' | # | 1|'test09' |'test09' | # | 2|'test10' |'test10' | # | 3|'test11' |'test11' | # * 4|'test13' |'test12' * # +----+----------+----------+ 1..1 # Looks like you failed 1 test of 1. 2012/1/18 Andy Lester : > > On Jan 18, 2012, at 9:53 AM, Jonathan Duke Leto wrote: > > is($x eq $y, 'blarg') > > this is better: > > cmp_ok($x, 'eq', $y, 'blarg') > > because you will get better error reporting from cmp_ok. It knows that > you are using 'eq', so it can say "hey, $x != $y", whereas the first > test will just say "this thing isn't true", which isn't nearly as > useful. > > > ok( $x eq $y, 'blarg' ) isn't informative. > > is( $x, $y, 'blarg' ) tells you what's different. > > cmp_ok( $x, 'eq', $y, 'blarg' ) is no more informative than the is() call. > ?cmp_ok should be used only if you want to compare using something other > than 'eq'. > > xoa > > > -- > Andy Lester =>?andy at petdance.com?=>?www.petdance.com?=> AIM:petdance > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- benh~ http://about.notbenh.info From ben.hengst at gmail.com Wed Jan 18 10:52:47 2012 From: ben.hengst at gmail.com (benh) Date: Wed, 18 Jan 2012 10:52:47 -0800 Subject: [Pdx-pm] Testing question In-Reply-To: References: <201201131058.19557.enobacon@gmail.com> <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> Message-ID: oop, just noticed that I've got my get and expected reversed, sorry about that. it should be : eq_or_diff ?[ map{sprintf q{test%02d}, $_} 8..12 ], ?[ qw{test08 test09 test10 test11 test13} ], # NOTE 13 rather then 12 to cause failure ?q{well do they match?} ; On Wed, Jan 18, 2012 at 10:50, benh wrote: > Another option is to not boil everything down to a single string to do > the test. Like Leto said, if you use Test::Differences (included when > you use Test::Most) then you'll have access to eq_or_diff that gives > you Data::Dumper-ish output for data structures when they fail. In the > example below take a look at the output (post __END__) and look at the > last row, note that it's flagged with '*' and you can see what's the > same and what's not. > > > #!/usr/bin/env perl > use strict; > use warnings; > use Test::Most qw{no_plan}; > > eq_or_diff > ?[ qw{test08 test09 test10 test11 test13} ], # NOTE 13 rather then 12 > to cause failure > ?[ map{sprintf q{test%02d}, $_} 8..12 ], > ?q{well do they match?} > ; > > __END__ > not ok 1 - well do they match? > # ? Failed test 'well do they match?' > # ? at tom.t line 8. > # +----+----------+----------+ > # | Elt|Got ? ? ? |Expected ?| > # +----+----------+----------+ > # | ? 0|'test08' ?|'test08' ?| > # | ? 1|'test09' ?|'test09' ?| > # | ? 2|'test10' ?|'test10' ?| > # | ? 3|'test11' ?|'test11' ?| > # * ? 4|'test13' ?|'test12' ?* > # +----+----------+----------+ > 1..1 > # Looks like you failed 1 test of 1. > > > > > > 2012/1/18 Andy Lester : >> >> On Jan 18, 2012, at 9:53 AM, Jonathan Duke Leto wrote: >> >> is($x eq $y, 'blarg') >> >> this is better: >> >> cmp_ok($x, 'eq', $y, 'blarg') >> >> because you will get better error reporting from cmp_ok. It knows that >> you are using 'eq', so it can say "hey, $x != $y", whereas the first >> test will just say "this thing isn't true", which isn't nearly as >> useful. >> >> >> ok( $x eq $y, 'blarg' ) isn't informative. >> >> is( $x, $y, 'blarg' ) tells you what's different. >> >> cmp_ok( $x, 'eq', $y, 'blarg' ) is no more informative than the is() call. >> ?cmp_ok should be used only if you want to compare using something other >> than 'eq'. >> >> xoa >> >> >> -- >> Andy Lester =>?andy at petdance.com?=>?www.petdance.com?=> AIM:petdance >> >> >> _______________________________________________ >> Pdx-pm-list mailing list >> Pdx-pm-list at pm.org >> http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > > -- > benh~ > > http://about.notbenh.info -- benh~ http://about.notbenh.info From ben.hengst at gmail.com Wed Jan 18 21:05:20 2012 From: ben.hengst at gmail.com (benh) Date: Wed, 18 Jan 2012 21:05:20 -0800 Subject: [Pdx-pm] Fwd: UG News - Last Chance to Register: Advanced HTML5 JavaScript, Top 10 New Google Advertiser Mistakes, Creating Mobile Apps and More In-Reply-To: <1326829310.12663.0.762099@post.oreilly.com> References: <1326829310.12663.0.762099@post.oreilly.com> Message-ID: ---------- Forwarded message ---------- From: O'Reilly Media Date: Tue, Jan 17, 2012 at 11:41 Subject: UG News - Last Chance to Register: Advanced HTML5 JavaScript, Top 10 New Google Advertiser Mistakes, Creating Mobile Apps and More To: ben.hengst+oreilly at gmail.com ** View in browser . *Forward this announcement to your user group or a friend* [image: O'Reilly Webcasts] Meet experts online. Join us for these free, live webcasts. Attendance is limited, so register now. We'll send you a reminder before the webcast. And please feel free to *forward this invitation*to others. [image: Harold Davis] Digital Black & White: Craft & Vision Presented by *Harold Davis*, author of *Google Advertising Tools, Second Edition* [image: Add to iCal] *Thursday, Jan 19, 2012 at 10:00AM PT* [image: Last Chance to Register] In this webcast, master photographer Harold Davis, author of the best-selling *Creative Black & White: Digital Photography Tips & Techniques*examines the vision required to create black & white photos in the digital era, and explains the craft involved in his monochromatic images. [image: Anastasia Holdren] Top 10 Google New Advertiser Mistakes (and how to avoid them) Presented by *Anastasia Holdren*, author of *Google AdWords* [image: Add to iCal] *Friday, Jan 20, 2012 at 10:00 PT* [image: Last Chance to Register] This webcast session will cover the most common pitfalls new AdWords advertisers face. We'll discuss ways to avoid them and correct issues in existing accounts to improve overall performance. [image: Kyle Simpson] Advanced HTML5 JavaScript: Down 'n Dirty Presented by *Kyle Simpson*, author of *HTML5 Cookbook* [image: Add to iCal] *Tuesday, Jan 24, 2012 at 10:00AM PT* [image: Register now] This webcast will explore various advanced JavaScript API's in the context of how to weave them all together into a multi-player web-based game. Topics include: Canvas, History API, localStorage/sessionStorage, appCache, Web Sockets, Local Files, Web Workers. [image: Joshua Marinacci] Creating Mobile Apps with GWT and PhoneGap Presented by *Joshua Marinacci*, author of *Building Mobile Applications with Java* [image: Add to iCal] *Thursday, Jan 26, 2012 at 10:00 PT* [image: Register now] Not all mobile devices support Java but with GWT and PhoneGap you can code in Java and compile to native apps on virtually any smartphone platform. This webcast presentation will introduce you to the basics of building some apps. [image: John Zablocki] Developing with .NET and Couchbase Server Presented by *John Zablocki* [image: Add to iCal] *Friday, Jan 27, 2012 at 10:00AM PT* [image: Register now] In this webcast John Zablocki, Developer Advocate at Couchbase, will introduce the .NET client library for Couchbase Server. To learn more about O'Reilly Webcasts, and watch on?demand videos of previous webcasts, visit: *oreilly.com/webcasts* [image: Spreading the knowledge of innovators - oreilly.com] You are receiving this email because you are a User Group contact with O'Reilly Media. Forward this announcement. If you would like to stop receiving these newsletters or announcements from O'Reilly, send an email to *usergroups at oreilly.com* . O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000 -- benh~ http://about.notbenh.info -------------- next part -------------- An HTML attachment was scrubbed... URL: From keithl at kl-ic.com Sat Jan 21 09:29:47 2012 From: keithl at kl-ic.com (Keith Lofstrom) Date: Sat, 21 Jan 2012 09:29:47 -0800 Subject: [Pdx-pm] OT: Mac Linux Unix Mail Message-ID: <20120121172947.GC29197@gate.kl-ic.com> This is off topic, but some of you have Macs and play with the code underneath the GUI. I want to feed the output of custom system scripts (mostly my ugly Perl) into Mac Mail. I'm integrating a Snow Leopard Mac Mini into a small pond of Linux machines. For email, the Linux machines run postfix, procmail, spamassassin, and mutt. The linux boxes have no GUI mail readers, no POP/IMAP stuff. Our (non-technical) Mac user wants to use the Mac Mail client, and POP/IMAP from her outside account. I also want to feed system generated mails directly into the Mac's postfix smtp input. The mails are highly sensitive, I don't want to pass them through any external mail servers, and I would rather not secure and maintain dovecot on our internal LAN (I will if I must). I'm trying to fit this one oddball machine into the rest of the system with as few special cases as possible. First, where on the web should I be looking for clues and suggestions about geeking underneath the Mac GUI? Any keywords that might help? Second, can I set the Mac up with Maildir format for backup uniformity with the Linux machines? Third, if I tweak postfix and procmail to feed internal mail directly to an inbound Mac user folder/directory, bypassing POP/IMAP, am I risking breakage? Is there a best way to do this? Or am I up against Mac TIOWTDI ? See Figure One? Keith -- Keith Lofstrom keithl at keithl.com Voice (503)-520-1993 KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon" Design Contracting in Bipolar and CMOS - Analog, Digital, and Scan ICs From schwern at pobox.com Sun Jan 22 14:18:21 2012 From: schwern at pobox.com (Michael G Schwern) Date: Sun, 22 Jan 2012 14:18:21 -0800 Subject: [Pdx-pm] Testing question In-Reply-To: References: <201201131058.19557.enobacon@gmail.com> <863C8E49-F10C-49BA-AA9F-A1B664A32686@ohsu.edu> Message-ID: <4F1C8B2D.8080503@pobox.com> On 2012.1.18 7:57 AM, Andy Lester wrote: > cmp_ok( $x, 'eq', $y, 'blarg' ) is no more informative than the is() call. > cmp_ok should be used only if you want to compare using something other than > 'eq'. ...or if you REALLY want to make sure 'eq' is used for the test. Usually this is only important when testing operator overloading. is() doesn't always use 'eq'. For example, it will consider "" and undef different. is( "", undef ); # fail cmp_ok( "", 'eq', undef ); # pass is()'s extra logic is usually what you want. -- 170. Not allowed to "defect" to OPFOR during training missions. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/ From ben.hengst at gmail.com Tue Jan 24 11:07:07 2012 From: ben.hengst at gmail.com (benh) Date: Tue, 24 Jan 2012 11:07:07 -0800 Subject: [Pdx-pm] Fwd: Books and News from the O'Reilly User Group Program--Jan In-Reply-To: <1327431826.25638.0.243290@post.oreilly.com> References: <1327431826.25638.0.243290@post.oreilly.com> Message-ID: ---------- Forwarded message ---------- From: Marsee Henon & Jon Johns Date: Tue, Jan 24, 2012 at 11:03 Subject: Books and News from the O'Reilly User Group Program--Jan To: ben.hengst+oreilly at gmail.com ** If you cannot read the information below, View in browser . Forward this announcement to a friend [image: O'Reilly.com][image: User Group Newsletter] Jan 2012 Issue New Releases: *ActionScript Developer's Guide to PureMVC * By Cliff Hall *Arduino Cookbook, Second Edition * By Michael Margolis *The Art of Black and White Photography, Second Edition * By Torsten Andreas Hoffmann *Essential iOS Build and Release * By Ron Roche *Google+: The Missing Manual * By Kevin Purdy *Hacking and Securing iOS Applications * *Head First Mobile Web * By Lyza Danger Gardner, Jason Grigsby *The Information Diet * By Clay Johnson *Inside Cyber Warfare, Second Edition * By Jeffrey Carr *Introducing Starling * More New Releases >> Happy New Year The UG team is looking for book reviewers for the following books. Post your reviews on Amazon, Slashdot, oreilly.com, and/or your blog. - The Information Diet - Running Lean - Tap, Move, Shake - Head First Mobile Web - Fitness for Geeks It's easy for you to request books for your meetings or special events--just email usergroups at oreilly.com and include the words "book request" in the subject line. Don't forget to include your due date and shipping address. Prefer ebooks? We can send you a free ebook certificate to print out for raffles or book reviewers. JavaScript is everywhere today. It's become an important and full-fledged development language, and we've created a new conference to give JavaScript developers an event of their own. The O'Reilly Fluent Conferenceexplores JavaScript and beyond May 29-31, 2012 in San Francisco, CA. Submit your call for participation by January 31. Get your electronic copy of the 2012 issue of Mashed Code Magazine. Three formats of this community organized and published magazine are downloadable for free online. Join our Online Strata ConferenceJanuary 25. We'll be discussing the following topics: Pretty Simple Data Privacy, Towards a Quantified Society, Analytics from 330 Million Smartphones, and Crafting Meaningful Data Experiences. Next time you log onto Google+, be sure to add O'Reillyto your circles and we'll add you to ours. Thanks, ----Marsee Henon and Jon Johns P.S. Want to hang out? Here's a list of the places the UG or editorials teams will be. If you're attending, or live in the area and have time to get together, please let us know. - Node Summit, San Francisco, CA--Jan 24-25Editor Mike Hendrickson (@mikehatora) will be onsite. - Tools of Change for Publishing Conference, NYC, NY--Feb 13-15 Marsee Henon (@marsee) and numerous O'Reilly Editors will be onsite. - SPTechCon, San Francisco, CA--Feb 26-29Marsee Henon and editors Ken Brown and Rachel Roumeliotis (@RRoumeliotis) will be onsite. - Strata Conference, Santa Clara, CA--Making Data Work Feb 28-Mar 1Many O'Reilly editors will be onsite. And be on the lookout for Kathy Yu from our conference team. - DrupalCon, Denver, CO--Mar 19-23Editor Megan Blanchette (@MeghanORM) will be onsite. ------------------------------ UG Discounts--Ebooks, Conferences, and More Strata Conference--Making Data WorkFeb 28-Mar 1 20% UG Discount code: *STR12UG* Tools of Change for Publishing ConferenceFeb 13-15 20% UG discount code: *TOCUG* Where ConferenceApril 2-4 20% UG Discount code *WHR12UG* Node SummitJan 24-25 20% off discount code *MPOR20* SPTechConFeb 26-29 $100 off registration use code *OREILLY* Buy 1 Ebook, Get 1 Free: Go to oreilly.com and use discount code *DSUG2* When you buy ebooks through oreilly.com you get lifetime access to the book, and whenever possible we provide it to you in five DRM-free file formats--PDF, ePub, Kindle compatible .mobi, DAISY, and Android APK--to use on the devices of your choice. Our ebook files are fully searchable and you can copy, paste, and print them. We also alert you when we've updated the files with corrections and additions. Receive a 10-day free trial and 20% off monthly fees to a Safari Books Online Library subscriptionfor up to 6 months. That means unlimited access to more than 16,000 books and videos about technology, digital media, personal development, and business from O'Reilly Media and more than 40 of the world's leading publishers. ------------------------------ UG leaders only--Put Up a Banner; Get a Free Book We're looking for user groups to display our discount banners on your websites. If you send us your group's site with one or more banners posted, we'll send you the O'Reilly book(s) of your choice. Choose from the following list of banners: - Strata Conference Banners - Tools of Change for Publishing Conference Banners - O'Reilly Webcasts Banners - O'Reilly Answers Banner - User Group Discount Slides ------------------------------ Upcoming Event [image: Ash Maurya] *Webcast: Running Lean - How to vet new product ideas and save yourself time, money, and effort * *When*: Feb 14, 2012 Committing yourself fully to a product or vision can easily consume months and even years of your life. Join Ash Maurya, author of Running Lean, and learn better, faster ways of vetting new product ideas. More Upcoming Events >> [image: Spreading the knowledge of innovators.][image: O'Reilly.com] You are receiving this email because you are a User Group contact with O'Reilly Media. Forward this announcement. If you would like to stop receiving this newsletter please email usergroups at oreilly.com <+usergroups at oreilly.com> with your request. O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000 http://oreilly.com/| http://ug.oreilly.com/ -- benh~ http://about.notbenh.info -------------- next part -------------- An HTML attachment was scrubbed... URL: From goatlove at khephera.net Wed Jan 25 12:44:33 2012 From: goatlove at khephera.net (Clay Fouts) Date: Wed, 25 Jan 2012 12:44:33 -0800 Subject: [Pdx-pm] Job opening In-Reply-To: References: Message-ID: Hi, Mongers. I'm looking to hire a Perl developer for our "Open Source Integrated Library Systems" team at LibLime/PTFS. Check out the job description for a sketch of what's involved and our website and Github repo for further context. We have several projects we work on, all web apps. Our two primary products are LibLime Koha and LibLime Academic Koha. Both are the catalogue/circulation management systems for libraries. Please ignore standard HR job listing quirks, especially the "Core Java" in the title. This work does not in any way involve Java. There is also no need to move to Maryland or anywhere outside of where you currently live. Feel welcome to ping me with questions and to forward this on to others you think may be interested. Cheers, Clay 503-752-5156 -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Thu Jan 26 11:20:58 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Thu, 26 Jan 2012 11:20:58 -0800 Subject: [Pdx-pm] March, April, ... meeting topic (and speaker) needed In-Reply-To: <201201131410.12716.enobacon@gmail.com> References: <201201131410.12716.enobacon@gmail.com> Message-ID: <201201261120.59172.enobacon@gmail.com> # from Eric Wilhelm # on Friday 13 January 2012 14:10: >We need a topic and a speaker for the February meeting (and the next > few months, for that matter.) ?What topics would you like to hear > about? http://pdx.pm.org/kwiki/index.cgi?FutureMeetings From our discussion thus far, I have tentatively added the following: March2012Meeting - Richard on Voting::VoteFairRanking April2012Meeting - Web Framework Panel (Ben, ...) May2012Meeting - Getting Started / Dependencies (win32, cpanm, local::lib) We'll need Richard to confirm availability and more volunteers for presenting the parts of the following two meetings. Please add to the ${Month}2012Meeting description pages if you are able to contribute to the session. For May, I think it would be good to have 4-5 people each present a specific tool or walk-through an aspect of setting-up and working with the perl interpreter and modules. Please discuss here or on irc.perl.org/#pdx.pm to coordinate topics and times. Thanks, Eric -- hobgoblin n 1: (folklore) a small grotesque supernatural creature that makes trouble for human beings --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From enobacon at gmail.com Thu Jan 26 14:35:11 2012 From: enobacon at gmail.com (Seven till Seven) Date: Thu, 26 Jan 2012 14:35:11 -0800 Subject: [Pdx-pm] February Meeting in 2 weeks -- Fearless Code Cleanup Message-ID: <201201261435.11775.enobacon@gmail.com> Thu. February 9th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. topic: Code cleanup and refactoring without the "scary". speaker: Chad 'Exodist' Granum Refactoring is something many developers approach with a great deal of fear. Sometimes you may need to refactor code that you do not understand. Sometimes there are no unit tests. Sometimes things can be scary. Chad will be showing techniques for cleaning/refactoring code that will help avoid errors, and make things less scary. Ideally people will bring small/medium code samples or modules as examples. If nobody brings anything we may pull something off of cpan. As usual, the meeting will be followed by social hour at the Lucky Lab. -- http://pdx.pm.org From enobacon at gmail.com Fri Jan 27 22:03:41 2012 From: enobacon at gmail.com (The Dread Parrot) Date: Fri, 27 Jan 2012 22:03:41 -0800 Subject: [Pdx-pm] Fwd: Perl QA Hackathon 2012 - Your help is needed Message-ID: <201201272203.41466.enobacon@gmail.com> ---------- Forwarded Message: ---------- Subject: Perl QA Hackathon 2012 - Your help is needed Date: Friday 27 January 2012 06:40 From: "Philippe Bruhat (BooK)" Dear Perl Mongers, We are organizing the 2012 edition of the Perl QA Hackathon in Paris, France, at the end of March 2012. http://2012.qa-hackathon.org/ Since I assume most people know what the Perl QA Hackathon is, I'll only give brief details on the event: we are inviting some of the best QA and CPAN experts in the Perl community to spend three days together to exchange and code in relation with those topics. The expected results are improvements to the CPAN and Test toolchains, as well as numerous fixes in a variety of CPAN distributions. This is a work meeting, NOT a conference open to the general public: the attendees are selected and invited by the organizers. They will give their time, knowledge and energy for three days, all for the greater good of the community; this is why we would like to cover their costs to the best of our ability, by sponsoring travel, accomodation and catering for them. The large number of attendees coming from outside Europe means we'll need to spend more on travel funds. We already have received significant sponsorship from companies and Perl organizations (and we are still looking for sponsors), but our current income doesn't fully cover our expected expenses. This is why we are now turning to the community, in the hope that the addition of small individual donations will help us close our budget gap and sponsor all attendees that need funding. We have setup a PayPal account, and accept donations in three currencies. The donate button and list of donors is available at: http://2012.qa-hackathon.org/qa2012/donate.html Our budget is public, so you can get a better view of how much sponsors are giving, and how much we need: http://2012.qa-hackathon.org/qa2012/budget.html Any surplus from the event will be passed on in full to the organizers of the next Perl QA Hackathon (scheduled for 2013). Thanks a lot in advance, Philippe Bruhat, Laurent Boivin, Perl QA Hackathon 2012 organizers ------------------------------------------------------- -- http://pdx.pm.org From ElectionMethods at VoteFair.org Mon Jan 30 21:56:16 2012 From: ElectionMethods at VoteFair.org (Richard Fobes) Date: Mon, 30 Jan 2012 21:56:16 -0800 Subject: [Pdx-pm] March topic: VoteFair ranking: Math-based voting power for the 99% Message-ID: <4F278280.1020904@VoteFair.org> # from Eric Wilhelm > From our discussion thus far, I have tentatively added the following: > March2012Meeting - Richard on Voting::VoteFairRanking > ... > We'll need Richard to confirm availability ... Yes, I'm available -- Thursday March 8 (right?) -- and I look forward to giving this presentation. FYI, two Perl Mongers besides Eric privately expressed interest in this presentation. Here are the presentation details: Title: VoteFair ranking: Math-based voting power for the 99% Description: "Just-released open-source software that implements VoteFair ranking is now available to help us reach higher levels of voting fairness. You do voting when you click on Google results, and you use voting results when you view the star rating of an Amazon product. Now learn how voting really works, how it is usually miscalculated -- intentionally in the case of elections -- and how it can be done to fully extract the wisdom in a group. Learn the math behind the puppet strings that connect politicians to the biggest campaign contributors. (Partial spoiler: The biggest unfairness is hidden in primary elections.) Also learn the math that eventually will cut those puppet strings. Along the way you will learn that there are different kinds of popularity." Planned duration: 40-45 minutes plus(!) discussion time (If that's too long, I can leave out some material -- somehow.) Requirement: projector Last Thursday I gave this presentation to the (language-agnostic) Westside Proggers group and it was clearly appreciated, and the interactions were fun and insightful (for me as well as them). BTW, I attended a PDX Perl Mongers meeting a few years ago, so I'm not a complete stranger. And I've been programming in Perl since shortly after the transition from version 4 to version 5. Richard Fobes Author of "Ending The Hidden Unfairness In U.S. Elections" and "The Creative Problem Solver's Toolbox" Creator of the Dashrep programming language (the Dashrep engine is in the CPAN archives at: Language::Dashrep)