From wildwood_players at yahoo.com Tue Mar 1 13:16:08 2011 From: wildwood_players at yahoo.com (Richard Wood) Date: Tue, 1 Mar 2011 13:16:08 -0800 (PST) Subject: SPUG: post processing PDF files to create internal links Message-ID: <100801.65022.qm@web39306.mail.mud.yahoo.com> I am trying to post process a PDF file to add the ability to link from certain text on pages of?the PDF file?to either a specific page in the PDF file or better yet, a specific location on a specific page in the PDF file (highlighting the word on that page) I am thinking that PDF/Reuse.pm will help me accomplish this, but I am wondering if anyone has?experience with accomplishing something like this. An abstract example would be to find all occurrences of a set of words in a document?and enable?the user to click on any of those occurrences and jump to a definition section in the PDF file where that word is defined. Even better, would be the ability to have the definitions in a separate PDF that would open in a separate browser or tab of a browser so that the user could maintain position in the source document while having the definition navigation in the other document. Regards, Rich Wood ?Richard O. Wood Wildwood IT Consultants, Inc. wildwood_players at yahoo.com 425.281.1914 mobile From jay at scherrer.com Wed Mar 2 09:14:30 2011 From: jay at scherrer.com (Jay Scherrer) Date: Wed, 02 Mar 2011 09:14:30 -0800 Subject: SPUG: post processing PDF files to create internal links In-Reply-To: <100801.65022.qm@web39306.mail.mud.yahoo.com> References: <100801.65022.qm@web39306.mail.mud.yahoo.com> Message-ID: <4D6E7AF6.5020604@scherrer.com> Richard, Have you tried opening the PDF's with a plain editer (j-edit, emacs)? When I was creating PDF's for my Tax software (Ptax), I was able to embed Perl variables with in the document it self. When processed through the Perl print function all variables were replaced with their respective values. If this can done then so can a regular parsing. This was done using the earlier open sourced pdf's If you need help let me know offline. Jay Scherrer jay at scherrer.com On 3/1/2011 1:16 PM, Richard Wood wrote: > I am trying to post process a PDF file to add the ability to link from certain > text on pages of the PDF file to either a specific page in the PDF file or > better yet, a specific location on a specific page in the PDF file (highlighting > the word on that page) > > I am thinking that PDF/Reuse.pm will help me accomplish this, but I am wondering > if anyone has experience with accomplishing something like this. > > An abstract example would be to find all occurrences of a set of words in a > document and enable the user to click on any of those occurrences and jump to a > definition section in the PDF file where that word is defined. > > Even better, would be the ability to have the definitions in a separate PDF that > would open in a separate browser or tab of a browser so that the user could > maintain position in the source document while having the definition navigation > in the other document. > > Regards, > > Rich Wood > Richard O. Wood > Wildwood IT Consultants, Inc. > wildwood_players at yahoo.com > 425.281.1914 mobile > > > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ From MichaelRWolf at att.net Wed Mar 2 15:30:30 2011 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 2 Mar 2011 15:30:30 -0800 Subject: SPUG: Moose: The 'remove_method' cannot be called on an immutable instance Message-ID: <2736D605-6A45-41B0-BB6B-32217FD8789A@att.net> I don't know what that message means. I don't see anything special about 'get_from_email_address', the reader of the 'from_email_address' attribute in the first file, nor 'get_headers' in the second file. This problem cropped up a while ago, but went away after I did a 'make realclean'. Not so, this time. This problem is showing up in two classes, and they do refer to each other via 'use', so I could see a deadlock condition. But I don't know how to break that circular compile-time dependency. Any ideas on where to continue looking or how to think about it? Thanks, Michael Here's the output from 'perl -cw' The 'remove_method' method cannot be called on an immutable instance at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 32 Class::MOP::Class::Immutable::Trait::_immutable_cannot_call('remove_method') called at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 37 Class::MOP::Class:::around('CODE(0x8ec5ec0)', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'get_from_email_address') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 159 Class::MOP::Method::Wrapped::__ANON__('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'get_from_email_address') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 89 Class::MOP::Class::Immutable::Moose::Meta::Class::remove_method('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'get_from_email_address') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 386 Class::MOP::Attribute::__ANON__('get_from_email_address', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 398 Class::MOP::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x976ce08)') called at /usr/local/lib/perl5/Moose/Meta/Attribute.pm line 688 Moose::Meta::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x976ce08)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 423 Class::MOP::Class::_remove_generated_metaobjects('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 60 Class::MOP::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'error_class', 'Moose::Error::Default', 'wrapped_method_metaclass', 'Class::MOP::Method::Wrapped', 'instance_metaclass', 'Moose::Meta::Instance', 'method_metaclass', ...) called at /usr/local/lib/perl5/Moose/Meta/Class.pm line 157 Moose::Meta::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'attribute_metaclass', 'Class::MOP::Class::__ANON__::SERIAL::1') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 128 Moose::Util::MetaRole::_make_new_metaclass('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'HASH(0x9340028)', 'class') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 39 Moose::Util::MetaRole::apply_metaroles('for', 'Erado::SocialMedia::JournalMessageBuilder', 'class_metaroles', 'HASH(0x9340028)') called at /usr/local/lib/perl5/Moose/Exporter.pm line 627 Moose::Exporter::__ANON__('MooseX::FollowPBP', 'for_class', 'Erado::SocialMedia::JournalMessageBuilder', 'metaclass', undef, 'meta_name', 'meta') called at /usr/local/lib/perl5/Moose/Exporter.pm line 423 Moose::Exporter::__ANON__('MooseX::FollowPBP') called at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21 Erado::SocialMedia::JournalMessageBuilder::BEGIN() called at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21 eval {...} called at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21 BEGIN failed--compilation aborted at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21. The 'remove_method' method cannot be called on an immutable instance at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 32 Class::MOP::Class::Immutable::Trait::_immutable_cannot_call('remove_method') called at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 37 Class::MOP::Class:::around('CODE(0xa374928)', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'get_headers') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 159 Class::MOP::Method::Wrapped::__ANON__('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'get_headers') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 89 Class::MOP::Class::Immutable::Moose::Meta::Class::remove_method('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'get_headers') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 386 Class::MOP::Attribute::__ANON__('get_headers', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 398 Class::MOP::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xac6d710)') called at /usr/local/lib/perl5/Moose/Meta/Attribute.pm line 688 Moose::Meta::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xac6d710)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 423 Class::MOP::Class::_remove_generated_metaobjects('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 60 Class::MOP::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'error_class', 'Moose::Error::Default', 'wrapped_method_metaclass', 'Class::MOP::Method::Wrapped', 'instance_metaclass', 'Moose::Meta::Instance', 'method_metaclass', ...) called at /usr/local/lib/perl5/Moose/Meta/Class.pm line 157 Moose::Meta::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'attribute_metaclass', 'Class::MOP::Class::__ANON__::SERIAL::1') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 128 Moose::Util::MetaRole::_make_new_metaclass('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'HASH(0xa806db0)', 'class') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 39 Moose::Util::MetaRole::apply_metaroles('for', 'Erado::SocialMedia::JournalMessageBuilder::InnerMessage', 'class_metaroles', 'HASH(0xa806db0)') called at /usr/local/lib/perl5/Moose/Exporter.pm line 627 Moose::Exporter::__ANON__('MooseX::FollowPBP', 'for_class', 'Erado::SocialMedia::JournalMessageBuilder::InnerMessage', 'metaclass', undef, 'meta_name', 'meta') called at /usr/local/lib/perl5/Moose/Exporter.pm line 423 Moose::Exporter::__ANON__('MooseX::FollowPBP') called at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26 Erado::SocialMedia::JournalMessageBuilder::InnerMessage::BEGIN() called at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26 eval {...} called at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26 BEGIN failed--compilation aborted at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From MichaelRWolf at att.net Wed Mar 2 16:33:25 2011 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 2 Mar 2011 16:33:25 -0800 Subject: SPUG: Solution, but not (full) explanation Fwd: Moose: The 'remove_method' cannot be called on an immutable instance References: <2736D605-6A45-41B0-BB6B-32217FD8789A@att.net> Message-ID: <6A7332F7-5F4F-4625-9799-3E45096E136E@att.net> Here's how I got around the problem. It got a bit weirder. When I did a 'perl -cw' on the file, I got the confession below, and an exit code of 255, but when I used the module in another application, it worked fine. I guess MooseX::FollowPBP (from line 21 below) does some kind of exception processing (possibly via Moose::Exporter). Any way. What was broken (but not affecting the application) is now fixed if I pull the module in at run-time instead of compile-time. INIT { use Class::Load qw(load_class); # Can't just 'use' it... there's a circular depencency that # breaks MooseX::FollowPBP and # Class::MOP::::Class::Immutable::Moose::Meta::Class::remove_method() load_class('MyClientName::SocialMedia::JournalMessageBuilder::InnerMessage'); } # BROKEN: # use MyClientName::SocialMedia::JournalMessageBuilder::InnerMessage; Comments welcome... Begin forwarded message: > From: "Michael R. Wolf" > Date: March 2, 2011 3:30:30 PM PST > To: "Spug-List at Pm.Org" > Subject: Moose: The 'remove_method' cannot be called on an immutable instance > > I don't know what that message means. > > I don't see anything special about 'get_from_email_address', the reader of the 'from_email_address' attribute in the first file, nor 'get_headers' in the second file. This problem cropped up a while ago, but went away after I did a 'make realclean'. Not so, this time. > > This problem is showing up in two classes, and they do refer to each other via 'use', so I could see a deadlock condition. But I don't know how to break that circular compile-time dependency. > > Any ideas on where to continue looking or how to think about it? > > Thanks, > Michael > > Here's the output from 'perl -cw' > > > The 'remove_method' method cannot be called on an immutable instance at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 32 > Class::MOP::Class::Immutable::Trait::_immutable_cannot_call('remove_method') called at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 37 > Class::MOP::Class:::around('CODE(0x8ec5ec0)', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'get_from_email_address') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 159 > Class::MOP::Method::Wrapped::__ANON__('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'get_from_email_address') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 89 > Class::MOP::Class::Immutable::Moose::Meta::Class::remove_method('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'get_from_email_address') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 386 > Class::MOP::Attribute::__ANON__('get_from_email_address', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 398 > Class::MOP::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x976ce08)') called at /usr/local/lib/perl5/Moose/Meta/Attribute.pm line 688 > Moose::Meta::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0x976ce08)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 423 > Class::MOP::Class::_remove_generated_metaobjects('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 60 > Class::MOP::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'error_class', 'Moose::Error::Default', 'wrapped_method_metaclass', 'Class::MOP::Method::Wrapped', 'instance_metaclass', 'Moose::Meta::Instance', 'method_metaclass', ...) called at /usr/local/lib/perl5/Moose/Meta/Class.pm line 157 > Moose::Meta::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'attribute_metaclass', 'Class::MOP::Class::__ANON__::SERIAL::1') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 128 > Moose::Util::MetaRole::_make_new_metaclass('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0x9737e10)', 'HASH(0x9340028)', 'class') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 39 > Moose::Util::MetaRole::apply_metaroles('for', 'Erado::SocialMedia::JournalMessageBuilder', 'class_metaroles', 'HASH(0x9340028)') called at /usr/local/lib/perl5/Moose/Exporter.pm line 627 > Moose::Exporter::__ANON__('MooseX::FollowPBP', 'for_class', 'Erado::SocialMedia::JournalMessageBuilder', 'metaclass', undef, 'meta_name', 'meta') called at /usr/local/lib/perl5/Moose/Exporter.pm line 423 > Moose::Exporter::__ANON__('MooseX::FollowPBP') called at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21 > Erado::SocialMedia::JournalMessageBuilder::BEGIN() called at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21 > eval {...} called at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21 > BEGIN failed--compilation aborted at lib/Erado/SocialMedia/JournalMessageBuilder.pm line 21. > > > > The 'remove_method' method cannot be called on an immutable instance at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 32 > Class::MOP::Class::Immutable::Trait::_immutable_cannot_call('remove_method') called at /usr/local/lib/perl5/Class/MOP/Class/Immutable/Trait.pm line 37 > Class::MOP::Class:::around('CODE(0xa374928)', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'get_headers') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 159 > Class::MOP::Method::Wrapped::__ANON__('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'get_headers') called at /usr/local/lib/perl5/Class/MOP/Method/Wrapped.pm line 89 > Class::MOP::Class::Immutable::Moose::Meta::Class::remove_method('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'get_headers') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 386 > Class::MOP::Attribute::__ANON__('get_headers', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)') called at /usr/local/lib/perl5/Class/MOP/Attribute.pm line 398 > Class::MOP::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xac6d710)') called at /usr/local/lib/perl5/Moose/Meta/Attribute.pm line 688 > Moose::Meta::Attribute::remove_accessors('Class::MOP::Class::__ANON__::SERIAL::1=HASH(0xac6d710)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 423 > Class::MOP::Class::_remove_generated_metaobjects('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)') called at /usr/local/lib/perl5/Class/MOP/Class.pm line 60 > Class::MOP::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'error_class', 'Moose::Error::Default', 'wrapped_method_metaclass', 'Class::MOP::Method::Wrapped', 'instance_metaclass', 'Moose::Meta::Instance', 'method_metaclass', ...) called at /usr/local/lib/perl5/Moose/Meta/Class.pm line 157 > Moose::Meta::Class::reinitialize('Class::MOP::Class::Immutable::Moose::Meta::Class', 'Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'attribute_metaclass', 'Class::MOP::Class::__ANON__::SERIAL::1') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 128 > Moose::Util::MetaRole::_make_new_metaclass('Class::MOP::Class::Immutable::Moose::Meta::Class=HASH(0xac3a7d8)', 'HASH(0xa806db0)', 'class') called at /usr/local/lib/perl5/Moose/Util/MetaRole.pm line 39 > Moose::Util::MetaRole::apply_metaroles('for', 'Erado::SocialMedia::JournalMessageBuilder::InnerMessage', 'class_metaroles', 'HASH(0xa806db0)') called at /usr/local/lib/perl5/Moose/Exporter.pm line 627 > Moose::Exporter::__ANON__('MooseX::FollowPBP', 'for_class', 'Erado::SocialMedia::JournalMessageBuilder::InnerMessage', 'metaclass', undef, 'meta_name', 'meta') called at /usr/local/lib/perl5/Moose/Exporter.pm line 423 > Moose::Exporter::__ANON__('MooseX::FollowPBP') called at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26 > Erado::SocialMedia::JournalMessageBuilder::InnerMessage::BEGIN() called at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26 > eval {...} called at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26 > BEGIN failed--compilation aborted at lib/Erado/SocialMedia/JournalMessageBuilder/InnerMessage.pm line 26. > -- > Michael R. Wolf > All mammals learn by playing! > MichaelRWolf at att.net > > > -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From andrew at sweger.net Mon Mar 14 10:50:53 2011 From: andrew at sweger.net (Andrew Sweger) Date: Mon, 14 Mar 2011 10:50:53 -0700 (PDT) Subject: SPUG: Happy birthday, SPUG Message-ID: The Seattle Perl Users Group was started by Tim Maher thirteen years ago and held its first meeting on March 17th, 1998 (yes, St. Patrick's day). Happy 13th birthday, SPUG. Thanks, Tim. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. From tim at consultix-inc.com Tue Mar 15 22:00:42 2011 From: tim at consultix-inc.com (Tim Maher) Date: Tue, 15 Mar 2011 22:00:42 -0700 Subject: SPUG: Happy birthday, SPUG In-Reply-To: References: Message-ID: <20110316050042.GA17660@jumpy.consultix-inc.com> On Mon, Mar 14, 2011 at 10:50:53AM -0700, Andrew Sweger wrote: > > The Seattle Perl Users Group was started by Tim Maher thirteen years ago > and held its first meeting on March 17th, 1998 (yes, St. Patrick's day). > Happy 13th birthday, SPUG. Thanks, Tim. > > -- > Andrew B. Sweger -- The great thing about multitasking is that several > things can go wrong at once. I'm gratified to know that SPUG has done a lot to bring Perl programmers together and help them exchange information about our favorite language. Although I did start the group and run it for 6 years, two other guys that attended the first meeting have been more active in keeping SPUG alive in recent times; I'm talking about Andy Sweger and Colin Meyer; please join me in a virtual toast of green beer to them! ============================================================== | Tim Maher, Ph.D. tim(AT)TeachMePerl.com | | SPUG Leader Emeritus spug(AT)TeachMePerl.com | | Seattle Perl Users Group http://www.SeattlePerl.org | | SPUG Wiki Site http://wiki.seattleperl.org | ============================================================== From ryanc at greengrey.org Wed Mar 16 14:18:14 2011 From: ryanc at greengrey.org (Ryan Corder) Date: Wed, 16 Mar 2011 14:18:14 -0700 Subject: SPUG: Happy birthday, SPUG In-Reply-To: <20110316050042.GA17660@jumpy.consultix-inc.com> References: <20110316050042.GA17660@jumpy.consultix-inc.com> Message-ID: <20110316211814.GA32328@greengrey.org> On Tue, Mar 15, 2011 at 10:00:42PM -0700, Tim Maher wrote: | Although I did start the group and run it for 6 years, two other guys | that attended the first meeting have been more active in keeping SPUG | alive in recent times; I'm talking about Andy Sweger and Colin Meyer; | please join me in a virtual toast of green beer to them! Indeed, thanks to all that has helped keep SPUG going! -- Ryan Corder || () ASCII ribbon campaign || /\ against HTML email http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xBEE37813 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From cjac at colliertech.org Wed Mar 16 14:43:44 2011 From: cjac at colliertech.org (C.J. Adams-Collier KF7BMP) Date: Wed, 16 Mar 2011 14:43:44 -0700 Subject: SPUG: Happy birthday, SPUG In-Reply-To: <20110316211814.GA32328@greengrey.org> References: <20110316050042.GA17660@jumpy.consultix-inc.com> <20110316211814.GA32328@greengrey.org> Message-ID: <1300311824.5552.17.camel@calcifer> Hear Hear! http://proxy01.colliertech.org/~cjac/spug/happy-bday-spug.ogg (I especially like how my lappy's fan chimed in on the last bit) On Wed, 2011-03-16 at 14:18 -0700, Ryan Corder wrote: > On Tue, Mar 15, 2011 at 10:00:42PM -0700, Tim Maher wrote: > | Although I did start the group and run it for 6 years, two other guys > | that attended the first meeting have been more active in keeping SPUG > | alive in recent times; I'm talking about Andy Sweger and Colin Meyer; > | please join me in a virtual toast of green beer to them! > > Indeed, thanks to all that has helped keep SPUG going! > > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: This is a digitally signed message part URL: From szabgab at gmail.com Mon Mar 21 09:55:04 2011 From: szabgab at gmail.com (Gabor Szabo) Date: Mon, 21 Mar 2011 18:55:04 +0200 Subject: SPUG: LinuxFest Northwest 30 April - 1 May Message-ID: Hi, just a reminder to the PM groups in the neighborhood. LinuxFest Northwest is going to be between 30 April - 1 May in Bellingham, Washington. http://linuxfestnorthwest.org/ As I can see they are still accepting talk proposals and you can still ask for a table to present Perl or your Perl Monger group. As I just wrote to another PM group a booth is basically just a fixed place in the hallway track to attract discussions in a specific topic. So it is the same thing you would do at any other event just you don't have to move around so much. If you are attending please let other Perl Mongers know as going in a group might be more fun. regards Gabor -- Gabor Szabo? ? ? ? ? ? ? ? ? ?? http://szabgab.com/ Perl Ecosystem Group ? ? ? http://perl-ecosystem.org/ From jobs-noreply at seattleperl.org Tue Mar 22 13:43:09 2011 From: jobs-noreply at seattleperl.org (SPUG Jobs) Date: Tue, 22 Mar 2011 13:43:09 -0700 (PDT) Subject: SPUG: JOB: Senior Software Developer - Downtown Seattle - Marchex Message-ID: Position: Senior Software Developer Location: Downtown Seattle Job Description: About You Our Software Development Engineers act as inventor, product architect, engineer, and can balance forward thinking with what needs to get done now. So we're looking for more than just passion for technology, we also want individuals who can contribute to long lasting solutions, and lead a discussion about architecture and communicate clearly and convincingly to both technical and non-technical stakeholders. About the Product Any business can purchase a phone number to track online advertising / sales calls, but how do you measure the value of 'x' million calls a month? Welcome to Marchex Call Advertising! We enable advertisers to track ROI for online advertising, and marketing campaigns using VoIP phone lines to optimize advertising expense both online and offline. We also offer a cost effective way for businesses to measure the value of their calls. About the Role Overall: - We have clear leadership! - We are transitioning into a highly Agile team, with frequent releases, TDD, and pairing - Our product is already a success, and it's time to crank it up to the next level Product technologies - Perl, Asterisks, OpenSIP, PostgreSQL, etc. Role opportunities - Open source technologies such as Perl and telephony stack (learn new technologies!) - Public API - Flexible product (VXML) that allows our clients to build tools on our platform - Product built entirely in-house - Small team, and collaborative learning environment (Share your knowledge and learn from us too) - Work on interesting challenges because we have *big* plans - Your work will matter because our product gets heavily used and our customers LOVE it! Skills and Qualifications - BS degree in a Computer Science or equivalent experience - 5+ years experience in software development - Experience with a variety of SDLCs - Ability to be flexible and adapt to rapidly changing company and project needs - Fluency in more than one language such as Perl, Ruby, Java, Python, C - Understanding of OO design, algorithms, data structures, networking, database design & optimization - Extensive experience with database design and optimization - Proven ability to quickly learn new technologies Nice to have's - Experience working with a development framework (Mason, Rails, Catalyst, JSP, etc) HTML, CSS, JS and Linux - Experience with telco or VoIP technologies such as a SIP/Asterisk/TDM/ PBX's, any VoIP protocols If you are interested in applying please submit your resume to rcho at marchex.com with a resume attached. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Marchex Sr SDE Call Analytics.txt URL: