From dblanchard at gmail.com Wed Apr 4 15:08:47 2007 From: dblanchard at gmail.com (Duane Blanchard) Date: Wed, 4 Apr 2007 15:08:47 -0700 Subject: SPUG: perl one-liner help Message-ID: Hi, This should be the simplest thing, but I'm not able to get it. I have a list of names in a file separated by a semicolon and a space: Starr, Ringo; McCartney, Paul; Lennon, John; Harrison, George; and I want to substitute each /; / with a /\n/. I'm running WinXP. perl -e "s/; /\n/" desktop/list.txt Thanks for any tips. Thx, D -- Duane Blanchard 206.280.1263 There are 10 kinds of people in the world; those who know binary and those who don't. From cwilkes-spug at ladro.com Wed Apr 4 15:15:20 2007 From: cwilkes-spug at ladro.com (Chris Wilkes) Date: Wed, 4 Apr 2007 15:15:20 -0700 Subject: SPUG: perl one-liner help In-Reply-To: References: Message-ID: <20070404221520.GD5517@www2.ladro.com> On Wed, Apr 04, 2007 at 03:08:47PM -0700, Duane Blanchard wrote: > > I have a list of names in a file separated by a semicolon and a space: > > Starr, Ringo; McCartney, Paul; Lennon, John; Harrison, George; > > and I want to substitute each /; / with a /\n/. > > I'm running WinXP. > > perl -e "s/; /\n/" desktop/list.txt You're close: perldoc perlrun shows that you're looking for the -p switch: perl -pe "s/; /\n/g" desktop/list.txt throw in a "/g" in your regexp to say that you want to repeat the match on the same line. Chris From jerry.gay at gmail.com Wed Apr 4 15:19:57 2007 From: jerry.gay at gmail.com (jerry gay) Date: Wed, 4 Apr 2007 15:19:57 -0700 Subject: SPUG: perl one-liner help In-Reply-To: <20070404221520.GD5517@www2.ladro.com> References: <20070404221520.GD5517@www2.ladro.com> Message-ID: <1d9a3f400704041519o4031f5cfifffad8f5c15fd9a0@mail.gmail.com> On 4/4/07, Chris Wilkes wrote: > On Wed, Apr 04, 2007 at 03:08:47PM -0700, Duane Blanchard wrote: > > > > I have a list of names in a file separated by a semicolon and a space: > > > > Starr, Ringo; McCartney, Paul; Lennon, John; Harrison, George; > > > > and I want to substitute each /; / with a /\n/. > > > > I'm running WinXP. > > > > perl -e "s/; /\n/" desktop/list.txt > > You're close: > perldoc perlrun > shows that you're looking for the -p switch: > > perl -pe "s/; /\n/g" desktop/list.txt > > throw in a "/g" in your regexp to say that you want to repeat the > match on the same line. > ain't perl fun? perl -F/;\s*/ -ane "print $_,$/ for @F" desktop/list.txt From MichaelRWolf at att.net Wed Apr 4 18:51:10 2007 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 4 Apr 2007 18:51:10 -0700 Subject: SPUG: perl one-liner help In-Reply-To: <1d9a3f400704041519o4031f5cfifffad8f5c15fd9a0@mail.gmail.com> References: <20070404221520.GD5517@www2.ladro.com> <1d9a3f400704041519o4031f5cfifffad8f5c15fd9a0@mail.gmail.com> Message-ID: <005c01c77724$e52f0360$0500a8c0@mlaptop> Forgive my eyes... ...and but for a 'y' (why, because we love you?), it's profanity (M-o-u-s-e) ...but for an 'o' (Vanna, may I buy a vowel?), that looks profane.... What kind of Mickey Mouse programming is this, any way? > perl -F/;\s*/ -ane "print $_,$/ for @F" desktop/list.txt ^ ^ ^ ^^^ p r . f ane p r . f an i t It does have a certain slant ('/') to it!!! Giggles, Michael P.S. Having just finished teaching a Perl class 2 hours ago, perhaps I'm seeing this code through beginners' eyes, and wanting to protect them from the TMTOWTDI-ity of it all. Who knew I'd agree with Tim (There's one good way to do it) by disagreeing with one of the awk-ish ways to use Perl? Go figure. P.P.S. In case it's not clear, I like TMTOWTDI, and the alternatives proffered. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net > -----Original Message----- > From: spug-list-bounces+michaelrwolf=att.net at pm.org [mailto:spug-list- > bounces+michaelrwolf=att.net at pm.org] On Behalf Of jerry gay > Sent: Wednesday, April 04, 2007 3:20 PM > To: Chris Wilkes > Cc: spug-list at pm.org > Subject: Re: SPUG: perl one-liner help > > On 4/4/07, Chris Wilkes wrote: > > On Wed, Apr 04, 2007 at 03:08:47PM -0700, Duane Blanchard wrote: > > > > > > I have a list of names in a file separated by a semicolon and a space: > > > > > > Starr, Ringo; McCartney, Paul; Lennon, John; Harrison, George; > > > > > > and I want to substitute each /; / with a /\n/. > > > > > > I'm running WinXP. > > > > > > perl -e "s/; /\n/" desktop/list.txt > > > > You're close: > > perldoc perlrun > > shows that you're looking for the -p switch: > > > > perl -pe "s/; /\n/g" desktop/list.txt > > > > throw in a "/g" in your regexp to say that you want to repeat the > > match on the same line. > > > ain't perl fun?v > perl -F/;\s*/ -ane "print $_,$/ for @F" desktop/list.txt > _____________________________________________________________ > 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 krahnj at telus.net Wed Apr 4 21:54:45 2007 From: krahnj at telus.net (John W. Krahn) Date: Wed, 04 Apr 2007 21:54:45 -0700 Subject: SPUG: perl one-liner help In-Reply-To: References: Message-ID: <46148115.7070502@telus.net> Duane Blanchard wrote: > Hi, Hello, > This should be the simplest thing, but I'm not able to get it. > > I have a list of names in a file separated by a semicolon and a space: > > Starr, Ringo; McCartney, Paul; Lennon, John; Harrison, George; > > and I want to substitute each /; / with a /\n/. > > I'm running WinXP. > > perl -e "s/; /\n/" desktop/list.txt > > Thanks for any tips. perl -F";\s+" -lane"print for @F" desktop/list.txt John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall From jobs-noreply at seattleperl.org Fri Apr 6 08:13:44 2007 From: jobs-noreply at seattleperl.org (SPUG Jobs) Date: Fri, 6 Apr 2007 08:13:44 -0700 (PDT) Subject: SPUG: JOB: Perl programmer, actuarial dept, Mercer Island Message-ID: We have a full-time job opening for a PC programmer that might interest SPUG members. The job is in the Systems Area of the actuarial department of Farmers New World Life Insurance Company, on Mercer Island, WA. Here are the requirements: Expertise with Perl, C#, and the MS .NET environment. SAS experience desirable but not required. SQL experience, preferably with MS SQL Server. Strong analysis, design, and programming skills. Ability to create documentation that meets predefined standards. Willingness to participate in design and code reviews. Good oral and written communication skills. Bachelor's degree in math, computer science, or engineering. This is a permanent position, with a salary in the range $59,400 - $101,500, depending on qualifications and experience. We do not offer stock options, but we have a defined-benefit pension plan, as well as a deferred profit sharing plan that has contributed 15% of salary annually over the past 15 years, plus cash profit sharing of up to 5% of salary annually. We are currently looking for applicants directly rather than through a recruiter. Telecommuting might be possible, at least for some days. The Systems Area is a sub-department within the actuarial department, not connected to the Farmers IT department. It is currently a small group, consisting of a PC-programmer/manager, two mainframe/PC programmers, a temporary contract programmer, an actuarial student, and an actuarial clerk. We would like to add a PC programmer to provide backup for the Perl programs we have created and to write new programs in both Perl and C#. We also use SAS for some systems. Because most of the programs we create involve mathematical formulas, the applicant should have a solid math background. Interested and qualified applicants should send their resume to Steve_Sommer at FarmersInsurance.com. From offby1 at blarg.net Fri Apr 6 13:18:47 2007 From: offby1 at blarg.net (Eric Hanchrow) Date: Fri, 06 Apr 2007 13:18:47 -0700 Subject: SPUG: JOB: Perl programmer, actuarial dept, Mercer Island In-Reply-To: (SPUG Jobs's message of "Fri\, 6 Apr 2007 08\:13\:44 -0700 \(PDT\)") References: Message-ID: <87abxlb6jc.fsf@offby1.atm01.sea.blarg.net> >>>>> "SPUG" == SPUG Jobs writes: SPUG> We have a full-time job opening ... SPUG> Interested and qualified applicants should send their resume SPUG> to Steve_Sommer at FarmersInsurance.com. I sent mail to that address but it bounced. Can someone give me the proper address? -- The reason Florence is famous is that in 1450, it was New York. -- Paul Graham From andrew at sweger.net Fri Apr 6 14:04:26 2007 From: andrew at sweger.net (Andrew Sweger) Date: Fri, 6 Apr 2007 14:04:26 -0700 (PDT) Subject: SPUG: JOB: Perl programmer, actuarial dept, Mercer Island In-Reply-To: <87abxlb6jc.fsf@offby1.atm01.sea.blarg.net> Message-ID: On Fri, 6 Apr 2007, Eric Hanchrow wrote: > >>>>> "SPUG" == SPUG Jobs writes: > > SPUG> We have a full-time job opening > ... > SPUG> Interested and qualified applicants should send their resume > SPUG> to Steve_Sommer at FarmersInsurance.com. > > I sent mail to that address but it bounced. Can someone give me the > proper address? Steve.Sommer at FarmersInsurance.com -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. From tim at consultix-inc.com Sun Apr 8 10:50:45 2007 From: tim at consultix-inc.com (Tim Maher) Date: Sun, 8 Apr 2007 10:50:45 -0700 Subject: SPUG: localtime() returning hour in wrong range? Message-ID: <20070408175045.GA7990@jumpy.consultix-inc.com> SPUGsters, The Camel coyly avoids specifying the ranges for most of localtime's various return values, but gives the hint that they follow (time.h's) "struct tm", which has the hour coded as 0-23. So why does the following program display a localtime-derived hour value that /matches/ the one returned by the Linux date command, rather than a value that's less by one? E.g., if date says it's 11 AM, shouldn't $hour be 10, not 11? Am I overlooking something? #! /usr/bin/perl -wl # Tim Maher, tim at TeachMePerl.com system 'date'; # show for comparison (undef, $minutes, $hour)=localtime; print "\$hour/\$minutes returned by localtime(): $hour/$minutes"; *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX http://www.consultix-inc.com | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | | CLASSES: 4/23: Perl+CGI; 5/7: Basic UNIX/Linux; 5/11: Perl Hashes | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-* | >> My "Minimal Perl" is an Amazon Best Seller; 5 star rating! << | | # Download chapters, read reviews, and order at MinimalPerl.com # | *-------------------------------------------------------------------* From tim at consultix-inc.com Sun Apr 8 11:12:45 2007 From: tim at consultix-inc.com (Tim Maher) Date: Sun, 8 Apr 2007 11:12:45 -0700 Subject: SPUG: perl one-liner help In-Reply-To: References: Message-ID: <20070408181245.GA8387@jumpy.consultix-inc.com> On Wed, Apr 04, 2007 at 03:08:47PM -0700, Duane Blanchard wrote: > Hi, > > This should be the simplest thing, but I'm not able to get it. > I have a list of names in a file separated by a semicolon and a space: > Starr, Ringo; McCartney, Paul; Lennon, John; Harrison, George; > and I want to substitute each /; / with a /\n/. > I'm running WinXP. > > perl -e "s/; /\n/" desktop/list.txt > Thanks for any tips. > Thx, > D > Duane Blanchard FYI, I'm giving a talk entitled "Harnessing the Power of Perl's One-Liners" at LinuxFest Northwest, up in Bellingham from 4/27-28. See lfnw.org for details. *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX http://www.consultix-inc.com | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | | CLASSES: 4/23: Perl+CGI; 5/7: Basic UNIX/Linux; 5/11: Perl Hashes | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-* | >> My "Minimal Perl" is an Amazon Best Seller; 5 star rating! << | | # Download chapters, read reviews, and order at MinimalPerl.com # | *-------------------------------------------------------------------* From scratchcomputing at gmail.com Sun Apr 8 11:28:33 2007 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Sun, 8 Apr 2007 11:28:33 -0700 Subject: SPUG: localtime() returning hour in wrong range? In-Reply-To: <20070408175045.GA7990@jumpy.consultix-inc.com> References: <20070408175045.GA7990@jumpy.consultix-inc.com> Message-ID: <200704081128.33760.ewilhelm@cpan.org> # from Tim Maher # on Sunday 08 April 2007 10:50 am: >... hour coded as 0-23. > >... E.g., if date says it's 11 >AM, shouldn't $hour be 10, not 11? Am I overlooking something? Add coffee, check back at 24:01. --Eric -- But as soon as you hear the Doppler shift dropping in pitch, you know that they're probably going to miss your house, because if they were on a collision course with your house, the pitch would stay the same until impact. As I said, that's one's subtle. --Larry Wall --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From tim at consultix-inc.com Sun Apr 8 12:52:43 2007 From: tim at consultix-inc.com (Tim Maher) Date: Sun, 8 Apr 2007 12:52:43 -0700 Subject: SPUG: localtime() returning hour in wrong range? In-Reply-To: <20070408175045.GA7990@jumpy.consultix-inc.com> References: <20070408175045.GA7990@jumpy.consultix-inc.com> Message-ID: <20070408195243.GA8860@jumpy.consultix-inc.com> On Sun, Apr 08, 2007 at 10:50:45AM -0700, Tim Maher wrote: > SPUGsters, > > The Camel coyly avoids specifying the ranges for most of localtime's > various return values, but gives the hint that they follow (time.h's) > "struct tm", which has the hour coded as 0-23. > > So why does the following program display a localtime-derived hour > value that /matches/ the one returned by the Linux date command, > rather than a value that's less by one? E.g., if date says it's 11 > AM, shouldn't $hour be 10, not 11? Am I overlooking something? > > #! /usr/bin/perl -wl > # Tim Maher, tim at TeachMePerl.com > > system 'date'; # show for comparison > (undef, $minutes, $hour)=localtime; > print "\$hour/\$minutes returned by localtime(): $hour/$minutes"; Reading the Camel more closely, it says "You can remember which ones [localtime return values] are zero-based because those are the ones you're always using as subscripts ...". Since one would very rarely use an hour as a subscript (as one would a day number to retrieve the corresponding day name from a list, e.g.), that explains why hours are counted from 1. Unfortunately, that reality conflicts with the suggestion of a 0-based numeric range provided by the Camel's statement that "All list elements are numeric and come straight out of a struct tm", as well as the explicit statements in various books (e.g., Jon Orwant's "Perl 5 Interactive Course") which reinforce the erroneous belief that localtime hours are 0..23. As the great logician Chico Marx once (sorta) said, "Who you gonna believe--what it says in this book, or your own program?" -Tim *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX http://www.consultix-inc.com | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | | CLASSES: 4/23: Perl+CGI; 5/7: Basic UNIX/Linux; 5/11: Perl Hashes | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-* | >> My "Minimal Perl" is an Amazon Best Seller; 5 star rating! << | | # Download chapters, read reviews, and order at MinimalPerl.com # | *-------------------------------------------------------------------* From jsl at blarg.net Sun Apr 8 13:23:42 2007 From: jsl at blarg.net (Jim Ludwig) Date: Sun, 08 Apr 2007 13:23:42 -0700 Subject: SPUG: localtime() returning hour in wrong range? In-Reply-To: <20070408175045.GA7990@jumpy.consultix-inc.com> (message from Tim Maher on Sun, 8 Apr 2007 10:50:45 -0700) Message-ID: Tim Maher wrote: >> So why does the following program display a >> localtime-derived hour value that /matches/ the >> one returned by the Linux date command, rather >> than a value that's less by one? E.g., if date >> says it's 11 AM, shouldn't $hour be 10, not 11? >> Am I overlooking something? I think it is possible you're overlooking something. Perhaps what you're overlooking was *hinted* by Eric Wilhelm, who said: >> Add coffee, check back at 24:01. The 24-hour clock, or military time, begins at 0:00, which a sergeant might say as "zero hundred hours". There is no such time as 24:01, but rather 00:01. Whereas the sergeant would say "zero hundred hours", the civilian would say "twelve o'clock". By the time 1 o'clock rolls around, both the civilian and the sergeant are in sync. I just ran your program on my command-line, and its output looks correct: -------------------------------------------------- Sun 13:20:58 {prague:[~]} which perl /usr/bin/perl Sun 13:20:59 {prague:[~]} Sun 13:21:01 {prague:[~]} echo ; perl -wle 'system "date";(undef, $minutes, $hour)=localtime;print "\$hour/\$minutes returned by localtime(): $hour/$minutes";' ; echo Sun Apr 8 13:21:10 PDT 2007 $hour/$minutes returned by localtime(): 13/21 Sun 13:21:10 {prague:[~]} -------------------------------------------------- I hope *I*'m not missing something in your question and that this all makes sense. Cheers, jim From tallpeak at hotmail.com Sun Apr 8 13:44:43 2007 From: tallpeak at hotmail.com (Aaron W. West) Date: Sun, 8 Apr 2007 13:44:43 -0700 Subject: SPUG: localtime() returning hour in wrong range? In-Reply-To: <20070408195243.GA8860@jumpy.consultix-inc.com> References: <20070408175045.GA7990@jumpy.consultix-inc.com> <20070408195243.GA8860@jumpy.consultix-inc.com> Message-ID: Umm, Erroneous belief that localtime hours are 0..23? Huh? $ perl -e 'for (0..23){$time=($_+8)*3600;(undef,$minutes,$hour)=localtime($time);print "$hour:";}' 0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23: -----Original Message----- From: spug-list-bounces+tallpeak=hotmail.com at pm.org [mailto:spug-list-bounces+tallpeak=hotmail.com at pm.org] On Behalf Of Tim Maher Sent: Sunday, April 08, 2007 12:53 PM To: spug-list at pm.org Subject: Re: SPUG: localtime() returning hour in wrong range? On Sun, Apr 08, 2007 at 10:50:45AM -0700, Tim Maher wrote: > SPUGsters, > > The Camel coyly avoids specifying the ranges for most of localtime's > various return values, but gives the hint that they follow (time.h's) > "struct tm", which has the hour coded as 0-23. > > So why does the following program display a localtime-derived hour > value that /matches/ the one returned by the Linux date command, > rather than a value that's less by one? E.g., if date says it's 11 > AM, shouldn't $hour be 10, not 11? Am I overlooking something? > > #! /usr/bin/perl -wl > # Tim Maher, tim at TeachMePerl.com > > system 'date'; # show for comparison > (undef, $minutes, $hour)=localtime; > print "\$hour/\$minutes returned by localtime(): $hour/$minutes"; Reading the Camel more closely, it says "You can remember which ones [localtime return values] are zero-based because those are the ones you're always using as subscripts ...". Since one would very rarely use an hour as a subscript (as one would a day number to retrieve the corresponding day name from a list, e.g.), that explains why hours are counted from 1. Unfortunately, that reality conflicts with the suggestion of a 0-based numeric range provided by the Camel's statement that "All list elements are numeric and come straight out of a struct tm", as well as the explicit statements in various books (e.g., Jon Orwant's "Perl 5 Interactive Course") which reinforce the erroneous belief that localtime hours are 0..23. As the great logician Chico Marx once (sorta) said, "Who you gonna believe--what it says in this book, or your own program?" -Tim *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX http://www.consultix-inc.com | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | | CLASSES: 4/23: Perl+CGI; 5/7: Basic UNIX/Linux; 5/11: Perl Hashes | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-* | >> My "Minimal Perl" is an Amazon Best Seller; 5 star rating! << | | # Download chapters, read reviews, and order at MinimalPerl.com # | *-------------------------------------------------------------------* _____________________________________________________________ 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/ -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 269.0.0/751 - Release Date: 4/7/2007 10:57 PM -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 269.0.0/751 - Release Date: 4/7/2007 10:57 PM From tim at consultix-inc.com Sun Apr 8 14:03:34 2007 From: tim at consultix-inc.com (Tim Maher) Date: Sun, 8 Apr 2007 14:03:34 -0700 Subject: SPUG: localtime() returning hour in wrong range? In-Reply-To: References: <20070408175045.GA7990@jumpy.consultix-inc.com> Message-ID: <20070408210334.GA9395@jumpy.consultix-inc.com> On Sun, Apr 08, 2007 at 01:23:42PM -0700, Jim Ludwig wrote: > Tim Maher wrote: > > I think it is possible you're overlooking > something. Perhaps what you're overlooking was > *hinted* by Eric Wilhelm, who said: > >> Add coffee, check back at 24:01. Indeed, I missed that hint. T'was too sly for me! My mistake was in considering the $hour values as similar to $month, which needs a 0-based to 1-based conversion to match April with 4. My lack of military experience might have been another factor 8-} So here's my take on a program to convert military to "civilian" time; comments welcome! #! /usr/bin/perl -wl # Tim Maher, tim at TeachMePerl.com defined $ENV{DEBUG} and system 'date'; # show for reference (undef, $minutes, $hour)=localtime ; # leave seconds undefined # Convert military time to civilian time, with AM/PM added $am_pm='AM'; $hour >= 12 and $am_pm='PM'; # hours 12-23 are afternoon $hour > 12 and $hour=$hour-12; # 13-23 ==> 1-11 PM $hour == 0 and $hour=12; # rename day's first hour $minutes < 10 and $minutes="0$minutes"; # convert "5" to "05", etc. print "The time is $hour:$minutes $am_pm."; __DATA__ 00 1 2 3 4 5 6 7 8 9 10 11 / 12 13 14 15 16 17 18 19 20 21 22 23 References: <20070408175045.GA7990@jumpy.consultix-inc.com> <20070408195243.GA8860@jumpy.consultix-inc.com> <002501c77a1e$bc7d14f0$0700a8c0@ze4430us> Message-ID: <20070408211432.GB9395@jumpy.consultix-inc.com> On Sun, Apr 08, 2007 at 01:44:43PM -0700, Aaron W. West wrote: > Umm, Erroneous belief that localtime hours are 0..23? Huh? I was discussing how the conflicting statements in the documentation might lead one to conclude that hours are coded in a 1-based series (1-24), requiring adjustment to produce the actual hours (0-23). Based on that reasoning, the output of the test program I provided seemed to be incorrect. Based on new input (thanks Erik and John), I now see that localtime hours are indeed 0..23, and in need of no conversion to produce hours in military time. My apologies for any confusion! -Tim *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX http://www.consultix-inc.com | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | | CLASSES: 4/23: Perl+CGI; 5/7: Basic UNIX/Linux; 5/11: Perl Hashes | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-* | >> My "Minimal Perl" is an Amazon Best Seller; 5 star rating! << | | # Download chapters, read reviews, and order at MinimalPerl.com # | *-------------------------------------------------------------------* From will at marketproductions.com Mon Apr 9 11:55:46 2007 From: will at marketproductions.com (Will Kidwell) Date: Mon, 9 Apr 2007 14:55:46 -0400 Subject: SPUG: Seeking Programming Assistance Message-ID: <002101c77ad8$af2f3660$6501a8c0@house> Hello Everyone: I am in need of some help for a DBI driven program on which I am working, and I was wondering if anyone would be willing to do some tutoring/project work over the phone? Historically, the mailing lists (not this one) havent helped much, as I am more of a verbal learner. I'm still a student, so I cant pay much right now, but I'd really appreciate being able to team up with someone with whom I can develop a working relationship to learn and develop some apps. Details upon request. Serious inquiries only please. Thanks, Will -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/spug-list/attachments/20070409/5055145e/attachment.html From MichaelRWolf at att.net Mon Apr 9 18:26:52 2007 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Mon, 9 Apr 2007 18:26:52 -0700 Subject: SPUG: FW: Quardev Announces: CAST 2007 Message-ID: <00cb01c77b0f$52f2fad0$0500a8c0@mlaptop> I just got an announcement from Jon Bach at Quardev for an upcoming testing conference. (Sorry I couldn't forward it - something in the announcement caused a problem.). Quardev, a local testing company. Quardev moved into the space Geospiza used to occupy when they hosted the SPUG meetings. Quardev is very active in testing, and also sponsors what the WSA used to call the QA SIG, but is now called something else since Quardev took it over. http://www.associationforsoftwaretesting.org/conference/index.html CAST 2007 - "Testing Techniques, Innovations and Applications" The second annual Conference of the Association for Software Testing (CAST) will be 3 days of interactive learning and discussion on the theme of "Testing TEchniques: Innovations & Applications, in the Meydenbauer Center, Bellevue, Washington, USA. Day One (July 9, 2007): Keynotes, Session Tracks, Exhibits Day Two (July 10, 2007): Keynotes, Session Tracks, Exhibits Day Three (July 11, 2007): Tutorials Mission The primary mission of CAST 2007 is to help build an active community of software testing scholars, practitioners and learners, and influence the software testing practice through discussions among members of this community. I figured there would be enough QA, XP, and TDD folks on this list that it would be appropriate to cross-post. Michael P.S. I'm just the messenger. Please direct further questions to the contacts on the site, or Jon Bach, the Quardev contact (jons at quardev.com). P.P.S. %expansion_of = ( QA => "Quality Assurance", XP => "eXtreme Programming", TDD => "Test-driven Design", ); -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/spug-list/attachments/20070409/ac10fbfb/attachment.html From billw at onedrous.org Wed Apr 11 15:44:19 2007 From: billw at onedrous.org (Bill Warner) Date: Wed, 11 Apr 2007 15:44:19 -0700 (PDT) Subject: SPUG: Change a namespace after loading? Message-ID: Hi all, I want to change the namespace of a class after it's been loaded. Worse, I want to continue to use the original namespace, but fill it with new code that might refer to the old code in the changed namespace. Wore still, I'd rather not edit the old code at all. I want to import it as I've always done, but into a new namespace. Is there technique or a module for this purpose? Thanks, -Bill From m3047 at inwa.net Wed Apr 11 15:48:12 2007 From: m3047 at inwa.net (Fred Morris) Date: Wed, 11 Apr 2007 15:48:12 -0700 Subject: SPUG: Change a namespace after loading? In-Reply-To: References: Message-ID: <200704111548.12979.m3047@inwa.net> May not be exactly what you're looking for, but Perl allows re-blessing. Horrible. Evil. I found a legitimate use for it exactly once. -- FWM On Wednesday 11 April 2007 15:44, Bill Warner wrote: > Hi all, > > I want to change the namespace of a class after it's been loaded. Worse, I > want to continue to use the original namespace, but fill it > with new code that might refer to the old code in the changed namespace. > Wore still, I'd rather not edit the old code at all. I want to > import it as I've always done, but into a new namespace. > > Is there technique or a module for this purpose? > > Thanks, > > -Bill > From sthoenna at efn.org Wed Apr 11 15:51:51 2007 From: sthoenna at efn.org (Yitzchak Scott-Thoennes) Date: Wed, 11 Apr 2007 15:51:51 -0700 (PDT) Subject: SPUG: Change a namespace after loading? In-Reply-To: References: Message-ID: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> On Wed, April 11, 2007 3:44 pm, Bill Warner wrote: > I want to change the namespace of a class after it's been loaded. Worse, > I > want to continue to use the original namespace, but fill it with new code > that might refer to the old code in the changed namespace. Wore still, I'd > rather not edit the old code at all. I want to import it as I've always > done, but into a new namespace. > > Is there technique or a module for this purpose? There are several things you can do, but all with some limitation or drawback. Can you explain what you are really trying to get done? (See http://perlmonks.org/?node=XY+Problem.) There's likely a better way. From billw at onedrous.org Wed Apr 11 16:51:17 2007 From: billw at onedrous.org (Bill Warner) Date: Wed, 11 Apr 2007 16:51:17 -0700 (PDT) Subject: SPUG: Change a namespace after loading? In-Reply-To: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> Message-ID: The idea is to implement phased deprecation of old code. The situation: a library with hundreds and hundreds of clients (modules that 'use' the library) is to be deprecated. The solution: write a new version that looks identical to the clients. Simple enough, but I don't want to switch all clients to the new code simultaneously. I'd prefer to switch a few at a time. In other words, for some clients the old version is used, for the rest the new version is used. On Wed, 11 Apr 2007, Yitzchak Scott-Thoennes wrote: > On Wed, April 11, 2007 3:44 pm, Bill Warner wrote: >> I want to change the namespace of a class after it's been loaded. Worse, >> I >> want to continue to use the original namespace, but fill it with new code >> that might refer to the old code in the changed namespace. Wore still, I'd >> rather not edit the old code at all. I want to import it as I've always >> done, but into a new namespace. >> >> Is there technique or a module for this purpose? > > There are several things you can do, but all with some limitation or > drawback. Can you explain what you are really trying to get done? > (See http://perlmonks.org/?node=XY+Problem.) There's likely a better > way. > > > > From jack at foys.net Wed Apr 11 20:59:53 2007 From: jack at foys.net (Jack Foy) Date: Wed, 11 Apr 2007 20:59:53 -0700 Subject: SPUG: Change a namespace after loading? In-Reply-To: References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> Message-ID: <20070412035952.GS16701@foys.net> Bill Warner wrote: > The idea is to implement phased deprecation of old code. > > The situation: a library with hundreds and hundreds of clients (modules > that 'use' the library) is to be deprecated. > > The solution: write a new version that looks identical to the clients. > Simple enough, but I don't want to switch all clients to the new code > simultaneously. I'd prefer to switch a few at a time. In other words, for > some clients the old version is used, for the rest the new version is > used. Do you have ownership of the clients as well as the module? If so, the simplest solution may be to use a new name for the new module. For each client, implement enough of the old module's interface to support what that client is doing, then port that client's code as necessary to point at the new module. Alternately, add another level of indirection. Rename the old module to something like OldFoo and implement a new Foo whose sole purpose, initially, is to pass client calls through to OldFoo. Then you can gradually reimplement OldFoo into Foo in a manner invisible to clients. This approach is probably the fastest way to get up and running. (Depending on specifics, the second approach may also require a bit of re-engineering to set up OldFoo, but that would hopefully be minimal -- the aim of that work is "bug-for-bug compatibility".) -- Jack Foy From scratchcomputing at gmail.com Thu Apr 12 10:06:21 2007 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Thu, 12 Apr 2007 10:06:21 -0700 Subject: SPUG: Change a namespace after loading? In-Reply-To: References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> Message-ID: <200704121006.21635.ewilhelm@cpan.org> # from Bill Warner # on Wednesday 11 April 2007 04:51 pm: >The solution: write a new version that looks identical to the clients. >Simple enough, but I don't want to switch all clients to the new code >simultaneously. I'd prefer to switch a few at a time. In other words, > for some clients the old version is used, for the rest the new > version is used. Why does that require messing with namespaces at runtime? Is this a single, persistent environment? Seems that {local @INC = ("newcode/", @INC); require Module;} would do the trick in most situations. --Eric -- "Insert random misquote here" --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From ann at domaintje.com Fri Apr 13 06:20:09 2007 From: ann at domaintje.com (Ann Barcomb) Date: Fri, 13 Apr 2007 15:20:09 +0200 (CEST) Subject: SPUG: introduction/lecture series Message-ID: <20070413150248.N35708@primus.biocede.com> Hello, As a few people on this list already know, I will be moving to Seattle this autumn to attend grad school at UW. I hope to become a mildly evil technically competent manager. Once I'm in the area I'll probably start to join the meetings, but I thought I would already say hi. I guess that I already know some of you from YAPCs or OSCONs, but for people whom I haven't met, a short summary: my name is Ann (I sometimes use the nick Kudra), and I currently live in the Netherlands. I worked as a programmer for a while, although I've spent the last few months writing documentation. I've been involved in some conference/hackathon organization in Europe, and write Perl 6 summaries when I have time (and now you know why I no longer have time to do them). I'm looking for a bit of help with something I'm hoping to organize in Seattle. First, a bit of background: One thing I noted about UW's MBA program is that although it is much more relaxed about FLOSS software than many other schools I looked at (for instance, I can use any software I like, as long as I can get the work done), it is naturally affected by its proximity to Microsoft. From what I understand from speaking with some FLOSS advocates currently in the program, Microsoft contributes quite a few speakers to the program. Therefore, I would like to arrange a lecture series which could bring in business people who support FLOSS. I am thinking both of companies which sell support services or distributions, as well as companies which create conferences or books. Ideally, the speakers would be business people who have turned to FLOSS, rather than people who are developers foremost, as my intention is to expose the less technical students to other business possibilities involving technology. I would like to make the lectures open to the public, however. I hope that I will be able to work with the MBA technology club on this, in order to get a public space for the lectures, but I could also use some help from anyone in the larger FLOSS community who has an interest in this goal. Specifically, I could use assistance in securing funding (I really do not know where to seek donations in Seattle) and in making contacts with potential speakers. If the idea interests you, drop me a note. - Ann From tim at consultix-inc.com Fri Apr 13 09:28:12 2007 From: tim at consultix-inc.com (Tim Maher) Date: Fri, 13 Apr 2007 09:28:12 -0700 Subject: SPUG: introduction/lecture series In-Reply-To: <20070413150248.N35708@primus.biocede.com> References: <20070413150248.N35708@primus.biocede.com> Message-ID: <20070413162812.GA2684@jumpy.consultix-inc.com> On Fri, Apr 13, 2007 at 03:20:09PM +0200, Ann Barcomb wrote: > Hello, > > As a few people on this list already know, I will be moving to Seattle > this autumn to attend grad school at UW. Welcome, Ann! Don't forget your raincoat. 8-} I'd be happy to contribute to the proposed series, as a business owner who's used Linux on as many as 23 corporate machines since 1992, as a Perl trainer since 1998, and as the author of a book that helps readers upgrade from UNIX-derived tools such as grep, sed, and awk to the more powerful and portable Perl language. -Tim *-------------------------------------------------------------------* | Tim Maher, PhD (206) 781-UNIX http://www.consultix-inc.com | | tim at ( Consultix-Inc, TeachMePerl, or TeachMeUnix ) dot Com | | CLASSES: 5/7: UNIX/Linux Fundamentals; 5/11: Perl Hashes & Arrays | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-* | >> My "Minimal Perl" is an Amazon Best Seller; 5 star rating! << | | # Download chapters, read reviews, and order at MinimalPerl.com # | *-------------------------------------------------------------------* From xiebob at gmail.com Fri Apr 13 11:27:16 2007 From: xiebob at gmail.com (Christie P Robertson) Date: Fri, 13 Apr 2007 11:27:16 -0700 Subject: SPUG: introduction/lecture series In-Reply-To: <20070413150248.N35708@primus.biocede.com> References: <20070413150248.N35708@primus.biocede.com> Message-ID: <10d16e520704131127k502827q4f86f0141299c4f3@mail.gmail.com> (For anybody else in the dark like me, here's an article that explains the term FLOSS http://en.wikipedia.org/wiki/FOSS) Christie On 4/13/07, Ann Barcomb wrote: > > Hello, > > As a few people on this list already know, I will be moving to Seattle > this autumn to attend grad school at UW. I hope to become a mildly evil > technically competent manager. > > Once I'm in the area I'll probably start to join the meetings, but I > thought > I would already say hi. I guess that I already know some of you from > YAPCs or OSCONs, but for people whom I haven't met, a short summary: my > name is Ann (I sometimes use the nick Kudra), and I currently live in > the Netherlands. I worked as a programmer for a while, although I've > spent the last few months writing documentation. I've been involved in > some conference/hackathon organization in Europe, and write Perl 6 > summaries > when I have time (and now you know why I no longer have time to do them). > > I'm looking for a bit of help with something I'm hoping to organize in > Seattle. First, a bit of background: > > One thing I noted about UW's MBA program is that although it is much more > relaxed about FLOSS software than many other schools I looked at (for > instance, I can use any software I like, as long as I can get the work > done), it is naturally affected by its proximity to Microsoft. From what > I understand from speaking with some FLOSS advocates currently in the > program, Microsoft contributes quite a few speakers to the program. > > Therefore, I would like to arrange a lecture series which could bring in > business people who support FLOSS. I am thinking both of companies which > sell support services or distributions, as well as companies which create > conferences or books. Ideally, the speakers would be business people who > have turned to FLOSS, rather than people who are developers foremost, as > my intention is to expose the less technical students to other business > possibilities involving technology. I would like to make the lectures > open to the public, however. > > I hope that I will be able to work with the MBA technology club on this, > in order to get a public space for the lectures, but I could also use > some help from anyone in the larger FLOSS community who has an interest > in this goal. Specifically, I could use assistance in securing funding > (I really do not know where to seek donations in Seattle) and in making > contacts with potential speakers. > > If the idea interests you, drop me a note. > > - Ann > _____________________________________________________________ > 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: http://mail.pm.org/pipermail/spug-list/attachments/20070413/aeaf99be/attachment.html From MichaelRWolf at att.net Fri Apr 13 14:46:15 2007 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Fri, 13 Apr 2007 14:46:15 -0700 Subject: SPUG: "Hello World" in the world of Google Maps (and the culture of a language) Message-ID: <001601c77e15$2a985db0$0500a8c0@mlaptop> I ran across this map that not only gives some "hello world" code samples, but also tries to locate the "birth place" of a language. I thought Perl was started when Larry was at JPL in California. Any ideas why it's pinned to the map outside of Philadelphia? http://maps.google.com/maps/ms?f=q&hl=en&q=&layer=&ie=UTF8&om=1&z=7&ll=40.15 3687,-75.267334&spn=2.737361,7.229004&msid=103763259662194171141.000001119b4 bc596127f8&msa=0 Perl always had more of a California feel to me. Is my "Perl Genesis Story" in serious need of rewriting with East Coast sensibilities (sic)? LOL funny... When I first clicked COBOL (Washington, DC), the code bubble grew to cover Greenland!!! Obviously Grace Hopper did a good job of fulfilling one of her original design criteria of "making it readable (i.e. non-threatening) to managers". BTW, she was a hoot. I heard her speak at a grad school seminar a couple of years before she died. Despite her military skirt and bearing, she was well at ease with the long-hair-and-flips of the civilian students, and brought a keen perspective to the mix of technology, politics, and humanity that support the roots of language development. She was the first one to alert me to how a culture affects a (programming) language (and vice versa), long before I learned about Perl (the language *and* the culture). After one of Larry's technical talks where his wife, Gloria, had made cultural and technical comments, I asked Gloria which she thought was more important, the language or the culture. The answer she gave me fit her training as a linguist and as the partner/sounding-board of a technologist/linguist. It applied equally to all human languages (the ones we speak and the ones we run on computers) -- "You can't separate a language from its culture!". Well spoken, Gloria. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From MichaelRWolf at att.net Fri Apr 13 14:50:03 2007 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Fri, 13 Apr 2007 14:50:03 -0700 Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" Message-ID: <001701c77e15$b274cac0$0500a8c0@mlaptop> I'm familiar with this one: #! /usr/bin/perl I've seen this one, but can't think of why it would be better: #! /usr/bin/env perl Ideas? Michael P.S. The "Hello World" code bubbles use the second form. I'm curious why. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From billw at onedrous.org Fri Apr 13 14:56:58 2007 From: billw at onedrous.org (Bill Warner) Date: Fri, 13 Apr 2007 14:56:58 -0700 Subject: SPUG: Change a namespace after loading? In-Reply-To: <200704121006.21635.ewilhelm@cpan.org> References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> <200704121006.21635.ewilhelm@cpan.org> Message-ID: <461FFCAA.4030007@onedrous.org> I don't want to edit the clients, nor do I want to edit the deprecated code. I want to load the deprecated code and change its namespace then write some new code that dispatches to the deprecated code in the altered namespace. I'm thinking Safe.pm will do it. Eric Wilhelm wrote: > # from Bill Warner > # on Wednesday 11 April 2007 04:51 pm: > > >> The solution: write a new version that looks identical to the clients. >> Simple enough, but I don't want to switch all clients to the new code >> simultaneously. I'd prefer to switch a few at a time. In other words, >> for some clients the old version is used, for the rest the new >> version is used. >> > > Why does that require messing with namespaces at runtime? Is this a > single, persistent environment? Seems that {local @INC = ("newcode/", > @INC); require Module;} would do the trick in most situations. > > --Eric > From tcaine at cac.washington.edu Fri Apr 13 15:36:06 2007 From: tcaine at cac.washington.edu (tcaine at cac.washington.edu) Date: Fri, 13 Apr 2007 15:36:06 -0700 (PDT) Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" In-Reply-To: <001701c77e15$b274cac0$0500a8c0@mlaptop> References: <001701c77e15$b274cac0$0500a8c0@mlaptop> Message-ID: /usr/bin/env will search your PATH for perl. If I download a script that has the "#!/usr/bin/env perl" she-bang line and my perl is located at /usr/local/bin/perl and /usr/local/bin is in my path then the script should still work without needing to modify the she-bang line. I still prefer the #!/usr/bin/perl she-bang line myself, as not all env exucutables live in /usr/bin anyways (athough it usually does) and if you have more than one version of perl in your PATH you get the first one env finds, which may not be the one you expect. On Fri, 13 Apr 2007, Michael R. Wolf wrote: > > I'm familiar with this one: > #! /usr/bin/perl > > I've seen this one, but can't think of why it would be better: > #! /usr/bin/env perl > > > Ideas? > > Michael > > P.S. The "Hello World" code bubbles use the second form. I'm curious why. > > -- > Michael R. Wolf > All mammals learn by playing! > MichaelRWolf at att.net > From veritosproject at gmail.com Sat Apr 14 12:45:33 2007 From: veritosproject at gmail.com (veritosproject at gmail.com) Date: Sat, 14 Apr 2007 12:45:33 -0700 Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" In-Reply-To: References: <001701c77e15$b274cac0$0500a8c0@mlaptop> Message-ID: <6dcbe5980704141245n5829f121u7932d0997010410c@mail.gmail.com> Perl now has a ./Configure option that automatically symlinks /u/b/perl to /u/l/b/perl if you so choose. On 4/13/07, tcaine at cac.washington.edu wrote: > > /usr/bin/env will search your PATH for perl. If I download a script that > has the "#!/usr/bin/env perl" she-bang line and my perl is located at > /usr/local/bin/perl and /usr/local/bin is in my path then the script > should still work without needing to modify the she-bang line. > > I still prefer the #!/usr/bin/perl she-bang line myself, as not all env > exucutables live in /usr/bin anyways (athough it usually does) and if you > have more than one version of perl in your PATH you get the first one env > finds, which may not be the one you expect. > > On Fri, 13 Apr 2007, Michael R. Wolf wrote: > > > > > I'm familiar with this one: > > #! /usr/bin/perl > > > > I've seen this one, but can't think of why it would be better: > > #! /usr/bin/env perl > > > > > > Ideas? > > > > Michael > > > > P.S. The "Hello World" code bubbles use the second form. I'm curious why. > > > > -- > > Michael R. Wolf > > All mammals learn by playing! > > MichaelRWolf at att.net > > > _____________________________________________________________ > 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 cmeyer at helvella.org Sat Apr 14 15:14:53 2007 From: cmeyer at helvella.org (Colin Meyer) Date: Sat, 14 Apr 2007 15:14:53 -0700 Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" In-Reply-To: <6dcbe5980704141245n5829f121u7932d0997010410c@mail.gmail.com> References: <001701c77e15$b274cac0$0500a8c0@mlaptop> <6dcbe5980704141245n5829f121u7932d0997010410c@mail.gmail.com> Message-ID: <20070414221452.GB5853@infula.helvella.org> On Sat, Apr 14, 2007 at 12:45:33PM -0700, veritosproject at gmail.com wrote: > Perl now has a ./Configure option that automatically symlinks > /u/b/perl to /u/l/b/perl if you so choose. ... and thankfully, the default answer to that option is no, do not create a symlink from /usr/bin/perl to where ever the perl executable is installed (/usr/local/bin/perl by default). I've been bitten more than once when configuring Perl with -des. Older versions used to create that symlink by default. Most unixy OSs rely heavily on their /usr/bin/perl, and so it is best to leave it alone, and let the OS decide when to update it. If you upgrade /usr/bin/perl, but the OS is relying on some bug or feature of the version of Perl it installed into /usr/bin/perl, then stuff breaks. I have witnessed troubles from upgrading Perl on Mac OSX and various linux distros (at least debian and suse off the top of my head). I go so far as never installing or upgrading any modules under /usr/bin/perl. -Colin. From dwilburn at whitepages.com Sat Apr 14 16:44:26 2007 From: dwilburn at whitepages.com (Daina Wilburn) Date: Sat, 14 Apr 2007 16:44:26 -0700 Subject: SPUG: Meeting Announcement -- 17 April, 2007 References: <4432BA79E0582B4698D5E3F3E46232AF02CF3329@post.corp.w3data.com> Message-ID: <99EC30D21F5A8A44B1369983D2D9529911197A@netmail.corp.w3data.com> April 2007 Seattle Perl Users Group (SPUG) Meeting ==================================================== Topic: Using the SQLite Database with Perl Meeting Date: Tuesday, 17 April 2007 Meeting Time: 6:30 - 8:30 p.m. Location: Whitepages.com offices, downtown Seattle Cost: Admission is free and open to the public Info: http://seattleperl.org/ ==================================================== Yes, it's time once again for a Perl-ish evening, this coming Tuesday the 17th of April, 2007 at the regular monthly meeting of the Seattle Perl Users Group. This month Colin Meyer will be giving a short talk about using the SQLite database with Perl. A short blurb from Colin: "SQLite is an embedded database that is extremely popular. The Perl module DBD::SQLite makes it extremely easy to install and use SQLite with your Perl application." Colin will demonstrate how to install and use this module....with his eyes closed.....(ahem). Thanks Colin! So, come one and all! Remember to bring someone who hasn't ventured over before, and, of course, remember to bring yourself! Thanks again to the 'powers that be (!)' at Whitepages.com for giving us a great place to hold our meetings and presentations, to all the SPUG members that show up at meetings or participate on the list to make the group worthwhile in the first place, and all the JAPHs out there for just being. Meeting Location ================ Whitepages.com is located on the 16th floor of the Rainier Square Tower (1301 5th Avenue, Seattle) which is across from the 5th Avenue Theater. See the directions[1] for a quick primer on how to reach us from various locations across Puget Sound. There are plenty of locations to park in the area, including on the street. If you're looking for off-street parking, you can park in the Rainier Square garage which has an entrance on Union St. After 6PM, the building management restricts access to most floors. Our host is trying to take care of this, but if unsuccessful, they will station someone on the 1st floor near the elevator bank and 5th Avenue entrance to let people in. Worst case scenario, give the host a call on his cell phone[2] or [3] and he'll run down to let you in. Our hosts are providing a generous assortment of free sodas, fruit drinks, teas, and coffee, and also have some snacks. You definitely won't dehydrate here. We look forward to seeing you! [1] - https://vpn.whitepages.com/go/www.whitepagesinc.com/locations [2] - 206 354 7789 [3] - 206-271-9267 _____________________________________________________________ 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: http://mail.pm.org/pipermail/spug-list/attachments/20070414/252d95dd/attachment.html From cmeyer at helvella.org Sat Apr 14 18:28:44 2007 From: cmeyer at helvella.org (Colin Meyer) Date: Sat, 14 Apr 2007 18:28:44 -0700 Subject: SPUG: Meeting Announcement -- 17 April, 2007 In-Reply-To: <99EC30D21F5A8A44B1369983D2D9529911197A@netmail.corp.w3data.com> References: <4432BA79E0582B4698D5E3F3E46232AF02CF3329@post.corp.w3data.com> <99EC30D21F5A8A44B1369983D2D9529911197A@netmail.corp.w3data.com> Message-ID: <20070415012844.GA11372@infula.helvella.org> On Sat, Apr 14, 2007 at 04:44:26PM -0700, Daina Wilburn wrote: > > [1] - https://vpn.whitepages.com/go/www.whitepagesinc.com/locations Make that http://www.whitepagesinc.com/locations :) -Colin. From twists at gmail.com Sat Apr 14 20:57:09 2007 From: twists at gmail.com (Joshua ben Jore) Date: Sat, 14 Apr 2007 20:57:09 -0700 Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" In-Reply-To: <20070414221452.GB5853@infula.helvella.org> References: <001701c77e15$b274cac0$0500a8c0@mlaptop> <6dcbe5980704141245n5829f121u7932d0997010410c@mail.gmail.com> <20070414221452.GB5853@infula.helvella.org> Message-ID: On 4/14/07, Colin Meyer wrote: > On Sat, Apr 14, 2007 at 12:45:33PM -0700, veritosproject at gmail.com wrote: > > Perl now has a ./Configure option that automatically symlinks > > /u/b/perl to /u/l/b/perl if you so choose. > > ... and thankfully, the default answer to that option is no, do not > create a symlink from /usr/bin/perl to where ever the perl executable > is installed (/usr/local/bin/perl by default). I've been bitten more > than once when configuring Perl with -des. Older versions used to create > that symlink by default. > > Most unixy OSs rely heavily on their /usr/bin/perl, and so it is best to > leave it alone, and let the OS decide when to update it. If you upgrade > /usr/bin/perl, but the OS is relying on some bug or feature of the > version of Perl it installed into /usr/bin/perl, then stuff breaks. I > have witnessed troubles from upgrading Perl on Mac OSX and various linux > distros (at least debian and suse off the top of my head). > > I go so far as never installing or upgrading any modules under > /usr/bin/perl. Agreed. It's far easier to let the OS have its own copy of perl and to maintain your own copy elsewhere. At home, this just means the default perl is in ~/bin and that's A-OK. Scripts using /usr/bin/env will get the proper perl regardless. Awesome. I never break my core perl anymore, I never have to deal with problems relating to my OS updating modules separately from me - in fact, I can now update my own modules and perl without ever disturbing the OS. The same principle extends to more formal environments and in fact, is probably a best practice. The perl you depend on can vary (or *not*) regardless of whatever your OS does or needs. Josh From twists at gmail.com Sat Apr 14 21:22:44 2007 From: twists at gmail.com (Joshua ben Jore) Date: Sat, 14 Apr 2007 21:22:44 -0700 Subject: SPUG: Change a namespace after loading? In-Reply-To: <461FFCAA.4030007@onedrous.org> References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> <200704121006.21635.ewilhelm@cpan.org> <461FFCAA.4030007@onedrous.org> Message-ID: On 4/13/07, Bill Warner wrote: > I don't want to edit the clients, nor do I want to edit the deprecated > code. I want to load the deprecated code and change its namespace then > write some new code that dispatches to the deprecated code in the > altered namespace. > > I'm thinking Safe.pm will do it. I think you're in for a world of hurt. You *can* just wholesale copy a bunch of stuff from one namespace to another. %{"${new_class}::"} = %{"${old_class}::"}; That clobbers the new class but its just a hash operation so I leave it up to you to decide just how non-clobbering or merging you wish to be. The things that are *just* data will probably go ok. You won't be moving any lexicals but those are all embedded in the captured environment of all those functions you copied. Those functions are... problematic. Here's some perlguts. The CV roots have pointers to the stash they were compiled in. That will remain unchanged unless you do something about it. The compiled form of each function will /also/ have pointers to the package it was compiled in. This is relatively normal in perl - anything exported from one package to another has pointers to stashes other than the one it is currently in. This merely affects what things like caller(), __PACKAGE__, __FILE__, __LINE__ are going to return. *Also* the lexical environment is shared between your copies. You will probably want to clone your pads somehow. I don't know the answer but suspect PadWalker might be able to this without much trouble. You *might* just get away with PadWalker+Storable::dclone. Good luck! Write back about your experience, eh? Josh From jarich at perltraining.com.au Sat Apr 14 22:42:56 2007 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Sun, 15 Apr 2007 15:42:56 +1000 Subject: SPUG: Change a namespace after loading? In-Reply-To: <461FFCAA.4030007@onedrous.org> References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> <200704121006.21635.ewilhelm@cpan.org> <461FFCAA.4030007@onedrous.org> Message-ID: <4621BB60.3040708@perltraining.com.au> Bill Warner wrote: > I don't want to edit the clients, nor do I want to edit the deprecated > code. I want to load the deprecated code and change its namespace then > write some new code that dispatches to the deprecated code in the > altered namespace. Just to state an assumption here: clients = scripts which use the to-be deprecated module. As opposed to clients are scripts connecting to a server, or clients are people who pay you money... Where are you planning to write the new code so that when clients attempt to "use" the deprecated module, they actually end up with what they need? Where will that sit in the execution chain? Further (if it were possible) would it be sufficient to trap the execution of: use Deprecated qw(list of various cool exported functions) and replace that with use NewAndShiny qw(same list of exported functions); or do you reference Deprecates' variables etc by fully qualified names in various places: $Deprecated::VERSION; my $object = Deprecated->new(); Deprecated::print_this(); If your module is self-contained enough that it is possible to catch things like use Deprecated and swap for use NewAndShiny I think you could probably do this easily by moving Deprecated, changing it's package name only and having a pseudo-Deprecated module which sat in the middle and effectively did dispatch. In fact, it may be possible to get it to tie variables appropriately too. Sounds like fun. All the best, Jacinta From twists at gmail.com Sun Apr 15 00:31:40 2007 From: twists at gmail.com (Joshua ben Jore) Date: Sun, 15 Apr 2007 00:31:40 -0700 Subject: SPUG: Change a namespace after loading? In-Reply-To: <4621BB60.3040708@perltraining.com.au> References: <37425.168.103.159.223.1176331911.squirrel@webmail.efn.org> <200704121006.21635.ewilhelm@cpan.org> <461FFCAA.4030007@onedrous.org> <4621BB60.3040708@perltraining.com.au> Message-ID: On 4/14/07, Jacinta Richardson wrote: > easily by moving Deprecated, changing it's package name only and having a > pseudo-Deprecated module which sat in the middle and effectively did dispatch. > In fact, it may be possible to get it to tie variables appropriately too. > Sounds like fun. If *this* were sufficient then you could even do this bloodlessly with an @INC hook. You'd load something which added its hook to @INC and then later attempts to use() the Deprecated module could just go elsewhere, magiclike. Josh From MichaelRWolf at att.net Sun Apr 15 09:05:04 2007 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Sun, 15 Apr 2007 09:05:04 -0700 Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" In-Reply-To: <20070414221452.GB5853@infula.helvella.org> References: <001701c77e15$b274cac0$0500a8c0@mlaptop><6dcbe5980704141245n5829f121u7932d0997010410c@mail.gmail.com> <20070414221452.GB5853@infula.helvella.org> Message-ID: <003a01c77f77$d83c8870$0500a8c0@mlaptop> > I go so far as never installing or upgrading any modules under > /usr/bin/perl. Could you elaborate on your multi-perl stragegy? 1. How many Perl's do you keep? Where? OS-Perl: /usr/bin/perl current-Perl: /usr/local/bin/perl Others...? 2. What's in your PATH? In the she-bang line? Where are scripts located? a. How do you guarantee that OS-Perl scripts get OS-Perl? b. How do you let current-Perl scripts get current-Perl? 3. How are updates handled? a. OS-Perl and subordinate modules? a. current-Perl and subordinate modules? And the $64,000 question? If your multi-perl strategy is a fix for a broken Perl environment, what's broken about the Perl environment that prevents you from having a mono-perl (pun not intended) environemnt? Is the fix too academic/theoretical to be practical? (For instance, if every Perl script and module had some sort of "use only", all inter-module dependencies could be checked by the computer, but it may be too onerous a solution for the humans in the loop, or the intricacies of maintaining multiple module versions.) If it's academic/theoretical and practical, is it being investigated for Perl6? I had heard, for example, that many ISP's wouldn't install non-core modules. One solution to that was to have Perl ship with *NO* modules, thus requiring a just-in-time install of *all* modules. Such an architecture would not allow any modules to be "second class", and would therefore require that any module could be installed with the same mechanisms that allowed a micro-perl to bootstrap the modules-formerly-known-as-core. Thanks for the insights. I had always assumed that "#! /usr/bin/perl" was the "one correct solution". I should have anticipated the fractal quality of TMTOWTDI, applying not only to the inside of a script (contents), but also to the outside (environment). Thanks, Michael -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From twists at gmail.com Sun Apr 15 13:52:55 2007 From: twists at gmail.com (Joshua ben Jore) Date: Sun, 15 Apr 2007 13:52:55 -0700 Subject: SPUG: she-bang lines: "/usr/bin/perl" vs "/usr/bin/env perl" In-Reply-To: <003a01c77f77$d83c8870$0500a8c0@mlaptop> References: <001701c77e15$b274cac0$0500a8c0@mlaptop> <6dcbe5980704141245n5829f121u7932d0997010410c@mail.gmail.com> <20070414221452.GB5853@infula.helvella.org> <003a01c77f77$d83c8870$0500a8c0@mlaptop> Message-ID: On 4/15/07, Michael R. Wolf wrote: > > > I go so far as never installing or upgrading any modules under > > /usr/bin/perl. > > Could you elaborate on your multi-perl stragegy? > 1. How many Perl's do you keep? Where? > OS-Perl: /usr/bin/perl > current-Perl: /usr/local/bin/perl > Others...? The OS' perl. This is in the path, of course. I can write code against this perl but I have to be aware that choice of modules and extensions is sometimes restricted by what my packager has in its universe. I also have to be aware that if I ever modify this, the OS can modify it back when it upgrades or really... does anything. If the OS controls it, I don't. /usr/bin/perl A stable private copy. On other people's systems this might be located in /usr/local/bin/perl. Some OSes like FreeBSD that come without perl might stomp over this location. /home/josh/bin/perl/5.8.8/bin/perl -> /usr/local/bin/perl A whole pile used for testing. I left the /bin/perl part off because it would just be too distracting. /opt/perl-5.6.2 /opt/perl-5.6.2-dbg /opt/perl-5.6.2-threaded /opt/perl-5.6.2-threaded-dbg /opt/perl-5.8.1 /opt/perl-5.8.1-dbg /opt/perl-5.8.2-dbg /opt/perl-5.8.1-threaded-dbg /opt/perl-5.8.2 /opt/perl-5.8.1-threaded /opt/perl-5.8.3-dbg /opt/perl-5.8.2-threaded-dbg /opt/perl-5.8.3 /opt/perl-5.8.2-threaded /opt/perl-5.8.4-dbg /opt/perl-5.8.3-threaded-dbg /opt/perl-5.8.3-threaded /opt/perl-5.8.4-threaded /opt/perl-5.8.4 /opt/perl-5.8.4-threaded-dbg /opt/perl-5.8.5-dbg /opt/perl-5.8.5-threaded /opt/perl-5.8.5 /opt/perl-5.8.5-threaded-dbg /opt/perl-5.8.6-dbg /opt/perl-5.8.6-threaded /opt/perl-5.8.6 /opt/perl-5.8.6-threaded-dbg /opt/perl-5.8.7-dbg /opt/perl-5.8.7-threaded /opt/perl-5.8.7 /opt/perl-5.8.7-threaded-dbg /opt/perl-5.8.8 /opt/perl-5.8.8-dbg /opt/perl-5.8.8-threaded-dbg /opt/perl-5.8.8-threaded /opt/perl-5.9.5-dbg /opt/perl-5.9.5-threaded-dbg /opt/perl-5.9.5-threaded /opt/perl-5.9.5 /opt/perl-special > 2. What's in your PATH? In the she-bang line? Where are scripts > located? > a. How do you guarantee that OS-Perl scripts get OS-Perl? > b. How do you let current-Perl scripts get current-Perl? OS perl scripts typically have /usr/bin/perl hardcoded into them. This is fine. I have no idea what perl scripts my OS has - its not something I care about. My perl have typically had /home/josh/bin/perl/5.8.8/bin/perl hardcoded into them but I'm prepared to consider that I might have done better to use /usr/bin/env all this time. When I replace or move my perl, now all my scripts have to be updated. It's not overly onerous but it'd be better not to have to care. The default $PATH from /etc/(environment|bashrc|whatever) does not include the "private" or local perl. This lets the OS and anything it installs get along with the ordinary perl. Users who intend to use the local or customized perl add the new directory to their PATH, being careful to add it before anything in /usr. At home, this is just me so its easy. If I had more users it'd be easy enough to find the /etc/skel/bashrc equivalent and make it a default for new users. The split is: anything that came with the OS has no way of knowing of the new perl. Anything I add has to be informed somehow. Just adding to the PATH is a cheap way to get it and convenient. > 3. How are updates handled? > a. OS-Perl and subordinate modules? apt-get update > a. current-Perl and subordinate modules? cpan's upgrade command. Recall, the current-perl cpan is in my path before the OS's cpan. As a user, I don't have permissions to write to /usr anyway. > And the $64,000 question? If your multi-perl strategy is a fix for a > broken Perl environment, what's broken about the Perl environment that > prevents you from having a mono-perl (pun not intended) environemnt? All of this prevents my upgrading a CPAN module from ever breaking my OS or my OS upgrading or *downgrading* a module from breaking my code. The core of perl could be ok to share but its easier to just have multiple installations. When I say `apt-get upgrade' and it modifies a module, its only going to do it to the limits of my OS' package repository. This *may* mean an upgrade or it may also mean a downgrade. Its sure to mean clutter if I also installed the same module using CPAN and outside the package manager. By stepping outside of the package manager, I've just ensured I never have to care about that whole raft of issues. In fact, let me bring up FreeBSD again. A few years ago they removed perl from the default OS. This means users can now install perl and be assured that if they alter anything they won't be breaking their OS. Before, your OS came with a particular perl version and it really wasn't safely upgradeable. You'd be stuck with whatever perl version your OS installed. FreeBSD's /usr/bin/perl was 5.005_03 for ages and you could install something newer into /usr/local/bin/perl. This is all about managing how many people are writing to a particular namespace. If it is /usr/bin/perl then anyone from the management of the OS can write there through updates or whatever. If its some path only known locally, then I know I'm protected against anything my OS does. > Is the fix too academic/theoretical to be practical? (For instance, > if every Perl script and module had some sort of "use only", all > inter-module dependencies could be checked by the computer, but it may > be too onerous a solution for the humans in the loop, or the > intricacies of maintaining multiple module versions.) If you refer to the `use only' pragma, that's far too much work under normal circumstances. Its a useful tool to have but I'd rather not have to use it. > If it's academic/theoretical and practical, is it being investigated > for Perl6? I had heard, for example, that many ISP's wouldn't install > non-core modules. One solution to that was to have Perl ship with > *NO* modules, thus requiring a just-in-time install of *all* modules. > Such an architecture would not allow any modules to be "second class", > and would therefore require that any module could be installed with > the same mechanisms that allowed a micro-perl to bootstrap the > modules-formerly-known-as-core. This is easily solveable with no special magic. Perl has a simple facility to indicate at runtime that some additional libraries should be checked. At work, I use this to get access to useful CPAN modules that don't come with the machine but without installing it globally. I have all my user modules at work installed under ~/.perl/lib. If I want to use them on an adhoc basis I have to add to PERL5LIB. If I've installed scripts that use those modules, I modify them with a `use lib' pragma. This means nothing I'm working on uses my local installations unless I go to a little bit of effort to make it so. That's the right thing for me - perhaps not for you. PERL5LIB=~/.perl/lib perl -MCrazy::Mojo -pe ... #!... use lib "$ENV{HOME}/.perl/lib"; I actually have no idea what the shebang reads - its just whatever was written for me when I installed it using the perl that was in my path. I have a ~/.cpan/CPAN/MyConfig.pm file which tells CPAN.pm where to install everything. It works pretty darn well. I'd like to say that it works to have code like the following in that file but it doesn't. CPAN.pm overwrites this file whenever it writes its configuration out. # What I'd like to have: my $BIN = "$ENV{HOME}/bin"; my $PERL = "$ENV{HOME}/.perl"; my $LIB = "$PERL/lib"; my $MAN1 = "$PERL/man/man1"; my $MAN3 = "$PERL/man/man3"; $CPAN::Config->{makepl_arg} = = join ' ', ( map "$_=$LIB", qw( INSTALLARCHLIB INSTALLPRIVLIB INSTALLSITEARCH INSTALLSITELIB INSTALLVENDORARCH INSTALLVENDORLIB ) ), ( map "$_=$BIN", qw( INSTALLBIN INSTALLSCRIPT INSTALLSITEBIN INSTALLVENDORBIN ) ), ( map "$_=$MAN1", qw( INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR ) ), ( map "$_=$MAN3", qw( INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR ) ); $CPAN::Config->{mbuildpl_arg} = join ' ', ( map "--installpath $_=$LIB", qw( lib arch ) ), ( map "--installpath $_=$BIN", qw( bin ) ), ( map "--installpath $_=$MAN1", qw( bindoc ) ), ( map "--installpath $_=$MAN3", qw( libdoc ) ); The reality is less pretty. I only had to write this once so it doesn't really matter much. $CPAN::Config = { ..., 'makepl_arg' => q[INSTALLARCHLIB=/home/jbenjore/.perl/lib INSTALLPRIVLIB=/home/jbenjore/.perl/lib INSTALLSITEARCH=/home/jbenjore/.perl/lib INSTALLSITELIB=/home/jbenjo\ re/.perl/lib INSTALLVENDORARCH=/home/jbenjore/.perl/lib INSTALLVENDORLIB=/home/jbenjore/.perl/lib INSTALLBIN=/home/jbenjore/bin INSTALLSCRIPT=/home/jbenjore/bin INSTALL\ SITEBIN=/home/jbenjore/bin INSTALLVENDORBIN=/home/jbenjore/bin INSTALLMAN1DIR=/home/jbenjore/.perl/man/man1 INSTALLSITEMAN1DIR=/home/jbenjore/.perl/man/man1 INSTALLVEND\ ORMAN1DIR=/home/jbenjore/.perl/man/man1 INSTALLMAN3DIR=/home/jbenjore/.perl/man/man3 INSTALLSITEMAN3DIR=/home/jbenjore/.perl/man/man3 INSTALLVENDORMAN3DIR=/home/jbenjor\ e/.perl/man/man3], ... 'mbuildpl_arg' => q[--installpath lib=/home/jbenjore/.perl/lib --installpath arch=/home/jbenjore/.perl/lib --installpath bin=/home/jbenjore/bin --installpath bindoc=/\ home/jbenjore/.perl/man/man1 --installpath libdoc=/home/jbenjore/.perl/man/man3], ... }; Josh PS, my fav program to install this way is perlcritic. Tis the woot. From cmeyer at helvella.org Mon Apr 16 11:10:22 2007 From: cmeyer at helvella.org (Colin Meyer) Date: Mon, 16 Apr 2007 11:10:22 -0700 Subject: SPUG: Meeting Announcement -- 17 April, 2007 In-Reply-To: <99EC30D21F5A8A44B1369983D2D9529911197A@netmail.corp.w3data.com> References: <4432BA79E0582B4698D5E3F3E46232AF02CF3329@post.corp.w3data.com> <99EC30D21F5A8A44B1369983D2D9529911197A@netmail.corp.w3data.com> Message-ID: <20070416181022.GI5853@infula.helvella.org> I'll be bringing two books to give away at tomorrow's meeting: Ajax Hacks, Bruce W Perry, O'Reilly mod_perl 2.0 By Example, Stas Bekman There will be a random drawing, with a preference given to any first time SPUGgers. -Colin. On Sat, Apr 14, 2007 at 04:44:26PM -0700, Daina Wilburn wrote: > April 2007 Seattle Perl Users Group (SPUG) Meeting > ==================================================== > > Topic: Using the SQLite Database with Perl > Meeting Date: Tuesday, 17 April 2007 > Meeting Time: 6:30 - 8:30 p.m. > Location: Whitepages.com offices, downtown Seattle > > Cost: Admission is free and open to the public > Info: http://seattleperl.org/ > > ==================================================== From sthoenna at efn.org Tue Apr 17 13:32:25 2007 From: sthoenna at efn.org (Yitzchak Scott-Thoennes) Date: Tue, 17 Apr 2007 13:32:25 -0700 (PDT) Subject: SPUG: OSCON Oregon and Washington user group discounts In-Reply-To: <5B6D8C95-7045-40A7-9DFF-98B9192703FA@oreilly.com> References: <58664.67.42.104.90.1176702798.squirrel@webmail.efn.org> <01257493-005C-4189-98FA-63F55E099D69@oreilly.com> <45220.64.81.167.122.1176763119.squirrel@webmail.efn.org> <5B6D8C95-7045-40A7-9DFF-98B9192703FA@oreilly.com> Message-ID: <55070.64.81.167.122.1176841945.squirrel@webmail.efn.org> ***Registration is now open for OSCON 2007, Portland, OR --July 23-27 Use code "os07pdxug" when you register, and receive 20% off the registration price. To register for the conference, go to: From MichaelRWolf at att.net Mon Apr 23 11:21:44 2007 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Mon, 23 Apr 2007 11:21:44 -0700 Subject: SPUG: New book: "The Complete April Fools RFCs" Message-ID: <00df01c785d4$46ea2720$0500a8c0@mlaptop> Tom Limoncelli is a personal friend of mine. After a few years of knowing him socially/politically, I learned that he was also an alpha geek and an author. Tom just published his 3rd book. It's playfully technical. (All mammals learn by playing...) His other two books (see below) are deeply technical. To quote the email Tom sent me: > "The Complete April Fools RFCs" by Thomas A. Limoncelli and Peter J. Salus > http://www.rfc-humor.com > > This is a compilation of the best April Fools jokes created by the > IETF, the group that creates the standards for how the Internet works. > It's pretty technical but fun to read for anyone that is in software > development, system administration, or any kind of computer geek. A > good, cheap, gift for the geek that has everything and is impossible > to shop for. > > It is now available on Amazon: > http://www.amazon.com/dp/1573980420?tag=tomontime-20 I remember my first April Fool's geek joke, a spec sheet for a write-only memory whose applications included first-in never-out (FINO) buffers, and overflow registers (bit buckets) http://www.national.com/rap/files/datasheet.pdf Tom's other two books are deeply technical, and have achieved a high buzz level in certain circles - "The Practice of System and Network Administration", Addison-Wesley - "Time Management for System Administrators", O'Reilly wolverine cover Josh McAdams interviewed Tom on a Perl Podcast about his time management book. http://perlcast.com/2006/02/09/interview-with-tom-limoncelli/ Check out Tom's new book. It sounds great for the office coffee table (or espresso bar, here in Seattle), or as a gift for that special geek in your life. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From andrew at sweger.net Thu Apr 26 17:38:28 2007 From: andrew at sweger.net (Andrew Sweger) Date: Thu, 26 Apr 2007 17:38:28 -0700 (PDT) Subject: SPUG: White Camel awards nominations Message-ID: Nominations are now open for the White Camel awards, given for community-oriented contributions to Perl (previous winners can be found at http://www.perl.org/advocacy/white_camel/). Nominations are open to the public. You may submit them to whitecamel-suggestions at perl.org until the end of May 31st. From andrew at sweger.net Sat Apr 28 09:47:23 2007 From: andrew at sweger.net (Andrew Sweger) Date: Sat, 28 Apr 2007 09:47:23 -0700 (PDT) Subject: SPUG: Ingy coming to Seattle Message-ID: Not sure how many folks knew, but our very own Ingy dot Net (*) was in a nasty vehicle accident not too long ago in Taiwan. With a new lease on life and an impressive cybernetic drink holder implant in his left arm[1], he's been released from the hospital (a few days ago). He says, "Seattle people, I miss you so much. My return date is now May 8th. We have unfinished business y'all..." * Sorry, I can't figure out how to get my ancient mailer to insert an 'o' with diaeresis. [1] - http://blog.ingy.net/uploaded_images/DSCF0631-796085.JPG -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once.