From Ed.Eddington at priorityhealth.com Fri Jun 8 07:04:10 2007 From: Ed.Eddington at priorityhealth.com (Ed Eddington) Date: Fri, 8 Jun 2007 10:04:10 -0400 Subject: [grand-rapids-pm-list] Perl Programming Needed In-Reply-To: <200706051720.l55HJvGT022019@giraffe-uv.ord.uvhosting.com> Message-ID: David Szostek has a Perl project position available and asked that I forward details to the group. Here is a pdf with more details. If you can't open, contact David: dave at uvhosting.com. Sincerely, Ed Eddington President GR Perlmongers email: ed.eddington at priorityhealth.com Ph 616.566.2462 ** ** ** PRIVILEGED AND CONFIDENTIAL ** ** ** This email transmission contains privileged and confidential information intended only for the use of the individual or entity named above. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient or a person responsible for delivering this message to an intended recipient, please delete the email and immediately notify the sender via the email return address or mailto:postmaster at priorityhealth.com. Thank you. - end - -------------- next part -------------- A non-text attachment was scrubbed... Name: Job Posting - June 5 2007.pdf Type: application/octet-stream Size: 40204 bytes Desc: Job Posting - June 5 2007.pdf Url : http://mail.pm.org/pipermail/grand-rapids-pm-list/attachments/20070608/32c6b60c/attachment-0001.obj From Ed.Eddington at priorityhealth.com Tue Jun 12 05:11:38 2007 From: Ed.Eddington at priorityhealth.com (Ed Eddington) Date: Tue, 12 Jun 2007 08:11:38 -0400 Subject: [grand-rapids-pm-list] June mtg Message-ID: GR-PM, Well, it seems both speakers we were looking at getting will be at the YAPC conference in Houston the week of the June Perlmongers meeting. So, I have moved our events out another month. This means we again have a conference room reserved and nothing on the agenda! Does anyone have something they would like to present? Speaking of YAPC, I included some info below in case anyone is on the fence about going. Also, I pasted in a blurb on how to use Mac::Growl to do pop-up alerts on the Mac (from the book ?Perl Hacks?). -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- YAPC INFO YAPC::NA 2007 is only 13 days away! If you haven't already registered, it's not too late! Visit the YAPC::NA website ( http://conferences.mongueurs.net/yn2007) to get registered. Don't miss out on the largest Perl gathering of North America! On campus housing wants final numbers on June 15. Don't wait until the last minute! ACT now! For one easy payment of just $100 you'll get: * Three days packed with 36 hours of talks * Opportunities to meet various members of the Perl community * Chance to attend a variety of Birds of a Feather sessions (BOFs) * Conference T-shirt * Swag bag full of all sorts of goodies (including a particular Perl magazine ) * * A night of gaming fun and Glow Bowling at the UC Games Room (more information coming soon) * * Dinner at the Tuesday night Banquet - Texas Barbecue themed * * Face time with potential employers at the Job Fair * * Updates on major Perl projects * Keynotes by The Perl Foundation and Larry Wall himself * Plus, for $200 more dollars, we'll throw in two extra days of Perl! That's right, following the conference, Stonehenge is offering two 2-day training sessions at prices well under market value. brian d foy will be offering two days of Intermeidate Perl with Randal Schwartz covering Perl Best Practices and Persistent Perl Data. Visit the Master Class page on the YAPC to find out more - http://conferences.mongueurs.net/yn2007/master.html Don't have $200, but still want more Perl? Then stay for the Hackathon! Two days of hacking fun and helping out on various projects. There's a wiki page on the site for signing up - http://conferences.mongueurs.net/yn2007/wiki?node=Hackathon -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Mac::Growl Schedule GUI alerts from the command line. Growl (http://www.growl.info/) is a small utility for Mac OS X that allows any application to send notifications to the user. The notifications pop up as a small box in a corner of the screen, overlayed on the current active window (as shown in Figure 2-1). You can send Growl notifications from Perl, thanks to Chris Nandor's Mac::Growl. The first thing you have to do is tell Growl that your script wants to send notifications. The following code registers a script named growlalert and tells Growl that it sends alert notifications: use Mac::Growl; Mac::Growl::RegisterNotifications( 'growlalert', # application name [ 'alert' ], # notifications this app sends [ 'alert' ], # enable these notifications ); Growl displays a notification to let you know the script has registered successfully (Figure 2-2). You need only register an application once on each machine that uses it. When you want to send a notification, call PostNotification(?), passing the name of the script, the kind of notification to send, a title, and a description: Mac::Growl::PostNotification( 'growlalert', # application name 'alert', # type of notification "This is a title", "This is a description.", ); This will pop up a notification window (Figure 2-3) and fade it out again after a few seconds. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- And here?s a comic strip starring ?Pearl? the Camel and friends: http://www.oreillynet.com/wateringhole/blog/2007/05/the_savannas_of_sebastopol_1.html Ed Eddington email: ed.eddington at priorityhealth.com Ph 616.566.2462 _______________________________________________ grand-rapids-pm-list mailing list grand-rapids-pm-list at pm.org http://mail.pm.org/mailman/listinfo/grand-rapids-pm-list http://grand-rapids.pm.org/ ** ** ** PRIVILEGED AND CONFIDENTIAL ** ** ** This email transmission contains privileged and confidential information intended only for the use of the individual or entity named above. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient or a person responsible for delivering this message to an intended recipient, please delete the email and immediately notify the sender via the email return address or mailto:postmaster at priorityhealth.com. Thank you. - end - From Ed.Eddington at priorityhealth.com Wed Jun 13 10:36:53 2007 From: Ed.Eddington at priorityhealth.com (Ed Eddington) Date: Wed, 13 Jun 2007 13:36:53 -0400 Subject: [grand-rapids-pm-list] June mtg In-Reply-To: Message-ID: I'm still trying to flush out for topics/speakers for our June meeting. Does anyone have a topic they would like to SEE? Perhaps a module or piece of code that's giving you fits? We have some knowledgeable(?) members who are willing to present on various topics. Please pass along anything you'd be interested to see. Or, perhaps you have a bit of knowledge, module or piece of code that you are willing to share. If so, drop me a note (something like, "can we have a discussion about blah", or I could do a 10 minute presentation on Blah.pm", or "Hey, let's pick apart my insecure CGI script") and I will try to organize these into Lightning Talks, presentations, etc. for future meetings. We have the Priority Health conference center reserved for: Friday June 29, 2007 11:30 - 1:00 PM (You can respond either to the list or to me individually.) Ed Eddington President http://grand-rapids.pm.org/ email: ed.eddington at priorityhealth.com Ph 616.566.2462 ** ** ** PRIVILEGED AND CONFIDENTIAL ** ** ** This email transmission contains privileged and confidential information intended only for the use of the individual or entity named above. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient or a person responsible for delivering this message to an intended recipient, please delete the email and immediately notify the sender via the email return address or mailto:postmaster at priorityhealth.com. Thank you. - end - From dave at brondsema.net Sat Jun 16 13:19:33 2007 From: dave at brondsema.net (Dave Brondsema) Date: Sat, 16 Jun 2007 16:19:33 -0400 Subject: [grand-rapids-pm-list] BarCamp Grand Rapids Message-ID: <467445D5.6030501@brondsema.net> I helping to organize this upcoming event and thought many of you on this might be interested. I'm also planning to be at the next GR.pm meeting and can tell you more and answer any questions. Rule #1 of BarCamp: you DO talk about BarCamp. http://barcamp.org/BarCampGrandRapids2 We're proud to announce our second BarCamp (dangerously close to being "annual"). BarCamp is a technology & design unconference where the campers (you) determine what's on the schedule. These ad-hoc unconferences are intense events with discussions, demos, and a chance to interact with fellow attendees. Anyone with something to contribute or with the desire to learn is welcome and invited to participate. WHEN: Friday evening, July 20 and Saturday, July 21 WHERE: Calvin College COST: Free! But everyone is encouraged to present something and be involved, even if you're never given a talk before. WHAT: So far, topics ranging from opensource business to the JQuery Javascript library to next generation communications. Ultimately each camper has an opportunity to help determine the content. You can register and find out more information about BarCamp Grand Rapids at http://barcamp.org/BarCampGrandRapids2, or about BarCamps in general at http://en.wikipedia.org/wiki/BarCamp Dave Brondsema, on behalf of the organizers -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 890 bytes Desc: OpenPGP digital signature Url : http://mail.pm.org/pipermail/grand-rapids-pm-list/attachments/20070616/45bcf232/attachment.bin From Ed.Eddington at priorityhealth.com Mon Jun 25 09:24:45 2007 From: Ed.Eddington at priorityhealth.com (Ed Eddington) Date: Mon, 25 Jun 2007 12:24:45 -0400 Subject: [grand-rapids-pm-list] Perlmongers Meeting Friday June 29 Message-ID: The meeting is ON! The June Perlmongers meeting will take place this Friday at Priority Health during lunchtime. We will be holding a discussion on "Large-Scale Development and Design Patterns". Hope to see you there. Below are details of the meeting. I have also included some info on the upcoming release of Perl (5.10), and also a Perl Puzzle that Perl coders of any skill level can solve to win a book. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Friday, May 25 @ 11:30AM - 1:00PM Priority Health Conference Center 3111 Leonard St NE - Grand Rapids MI 49525 (Just west of intersection of Leonard & E. Beltline. See map on website.) Topic: Large-Scale Development / Design Patterns "Perl has the distinct pleasure of being a very flexible language, making small projects very easy to start. That same flexibility quickly becomes a double-edged sword, though, as projects grow, features get added, and bugs get fixed. It doesn't take long to end up with a steaming pile of code that is difficult to test, maintain, or extend. Fortunately there are ways to avoid that! Join us as we discuss different ways to organize your Perl code, use design patterns, and even write tests to preserve your sanity! Come ready to ask questions and share your own experience and we'll try to ease your pain." Jason Porritt will facilitate the discussion. Please RSVP for free pizza lunch (donated by Priority Health). Upcoming 2007 Events (tentative): July: Jonathan Rockaway: Catalyst August: Andy Lester: Things you may not know about Perl September: Matt Heusser: Intro to Perl -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Perl 5.10 Here's some news about the upcoming release of Perl 5.10. If you want to browse "what's new" compared to your current Perl version, check out the "delta" pod for each version. http://www.oreillynet.com/onlamp/blog/2007/05/soon_a_perl_with_new_switches_1.html -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Perl Puzzle Here's a pretty basic problem. We need to add line numbers to each line of a text file. We need to turn this: This text file may have hundreds of lines of text ...into this: 1 This text file 2 may have hundreds 3 of lines of text Write a quick Perl script to accomplish this. Time can be money, so the first correct response will win their choice of book from our Library. Also, creativity counts, so a free book will also go to the person whose script accomplishes this with the fewest bytes of code (don't bother with 'use strict;' here!). Your script should accept a filename as a parameter and modify the file in place. Please email your code to me (not the list) by Thursday 5PM. Good luck! -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Sincerely, Ed Eddington President GR Perlmongers email: ed.eddington at priorityhealth.com Ph 616.566.2462 _______________________________________________ grand-rapids-pm-list mailing list grand-rapids-pm-list at pm.org http://mail.pm.org/mailman/listinfo/grand-rapids-pm-list http://grand-rapids.pm.org/ (Wow, it's been updated!) ** ** ** PRIVILEGED AND CONFIDENTIAL ** ** ** This email transmission contains privileged and confidential information intended only for the use of the individual or entity named above. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient or a person responsible for delivering this message to an intended recipient, please delete the email and immediately notify the sender via the email return address or mailto:postmaster at priorityhealth.com. Thank you. - end - From Ed.Eddington at priorityhealth.com Thu Jun 28 07:33:13 2007 From: Ed.Eddington at priorityhealth.com (Ed Eddington) Date: Thu, 28 Jun 2007 10:33:13 -0400 Subject: [grand-rapids-pm-list] Perl Puzzle Message-ID: I did receive a couple responses to the Perl puzzle - and a pretty tough contender for the fewest bytes. How low can you go? If you have a solution, pass it along. I'll reveal the winning code entries tomorrow. Below is a copy of the puzzle. Again, the June meeting tomorrow is at Priority Health Conference Center from 11:30 -1PM. We will be having a discussion on "Large-Scale Development and Design Patterns". If you know you're coming, drop me a note so I can get an accurate count for pizza. Ed Eddington President GR Perlmongers email: ed.eddington at priorityhealth.com Ph 616.566.2462 > -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > Perl Puzzle > > Here's a pretty basic problem. We need to add line numbers to each line of a text file. We need to turn this: > > This text file > may have hundreds > of lines of text > > ...into this: > > 1 This text file > 2 may have hundreds > 3 of lines of text > > Write a quick Perl script to accomplish this. Time can be money, so the first correct response will win their choice of book from our Library. Also, creativity counts, so a free book will also go to the person whose script accomplishes this with the fewest bytes of code (don't bother with 'use strict;' here!). Your script should accept a filename as a parameter and modify the file in place. Please email your code to me (not the list) by Thursday 5PM. Good luck! > ** ** ** PRIVILEGED AND CONFIDENTIAL ** ** ** This email transmission contains privileged and confidential information intended only for the use of the individual or entity named above. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient or a person responsible for delivering this message to an intended recipient, please delete the email and immediately notify the sender via the email return address or mailto:postmaster at priorityhealth.com. Thank you. - end - From Ed.Eddington at priorityhealth.com Fri Jun 29 13:04:56 2007 From: Ed.Eddington at priorityhealth.com (Ed Eddington) Date: Fri, 29 Jun 2007 16:04:56 -0400 Subject: [grand-rapids-pm-list] Perl Puzzle 6/29/2007 Message-ID: For those who didn't make the meeting, we had a nice group discussion on Design Patterns and large-scale development - thanks Jason! Also, below are the results of the Perl Puzzle for your review. Ed Eddington --- > Perl Puzzle > > Here's a pretty basic problem. We need to add line numbers to each line of a text file. We need to turn this: > > This text file > may have hundreds > of lines of text > > ...into this: > > 1 This text file > 2 may have hundreds > 3 of lines of text > > Write a quick Perl script to accomplish this. Time can be money, so the first correct response will win their choice of book from our Library. Also, creativity counts, so a free book will also go to the person whose script accomplishes this with the fewest bytes of code (don't bother with 'use strict;' here!). Your script should accept a filename as a parameter and modify the file in place. Please email your code to me (not the list) by Thursday 5PM. Good luck! First correct responses: Michael Richey Bill Ott Jason Porritt Pete Litwinchuk The winner "least bytes of code": Michael Richey with only 12 bytes! #!/usr/bin/perl -pi s/^/$. / Explanation: First "-p" causes Perl to assume the following loop around your script: LINE: while (<>) { # script } continue { print or die "-p destination: $!\n"; } So, we're looping over the file and the lines are printed automatically. Next "-i" allows for in place editing. Files processed by <> are renamed and the output file is set to the original file name. It then sets the default output of print to be that output file (i.e. the original file name). So we got our automatic print from the -p and the automatic output file from -i. Now we just have to add a line number. The "$." gives us the line number of the file currently being processed. I was using a counter before I discovered this. I've always used s/^/something / to prepend "something" to a line. Evolution of the script: Version 1-ish (found out about $. before I was using ++$l): #!/usr/bin/perl $f=pop; open I,$f; while(){$t.="$. $_"} open O,">$f"; print O $t; Version 2 (found out about -i): #!/usr/bin/perl -i while(<>){s/^/$. /;print} Version 3 (found out about -p): #!/usr/bin/perl -pi s/^/$. /; Version 4 (you don't need a semi colon for the last line of a while loop): #!/usr/bin/perl -pi s/^/$. / Thanks, Michael ------ End of Forwarded Message SOME OTHER ENTRIES: -- -- -- -- -- -- -- -- -- -- -- my $sFileName = $ARGV[0]; my $i = 0; if (open ( LOG, $sFileName)){ open( OUT, "> Output.txt" ); while () { $i++; print OUT "$i $_"; } close LOG; close OUT; } system "del $sFileName"; system "ren Output.txt $sFileName"; -- -- -- -- -- -- -- -- -- -- -- Modify the original, and make a backup: perl -i.bak '$i++;s/^/$i\. /' Modified file to STDOUT: perl -p -e '$i++;s/^/$i\. /' Pipe the results to a new file, leaving the original untouched: perl -p -e '$i++;s/^/$i\. /' > -- -- -- -- -- -- -- -- -- -- -- with -n: END{open A,">$ARGV";print A $i}$i.="$. $_" without: while(<>){$i.="$. $_"}open A,">$ARGV";print A $i -- -- -- -- -- -- -- -- -- -- -- ( this will work, providing you redirect stdin... ) perl linenos.pl ) {print ++$i." ".$_;} -- -- -- -- -- -- -- -- -- -- -- ** ** ** PRIVILEGED AND CONFIDENTIAL ** ** ** This email transmission contains privileged and confidential information intended only for the use of the individual or entity named above. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient or a person responsible for delivering this message to an intended recipient, please delete the email and immediately notify the sender via the email return address or mailto:postmaster at priorityhealth.com. Thank you. - end -