From MichaelRunningWolf at att.net Wed Dec 4 01:48:18 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SOHO XP -- past status and future proposal Message-ID: The first meeting of the SOHO XP discussion group went very well. We had good Indian food, then retired to my SOHO (Small Office, Home Office -- it's both) to hammer out a metaphor for an algorithm as a pair-wise exercise on a whiteboard. We were ready to cut to some prototype code when a USPS COB (close-of-business) deadline rearranged our priorities. I'm claiming success: I had fun, learned something, and got to know a fellow SPUGer better. And I'm making a new proposal. Dominus (a.k.a. MJD) has been running a Perl Quiz of the Week for about 2 months. I've enjoyed participating, and would encourage others to do so. In fact, I'm going to suggest that we make a SPUG SOHO XP event of it. TMTOWTQI - There's more than one way to QOTW it. :-} I see this as a complementary event to the monthly SPUG meetings. Big possible upside gain: - We get to play with each other. - We get to learn from each other. - We get to work with a different kind of problem. Little possible downside loss: - Small time investment. - The code is disposable. - Nobody's depending on the code. - We're not making long-term commitments to our partners. The International Olympic Committee is adding new sports; perhaps OSCON could add a new event for those of us who are too handicapped (for some definition of handicapped) to play Perl Golf, though I don't quite like the ring of "Perl Special Olympics". Perhaps "Perl New Games", an allusion to a form of non-competetive games. Check out http://perl.plover.com/qotw/ for more information. Tim seems to have found that food-Perl-drink is a good sequence, so I'm gonna follow the basic recipe by sandwiching Perl in between major eating breaks. (These don't have to be pricey, just ice-breakers, if you will.) If you're interested, reply to the list with a preference. I'll coordinate the groupings. %preference = ( Friday_afternoon => [lunch, QOTW, happy_hour], Friday_evening => [happy_hour, QOTW, dinner], Saturday_morning => [breakfast, QOTW, coffee] ); And if you really are interested in working on this together, I'd suggest that you don't do any *work* (though casual reading and thinking's probably OK) on this weeks' quiz (coming out Wednesday) until we get together. It's not a race, so starting early actually disrupts a balanced pairing. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Wed Dec 4 02:46:22 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SOHO XP -- past status and future proposal In-Reply-To: References: Message-ID: <20021204004622.A27282@timji.consultix-inc.com> On Tue, Dec 03, 2002 at 11:48:18PM -0800, Michael R. Wolf wrote: > Tim seems to have found that food-Perl-drink is a good sequence, so > I'm gonna follow the basic recipe by sandwiching Perl in between major > eating breaks. (These don't have to be pricey, just ice-breakers, if > you will.) If you're interested, reply to the list with a preference. > I'll coordinate the groupings. > > %preference = ( > Friday_afternoon => [lunch, QOTW, happy_hour], > Friday_evening => [happy_hour, QOTW, dinner], > Saturday_morning => [breakfast, QOTW, coffee] > ); Cool idea! I'd like to participate, but I won't be available this week (that's the first meeting, right?) For future weeks, I'd prefer Friday lunch, but I could possibly show up at any of those times, if my schedule permits. -Tim (the food-Perl-drink guy!) ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jaygray at scn.org Wed Dec 4 18:04:36 2002 From: jaygray at scn.org (Jay Gray) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SOHO XP -- past status and future proposal In-Reply-To: <20021204004622.A27282@timji.consultix-inc.com> Message-ID: Saturday morning would be best for me. I believe there is not a quiz this week. The solution for the rounding-numbers quiz referred to a 'frost simulator', and I looked at the 'frost' expert quiz (http://perl.plover.com/qotw/e/007) and it is interesting and doable, if you can visualize the problem (no pun intended). After that, the solution is not hard (though a really good solution will be much more elegant than a brute-force approach). A good project for a couple hour's entertainment, I'd think. What about 9 AM, 10 AM, noon Dec 7th for breakfast, Perl, coffee? Cheers! Jay Gray (206) 669-9691 On Wed, 4 Dec 2002, SPUG-list-owner wrote: > On Tue, Dec 03, 2002 at 11:48:18PM -0800, Michael R. Wolf wrote: > > Tim seems to have found that food-Perl-drink is a good sequence, so > > I'm gonna follow the basic recipe by sandwiching Perl in between major > > eating breaks. (These don't have to be pricey, just ice-breakers, if > > you will.) If you're interested, reply to the list with a preference. > > I'll coordinate the groupings. > > > > %preference = ( > > Friday_afternoon => [lunch, QOTW, happy_hour], > > Friday_evening => [happy_hour, QOTW, dinner], > > Saturday_morning => [breakfast, QOTW, coffee] > > ); > > Cool idea! > > I'd like to participate, but I won't be available this week > (that's the first meeting, right?) > > For future weeks, I'd prefer Friday lunch, > but I could possibly show up at any of those times, > if my schedule permits. > > -Tim (the food-Perl-drink guy!) > > ====================================================== > | Tim Maher, Ph.D. tim@timmaher.org | > | JAWCAR ("Just Another White Camel Award Recipient" | > | SPUG Founder & Leader spug@seattleperl.org | > | Seattle Perl Users Group www.seattleperl.org | > ====================================================== > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From lists at dansanderson.com Wed Dec 4 20:11:38 2002 From: lists at dansanderson.com (Dan Sanderson) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SOHO XP -- past status and future proposal In-Reply-To: Message-ID: FWIW, the frost simulator was indeed a fun couple of hours, and the ways in which my lousy little solution was less than ideal, compared to other posted solutions, were instructive and interesting (to me :). It was fun to do by myself, but I can imagine it being a good pair experience. Others obviously had fun generating pretty graphical output, too. Satisfying for a snowless Seattle... -- Dan On Wed, 4 Dec 2002, Jay Gray wrote: > Saturday morning would be best for me. > > I believe there is not a quiz this week. The solution for the > rounding-numbers quiz referred to a 'frost simulator', and I looked > at the 'frost' expert quiz (http://perl.plover.com/qotw/e/007) and > it is interesting and doable, if you can visualize the problem > (no pun intended). > > After that, the solution is not hard (though a really good solution > will be much more elegant than a brute-force approach). A good > project for a couple hour's entertainment, I'd think. > > What about 9 AM, 10 AM, noon Dec 7th for breakfast, Perl, coffee? > > Cheers! > Jay Gray > (206) 669-9691 > > > On Wed, 4 Dec 2002, SPUG-list-owner wrote: > > > On Tue, Dec 03, 2002 at 11:48:18PM -0800, Michael R. Wolf wrote: > > > Tim seems to have found that food-Perl-drink is a good sequence, so > > > I'm gonna follow the basic recipe by sandwiching Perl in between major > > > eating breaks. (These don't have to be pricey, just ice-breakers, if > > > you will.) If you're interested, reply to the list with a preference. > > > I'll coordinate the groupings. > > > > > > %preference = ( > > > Friday_afternoon => [lunch, QOTW, happy_hour], > > > Friday_evening => [happy_hour, QOTW, dinner], > > > Saturday_morning => [breakfast, QOTW, coffee] > > > ); > > > > Cool idea! > > > > I'd like to participate, but I won't be available this week > > (that's the first meeting, right?) > > > > For future weeks, I'd prefer Friday lunch, > > but I could possibly show up at any of those times, > > if my schedule permits. > > > > -Tim (the food-Perl-drink guy!) > > > > ====================================================== > > | Tim Maher, Ph.D. tim@timmaher.org | > > | JAWCAR ("Just Another White Camel Award Recipient" | > > | SPUG Founder & Leader spug@seattleperl.org | > > | Seattle Perl Users Group www.seattleperl.org | > > ====================================================== > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 6 03:48:40 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SOHO XP QOTQ this Saturday evening Message-ID: I'll hold the Perl QOTW pair-wise get-together this Saturday. I know there isn't a QOTW this week, so we'll have to do some "QOTW Classics" from weeks gone by (there have only been 7 so far). I feel like a suregoin, except I'm doing it in the wrong order: - do one - observe one - assist in one Let me know if you join in on Saturday, December 7 at 5ish. Once I get a count, I'll pick a food-Perl-drink venue. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pate at eylerfamily.org Fri Dec 6 11:13:10 2002 From: pate at eylerfamily.org (Pat Eyler) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SOHO XP alternative In-Reply-To: Message-ID: I really like the idea of informal SOHO XP get-togethers as they've been tossed about here on the spug list, but I'm not in a position to make the evening session that have come up thus far. Instead of whining about it, I thought I'd toss out an alternative. I take the Sounder[1] in and out Seattle every day. I'd love to pair up with someone to work on random Perl and/or Ruby stuff during this time. I get on the train in Kent, so we're looking at a ~30 min stretch twice a day ... not a lot, but enough of a window to make several small steps at a time. If anyone is interested in this, please let me know and we can coordinate schedules. -pate [1] The sounder provides decent seating and power ... we might even draw some interested observers (and a chance to talk about Perl, Ruby, and/or XP). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Fri Dec 6 17:55:36 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: Joe's Message Message-ID: <20021206155536.A5049@timji.consultix-inc.com> People! Please try to remember your [s]ubscribed-to address, and post only from that one. Joe doesn't know his, and I haven't been able to figure it out for him. He might want to [s]ubscribe again under the address he's posting from. I've attached his message. -Tim ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== ----- Forwarded message from owner-spug-list@pm.org ----- From: owner-spug-list@pm.org Date: Fri, 6 Dec 2002 15:31:03 -0600 X-Authentication-Warning: mail.pm.org: majordomo set sender to owner-spug-list@pm.org using -f To: spug-list-approval@pm.org Subject: BOUNCE spug-list@pm.org: Non-member submission from [Joe Devlin ] X-UIDL: alb"!4\6!!_^4!!@BQ!! X-Spam-Status: No, hits=1.7 required=4.5 tests=NO_REAL_NAME,SPAM_PHRASE_00_01,SUBJECT_IS_LIST, X_AUTH_WARNING version=2.43 X-Spam-Level: * >From tim@consultix-inc.com Fri Dec 6 15:31:00 2002 Received: from cache.zipcon.net (cache.zipcon.net [209.221.136.11]) by mail.pm.org (8.11.6/8.11.6) with SMTP id gB6LUx727270 for ; Fri, 6 Dec 2002 15:30:59 -0600 Received: (qmail 12127 invoked by uid 99); 6 Dec 2002 21:32:11 -0000 Date: 6 Dec 2002 13:32:11 -0800 To: spug-list@pm.org, UNEXPECTED_DATA_AFTER_ADDRESS@.SYNTAX-ERROR Subject: Datimenu.pm peer review of the namespace Message-ID: <1039210331.3df1175bf0259@secure.zipcon.net> Date: Fri, 06 Dec 2002 13:32:11 -0800 (PST) From: Joe Devlin MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: IMP/PHP IMAP webmail program 2.2.8 I am asking for peer review of the namespace and function compared to what might already be available. In response to Brian Ingersons discussion of releasing modules I dusted off the documentation for a module that I use for creating date and time pop up select menus in html pages. Find the module and documentation here http://www.stadiumdistrict.com/DTC/Tutorials/Datimenu/slide1.html To find out more about being a module contributor I started by reading: http://www.cpan.org/modules/04pause.html which suggests talking to other people and searching the long module list before registering the namespace. It also recommends not duplicating the work of other people or adding the code functionality to a module that already exits. I know that when we wrote this module it was because I could not find a module on CPAN to fit my needs. I need to reconfirm that it is unique. Before releasing this module to CPAN I am sure it will need some improvements. Again, I am asking for peer review of the namespace and function compared to what might already be available. Sincerely, Joe Devlin Devlin Technical Consutling ----- End forwarded message ----- -- -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | CLASSES: Hashes and Arrays in Perl: 12/5; Minimal Perl Programming: 12/6 | *----------------------------------------------------------------------------* ----- End forwarded message ----- -- -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | CLASSES: Hashes and Arrays in Perl: 12/5; Minimal Perl Programming: 12/6 | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Sat Dec 7 14:55:56 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SPUG XP QOTW Message-ID: Details on this week's (tonight) SPUG eXtreme Programming Quiz Of The Week food-perl-drink schedule are below. Kickoff during dinner at 6:00. Details follow. Please RSVP by phone or email so that I can reserve the correct size table. Right now I've heard from about 3 folks. What to bring: computing materials (laptop, cables, PC cards) thinking materials (paper, markers, reference books, CD's) entertainment (music, juggling balls, hula hoops) What I'll have: printed copies of all regular and expert quizes Unanswered questions: Is wireless internet necessary? If so, we can go to Starbucks. If not, we can use my wired DSL at my apartment. Where to go after we've conquered the quiz? Ballard's got lots of opportunities, from sittin on the dock of the (Salmon) Bay to coffee, beer, and music spots. We'll decide that when it's time. If you have any other questions, please call me (land: 206/782-8377 or cell: 732/809-3613). I'll have the cell phone with me if you get lost, or want to join us late. %spug_xp_qotw = { food => [$china_star_buffet, "December 7, 2002 6:00 p.m."], Perl => internet_required(@participants) ? $starbuck_s : $michael_s, drink => undef }; $china_star_buffet = < Message-ID: <005d01c29ee3$10736d00$2588ddd1@aciwin> Joe, there's also a book Writing Perl Modules for CPAN http://www.apress.com/book/bookDisplay.html?bID=14 Richard Anderson richard@richard-anderson.org www.richard-anderson.org inm4taw ----- Original Message ----- From: "SPUG-list-owner" To: Sent: Friday, December 06, 2002 3:55 PM Subject: SPUG: Joe's Message > People! > > Please try to remember your [s]ubscribed-to address, and post only > from that one. > > Joe doesn't know his, and I haven't been able to figure it out for him. > He might want to [s]ubscribe again under the address he's posting from. > > I've attached his message. > > -Tim > ====================================================== > | Tim Maher, Ph.D. tim@timmaher.org | > | JAWCAR ("Just Another White Camel Award Recipient" | > | SPUG Founder & Leader spug@seattleperl.org | > | Seattle Perl Users Group www.seattleperl.org | > ====================================================== > ----- Forwarded message from owner-spug-list@pm.org ----- > > From: owner-spug-list@pm.org > Date: Fri, 6 Dec 2002 15:31:03 -0600 > X-Authentication-Warning: mail.pm.org: majordomo set sender to owner-spug-list@pm.org using -f > To: spug-list-approval@pm.org > Subject: BOUNCE spug-list@pm.org: Non-member submission from [Joe Devlin ] > X-UIDL: alb"!4\6!!_^4!!@BQ!! > X-Spam-Status: No, hits=1.7 required=4.5 > tests=NO_REAL_NAME,SPAM_PHRASE_00_01,SUBJECT_IS_LIST, > X_AUTH_WARNING > version=2.43 > X-Spam-Level: * > > >From tim@consultix-inc.com Fri Dec 6 15:31:00 2002 > Received: from cache.zipcon.net (cache.zipcon.net [209.221.136.11]) > by mail.pm.org (8.11.6/8.11.6) with SMTP id gB6LUx727270 > for ; Fri, 6 Dec 2002 15:30:59 -0600 > Received: (qmail 12127 invoked by uid 99); 6 Dec 2002 21:32:11 -0000 > Date: 6 Dec 2002 13:32:11 -0800 > To: spug-list@pm.org, UNEXPECTED_DATA_AFTER_ADDRESS@.SYNTAX-ERROR > Subject: Datimenu.pm peer review of the namespace > Message-ID: <1039210331.3df1175bf0259@secure.zipcon.net> > Date: Fri, 06 Dec 2002 13:32:11 -0800 (PST) > From: Joe Devlin > MIME-Version: 1.0 > Content-Type: text/plain; charset=ISO-8859-1 > Content-Transfer-Encoding: 8bit > User-Agent: IMP/PHP IMAP webmail program 2.2.8 > > I am asking for peer review of the namespace and function > compared to what might already be available. > > In response to Brian Ingersons discussion of releasing modules > I dusted off the documentation for a module that I use for > creating date and time pop up select menus in html pages. > > Find the module and documentation here > http://www.stadiumdistrict.com/DTC/Tutorials/Datimenu/slide1.html > > To find out more about being a module contributor I started by > reading: http://www.cpan.org/modules/04pause.html which suggests > talking to other people and searching the long module list before > registering the namespace. It also recommends not duplicating the > work of other people or adding the code functionality to a module > that already exits. > > I know that when we wrote this module it was because I could not find > a module on CPAN to fit my needs. I need to reconfirm that it > is unique. > > Before releasing this module to CPAN I am sure it will need some > improvements. > > Again, I am asking for peer review of the namespace and function > compared to what might already be available. > > > Sincerely, > Joe Devlin > Devlin Technical Consutling > > ----- End forwarded message ----- > > -- > -Tim > *--------------------------------------------------------------------------- -* > | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | > | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | > | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | > | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | > | CLASSES: Hashes and Arrays in Perl: 12/5; Minimal Perl Programming: 12/6 | > *--------------------------------------------------------------------------- -* > > ----- End forwarded message ----- > > -- > -Tim > *--------------------------------------------------------------------------- -* > | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | > | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | > | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | > | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | > | CLASSES: Hashes and Arrays in Perl: 12/5; Minimal Perl Programming: 12/6 | > *--------------------------------------------------------------------------- -* > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From sthoenna at efn.org Sun Dec 8 17:49:23 2002 From: sthoenna at efn.org (Allen Scott-Thoennes) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: Re: Datimenu.pm peer review of the namespace In-Reply-To: <005d01c29ee3$10736d00$2588ddd1@aciwin> Message-ID: > > I am asking for peer review of the namespace and function > > compared to what might already be available. > > > > In response to Brian Ingersons discussion of releasing modules > > I dusted off the documentation for a module that I use for > > creating date and time pop up select menus in html pages. > > > > Find the module and documentation here > > http://www.stadiumdistrict.com/DTC/Tutorials/Datimenu/slide1.html > > > > To find out more about being a module contributor I started by > > reading: http://www.cpan.org/modules/04pause.html which suggests > > talking to other people and searching the long module list before > > registering the namespace. It also recommends not duplicating the > > work of other people or adding the code functionality to a module > > that already exits. > > > > I know that when we wrote this module it was because I could not find > > a module on CPAN to fit my needs. I need to reconfirm that it > > is unique. > > > > Before releasing this module to CPAN I am sure it will need some > > improvements. > > > > Again, I am asking for peer review of the namespace and function > > compared to what might already be available. I seem to recall seeing something like this before, but can't remember where... I'd run it past the datetime@perl.org list, which reaches the authors of many of the date/time modules. WRT namespace, I don't think this belongs in the top level. Perhaps Date::Menu::Html or some permutation thereof? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Tue Dec 10 16:39:39 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology Message-ID: The array(bio) group meeting is *tonight* at 7:00. See full details at http://www.arraybio.org/about/arraybio_meeting.htm I've cut/pasted the details here. December 10, 2002 7:00 p.m. - 9:00 p.m. Lake Washington Rowing Club 910 N. Northlake Way Seattle, WA 98103 "XML: The Future Language of Biology" Matthew T Zeigler, IBM Life Sciences XML (Extensible Markup Language) is the universal format for structured documents and data on the web. Several leading organizations such as European Bioinformatics Institute, LION Biosciences (NetGenics), Rosetta Biosoftware have proposed new standards for defining biological information for use with XML. Matt will help us understand the current status these standards and discuss future biological applications based on XML. About Matt Matthew Ziegler, B.A, M.S., University of Colorado, Boulder in Molecular, Cellular and Developmental Biology Focus is in Human Genetics (Family Based and Association Studies), Plant Genetics (Arabidopsis, Tobacco and Corn), Cell Biology, Confocal Microscopy, Molecular Biology (Sequencing, Cloning), Positional Cloning, Alternative Fuels resulting from Biomass conversion, Relational databases and scientific schema development, Perl, shell scripting, UNIX, Linux System Administration, Software used: GeneHunter, CriMap, SAGE/SIBPAL, PedCheck, Mega2, BLAST, FASTA, MZEF, msa, clustalW, SimWalk, DISEQ. array(bio) is grateful for the support of the following organizations: IBM Info.Resource, Inc. Washington Biotechnology and Biomedical Association Washington Software Alliance Please note that there is no charge to attend array(bio) meetings. For more information, please contact: Rob Arnold 3rd Mountain Phone: 425.369.0107 E-mail: roba@3rdmountain.com Copyright 1996-2002 Info.Resource, Inc., Seattle, WA, USA. 800.709.8907. All rights reserved. Privacy Policy . Advisory Board . Terms of Use . Advertising arraybio.org is part of a national network of biotechnology and life science related "trade association" based web sites published by Info.Resource in support of the life science industry, patient associations and life science education in the state of Washington. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at acm.org Tue Dec 10 17:02:40 2002 From: asimjalis at acm.org (Asim Jalis) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: References: Message-ID: <20021210230240.GA5260@wokkil.pair.com> On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael R. Wolf wrote: > "XML: The Future Language of Biology" Matthew T Zeigler, IBM > Life Sciences If XML was so great our genetic code would be written in it. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Tue Dec 10 17:20:42 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: Seattle-SAGE meeting announcement -- Practical XML (or Using Buzzwords To Improve Productivity) Message-ID: Seems like this is the week for XML..... The Seattle SAGE (The System Administrators Guild) is *also* talking about XML. Find full details at http://www.seattle-sage.org/. I've pasted a copy of my email announcement below. Michael Wolf =============================================================== System Administrators The next Seattle SAGE meeting is Thursday, December 12th, 2002 at 7pm. The UW Rosen/McWilliam Building facility is a secured building. So a SAGE member will be at the Republican Street entrance until 7:15 P.M. to open the door for meeting attendees. After that a phone number will be posted on the door for the SAGE meeting specifically. There is an "internal extensions only phone" at the Republican Street entrance to allow you to call building extensions. The posted phone number will be monitored until at least 7:45 P.M. However, please make every effort to arrive by 7 P.M. Directions can be found at: http://www.seattle-sage.org/directions.html --- Next meeting: Thursday December 12th, 2002 at 7:00 PM Topic: "Practical XML (or Using Buzzwords To Improve Productivity)" Presenter: Jeremy Mates Location: Rosen (McWilliam) Building 960 Republican St, Seattle, WA 98109 (Corner of Terry & Republican) 2nd floor LOUNGE Directions: http://www.seattle-sage.org/directions.html Web Site: http://www.seattle-sage.org/ --- Talk Abstract: Overview of and practical uses for XML. Various XML standards and tools are covered, including XSLT, a language for transforming XML. Two real-world uses of XML are suveyed: as content for a website and for giving presentations. --- Short Bio: Jeremy Mates is a systems administrator for the department of Genome Sciences at the University of Washington. Primary responsibilities include developing and supporting the network, Mac OS, mail, printing, unix, and web services in the department. --- This is FREE and open to the public and a wonderful opportunity. The Seattle SAGE Group (SSG) is a local group for systems & network administrators in the Seattle and Pacific northwest areas (North Western Washington). We are a local chapter of SAGE, but SAGE / USENIX membership is not a requirement. We sponsor a regular monthly meeting open to the public on the second Thursday if each month at 7 p.m. Check out our Web site for more information: http://www.seattle-sage.org/ -- Scott McDermott Executive Vice President Hero Network LLC http://www.heronetwork.com/ -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From m3047 at inwa.net Tue Dec 10 20:42:09 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SGML the past language of.. Was: XML: The Future Language of Biology Message-ID: SGML has been the standard language for retroactively describing large bodies of government data which I am not inclined to call out for ohhh... a decade or so? Not surprising, really, that what with this current state of paranoiac creep that this country is in, and the CDC, and Poindexter, and whatnot, that commercial companies won't be cashing in on XML without really telling it like it is. None of this invalidates the reality of XML, or that generally speaking having a standard format for describing data is a Good Thing, really, but you ought to know about its origins.. or at least know enough to ask. The bureaucracy which usually goes along with it is a large part of the process. Indeed, accurately characterizing and specifying metadata is the issue. Just saying everybody should go along is... well... Why is it that the cart before the horse doesn't work? Ducks fly fine, seems to me. IG. FWIW. -- Fred Morris m3047@inwa.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Wed Dec 11 00:14:22 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: <20021210230240.GA5260@wokkil.pair.com> References: <20021210230240.GA5260@wokkil.pair.com> Message-ID: <20021210221422.B19564@timji.consultix-inc.com> On Tue, Dec 10, 2002 at 06:02:40PM -0500, Asim Jalis wrote: > On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael R. Wolf wrote: > > "XML: The Future Language of Biology" Matthew T Zeigler, IBM > > Life Sciences > > If XML was so great our genetic code would be written in it. Excellent retort! I second that emotion. -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From me at donshanks.com Wed Dec 11 13:40:15 2002 From: me at donshanks.com (Don Shanks) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: <20021210230240.GA5260@wokkil.pair.com> Message-ID: <001501c2a14d$21a10670$9f01010a@telgar> Are you sure that it's not? -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf Of Asim Jalis Sent: Tuesday, 10 December, 2002 15:03 To: Michael R. Wolf Cc: spug-list@pm.org Subject: Re: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael R. Wolf wrote: > "XML: The Future Language of Biology" Matthew T Zeigler, IBM Life > Sciences If XML was so great our genetic code would be written in it. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From me at donshanks.com Wed Dec 11 13:46:55 2002 From: me at donshanks.com (Don Shanks) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: <20021210230240.GA5260@wokkil.pair.com> Message-ID: <001601c2a14e$123c54e0$9f01010a@telgar> See http://www.dna.ac.uk/xml/dna_xml.html -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf Of Asim Jalis Sent: Tuesday, 10 December, 2002 15:03 To: Michael R. Wolf Cc: spug-list@pm.org Subject: Re: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael R. Wolf wrote: > "XML: The Future Language of Biology" Matthew T Zeigler, IBM Life > Sciences If XML was so great our genetic code would be written in it. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From ingy at ttul.org Wed Dec 11 14:19:53 2002 From: ingy at ttul.org (Brian Ingerson) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: <001501c2a14d$21a10670$9f01010a@telgar>; from me@donshanks.com on Wed, Dec 11, 2002 at 11:40:15AM -0800 References: <20021210230240.GA5260@wokkil.pair.com> <001501c2a14d$21a10670$9f01010a@telgar> Message-ID: <20021211121953.A25613@ttul.org> On 11/12/02 11:40 -0800, Don Shanks wrote: > Are you sure that it's not? I am quite sure, as the pointy brackets would invariably be too destructive on the cellular structure. God actually prefers YAML for this purpose. Whitespace scoping is much more conducive to biological processes. In layman's terms, "It's softer". Cheers, Brian > > -----Original Message----- > From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf > Of Asim Jalis > Sent: Tuesday, 10 December, 2002 15:03 > To: Michael R. Wolf > Cc: spug-list@pm.org > Subject: Re: SPUG: array(bio) meeting announcement -- XML: The Future > Language of Biology > > > On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael R. Wolf wrote: > > "XML: The Future Language of Biology" Matthew T Zeigler, IBM Life > > Sciences > > If XML was so great our genetic code would be written in it. > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at acm.org Wed Dec 11 14:29:26 2002 From: asimjalis at acm.org (Asim Jalis) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: <001501c2a14d$21a10670$9f01010a@telgar> References: <20021210230240.GA5260@wokkil.pair.com> <001501c2a14d$21a10670$9f01010a@telgar> Message-ID: <20021211202926.GC80186@wokkil.pair.com> If I wanted to write some quick and dirty throwaway code that was going to be write-only and write-once I'd probably use Perl. So parsing my hair follicles last night it came as no surprise to me to notice: "#!/usr/local/bin/perl". Asim On Wed, Dec 11, 2002 at 11:40:15AM -0800, Don Shanks wrote: > Are you sure that it's not? > > -----Original Message----- > From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org] On Behalf > Of Asim Jalis > Sent: Tuesday, 10 December, 2002 15:03 > To: Michael R. Wolf > Cc: spug-list@pm.org > Subject: Re: SPUG: array(bio) meeting announcement -- XML: The Future > Language of Biology > > > On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael R. Wolf wrote: > > "XML: The Future Language of Biology" Matthew T Zeigler, IBM Life > > Sciences > > If XML was so great our genetic code would be written in it. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From kalistibot at yahoo.com Fri Dec 13 16:25:06 2002 From: kalistibot at yahoo.com (Aaron Paul) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: array(bio) meeting announcement -- XML: The Future Language of Biology In-Reply-To: <20021211202926.GC80186@wokkil.pair.com> Message-ID: <20021213222506.56278.qmail@web20906.mail.yahoo.com> I'm not sure this is off topic, but I couldn't resist pointing out that you may indeed use perl to calculate the answers and perform your works, but as a way to store or transmit data, as in the data in your hair follicle, well, we saw xml and we said that it was good. The great thing is that you wouldn't have to write an entirely different suite of programs for each type of cell or organism. You'd see in the metadata that this is type tissue n of organism y and call a ready made function without having to write different code to parse each type of data. I guess dna does this without metadata, but instead substituting very tedious mathematic complications. --- Asim Jalis wrote: > If I wanted to write some quick and dirty throwaway > code that was > going to be write-only and write-once I'd probably > use Perl. So > parsing my hair follicles last night it came as no > surprise to me > to notice: "#!/usr/local/bin/perl". > > Asim > > On Wed, Dec 11, 2002 at 11:40:15AM -0800, Don Shanks > wrote: > > Are you sure that it's not? > > > > -----Original Message----- > > From: owner-spug-list@pm.org > [mailto:owner-spug-list@pm.org] On Behalf > > Of Asim Jalis > > Sent: Tuesday, 10 December, 2002 15:03 > > To: Michael R. Wolf > > Cc: spug-list@pm.org > > Subject: Re: SPUG: array(bio) meeting announcement > -- XML: The Future > > Language of Biology > > > > > > On Tue, Dec 10, 2002 at 02:39:39PM -0800, Michael > R. Wolf wrote: > > > "XML: The Future Language of Biology" Matthew T > Zeigler, IBM Life > > > Sciences > > > > If XML was so great our genetic code would be > written in it. > > - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: > owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: > ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL > by your Email-address > For daily traffic, use spug-list for LIST ; for > weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: > http://seattleperl.org > __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 13 13:47:04 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: SGML the past language of.. In-Reply-To: References: Message-ID: m3047@inwa.net (Fred Morris) writes: > SGML has been [...] > commercial companies won't be cashing in on XML without really > telling it like it is. What do you mean "really telling it like it is"? How is it? > None of this invalidates [...] > but you ought to know about its origins.. or at least know enough to > ask. OK, I'll bite. How is it? What are its origins? I don't see the dark side you appear to be pointing to. > The bureaucracy which usually goes along with it is a large part of > the process. Agreed. You mention the down side, Bureaucracy. I'll hilight the flip side. Perl is as interesting to me for the culture as it is for the technology. To quote Larry's wife (sorry, I forgot her name) when I asked her about language and culture (specifically Perl), she replied (as a linguist, and right-hand partner of Larry, and therefore, very much, a pillar in the design of Perl6) "you can't separate language from culture". > Why is it that the cart before the horse doesn't work? Ducks fly > fine, seems to me. Is this some "center of force vs. center of resistance" analogy, or have I missed the Flying Walinda duck-horse cart act? -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Fri Dec 13 18:01:12 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: 12/17: "High-Tech Nomad" Steve Roberts Message-ID: <20021213160112.A7840@timji.consultix-inc.com> SPUGsters, Here's the announcement for our pre-Christmas meeting, next Tuesday. Given that this will be a talk of general high-tech interest and not one specific to Perl, please feel free to re-post to other possibly interested groups. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== December 2002 Seattle Perl Users Group Meeting ----------------------------------------------------- Speaker: Steve Roberts, Nomadic Research Labs wordy@microship.com Time: Tuesday, December 19, 2002 7-9pm Location: SAFECO bldg, Brooklyn St. and NE 45th St. Cost: Admission is free and open to the general public. Info: http://seattleperl.org/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Steve Roberts is a hacker, inventor, author, nomad, and popular public speaker, who invented the engineering discipline he calls "technomadics". You may have seen him on TV, read about him in the press, or seen photos of his custom high-tech bicycles and ships. His first headline-grabbing project was his recumbent bicycle "Winnebiko," on which he spent 3.5 years covering 17,000 miles around America. A later 580-pound model with a 105 speed transmission and an on-board network that included an early SPARC was called BEHEMOTH (for Big Electronic Human-Energized Machine... Only Too Heavy). He then turned to shipbuilding, and has spent the past decade developing a pair of amphibian pedal/solar/sail micro-trimarans with extensive on-board embedded systems and communications capability. These "Microships" will be the basis of his next adventure, a 15,000-mile circumnavigation of the Eastern USA along with a whole flotilla of nomadlings (forming an ad hoc floating network of wireless boatlets). Needless to say, all the equipment involved in these projects costs a lot of money, so Steve had to assemble a network of over 100 corporate donors for funding (which is a major accomplishment in itself)! In this talk, Steve will tell us about his latest inventions, and how Open Source software, including Perl, is used in them. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Contact Info: Steven K. Roberts, N4RVE Nomadic Research Labs Microship Website: http://www.microship.com Current location: Camano Island, WA The Microship live page carries a new photo and short text update almost every day: http://www.microship.com/latestnews/live.html * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Pre- and Post- Meeting Activities --------------------------------- The pre-meeting dinner will be at the Cedars restaurant, at 50th St. and Brooklyn, in the University District, near the Safeco building where the meeting will take place. The phone number is 527-5247. If you're planning to be there, please post a message to the list with your expected arrival time (5:30-5:45pm is recommended). As usual, those seeking liquid input before (and/or after) the meeting are invited to congregate at the nearby Finn MacCool's tavern, at 4217 University Ave. North, (206) 675-0885. (But if somebody has a *specific recommendation* for an alternative location that's more conducive to conversation, please let me know, and we'll consider trying it out.) See the web-site for more details. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Fri Dec 13 19:39:32 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:18 2004 Subject: SPUG: 12/17 Talk: Ned Joining Steve Message-ID: <20021213173932.B8266@timji.consultix-inc.com> News Flash: Steve Roberts will be joined in Tuesday's presentation by Ned Konz, lead software guru on the Microship project. Ned is the author of three CPAN modules, is part of the core Squeak community, and has extensive experience with embedded systems. He is working on the ad hoc network design for the Microship project as well as a variety of other projects, and will be there to provide a technically chewy counterpoint to Steve's hand-waving exuberance and bizarre road anecdotes. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From m3047 at inwa.net Fri Dec 13 21:33:05 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: SGML the past language of.. Message-ID: Michael Wolf writes: >m3047@inwa.net (Fred Morris) writes: > >> SGML has been >[...] >> commercial companies won't be cashing in on XML without really >> telling it like it is. > >What do you mean "really telling it like it is"? How is it? How it is, is that XML is an offshoot of SGML. SGML has been utilized for some time now in mechanical systems design and documentation. Additionally, there are large government-sponsored research and development activities, and in some cases deployments, which have gone on in parallel but overlapped; working groups have gotten together to define basically XML, the common metadata, to describe and integrate these domains of knowledge. It's a management issue. There's a records management issue which plays large in this, too. Some of this information is very sensitive. Some of it some people would like to see destroyed; other people would like to see it preserved; often, the motivations are entirely disjoint. In any case, most of this is happening out of the public eye. But a great deal of work has been done on it, at public expense. What I mean by "cashing in" is largely monetizing. You may or may not be aware of a recent MITRE Corporation study on "FOSS" which put Microsoft in a snit. Come on Michael, you've been in this racket long enough to see all of the bad patents, and the attempts to sell us what we already paid for as taxpayers, and the recycled concepts and technologies sold as "new". This applies not only to the technology for manipulating the data, but to the data as well. Why are these entities working so diligently to describe common metadata? Because it makes the information more valuable, and more accessible. >> None of this invalidates >[...] >> but you ought to know about its origins.. or at least know enough to >> ask. > >OK, I'll bite. How is it? What are its origins? I don't see the >dark side you appear to be pointing to. Well it is "dark"; I'll grant you that. If you mean "sinister", I never claimed that. "Monetization" is oftentimes odious, when new "rights" are created in something which abrogate other established rights. This doesn't apply just to the technologies for managing data, but to the data itself; and "valuable and accessible" may mean that that value and accessibility accrues to the common good, or it may be that that enhanced access is concentrated among a select few and more accessible and valuable to them. Now, it's not all monetization. Records management is an interesting discipline in its applications, although the stuff of it is as dry as tax law. One of the more intriguing aspects of records management is retention guidelines: the notion that you have to preserve records for a certain period of time, and that all of the records have to be destroyed when that period of time expires. This is an important notion in a litigous society such as ours, as if you can prove that you have and adhere to good records management practices you're not likely to find all of your information systems sequestered and a gaggle of auditors looking at every scrap of paper in your organization as a result of a discovery motion predicated on your sloppy records management practices: if there's nothing to find, there's no reason to look. And, you're not not likely to find yourself liable simply for destroying the records in accordance with your established records management guidelines. I'm looking at this in a much larger context, I suppose, than mapping of the human genome. It's fine and good for people to develop tools to manipulate a large body of information; but should part of that be enough of a sense of social responsibility to ask whether it is foreseeable that the tools developed will be utilized for purposes far beyond your own little playpen? Given the large expenditure of effort which has gone into records management in an XML-like argot, isn't it likely that those tools will be applied to new domains, and isn't it the whole point of XML-like definitions to make it easy to do so? With better records management, might we have a better idea exactly what's bubbling in those tanks at Hanford? Perhaps. But would we have ever learned about the Green Runs? Would we ever have learned about the syphilis experiments on poor black men? The conflict-of-interest cancer treatment scandal at The Hutch? Would we have learned as much as we have about Enron? I don't know the answers; I'm asking. The genome project has a downside, including but not limited to the possibility that analyzing individuals' genetic code will be the phrenology of the 21st century, or how about tailored bioweapons, and my greater question parallels the whole genome issue, I suppose: are people thinking about the greater ramifications of the information analysis and management tools they're creating? Nor am I entirely convinced that all of these tools are being created afresh, as fruits of the genome project; and are people thinking "where did this come from, and why"? Everybody knows that the technology which makes the Internet go was instigated by the Department of Defense as a research project into survivable networks, and that this technology was deployed by government agencies in order to (surprise!) share and manage information and information processing resources. >> The bureaucracy which usually goes along with it is a large part of >> the process. > >Agreed. You mention the down side, Bureaucracy. I didn't see "bureaucracy" as inherently a "down side". I do think it is worth asking: is bureaucracy a downside? What kind of bureaucracy is it? Can we have a bureaucracy which has an upside? Can we discover things about our bureaucracy by examining the fruits of its labors? Will we and do we have the freedom and access and ability to do so? The "bureaucracy", or at least the government, created the Internet. Why? >I'll hilight the >flip side. Perl is as interesting to me for the culture as it is for >the technology. To quote Larry's wife (sorry, I forgot her name) when >I asked her about language and culture (specifically Perl), she >replied (as a linguist, and right-hand partner of Larry, and >therefore, very much, a pillar in the design of Perl6) "you can't >separate language from culture". > That makes it true? That makes it more than a factoid? Does one determine the other? Granted, there are a lot of interesting characters in the Perl culture. ;-) But is it really because of Perl, or because of Ingy's leather pants? If the bureaucracy uses Perl, then is it a Perl culture? > >> Why is it that the cart before the horse doesn't work? Ducks fly >> fine, seems to me. > >Is this some "center of force vs. center of resistance" analogy, or >have I missed the Flying Walinda duck-horse cart act? I apologize, that was obtuse. I assert that this notion that XML "comes first" or is "new" is a canard. But I was pointing out that canards fly just fine that way, and that sometimes it is easier to push a cart uphill than to pull it (it also maneuvers better, at the loss of some directional stability). Just be aware of what you're doing, is all. XML may not be "better", it may just be what the bureaucracy already understands. I count myself as profoundly underwhelmed, and my experience with gene jockeys is that they're probably more interested in your knowledge of primers and dimers than regular expressions. -- Fred Morris m3047@inwa.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Fri Dec 13 23:02:56 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Re: 2nd-Best Perl Publisher? In-Reply-To: <15866.45574.960352.529051@gnat-tibook.local.> References: <20021213170034.A8085@timji.consultix-inc.com> <15866.45574.960352.529051@gnat-tibook.local.> Message-ID: <20021213210256.A8848@timji.consultix-inc.com> On Fri, Dec 13, 2002 at 09:22:30PM -0700, Nathan Torkington wrote: > > Am I leaving out any important criteria? > > Danny had a good list of other criteria. I agree; and it's the kind of stuff I might have thought of *eventually*, but undoubtedly too late in the game. Thanks, Danny! > Ask to keep the copyright in > your name (no good reason, it just feels better that way). Make sure > the rights revert when it goes out of print (and check for weasel > words about what "out of print" means--I personally would put in > something like "sells less than 10 printed copies a month for three > consecutive months"). Interesting advice! And I especially like the "operational definition" of what out-of-print means. > Talk to authors who have written for the > publisher and see what their experiences were like. I've tried this, but most have experience with only one publisher, and for that reason aren't capable of making comparisons. Hence my appeal to this "Elite Fraternity of Perl Educators" for additional input! 8-} And so far, nobody's commented on my inqury regarding "help with diagrams". As a course developer with way too much experience, I'm acutely aware of the tremendously higher cost (in time) of preparing good graphics versus "painting word pictures". But graphics are often distinctly superior in getting certain kinds of points across. So I'm curious if publishers currently provide artistic resources to their authors. I'm guessing they don't, judging from the conspicuous absence of a single diagram in the Camel or the Cookbook, but thought I'd ask anyway. -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+* | Providing Intensive, Hands-on, Instructor-led Software Training since '86! | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Fri Dec 13 23:35:49 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: 2nd::Best::Publisher -- CROSSTALK! Message-ID: <20021213213549.A9051@timji.consultix-inc.com> Sorry for inadvertently CC'ing spug-list when I meant to CC a different one; nevermind! -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+* | Providing Intensive, Hands-on, Instructor-led Software Training since '86! | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From m3047 at inwa.net Sat Dec 14 11:37:41 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:19 2004 Subject: DTDs vs TMTOWTDI Was: Re: SPUG: SGML the past language of.. Message-ID: DTDs are the antithesis of TMTOWTDI. That is a question which can be examined in the context of "Perl culture". In responding to Michael I got a little off-track. Matching quantity for quantity, I thought I'd take another crack at what I think is really the core issue. I suppose now I need to either apologize for posting this essay, or for making that cryptic remark in the first place. :-\ There's interesting stuff going on in practically every field of science, and there's plenty of stuff that's gone on that's plenty interesting as well. But biotech isn't special in this regard. If there's something interesting going on, if somebody goes to some meeting and they learn something interesting and they want to post a field report, I think that's great. I've worked for Immunex, Targeted Genetics, Corixa and NeoRx. As a field engineer for a document management systems vendor I visited, among other places, Amgen, Genentech and Isis Pharmaceuticals. I've had some even more unremarkable assignments, jobs and job interviews in other industries over the years. I've learned all kinds of things that were interesting and that have little or nothing to do with software engineering, oftentimes the most interesting stuff is anecdotal and has little to do with the problem at hand. When I say "..biotech isn't special.." I mean sic in vitro sic in vivo (or perhaps in this case the other way around). I've seen well-run operations and some which are not so well-run. There are some interesting problems to solve. A lot of math and interpolation. "Random" three-letter sequences which are anything but (an interesting challenge in requirements specification). Whiz-bangy software for figuring out which primers to use, and how not to get dimers; graphical tools for molecular modeling and visualization. Large patent and genetic sequence databases. The hot room, where all of the counters are: Do you put gloves on when you go in to use a keyboard, or do you take them off? Everything in the room is presumed "hot". That means that if you put on gloves, they need to be treated as "hot"; therefore, they go into the radioactive waste stream. It's all risk management. The levels of radioactivity are extremely low in any case, you're dealing with live critters and too much ionizing radiation is going to introduce an unacceptable amount of noise into the metabolic equation. Plus they swab the room, and for that matter the building, every so often. You're the bean counter, you decide: do people put on gloves, or do they take them off? You have to go into the hot room: do you trust your colleagues to follow the rules or not? Memo tacked to the bulletin board somewhere: "..remind you to remove gloves when greeting visitors..". I generally stood aside and let someone who worked in any particular lab open the door. Michael Crichton has a medical degree. Sulphur: it doesn't stay where you put it. Many labs (most of these entities have more than one lab) are run in charismatic as opposed to bureaucratic fashion. As someone once remarked talking about why some of his colleagues could get recombinant yeast to grow, and others couldn't: "just because you have a PhD in Biology doesn't mean you can bake bread." You may find yourself implementing that sophisticated algorithm using Excel. A lot of these people sit down at a computer and it's pure voodoo; just because you've got a PhD doesn't mean you understand a computer virus. It doesn't work in the lab, but somehow if they try something on a computer and it doesn't work they figure if they try it again exactly the same way they'll get a different result. It's just like any other industry: some people are engineers, and some of them are gene jockeys. They just have some toys to play with which maybe make it all a little more serious if you screw up. I don't mind environments like that. Of all of the environments which I've worked in, those which had cool toys and where the personnel were diligent and adhered to some appropriate engineering standards have been my favorites. In such cases, bureaucracy has generally been a good thing. I'm generally in favor of bureaucracy ascending over charisma when life or safety is an issue... or even when it simply costs $10000/hour when the line is down or the boat doesn't leave. In fact an engineering orientation is for me the determining factor in where I want to work, not the particular industry. I don't trust charisma. In the context of this struggle between charisma and bureaucracy, DTDs are one attempt to supplant charisma with bureaucracy. (You don't think this sort of definitional struggle really goes on? Look at the politics of growth factors and chalones.) One of the reasons people who are in "hard" engineering disciplines get so snitty about people talking about "software engineering" is, I think, that they generally don't see a whole lot of engineering going on. This isn't just the practitioners, it can be the expectations of the people whose problems we're trying to solve: their approach to the lab may be professional, but their approach to their information processing tools can be amateurish and consequently they don't expect us to behave as engineers in our professional domain. Be that as it may, "There's More Than One Way To Do It" isn't going to test well when some jury is trying to apportion liability. There is a "Perl culture" question in all of this: DTDs are an effort to define exactly one way to do something. How do you rationalize "There's More Than One Way To Do It" with a concerted effort to define exactly one way to do something? Are they using Perl because "There's More Than One Way To Do It", or for the same reason that I do, that it's relatively stable and well-supported and I can make it behave in a predictable and well-defined fashion? Are they really interested in XML because it's "new"? I wrote: >>[...] >How it is, is that XML is an offshoot of SGML. > >SGML has been utilized for some time now in mechanical systems design and >documentation. Additionally, there are large government-sponsored research >and development activities, and in some cases deployments, which have gone >on in parallel but overlapped; working groups have gotten together to >define basically XML, the common metadata, to describe and integrate these >domains of knowledge. > >It's a management issue. >[...] >One of the more intriguing aspects of records management is retention >guidelines >[...] >I didn't see "bureaucracy" as inherently a "down side". >[...] >Granted, there are a lot of interesting characters in the Perl culture. ;-) >But is it really because of Perl, or because of Ingy's leather pants? > >If the bureaucracy uses Perl, then is it a Perl culture? >[...] >XML may not be "better", it may >just be what the bureaucracy already understands. -- Fred Morris m3047@inwa.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Sat Dec 14 19:09:35 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Wish list for SPUG 2003? Message-ID: <20021214170935.A12195@timji.consultix-inc.com> SPUGsters, Well, 2002 is nearly over, so it's time to start thinking about what we want to do with SPUG in 2003. So please post your comments on the following topics, which occur to me, and any others you might want to discuss. * Presentation Topics for Meetings * + What Perl-related topics are you interested in hearing about? + And for each of those topics, do you know someone who might be willing to make a presentation on that topic? * Regular Features at Meetings * + Besides the prepared talk(s), should we have any other regular features at our meetings? Like "Lightning Talks", "Current Events", "Book Reviews", "Pop Quizzes", "Best of PerlMonks", etc.? * Services of SPUG * + Should we be providing any additional services or programs (beyond the meetings, Beginners Nights, mailing list, and job-postings) to our members or the community? If so, what? * Communal Projects * + Brian "Ingy" Ingerson once made a valiant effort to get some collective source-code development going in SPUG, but then he went into exile in Canada (shortly after embracing Python and Ruby, if memory serves; Suspicious!), and the effort ground to a halt. Should we try to get this kind of activity going again? * Community Building * + Should we be doing something to help us get to know each other better ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Sat Dec 14 19:20:21 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: SPUG Report Card, 2002 Message-ID: <20021214172021.A12246@timji.consultix-inc.com> How did you like SPUG in 2002? What worked well (e.g., our experimentation with "Lighting Talks"), and our usual representative sample of SuperStar presenters), and what didn't work so well (e.g., the initial transition to a closed list)? What activities, services, etc., would you like to see created, continued, or curtailed in 2003? "It's your SPUG", so please take a moment to provide feedback and help make it even better in the future. -Tim P.S. I've just taken some photos of the White Camel award, and will be putting them on the web-site soon (seattleperl.org). It's a very high-tech, hard to photograph, Plexiglas triangular trophy with low visual-contrast engraving. And you probably were imagining a cuddly Steiff dromedary, right? 8-} ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Sat Dec 14 21:50:58 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Wish list for SPUG 2003? In-Reply-To: <20021214170935.A12195@timji.consultix-inc.com> Message-ID: On Sat, 14 Dec 2002, Tim Maher wrote: > * Community Building * > + Should we be doing something to help us get to know each > other better "I don't know half of you half as well as I should like; and I like less than half of you half as well as you deserve." See y'all Tuesday night! =] -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Sun Dec 15 15:39:03 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Re: SPUG Report Card, 2002 In-Reply-To: <20021214172021.A12246@timji.consultix-inc.com> References: <20021214172021.A12246@timji.consultix-inc.com> Message-ID: <20021215133903.A14683@timji.consultix-inc.com> On Sat, Dec 14, 2002 at 05:20:21PM -0800, Tim Maher wrote: > How did you like SPUG in 2002? To help jog your memory, details on all the meetings are still available at seattleperl.org; just click on January in the navigation section at the top, and scroll through the year from there. In other news, I've got a picture of the "White Camel Award" I was given for my SPUGly activities now on the website; click on it for a larger image. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Tue Dec 17 12:23:03 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: "High Tech Nomad" meeting tonight Message-ID: <20021217102303.A21173@timji.consultix-inc.com> December 2002 Seattle Perl Users Group Meeting ----------------------------------------------------- Speaker: Steve Roberts, Nomadic Research Labs wordy@microship.com Time: Tuesday, December 19, 2002 7-9pm Location: SAFECO bldg, Brooklyn St. and NE 45th St. Cost: Admission is free and open to the general public. Info: http://seattleperl.org/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Steve Roberts is a hacker, inventor, author, nomad, and popular public speaker, who invented the engineering discipline he calls "technomadics". You may have seen him on TV, read about him in the press, or seen photos of his custom high-tech bicycles and ships. His first headline-grabbing project was his recumbent bicycle "Winnebiko," on which he spent 3.5 years covering 17,000 miles around America. A later 580-pound model with a 105 speed transmission and an on-board network that included an early SPARC was called BEHEMOTH (for Big Electronic Human-Energized Machine... Only Too Heavy). He then turned to shipbuilding, and has spent the past decade developing a pair of amphibian pedal/solar/sail micro-trimarans with extensive on-board embedded systems and communications capability. These "Microships" will be the basis of his next adventure, a 15,000-mile circumnavigation of the Eastern USA along with a whole flotilla of nomadlings (forming an ad hoc floating network of wireless boatlets). Needless to say, all the equipment involved in these projects costs a lot of money, so Steve had to assemble a network of over 100 corporate donors for funding (which is a major accomplishment in itself)! In this talk, Steve will tell us about his latest inventions, and how Open Source software, including Perl, is used in them. He'll be joined by Ned Konz, lead software guru on the Microship project. Ned is the author of three CPAN modules, is part of the core Squeak community, and has extensive experience with embedded systems. He is working on the ad hoc network design for the Microship project as well as a variety of other projects, and will be there to provide a technically chewy counterpoint to Steve's hand-waving exuberance and bizarre road anecdotes. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Contact Info: Steven K. Roberts, N4RVE Nomadic Research Labs Microship Website: http://www.microship.com Current location: Camano Island, WA The Microship live page carries a new photo and short text update almost every day: http://www.microship.com/latestnews/live.html * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Pre- and Post- Meeting Activities --------------------------------- The pre-meeting dinner will be at the Cedars restaurant, at 50th St. and Brooklyn, in the University District, near the Safeco building where the meeting will take place. The phone number is 527-5247. If you're planning to be there, please post a message to the list with your expected arrival time (5:30-5:45pm is recommended). As usual, those seeking liquid input before (and/or after) the meeting are invited to congregate at the nearby Finn MacCool's tavern, at 4217 University Ave. North, (206) 675-0885. (But if somebody has a *specific recommendation* for an alternative location that's more conducive to conversation, please let me know, and we'll consider trying it out.) See the web-site for more details. ====================================================== | Tim Maher, Ph.D. tim@timmaher.org | | JAWCAR ("Just Another White Camel Award Recipient" | | SPUG Founder & Leader spug@seattleperl.org | | Seattle Perl Users Group www.seattleperl.org | ====================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Tue Dec 17 15:11:48 2002 From: tim at consultix-inc.com (SPUG-list-owner) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: "High Tech Nomad" meeting tonight In-Reply-To: <20021217102303.A21173@timji.consultix-inc.com> References: <20021217102303.A21173@timji.consultix-inc.com> Message-ID: <20021217131148.A22023@timji.consultix-inc.com> > > Pre- and Post- Meeting Activities > --------------------------------- > The pre-meeting dinner will be at the Cedars restaurant, at 50th > St. and Brooklyn, in the University District, near the Safeco > building where the meeting will take place. The phone number is > 527-5247. If you're planning to be there, please post a message > to the list with your expected arrival time (5:30-5:45pm is > recommended). I'll be at the Cedars by 5:30; anybody care to join me? (Steve and Ned are expected to show up too.) Let me know if you're coming, so I can make an appropriate reservation. -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+* | Providing Intensive, Hands-on, Instructor-led Software Training since '86! | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Wed Dec 18 19:43:38 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Stupid Exporter Question Message-ID: Friends, I've got a question about how the export_to_level bit of Exporter works. The question is: I've been building an application for the last two years, and my main package is getting very big. I have a file, Tools.pm, that has over 170 [s]ubs in it, and it's getting unwieldy, to put it mildly. I would like to break it out into a Tools::whatever namespace, but I would like to still be able to use Tools and have it export all the [s]ubs from the different [s]ub-packages. It looks like export_to_level can do this, but I'll be jiggered if I can figure out how to use it. Any suggestions would be most appreciated. Thanks, Peter Darley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jonathan.souza at usg.sms.siemens.com Wed Dec 18 21:49:06 2002 From: jonathan.souza at usg.sms.siemens.com (Souza Jonathan) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: VEXED "Barbarian needs food badly" Scalar inside Hash problem Message-ID: I have a vexing problemo. First I have done this before in other programs, but can't get it to work here. I want to use a variable inside a hash. Here is my code snippet it is a segment out of a larger package. My problem in in SetupEnvVariables. package monitor; #---------- #Method Name: SetupEnvVariables #Purpose: Modify system environment variables #Parameters: None #Calls: Win32::AdminMisc::SetEnvVar && Win32::AdminMisc::DelEnvVar #Sets: None #Returns: 1 if completed || undef if error #---------- sub SetupEnvVariables { my ($self) = @_; my ($machine_name, $env_value); #MAKE ANY CHANGES TO THE ENVIRONMENTAL VARIABLES $machine_name = $self->{WHOAMI}{MACHINE_NAME}; print "MN: $machine_name\n"; #prints SP2007 which is correct #print Dumper($self->{MACHINES}); #dumps correctly print "Hours: $self->{MACHINES}{$machine_name}{HOURS_TO_RUN}\n"; #error says "Use of uninitialized value in string.." print "Hours2: $self->{MACHINES}{SP2007}{HOURS_TO_RUN}\n"; #prints correctly -some integer value. if (exists $self->{MACHINES}{$machine_name}{ENV_VARIABLES}) #always doesn't exist because $machine_name is not being { #blah blah } #etc.... } #---------- #Method Name: New #Purpose: Constructor #Parameters: None #Calls: Configure #Sets: Creates default hash and reference to objects methods #Returns: Object reference #---------- sub New { my ($class) = @_; my $self = { 'WHOAMI' => {}, 'MACHINES' => {}, }; bless $self, $class; print "In New\n"; $self->Configure(); return $self; } #End New #---------- #Method Name: Configure #Purpose: Read any configuration files #Parameters: None #Calls: Automation::Read_ConfigXML #Sets: $self->{WHOAMI}{MACHINE_NAME} & $self->{WHOAMI}{XML_FILE} #Returns: 1 Completed || undef errors #---------- sub Configure { my ($self) = @_; my ($key, $value, $open); print "IN CONFIGURE\n"; #Read WhoAmI.txt if (!($open = open (FH, "<", "WhoAmI.txt"))) { sleep (20); if (!($open = open (FH, "<", "WhoAmI.txt"))) { print "Failed to open WhoAmI.txt\n"; return undef; } } if ($open) { while () { ($key, $value) = split /=/; $self->{WHOAMI}{$key} = $value; } close FH; my $auto = Automation->New(); $auto->Read_ConfigXML($self->{WHOAMI}{XML_FILE}, $self->{MACHINES}); #print Dumper($self->{MACHINES}); #dumps correctly undef $auto; return 1; } return undef; #should never hit this } #End Configure ######################### package main; use strict; my $monitor = Monitor->New(); $monitor->SetupEnvVariables(); -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/spug-list/attachments/20021218/219199d7/attachment.htm From doug at beaver.net Thu Dec 19 00:04:40 2002 From: doug at beaver.net (Doug Beaver) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Stupid Exporter Question In-Reply-To: ; from pdarley@kinesis-cem.com on Wed, Dec 18, 2002 at 05:43:38PM -0800 References: Message-ID: <20021219010440.A77632@beaver.net> On Wed, Dec 18, 2002 at 05:43:38PM -0800, Peter Darley wrote: > I've been building an application for the last two years, and my main > package is getting very big. I have a file, Tools.pm, that has over > 170 [s]ubs in it, and it's getting unwieldy, to put it mildly. I > would like to break it out into a Tools::whatever namespace, but I > would like to still be able to use Tools and have it export all the > [s]ubs from the different [s]ub-packages. It looks like > export_to_level can do this, but I'll be jiggered if I can figure out > how to use it. Any suggestions would be most appreciated. hi peter, did you read the perldoc for Exporter? it has an example of this, although it's not that clear... i'm guessing that you want Tools.pm to just have use statements for all your submodules. that would look like: package Tools; use strict; use Tools::Dir; 1; package Tools::Dir; use strict; use Exporter; our @EXPORT = qw/tool_dir/; our @ISA = qw/Exporter/; sub import { __PACKAGE__->export_to_level(2, @_); } sub tool_dir { print "in tool_dir!\n" } 1; now when you "use Tools;", tool_dir will automatically be exported into main::. you could add %EXPORT_TAGS support to Tools.pm so that it only grabbed certain submodules for different functionality sets. or you could just export the whole kitchen sink, whatever you like. doug -- Space Ghost: Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. Moltar: Okay, but that's not the cd burner... Space Ghost: Moltar! Yes! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Thu Dec 19 08:23:17 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: VEXED "Barbarian needs food badly" Scalar inside Hash problem In-Reply-To: Message-ID: VEXED "Barbarian needs food badly" Scalar inside Hash problemSouza, Just a shot in the dark, but you might have some extra trailing characters in WhoAmI.txt, like a trailing space or a trailing \r or \n, that is preventing the name to match what's in the hash, but would still look correct when you printed it. Thanks, Peter Darley -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of Souza Jonathan Sent: Wednesday, December 18, 2002 7:49 PM To: SPUG Subject: SPUG: VEXED "Barbarian needs food badly" Scalar inside Hash problem I have a vexing problemo. First I have done this before in other programs, but can't get it to work here. I want to use a variable inside a hash. Here is my code snippet it is a segment out of a larger package. My problem in in SetupEnvVariables. package monitor; #---------- #Method Name: SetupEnvVariables #Purpose: Modify system environment variables #Parameters: None #Calls: Win32::AdminMisc::SetEnvVar && Win32::AdminMisc::DelEnvVar #Sets: None #Returns: 1 if completed || undef if error #---------- sub SetupEnvVariables { my ($self) = @_; my ($machine_name, $env_value); #MAKE ANY CHANGES TO THE ENVIRONMENTAL VARIABLES $machine_name = $self->{WHOAMI}{MACHINE_NAME}; print "MN: $machine_name\n"; #prints SP2007 which is correct #print Dumper($self->{MACHINES}); #dumps correctly print "Hours: $self->{MACHINES}{$machine_name}{HOURS_TO_RUN}\n"; #error says "Use of uninitialized value in string.." print "Hours2: $self->{MACHINES}{SP2007}{HOURS_TO_RUN}\n"; #prints correctly -some integer value. if (exists $self->{MACHINES}{$machine_name}{ENV_VARIABLES}) #always doesn't exist because $machine_name is not being { #blah blah } #etc.... } #---------- #Method Name: New #Purpose: Constructor #Parameters: None #Calls: Configure #Sets: Creates default hash and reference to objects methods #Returns: Object reference #---------- sub New { my ($class) = @_; my $self = { 'WHOAMI' => {}, 'MACHINES' => {}, }; bless $self, $class; print "In New\n"; $self->Configure(); return $self; } #End New #---------- #Method Name: Configure #Purpose: Read any configuration files #Parameters: None #Calls: Automation::Read_ConfigXML #Sets: $self->{WHOAMI}{MACHINE_NAME} & $self->{WHOAMI}{XML_FILE} #Returns: 1 Completed || undef errors #---------- sub Configure { my ($self) = @_; my ($key, $value, $open); print "IN CONFIGURE\n"; #Read WhoAmI.txt if (!($open = open (FH, "<", "WhoAmI.txt"))) { sleep (20); if (!($open = open (FH, "<", "WhoAmI.txt"))) { print "Failed to open WhoAmI.txt\n"; return undef; } } if ($open) { while () { ($key, $value) = split /=/; $self->{WHOAMI}{$key} = $value; } close FH; my $auto = Automation->New(); $auto->Read_ConfigXML($self->{WHOAMI}{XML_FILE}, $self->{MACHINES}); #print Dumper($self->{MACHINES}); #dumps correctly undef $auto; return 1; } return undef; #should never hit this } #End Configure ######################### package main; use strict; my $monitor = Monitor->New(); $monitor->SetupEnvVariables(); -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/spug-list/attachments/20021219/098adb43/attachment.htm From m3047 at inwa.net Thu Dec 19 08:17:19 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: My two perl gizmos (CPAN module paralysis) Message-ID: Very briefly, here are short synopses of the two modules which I have contemplated submitting to CPAN. I know that left to my own devices, that will never happen. Both of these modules are utilized in a working application which gets daily use. Maybe this'll encourage others to share theirs, and we can get together and at least get the peer review issue out of the way (there are a number of impediments standing between me and CPAN, peer review is only one). Or, maybe somebody will be interested enough to say "hey, I could use that!". Be aware, neither of them is packaged for distribution at the moment although anyone who's competent with Perl should have no problem getting them to work; they do have POD. A CANONICALIZED STRING CONSTANT RESOLVER Problem: Generally speaking, localization. This means for languages, but also for different parts of an application, or different applications of reusable parts. Utility: I find it useful, but mostly I just think it's cool. The overhead for this might be somewhat large in a occasionally-used Perl script, but with mod_perl a persistent hash is constructed of particular fully-qualified names which have already been resolved. Synopsis: The constants are all retrieved with a function call which takes as a parameter a key which will resolve to a constant (or filter, I lied). So, you define something like Success => { 'string', 'Done!' } You reference it in different places as $cliches->cliche( 'SomeModule.Frotzify.Success' ) $cliches->cliche( 'ThisModule.Frappe.Success' ) You may decide that when you Frappe you want a different message or when you Stir in SomeModule the same thing is needed, and so you define overloads (overrides?): Frappe.Success => { 'string', 'Cheers!' } SomeModule.Stir.Success => { 'string', 'Mixed!' } EMBEDDED SQL IN AN HTML REPORT TEMPLATE Problem: You need to make a web page which displays the result of a SQL query. You'd use PHP for this, except you can't bring yourself to embed server code (an application artifact) in a web page (presentation artifact). Obviously the SQL is needed, but is anything else? No. Utility: Very. I've already stolen it from my app and used it elsewhere on other projects. You end up with an HTML template which any web page editor will load (there's an alternate syntax for the SQL statement due to vagaries in the various WYSIWYG tools, and I would do the same for the liststart and listend markers if I was packaging this for public consumption). I looked around CPAN for something this elegant and didn't find it. I even looked around with Google. Did I reinvent the wheel? Synopsis: You need to wrap it in some CGI code which validates parameters and access, if you're paranoid like me. Then you create a template like the following (which is an actual, real, live, working example; report, username and magic are artifacts of my own paranoia handled with some pre and post processing, and are not part of the module): Contacts by Name

Contacts by Name

contacts with name %%sqls2%% for user %%username%%


starts with: (Case-sensitive, starting with..)


Click the Type to go to the contact's record.

<%%liststart%%> <%%listend%%>
Type Company Last Name First Name
%%sqlf1%% %%sqlf2%% %%sqlf3%% %%sqlf4%%

[home]


Copyright (c) 2002 by Fred Morris, 6739 3rd NW Seattle WA 98117; e-mail: m3047@inwa.net; telephone: 206.297.6344. All rights reserved.

rev. date: 14-Jul-2002
rev. by: Fred Morris
I ask you, is there anything in this page which isn't necessary to the presentation of this particular web page (presuming that you're willing to grant that SQL is self-documenting, and therefore has virtue)? Furthermore, the SQL statement does not end up in the page actually delivered to the (ab)user, avoiding an obvious vulnerability. Every time I look at the module, I'm amazed at how short the code really is... the power of Perl! The actual guts of it is 186 lines, including white space and comments; the POD and whatnot makes it about 450 lines. -- Fred Morris m3047@inwa.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Thu Dec 19 09:24:27 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Stupid Exporter Question In-Reply-To: <20021219010440.A77632@beaver.net> Message-ID: Well, I thought I had it working, but it fails under mod_perl. Is this because of mod_perl's messing with package names? I couldn't find any information on this failure on the web, so if anyone has any further suggestions I would appreciate it. Thanks, Peter Darley -----Original Message----- From: Doug Beaver [mailto:doug@beaver.net] Sent: Wednesday, December 18, 2002 10:05 PM To: Peter Darley Cc: SPUG Subject: Re: SPUG: Stupid Exporter Question On Wed, Dec 18, 2002 at 05:43:38PM -0800, Peter Darley wrote: > I've been building an application for the last two years, and my main > package is getting very big. I have a file, Tools.pm, that has over > 170 [s]ubs in it, and it's getting unwieldy, to put it mildly. I > would like to break it out into a Tools::whatever namespace, but I > would like to still be able to use Tools and have it export all the > [s]ubs from the different [s]ub-packages. It looks like > export_to_level can do this, but I'll be jiggered if I can figure out > how to use it. Any suggestions would be most appreciated. hi peter, did you read the perldoc for Exporter? it has an example of this, although it's not that clear... i'm guessing that you want Tools.pm to just have use statements for all your submodules. that would look like: package Tools; use strict; use Tools::Dir; 1; package Tools::Dir; use strict; use Exporter; our @EXPORT = qw/tool_dir/; our @ISA = qw/Exporter/; sub import { __PACKAGE__->export_to_level(2, @_); } sub tool_dir { print "in tool_dir!\n" } 1; now when you "use Tools;", tool_dir will automatically be exported into main::. you could add %EXPORT_TAGS support to Tools.pm so that it only grabbed certain submodules for different functionality sets. or you could just export the whole kitchen sink, whatever you like. doug -- Space Ghost: Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. Moltar: Okay, but that's not the cd burner... Space Ghost: Moltar! Yes! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jgardn at alumni.washington.edu Thu Dec 19 11:08:20 2002 From: jgardn at alumni.washington.edu (Jonathan Gardner) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: My two perl gizmos (CPAN module paralysis) In-Reply-To: References: Message-ID: <200212190908.20937.jgardn@alumni.washington.edu> On Thursday 19 December 2002 06:17 am, Fred Morris wrote: > Very briefly, here are short synopses of the two modules which I have > contemplated submitting to CPAN. I know that left to my own devices, that > will never happen. > > Both of these modules are utilized in a working application which gets > daily use. > > Maybe this'll encourage others to share theirs, and we can get together and > at least get the peer review issue out of the way (there are a number of > impediments standing between me and CPAN, peer review is only one). Or, > maybe somebody will be interested enough to say "hey, I could use that!". > Be aware, neither of them is packaged for distribution at the moment > although anyone who's competent with Perl should have no problem getting > them to work; they do have POD. > > > A CANONICALIZED STRING CONSTANT RESOLVER > > Problem: > > Generally speaking, localization. This means for languages, but also for > different parts of an application, or different applications of reusable > parts. > > Utility: > > I find it useful, but mostly I just think it's cool. The overhead for this > might be somewhat large in a occasionally-used Perl script, but with > mod_perl a persistent hash is constructed of particular fully-qualified > names which have already been resolved. > > Synopsis: > > The constants are all retrieved with a function call which takes as a > parameter a key which will resolve to a constant (or filter, I lied). > > So, you define something like > > Success => { 'string', 'Done!' } > > You reference it in different places as > > $cliches->cliche( 'SomeModule.Frotzify.Success' ) > $cliches->cliche( 'ThisModule.Frappe.Success' ) > > You may decide that when you Frappe you want a different message or when > you Stir in SomeModule the same thing is needed, and so you define > overloads (overrides?): > > Frappe.Success => { 'string', 'Cheers!' } > SomeModule.Stir.Success => { 'string', 'Mixed!' } > The only thing weird about what I see is that you might as well define "$Success" and let namespaces do the rest for you. For instance, you can do: $main::Success = "Done!"; $Frappe::Success = "Cheers!"; $SomeModule::Stir::Success = "Mixed!"; And just use "$Success" in the appropriate place. As far as a way to do translations efficiently and well... Qt is a C++ widget library for Windows and X. It is probably the best platform to program for localization and translation. Qt uses a function called tr() (which unfortunately is a builtin in perl). You pass in the string, and then define localization later. If we changed the name to trn(): $cliches->cliche(trn("Done!")); Later on, you can ask the module that defined trn() what string were used in your program. With a list of all of your strings, you can translate it to a different language or localization, put that into a file, and tell the module to use that localization. The problem is that you want to use a finite number of strings. For instance: trn("Hello, $first_name") is never going to get translated except for a finite number of $first_name. The way to work around that is to do something like: sprintf(trn("Hello, \%s!"), $first_name) or something more ingenious, which probably exists in perl already. Anyway, it's a couple of pennies, if that. -- Jonathan Gardner jgardn@alumni.washington.edu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jonathan.souza at usg.sms.siemens.com Thu Dec 19 14:32:32 2002 From: jonathan.souza at usg.sms.siemens.com (Souza Jonathan) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: $foo->{$merry_christmas} && $I_hate_eol Message-ID: Thanks I was going crazy, SPUG is better than vallium. -----Original Message----- From: sthoenna@efn.org [mailto:sthoenna@efn.org] Sent: Thursday, December 19, 2002 10:05 AM To: spug-list@pm.org Cc: Souza Jonathan Subject: Re: SPUG: VEXED "Barbarian needs food badly" Scalar inside Hash problem On Wed, 18 Dec 2002 19:49:06 -0800, jonathan.souza@usg.sms.siemens.com wrote: > while () > { > ($key, $value) = split /=/; > $self->{WHOAMI}{$key} = $value; > } > close FH; It looks like that will leave newlines on the end of each $value, so your $self->{WHOAMI}{MACHINE_NAME} is probably "SP2007\n" (as Peter Darley suggested). -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/spug-list/attachments/20021219/93bff2ad/attachment.htm From thane_w at fastmail.fm Thu Dec 19 14:59:34 2002 From: thane_w at fastmail.fm (Thane Williams) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Wish list for SPUG 2003? In-Reply-To: <20021214170935.A12195@timji.consultix-inc.com> References: <20021214170935.A12195@timji.consultix-inc.com> Message-ID: <20021219205934.2E43841E40@server2.fastmail.fm> > * Communal Projects * > + Brian "Ingy" Ingerson once made a valiant effort to get > some collective source-code development going in SPUG, > but then he went into exile in Canada (shortly after embracing > Python and Ruby, if memory serves; Suspicious!), and the effort > ground to a halt. Should we try to get this kind of activity > going again? Speaking as a rank newbie in SPUG, to Perl, and as a programmer, I'd be interested in this. I'd love the chance to work with some pros on some actual code development. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jaygray at scn.org Thu Dec 19 14:30:14 2002 From: jaygray at scn.org (Jay Gray) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: VEXED "Barbarian needs food badly" Scalar inside Hash problem In-Reply-To: Message-ID: Jonathan, It works for me. You may see condensed code + output after my sig. I suggest two things: 1. try print "MN: '$machine_name'\n"; to see if this is a trailing white-space issue... 2. If that doesn't work, reply to me only && we can bash the bug && post the final bug fix back to spug-list -- Jay Gray package main; use Data::Dumper; $self->{WHOAMI}{MACHINE_NAME} = "SP2007"; $self->{MACHINES}{SP2007}{HOURS_TO_RUN} = 42; $self->{MACHINES}{SP2007}{ENV_VARIABLES} = "foo bar bash"; SetupEnvVariables($self); exit; sub SetupEnvVariables { my ($self) = @_; my ($machine_name, $env_value); #MAKE ANY CHANGES TO THE ENVIRONMENTAL VARIABLES $machine_name = $self->{WHOAMI}{MACHINE_NAME}; print "MN: $machine_name\n"; # prints SP2007 which is correct print Data::Dumper->Dump([ $self->{MACHINES} ], [qw($self->{MACHINES})]); print "Hours: $self->{MACHINES}{$machine_name}{HOURS_TO_RUN}\n"; # works for me (Jay) if (exists $self->{MACHINES}{$machine_name}{ENV_VARIABLES}) { print "Env vars: found\n" } else { print "Env vars: NOT FOUND!\n"; } return; } # # OUTPUT # MN: SP2007 $self->{MACHINES} = { 'SP2007' => { 'ENV_VARIABLES' => 'foo bar bash', 'HOURS_TO_RUN' => 42 } }; Hours: 42 Env vars: found - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 20 17:04:25 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Perl Users Using Perl (or XP QOTW expands) Message-ID: The XP QOTW experiment proved to be a success, so I'm going to expand it to a fortnightly "Perl Users using Perl" playshop. Looking back at what worked, and what needs improvement, I have the following observations: * XP is not critical to the purpose of the playshop. (I like XP, want to learn more, and to practice more, but it's not critical to this playshop.) * Ditto for QOTW. * Three hours is a good chunk of time. * Pre-session food or drink is good for schedule synchronization and ice breaking. * Pair-wise programming works. I both learned and taught something in each playshop. * Creativity and learning are mazimized by playing with a non-critical piece of code. The real purpose of the get-together is for Perl Users (SPUG's middle name) to (pardon the Perl syntax) "use Perl;". When I realized this, I did a big "Duh!!". XP is just one methodology; QOTW is just one project. I expect that folks will bring many methodologies and projects to future playshops. Watch this board for upcoming time/date/location announcements for "Perl Users Using Perl Playshop" announcements. If you have suggestions for times/locations/projects, please post a follow-up or send reply in the next few days. I'll fold 'em into the first announcement late next week. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Sat Dec 21 15:29:42 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Super-Sale on Damian's Jan. Classes! Message-ID: <20021221132942.A8663@timji.consultix-inc.com> Subject: Super-Sale on Damian's Jan. Seattle Classes Dr. Damian Conway, our favorite Visiting Instructor here at Consultix, is interested in teaching some Seattle classes in mid-January. But before he commits to doing so, we need to know if enough people will register to make these class offerings economically feasible. As you're undoubtedly aware, mid-January is only a few weeks away, and we're now just about to enter the holiday season, so it might be an uphill battle to put all this together on such short notice. This being the case, we need to get your attention right away, and quickly determine if we can get our required minimum enrollment for these classes. To this end, we're temporarily offering training by this top speaker at the previously unheard of price of only $225 per day! That price will last until 12/27 or until we run out of discounted seats, whichever comes first, so you'll want to register and arrange payment (by charge-card only) as soon as you can to lock in your discount. NOTE: If the online registration program at http://teachmeperl.com/cgibin/register.cgi shows you the discounted rate (of $225 X #days), it's still available. All Consultix class offerings for 1Q 2003 are listed below, along with more information about "The Damian". I hope many of you can take advantage of this unique opportunity to receive training from him! -------------------------------------------------------------- SCHEDULE OF CONSULTIX PUBLIC CLASSES JANUARY 2003 -------------------------------------------------------------- CLASSES BY: DR. DAMIAN CONWAY Title Dates Site Practical Extraction and Reporting 1/13-14 Seattle (aka "Data Munging") Understanding Regexes 1/15 Kirkland Fundamental Parsing for Bioinformatics 1/15-16 Kirkland (includes above Regexes class) Intermediate Object Oriented Perl 1/17 Kirkland NOTE: "Munging" and "Regexes" have 1/2 day of material in common. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CLASSES BY: DR. TIM MAHER TITLE DATES SITE Minimal Perl 1/27 Kirkland UNIX Fundamentals 1/28-31 Kirkland Perl Programming 2/10-12 Kirkland Using and Creating Perl Modules 2/13-14 Kirkland ---------------------------------------------------------------- WHO'S DAMIAN CONWAY? Australia's Dr. Damian Conway is one of the foremost experts on the Perl 5 language, and the co-designer (with Larry Wall) of the upcoming Perl 6. He's also a prolific contributor of sophisticated freely-available Perl modules to the CPAN, one of the most popular speakers on the Perl conference circuit (http://teachmeperl.com/tsc_review.html), and a renowned presenter of entertaining and enlightening corporate classes (see http://teachmeperl.com/damian_evals.html). As if all that weren't enough, he's the only person in history to win three Larry Wall awards for the tremendous contributions of his CPAN modules to the Perl community! WHAT DID PREVIOUS ATTENDEES SAY ABOUT HIS CLASSES? * Damian is the most engaging and motivated instructor I've had the pleasure of seeing. * Very knowledgeable as well as congenial and animated. Made the subject quite fun and very enticing. * Highest class of instruction I've had since graduate school in the 1970's! * Awesome presentation. Instructor has thorough knowledge of subject, obviously. Very good speaker. * I would tell anyone who could take this course ("Adv. OO Perl") with Damian to take it - hands down. Wish there was a part 2 and 3! * Not only was his material excellent, but also his ability to speak. Dr. Conway is a true pleasure to listen to. He has a real flair for getting complex thoughts across. CONSULTIX ON-LINE RESOURCES General Information: http://www.consultix-inc.com On-Site Training: http://www.consultix-inc.com/on-site.html Course Listings: Perl, http://teachmeperl.com/perllist.html UNIX/Shell, http://teachmeunix.com/unixlist.html Registration and Pricing: http://www.consultix-inc.com/reg.html Instructor Evaluations: http://www.consultix-inc.com/evals.html Course Evaluations: http://www.consultix-inc.com/course_evals.html *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *----------------------------------------------------------------------------* ----- End forwarded message ----- -- -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+* | Providing Intensive, Hands-on, Instructor-led Software Training since '86! | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Sun Dec 22 00:44:25 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: multi-lingual Hello, World! Message-ID: Hey language junkies. Hello World in 204 languages. How many do you recognize? http://www2.latech.edu/~acm/HelloWorld.shtml -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From blueovalfun at yahoo.com Thu Dec 26 14:53:17 2002 From: blueovalfun at yahoo.com (Andrew Reid) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question Message-ID: <20021226205317.13292.qmail@web20810.mail.yahoo.com> Greetings, While attempting to gain more meaninful employment, I happened upon this question from a prospective provider of opportunity. "Sort an array alphabetically without using the Perl sort command." This was provided by someone not familiar with Perl but other languages and all work was shown on a white board. I think I did OK, there were a few holes in the code, and I decided to really give it a shot. This works and is very close to what I provided on the spot. If any of you have some free time and thoughts, I'd appreciate them! Tell me what you think. Here is my program. #!/usr/bin/perl -w $arrayCnt = 0; $passCnt = 0; $elementCnt = 0; @array1 = qw(e c g h z r t a i h j l p b d r q x v a); @array2 = sort(@array1); foreach (@array1) {$arrayCnt++;} print "This is the array Count [$arrayCnt]\n"; while (defined @array1) { $startPnt = $array1[$passCnt]; $lowValue = $startPnt; if ($arrayCnt <= $passCnt) { print "My sort list [@array1]\n"; print "A Check Sort [@array2]"; exit; } print "The array as found in loop $passCnt \t[@array1]\n"; print "The Start point value \t** $startPnt **\t \n"; foreach (@array1) { if ($elementCnt < $passCnt){ print "Element Value [ $_ ]\t"; print "Element Count [$elementCnt]\t Pass Count [$passCnt]\n"; shift; } elsif (($_ lt $lowValue) || ($_ eq $lowValue)){ print "Comparing $_ to $lowValue [Element #$elementCnt]\t"; $lowValue = $_; print "Low value [$lowValue]\n"; $lowElement = $elementCnt; } $elementCnt++; } #end of foreach if ($startPnt ne $lowValue) { print "This was the low value [$lowValue] and low element [$lowElement]\n"; push(@array1,$startPnt); print ("splice() ",splice(@array1,$lowElement,1), "\n"); $array1[$passCnt] = $lowValue; $passCnt++; } else {$passCnt++;} } #end of while __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From spug at ifokr.org Thu Dec 26 16:27:17 2002 From: spug at ifokr.org (Brian Hatch) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question In-Reply-To: <20021226205317.13292.qmail@web20810.mail.yahoo.com> References: <20021226205317.13292.qmail@web20810.mail.yahoo.com> Message-ID: <20021226222717.GH13238@ifokr.org> > While attempting to gain more meaninful employment, I > happened upon this question from a prospective > provider of opportunity. "Sort an array > alphabetically without using the Perl sort command." > This was provided by someone not familiar with Perl > but other languages and all work was shown on a white > board. I think I did OK, there were a few holes in > the code, and I decided to really give it a shot. > This works and is very close to what I provided on the > spot. > > If any of you have some free time and thoughts, I'd > appreciate them! Tell me what you think. Though you could certainly code up a bubble/insertion/quick sort or such, how 'bout #!/usr/bin/perl -w use IPC::Open2; use strict; my @array1 = qw(e c g h z r t a i h j l p b d r q x v a); open2(*R, *W, "sort") or die "Can't run sort!": print W join "\n", @array1; close W; chomp(@array2 = ); print "Sorted version: @array2"; After all, TMTOWTDI. -- Brian Hatch Each generation has Systems and it's signaure disease. Security Engineer The Black Plague. http://www.ifokr.org/bri/ Cholera. Ebola. AIDS. Windows 2000. Every message PGP signed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 240 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20021226/fec1bff1/attachment.bin From blueovalfun at yahoo.com Thu Dec 26 17:09:30 2002 From: blueovalfun at yahoo.com (Andrew Reid) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question In-Reply-To: <20021226222717.GH13238@ifokr.org> Message-ID: <20021226230930.4380.qmail@web20808.mail.yahoo.com> Brian, Cool, Thanks! I'll look into this. I've never used IPC module before. Seems like a good place to check. I didn't do the best job setting this up, I gave this problem as it was presented to me. One of the stipulations as I started working on it at the board was that everything be sorted in a single array. "Without creating a new memory space" is what the guy said if I remember correctly. I'll look at IPC, thanks again. --- Brian Hatch wrote: > > > > While attempting to gain more meaninful > employment, I > > happened upon this question from a prospective > > provider of opportunity. "Sort an array > > alphabetically without using the Perl sort > command." > > This was provided by someone not familiar with > Perl > > but other languages and all work was shown on a > white > > board. I think I did OK, there were a few holes > in > > the code, and I decided to really give it a shot. > > This works and is very close to what I provided on > the > > spot. > > > > If any of you have some free time and thoughts, > I'd > > appreciate them! Tell me what you think. > > > Though you could certainly code up a > bubble/insertion/quick sort > or such, how 'bout > > > #!/usr/bin/perl -w > > use IPC::Open2; > use strict; > > my @array1 = qw(e c g h z r t a i h j l p b d r q x > v a); > > open2(*R, *W, "sort") or die "Can't run sort!": > print W join "\n", @array1; > close W; > chomp(@array2 = ); > > print "Sorted version: @array2"; > > > After all, TMTOWTDI. > > > > > -- > Brian Hatch Each generation has > Systems and it's signaure disease. > Security Engineer The Black Plague. > http://www.ifokr.org/bri/ Cholera. Ebola. AIDS. > Windows 2000. > Every message PGP signed > > ATTACHMENT part 2 application/pgp-signature __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From asimjalis at acm.org Thu Dec 26 18:08:12 2002 From: asimjalis at acm.org (Asim Jalis) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question In-Reply-To: <20021226222717.GH13238@ifokr.org> References: <20021226205317.13292.qmail@web20810.mail.yahoo.com> <20021226222717.GH13238@ifokr.org> Message-ID: <20021227000812.GA88048@wokkil.pair.com> Brian Hatch wrote: > Andrew Reid wrote: > > While attempting to gain more meaninful employment, I > > happened upon this question from a prospective provider of > > opportunity. "Sort an array alphabetically without using the > > Perl sort command." This was provided by someone not familiar > > with Perl but other languages and all work was shown on a > > white board. I think I did OK, there were a few holes in the > > code, and I decided to really give it a shot. This works and > > is very close to what I provided on the spot. > > > > If any of you have some free time and thoughts, I'd > > appreciate them! Tell me what you think. > > Though you could certainly code up a bubble/insertion/quick sort > or such, how 'bout > > open2(*R, *W, "sort") or die "Can't run sort!": Is there a way to use map and grep to do a bubble sort (or insertion sort) in a functional programming way? Something like: @sorted_list = map { . . . } [. . . stuff . . . ] @unsorted_list; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From spug at ifokr.org Thu Dec 26 18:09:25 2002 From: spug at ifokr.org (Brian Hatch) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question In-Reply-To: <20021226230930.4380.qmail@web20808.mail.yahoo.com> References: <20021226222717.GH13238@ifokr.org> <20021226230930.4380.qmail@web20808.mail.yahoo.com> Message-ID: <20021227000925.GI13238@ifokr.org> > Cool, Thanks! I'll look into this. I've never used > IPC module before. Seems like a good place to check. IPC == InterProcess Communication. I cheeted - I piped the array to the 'sort' unix command, and read the results back in. > One of the > stipulations as I started working on it at the board > was that everything be sorted in a single array. > "Without creating a new memory space" is what the guy > said if I remember correctly. Well, using fork/exec to launch the unix sort command would certainly violate that requirement. But it is fun. A quick sort or bubble sort would fit his requirement, no doubt. An insertion sort could if you take from one array and grow a second array if you consider that there's a net zero change in memory usage, but that's probably not what he wanted. -- Brian Hatch "Draal told Zathras what Systems and to do. So Zathras will do. Security Engineer Or much, much dying." http://www.ifokr.org/bri/ Every message PGP signed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 240 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20021226/23c529fc/attachment.bin From moonbeam at catmanor.com Thu Dec 26 19:46:27 2002 From: moonbeam at catmanor.com (William Julien) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question Message-ID: <200212270146.gBR1kRf06165@catmanor.com> >From owner-spug-list@mail.pm.org Thu Dec 26 13:06:42 2002 >X-Authentication-Warning: mail.pm.org: majordomo set sender to owner-spug-list@pm.org using -f >Date: Thu, 26 Dec 2002 12:53:17 -0800 (PST) >From: Andrew Reid >Subject: SPUG: Sort an array question >To: spug-list@pm.org >MIME-Version: 1.0 >Content-Type: text/plain; charset=us-ascii >Sender: owner-spug-list@pm.org >Precedence: bulk >X-UIDL: Ja8"!Xi_!!J+X!!Ee_"! > >Greetings, > >While attempting to gain more meaninful employment, I >happened upon this question from a prospective >provider of opportunity. "Sort an array >alphabetically without using the Perl sort command." >This was provided by someone not familiar with Perl >but other languages and all work was shown on a white >board. I think I did OK, there were a few holes in >the code, and I decided to really give it a shot. >This works and is very close to what I provided on the >spot. > >If any of you have some free time and thoughts, I'd >appreciate them! Tell me what you think. > >Here is my program. > Although basic, this is actually a very interesting problem. There is more than one way to sort an array. Consider, for example a mixed array of numbers and characters. The standard perl sort puts a "12" before a "2". Mixed alpha and numeric elements require special handling. What is "correct", depends on the expectation of the user (programmer). I wish you luck in finding new opportunities. To help, I offer a few humble suggestions and sample code. These are issues of style, religion, and art; not science. White space is "good". It enhances the readability of the code. Divide your code into logical segments. The code below starts with a comment block with provides "who, what, when, where". This is good in a corporation when the reader needs to "kill the author". :-) What follows are a module, variable and initialization sections. Each major functional unit has a comment. I comment sections for "what is does", not "how I do it". If particular lines require explaination, I place them on the right of the line. I never comment control structures ("end for while"). If the person reading the code can't figure that out, they need to get a job in the service industry. I use the "my" scoping block to document the purpose and use of each variable. Again, this is just my style. There is no wrong way. Finally, think about ways to simplify and reduce the number of variables. The line "foreach (@array1) {$arrayCnt++;}" is not necessary since "$#array1;" provides the same answer (but zero based). General rule of thumb: When you find your "my" block filling with control variables, it's time to think if a better way. This is really important when the program starts getting large. William Julien (vi bill) Sample run: -->bubble.pl Original array: e 42 c g h z Man 2 t a 5 i 6 Cat j l 33 12 p b r q x v a Perl Sort: 12 2 33 42 5 6 Cat Man a a b c e g h i j l p q r t v x z alt Perl sort: 2 5 6 12 33 42 Cat Man a a b c e g h i j l p q r t v x z Bubble sorted: 2 5 6 12 33 42 Cat Man a a b c e g h i j l p q r t v x z Here is the code: #!/usr/bin/perl -w # # Spug sort example # # William Julien # catmanor.com # 12/26/2002 ### # # modules # use strict; # # variable declarations # my (@array, # an unsorted array @sorted, # a sorted array $i, # loop index $j, # loop index $tmp, # a temporary place ); # # initialization # @array = qw(e 42 c g h z Man 2 t a 5 i 6 Cat j l 33 12 p b r q x v a); # # print original, perl sort, and alpha/numeric sort # print "Original array:\t@array\n"; @sorted = sort @array; print "Perl Sort:\t@sorted\n"; @sorted = sort { $tmp = $a . $b; ( $tmp =~ /\D+/ ) ? $a cmp $b : $a <=> $b } @array ; print "alt Perl sort:\t@sorted\n"; # # sort array using a bubble sort # for( $i = 0; $i <= $#array; $i++ ) { for( $j = $i+1; $j <= $#array; $j++ ) { $tmp = $array[$j] . $array[$i]; # join compare elements if ( ( $tmp =~ /\D+/ ) ? # use alpha if not numeric $array[$j] lt $array[$i] : # alpha $array[$j] < $array[$i] # numeric ) { $tmp = $array[$j]; # save element $array[$j] = $array[$i]; # swap $array[$i] = $tmp; # restore element } } } # # print bubble sorted array # print "Bubble sorted:\t@array\n"; # # fin ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Fri Dec 27 03:09:23 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Damian Discount extended to 12/31 Message-ID: <20021227010923.A26356@timji.consultix-inc.com> SPUGsters, Here's the announcement sent out today to the Consultix customer mailing list, which has an update on Damian's January classes. In short, there's still time to score the huge 50% discount if you act before the year's end. See http://teachmeperl.com for more details. -Tim _____________________________________________________________________ 1) Although some thrifty shoppers have wisely registered for Damian Conway's Perl classes already, including a group on Christmas eve (!), we still have more promotional seats, so we're extending the discounts through 12/31. * Remember, only one of these classes from Damian requires skills beyond the beginner level, so this is a golden opportunity to obtain valuable basic training from a uniquely talented and knowledgeable presenter. (See http://teachmeperl.com/damian_pro.html for endorsements, and http://teachmeperl.com/janpworkshop.html for more class details). 2) Friday, 12/27, is the last day to get the EarlyBird pricing on the January "Minimal Perl" and "UNIX Fundamentals" classes. To qualify, you must register (http://teachmeperl.com/register.html) *and* provide charge card details. TITLE DATES TUITION EarlyBird Early/Full Deadline CLASSES BY: DR. DAMIAN CONWAY Practical Extraction 1/13-14 $450/$900 12/31 and Reporting ("Munging") Understanding Regexes 1/15 $225/$450 12/31 Parsing for Bioinformatics 1/15-16 $450/$900 12/31 (includes Regexes) Intermediate OO Perl 1/17 $225/$450 12/31 CLASSES BY: DR. TIM MAHER Minimal Perl 1/27 $300/$350 12/27 UNIX Fundamentals 1/28-31 $1,320/$1,420 12/27 Perl Programming 2/10-12 $1,025/$1,125 01/10 Using & Creating Modules 2/13-14 $800/$880 01/10 -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+* | MAHER CLASSES: Minimal Perl: 1/27; UNIX: 1/28; Perl: 2/10; Modules: 2/13; | | DAMIAN CLASSES: Munging: 1/13; Regexes: 1/15; BioInfo: 1/15; OOP: 1/17; | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 04:43:31 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question In-Reply-To: <200212270146.gBR1kRf06165@catmanor.com> References: <200212270146.gBR1kRf06165@catmanor.com> Message-ID: William Julien writes: [...] > $tmp = $array[$j]; # save element > $array[$j] = $array[$i]; # swap > $array[$i] = $tmp; # restore element Or, use a slice to do 3 steps in one, without need for a $tmp: @array[$i, $j] = @array[$j, $i]; This was one of the first really cool shadows of the bigger Perl animal that made me realize it's a complex beast. It does DWIM!!! -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 05:58:02 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:19 2004 Subject: DTDs vs TMTOWTDI Was: Re: SPUG: SGML the past language of.. In-Reply-To: References: Message-ID: m3047@inwa.net (Fred Morris) writes: > DTDs are the antithesis of TMTOWTDI. That is a question which can be > examined in the context of "Perl culture". I just got around to reading your discussion of TMTOWTDI vs DTD's vis-a-vis beurocracy and charisma. Thank you for an interesting perspective. I appreciated the point about software engineering being soft-ware (mushie-ware). Your suggestion of a jury listening to TMTOWTDI justifications reminds me of my early career at Bell Labs. I was young, recently degreed and married. I was on the merry-go-round. The real estate market was going up. Ergo, I built a house. (Wasn't it my duty to buy high and sell low to supplement the economy?) Because the housing market was tight, I didn't get the sharpest tool in the shed. I've got lots of stories about how bad this guy was; I'll share just a few. It literally started on day 1 - the footings weren't dug where we agreed that the house should be. To correct the siting, he hand dug makeshift footings that were over 1 foot off of level. The 2.5 inch difference in height between the left and right side of the garage doors was described as an "elliptical [sic] illusion". The floor was so far out of level and planar that I created topo maps for the homeowner warranty folks. Concrete was poured in the rain just prior to a 20F hard freeze. And when I noticed that the blueprints (yes, it was a while ago) had the furnace pipe routed through the kitchen counter, I succeeded in having it moved, but it got routed into the hallway, obstructing our ability to move furniture into the upstairs bedrooms. Horrendous. Unthinkable. He had violated standard building practices, built without specs, and disregarded the customer's request. It was so bad, verifiably bad, that we won our claim to the HOW (the Homeowner Warranty) insurance plan. Now here's the kicker. I was a MTS (Member of Technical Staff) at a world-class laboratory, known for their software development (Unix among them, but also all the software that ran the switches that carried the calls that ran the backbone that carried the messages that....was the internet). And I was getting paid big bucks. Now, here's the *real* kicker. I was doing the same thing he was. No plans. No customer accountability. No standard operating procedures. (Fred, I know you're going to SEI CMM me on this one!) I had a hard time reconsiling the fact that I was a high-paid-hack as I pointed a condemning finger at this not-so-high-paid-hack. Of course, software is a young craft compared to house construction. We don't really know what we're doing. All software is really about exploring the unknown. I know all that. We tell it to each other. And on many days I believe it. But on some days, I know that I am (we are) no better than Ralph, the inept builder. We couldn't make two programs similar enough to even try to create a cookie-cutter housing development. Michael -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Fri Dec 27 08:04:35 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:09:19 2004 Subject: SPUG: Sort an array question In-Reply-To: <20021226205317.13292.qmail@web20810.mail.yahoo.com> Message-ID: On Thu, 26 Dec 2002, Andrew Reid wrote: > While attempting to gain more meaninful employment, I > happened upon this question from a prospective > provider of opportunity. "Sort an array > alphabetically without using the Perl sort command." > [snip] I realize that you were asking for focus on the details of the implementation. But I wanted to read between the lines a little and comment on that. When I extend similar requests to potential seekers of opportunity, rarely have I been interested in the implementation. In fact, I avoid questions that require recalling algorithm specifics (I figure they're in books and modules where they belong). I'm more interested in how an individual approaches a problem. Of course, I am assuming a person with sufficient problem solving skills wouldn't be foolish enough to apply for a position involving computer programming without that tool in their toolbox. I have been caught by this assumption on one or two occasions and it is glaringly obvious. And earlier in my career, I have made the mistake of hiring people that knew a language pretty well but didn't have problem solving skills. That took a few months to untangle (because they kept cranking out code). Granted, there are programming jobs in large organizations where there is enough engineering infrastructure where a programmer can work from specifications. You will see more and more of this kind of work outsourced to other markets unless our economy adjusts. I might be a dinosaur. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From pdarley at kinesis-cem.com Fri Dec 27 12:03:29 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <200212270146.gBR1kRf06165@catmanor.com> Message-ID: William, Since you address style in your message, let me say that I agree with everything you said, but by my way of thinking, have left something out. In my opinion one of the biggest things that promotes readability is the use of long variable names. Since when I program I spend far more time sitting and thinking about how I want the program to work than I do actually typing things in, using short variable names ($i, etc.) seems like optimizing for speed of typing over ease of programming (readability). That seems a bit backward to me. When digging through other peoples code to figure out what I'm doing wrong when calling it, there's nothing more frustrating that running across something like the following lines (from Apache::DBI): my($r, $q) = @_; my(@s) = qw(); What's $r or $q? What is the @s array for? How can I call this thing correctly if I don't know what variables to pass it? I can figure out what they are, but wouldn't it be better to use a longer, more descriptive variable name? This problem gets significantly worse in the traditionally poorly documented internal tools that are often maintained by someone who didn't write them. When trying to debug old code the last thing you want to see is a line like. $i=$Namespace::h || $Namspace::n unless $o; Just my 2 cents. Thanks, Peter Darley -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of William Julien Sent: Thursday, December 26, 2002 5:46 PM To: blueovalfun@yahoo.com; spug-list@pm.org Subject: Re: SPUG: Sort an array question Although basic, this is actually a very interesting problem. There is more than one way to sort an array. Consider, for example a mixed array of numbers and characters. The standard perl sort puts a "12" before a "2". Mixed alpha and numeric elements require special handling. What is "correct", depends on the expectation of the user (programmer). I wish you luck in finding new opportunities. To help, I offer a few humble suggestions and sample code. These are issues of style, religion, and art; not science. White space is "good". It enhances the readability of the code. Divide your code into logical segments. The code below starts with a comment block with provides "who, what, when, where". This is good in a corporation when the reader needs to "kill the author". :-) What follows are a module, variable and initialization sections. Each major functional unit has a comment. I comment sections for "what is does", not "how I do it". If particular lines require explaination, I place them on the right of the line. I never comment control structures ("end for while"). If the person reading the code can't figure that out, they need to get a job in the service industry. I use the "my" scoping block to document the purpose and use of each variable. Again, this is just my style. There is no wrong way. Finally, think about ways to simplify and reduce the number of variables. The line "foreach (@array1) {$arrayCnt++;}" is not necessary since "$#array1;" provides the same answer (but zero based). General rule of thumb: When you find your "my" block filling with control variables, it's time to think if a better way. This is really important when the program starts getting large. William Julien (vi bill) Sample run: -->bubble.pl Original array: e 42 c g h z Man 2 t a 5 i 6 Cat j l 33 12 p b r q x v a Perl Sort: 12 2 33 42 5 6 Cat Man a a b c e g h i j l p q r t v x z alt Perl sort: 2 5 6 12 33 42 Cat Man a a b c e g h i j l p q r t v x z Bubble sorted: 2 5 6 12 33 42 Cat Man a a b c e g h i j l p q r t v x z Here is the code: #!/usr/bin/perl -w # # Spug sort example # # William Julien # catmanor.com # 12/26/2002 ### # # modules # use strict; # # variable declarations # my (@array, # an unsorted array @sorted, # a sorted array $i, # loop index $j, # loop index $tmp, # a temporary place ); # # initialization # @array = qw(e 42 c g h z Man 2 t a 5 i 6 Cat j l 33 12 p b r q x v a); # # print original, perl sort, and alpha/numeric sort # print "Original array:\t@array\n"; @sorted = sort @array; print "Perl Sort:\t@sorted\n"; @sorted = sort { $tmp = $a . $b; ( $tmp =~ /\D+/ ) ? $a cmp $b : $a <=> $b } @array ; print "alt Perl sort:\t@sorted\n"; # # sort array using a bubble sort # for( $i = 0; $i <= $#array; $i++ ) { for( $j = $i+1; $j <= $#array; $j++ ) { $tmp = $array[$j] . $array[$i]; # join compare elements if ( ( $tmp =~ /\D+/ ) ? # use alpha if not numeric $array[$j] lt $array[$i] : # alpha $array[$j] < $array[$i] # numeric ) { $tmp = $array[$j]; # save element $array[$j] = $array[$i]; # swap $array[$i] = $tmp; # restore element } } } # # print bubble sorted array # print "Bubble sorted:\t@array\n"; # # fin ### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From spug at ifokr.org Fri Dec 27 12:35:26 2002 From: spug at ifokr.org (Brian Hatch) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: <200212270146.gBR1kRf06165@catmanor.com> Message-ID: <20021227183526.GX13238@ifokr.org> > In my opinion one of the biggest things that promotes readability is the > use of long variable names. Since when I program I spend far more time > sitting and thinking about how I want the program to work than I do actually > typing things in, using short variable names ($i, etc.) seems like > optimizing for speed of typing over ease of programming (readability). That > seems a bit backward to me. This is true in general, but there are many cases where a short name is a good choice. $i or $j are commonly used to indicate 'index into an array', and that's just what was used in the example for( $i = 0; $i <= $#array; $i++ ) { for( $j = $i+1; $j <= $#array; $j++ ) { $tmp = $array[$j] . $array[$i]; # join compare elements You could call them 'index1' and 'index2' but that actually makes the code less readable, as the name takes up too much space to make it harder to read the 'jist' of things - comparing values inside @array. I have no problem with short names when they have a very short life expectancy. For example I'd have written the above as for my $i ( 0 .. $#array) { for my $j ( $i+1 .. $#array) { $tmp = $array[$j] . $array[$i]; # join compare elements Why? $i and $j are scoped only inside this block. No short names should be globally scoped - makes it too hard to remember what they're used for. (It's also more readable than the traditional 3-part for loop. Yes, the above is actually a foreach loop, but I am too lazy to type the four extra characters if perl doesn't care.) -- Brian Hatch "That was the law, as set down by Valen. Systems and Three castes: worker, religious, warrior. Security Engineer They build, you pray, we fight." http://www.ifokr.org/bri/ Every message PGP signed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 240 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20021227/47944dd3/attachment.bin From joneil at cobaltgroup.com Fri Dec 27 12:40:56 2002 From: joneil at cobaltgroup.com (O'neil, Jerome) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question Message-ID: > In my opinion one of the biggest things that promotes readability is > the use of long variable names. I'd agree so long as s/long/useful/g. Few things annoy me more than finding $the_variable_that_controls_the_widget_controlled_by_my_other_thingamabob = 1; Studly-cap it, and I'll jump off the nearest bridge. Readability is the #1 sign of a polished and mature coder, but for the most part, if I'm *using* Other People's Code, rather than *maintaining* it, I'd much rather have a volume of perldoc than anything else. As far as the sorting problem, I'd have a totally different answer. "If you are using Perl and you want to sort, but not with the highly useful sort function, you have architecture and managerial problems. No amount of code will help you." I hate employment "tests." -Jerome -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/spug-list/attachments/20021227/37754e87/attachment.htm From pdarley at kinesis-cem.com Fri Dec 27 13:31:49 2002 From: pdarley at kinesis-cem.com (Peter Darley) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <20021227183526.GX13238@ifokr.org> Message-ID: Brian, I disagree with this. I think that index1 and index2 are preferable to i and j. For one thing, i and j may be commonly used by 90% of people to represent indexes to arrays, but why not include something that is going to be immediately obvious to the other 10% that have some different convention that they use? The algorithm could be described as "Step through the array in order and compare the working value with the values in the array that occur after it, switching them if the compared value is lower than the working value", which leads us to the variable names of $Working and $Compare. Why not do something like: for my $Working ( 0 .. $#Array) { for my $Compare ( $Working + 1 .. $#Array) { $Temp = $Array[$Compare] . $array[$Working]; # join compare elements With operators where order makes a difference (like the . operator) it has an even bigger impact on readability, because instead of having "some element of an array . some other element of an array" we have "element of the array that we're comparing . element of the array that we're working with". I think this adds a lot to the readability. I've changed the variables to initial caps, since it helps them stand out from all the lower case reserved words. This is entirely individual preference. Anyway, as y'all can probably tell, this is a pet peeve of mine. I've put out my opinion and so I'll drop it now. :) Thanks, Peter Darley -----Original Message----- From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of Brian Hatch Sent: Friday, December 27, 2002 10:35 AM To: Peter Darley Cc: William Julien; blueovalfun@yahoo.com; spug-list@pm.org Subject: Re: A question of Style, was: SPUG: Sort an array question > In my opinion one of the biggest things that promotes readability is the > use of long variable names. Since when I program I spend far more time > sitting and thinking about how I want the program to work than I do actually > typing things in, using short variable names ($i, etc.) seems like > optimizing for speed of typing over ease of programming (readability). That > seems a bit backward to me. This is true in general, but there are many cases where a short name is a good choice. $i or $j are commonly used to indicate 'index into an array', and that's just what was used in the example for( $i = 0; $i <= $#array; $i++ ) { for( $j = $i+1; $j <= $#array; $j++ ) { $tmp = $array[$j] . $array[$i]; # join compare elements You could call them 'index1' and 'index2' but that actually makes the code less readable, as the name takes up too much space to make it harder to read the 'jist' of things - comparing values inside @array. I have no problem with short names when they have a very short life expectancy. For example I'd have written the above as for my $i ( 0 .. $#array) { for my $j ( $i+1 .. $#array) { $tmp = $array[$j] . $array[$i]; # join compare elements Why? $i and $j are scoped only inside this block. No short names should be globally scoped - makes it too hard to remember what they're used for. (It's also more readable than the traditional 3-part for loop. Yes, the above is actually a foreach loop, but I am too lazy to type the four extra characters if perl doesn't care.) -- Brian Hatch "That was the law, as set down by Valen. Systems and Three castes: worker, religious, warrior. Security Engineer They build, you pray, we fight." http://www.ifokr.org/bri/ Every message PGP signed - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tnight at pobox.com Fri Dec 27 13:46:40 2002 From: tnight at pobox.com (Terry Nightingale) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: Message-ID: <3E0CAE20.5000308@pobox.com> I'm usually not very vocal on SPUG, but since the topic has turned to coding style, I'll chime in with my $0.02: Seeing as how Larry Wall is both a brilliant engineer and a linguist, the "There's More Than One Way To Do It" aspect of Perl is, in my opinion, no accident. Because of TMTOWTDI, we can act like writers or speakers, and choose the most appropriate way to do it for our intended audience. When writing a short one-off system administration script, for example, feel free to use one-character variable names and obscure idioms in the name of getting something done as quickly as possible. Just be sure you recognize when code is truly "one-off", and not the foundation of a larger system. Much more often, your audience is "the maintenance programmer who inherits this code." When writing to this audience, optimize for readability. Use descriptive (but not verbose) variable names, and comment the intent (not the mechanics) of your code. Comments are most valuable when they capture the relevant information from the "sitting and thinking" process that Peter describes. Comments should be clear, concise, and to the point. When writing code intended to be maintainable, try to keep these questions in the back of your mind: What would a maintainer understand most quickly and most easily? Another way to say it: How can I save time and frustration on the part of the maintainer? For example, you might choose a simpler, more obvious way of doing something over the elegant and perhaps more obscure method that's "cool" or demonstrates your programming prowess. Where in my code would a maintainer not understand why I wrote it this way? Comment these sections, telling why the chosen approach was chosen. Was it done for better performance? Was there a data security concern? Did you copy the code from the Foo::Bar module on CPAN because it just plain worked and saved you the time of reimplementing the same algorithm? Knowing such things really helps as a maintenance programmer. Well, I think that's at least two cents worth. Happy Holidays, everyone. Peter Darley wrote: > William, > Since you address style in your message, let me say that I agree with > everything you said, but by my way of thinking, have left something out. > In my opinion one of the biggest things that promotes readability is the > use of long variable names. Since when I program I spend far more time > sitting and thinking about how I want the program to work than I do actually > typing things in, using short variable names ($i, etc.) seems like > optimizing for speed of typing over ease of programming (readability). That > seems a bit backward to me. > When digging through other peoples code to figure out what I'm doing wrong > when calling it, there's nothing more frustrating that running across > something like the following lines (from Apache::DBI): > > my($r, $q) = @_; > my(@s) = qw(
DatasourceUsername
); > > What's $r or $q? What is the @s array for? How can I call this thing > correctly if I don't know what variables to pass it? I can figure out what > they are, but wouldn't it be better to use a longer, more descriptive > variable name? This problem gets significantly worse in the traditionally > poorly documented internal tools that are often maintained by someone who > didn't write them. When trying to debug old code the last thing you want to > see is a line like. > > $i=$Namespace::h || $Namspace::n unless $o; > > Just my 2 cents. > Thanks, > Peter Darley > > -----Original Message----- > From: owner-spug-list@pm.org [mailto:owner-spug-list@pm.org]On Behalf Of > William Julien > Sent: Thursday, December 26, 2002 5:46 PM > To: blueovalfun@yahoo.com; spug-list@pm.org > Subject: Re: SPUG: Sort an array question > > Although basic, this is actually a very interesting problem. There is > more than one way to sort an array. Consider, for example a mixed array > of numbers and characters. The standard perl sort puts a "12" before a > "2". Mixed alpha and numeric elements require special handling. What is > "correct", depends on the expectation of the user (programmer). > > I wish you luck in finding new opportunities. To help, I offer a few humble > suggestions and sample code. These are issues of style, religion, and art; > not science. > > White space is "good". It enhances the readability of the code. > > Divide your code into logical segments. The code below starts with a > comment block with provides "who, what, when, where". This is good > in a corporation when the reader needs to "kill the author". :-) > What follows are a module, variable and initialization sections. > Each major functional unit has a comment. > > I comment sections for "what is does", not "how I do it". If > particular lines require explaination, I place them on the right > of the line. I never comment control structures ("end for while"). > If the person reading the code can't figure that out, they need to > get a job in the service industry. > > I use the "my" scoping block to document the purpose and use of > each variable. Again, this is just my style. There is no wrong way. > > Finally, think about ways to simplify and reduce the number of > variables. > The line "foreach (@array1) {$arrayCnt++;}" is not necessary since > "$#array1;" provides the same answer (but zero based). General rule of > thumb: When you find your "my" block filling with control variables, > it's time to think if a better way. This is really important when the > program starts getting large. > > William Julien > (vi bill) > > Sample run: > > -->bubble.pl > Original array: e 42 c g h z Man 2 t a 5 i 6 Cat j l 33 12 p b r q x v a > Perl Sort: 12 2 33 42 5 6 Cat Man a a b c e g h i j l p q r t v x z > alt Perl sort: 2 5 6 12 33 42 Cat Man a a b c e g h i j l p q r t v x z > Bubble sorted: 2 5 6 12 33 42 Cat Man a a b c e g h i j l p q r t v x z > > Here is the code: > > #!/usr/bin/perl -w > # > # Spug sort example > # > # William Julien > # catmanor.com > # 12/26/2002 > ### > > # > # modules > # > use strict; > > # > # variable declarations > # > my (@array, # an unsorted array > @sorted, # a sorted array > $i, # loop index > $j, # loop index > $tmp, # a temporary place > ); > > # > # initialization > # > @array = qw(e 42 c g h z Man 2 t a 5 i 6 Cat j l 33 12 p b r q x v a); > > # > # print original, perl sort, and alpha/numeric sort > # > print "Original array:\t@array\n"; > @sorted = sort @array; > print "Perl Sort:\t@sorted\n"; > @sorted = sort { $tmp = $a . $b; > ( $tmp =~ /\D+/ ) ? $a cmp $b : $a <=> $b > } @array ; > print "alt Perl sort:\t@sorted\n"; > > # > # sort array using a bubble sort > # > for( $i = 0; $i <= $#array; $i++ ) { > for( $j = $i+1; $j <= $#array; $j++ ) { > $tmp = $array[$j] . $array[$i]; # join compare elements > if ( ( $tmp =~ /\D+/ ) ? # use alpha if not numeric > $array[$j] lt $array[$i] : # alpha > $array[$j] < $array[$i] # numeric > ) { > $tmp = $array[$j]; # save element > $array[$j] = $array[$i]; # swap > $array[$i] = $tmp; # restore element > } > } > } > > # > # print bubble sorted array > # > print "Bubble sorted:\t@array\n"; > > # > # fin > ### > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > -- Terry Nightingale Web Developer, Philosopher, Geek "In theory, there is no difference between theory and practice. But, in practice, there is." -- Jan L.A. van de Snepscheut - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From spug at ifokr.org Fri Dec 27 14:14:04 2002 From: spug at ifokr.org (Brian Hatch) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: <20021227183526.GX13238@ifokr.org> Message-ID: <20021227201404.GY13238@ifokr.org> > for my $Working ( 0 .. $#Array) { > for my $Compare ( $Working + 1 .. $#Array) { > $Temp = $Array[$Compare] . $array[$Working]; Wait - one of the arrays is working, and the other is broken? Although I'd argue $i and $j, I'd certainly pick $index1 and $index2 over something like working/compare where I'm more confused by having variable names that don't indicate what they are (indexes into an array) and that, in this case, have alternative names that can remove any mnemonic benifits. > I've changed the variables to initial caps, since it helps them stand out > from all the lower case reserved words. This is entirely individual > preference. Everyone has an angle on capitilization vs not. Consistancy in this regard is 90% of the game. > Anyway, as y'all can probably tell, this is a pet peeve of mine. I've put > out my opinion and so I'll drop it now. :) Ok, I'll shut up too then. -- Brian Hatch If a turtle doesn't Systems and have a shell, is it Security Engineer homeless or naked? http://www.ifokr.org/bri/ Every message PGP signed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 240 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20021227/011d5d6f/attachment.bin From spug at ifokr.org Fri Dec 27 14:26:12 2002 From: spug at ifokr.org (Brian Hatch) Date: Wed Aug 4 00:09:19 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <3E0CAE20.5000308@pobox.com> References: <3E0CAE20.5000308@pobox.com> Message-ID: <20021227202612.GC13238@ifokr.org> > Much more often, your audience is "the maintenance programmer who > inherits this code." When writing to this audience, optimize for > readability. Use descriptive (but not verbose) variable names, and > comment the intent (not the mechanics) of your code. Comments are most > valuable when they capture the relevant information from the "sitting > and thinking" process that Peter describes. Comments should be clear, > concise, and to the point. If you write code that will be inherited by other netizens (say some CPAN code) then a clear ability for others to understand is damned important. If you are writing code that is only used by your employer, then increased obfuscation can lead to a good situation called "job security". ;-) -- Brian Hatch They assigned blank. Systems and So I read about blank. Security Engineer So now my mind is filled http://www.ifokr.org/bri/ with blank. --bree Every message PGP signed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 240 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20021227/d8121e2a/attachment.bin From bill at celestial.com Sat Dec 28 11:46:34 2002 From: bill at celestial.com (Bill Campbell) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <3E0CAE20.5000308@pobox.com>; from tnight@pobox.com on Fri, Dec 27, 2002 at 11:46:40AM -0800 References: <3E0CAE20.5000308@pobox.com> Message-ID: <20021228094633.A20815@barryg.mi.celestial.com> On Fri, Dec 27, 2002 at 11:46:40AM -0800, Terry Nightingale wrote: >I'm usually not very vocal on SPUG, but since the topic has turned to >coding style, I'll chime in with my $0.02: ... >When writing a short one-off system administration script, for example, >feel free to use one-character variable names and obscure idioms in the >name of getting something done as quickly as possible. Just be sure you >recognize when code is truly "one-off", and not the foundation of a >larger system. I have a problem with this for two reasons. First it's amazing how many times one-off programs end up used much more frequently than expected. Second, I think it's important to build good programming habits (and I type 80+ words per minute :-). As for the argument on index variables in tight loops, I tend to agree with the folks who recommend, $i, $j, $k, etc. since that's the common nomenclature used in mathematics. On a historical note, I think this is why the original IBM FORTRAN compilers had all integer variables starting with the letters [I-N] with everything else being floating point (except for Bendix Radio's Mishewaka FORTRAN where all variables were floating point, ``DO'' loops allowed fractional increments, and ``DO'' loop tests were at the beginning not the end as on IBM FORTRAN). >Much more often, your audience is "the maintenance programmer who >inherits this code." When writing to this audience, optimize for >readability. Use descriptive (but not verbose) variable names, and >comment the intent (not the mechanics) of your code. Comments are most >valuable when they capture the relevant information from the "sitting >and thinking" process that Peter describes. Comments should be clear, >concise, and to the point. The ``Maintenance Programmer'' may well be me, and I need to be able to figure out what I was doing when I wrote the code originally so meaningful variable names, and internal comments make this job much easier. Bill -- INTERNET: bill@Celestial.COM Bill Campbell; Celestial Systems, Inc. UUCP: camco!bill PO Box 820; 6641 E. Mercer Way FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676 URL: http://www.celestial.com/ ``Microsoft IIS has more holes than a wheel of Swiss Cheese after a shotgun blast'' -- John Dvorak - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From glyph at mac.com Sat Dec 28 14:06:05 2002 From: glyph at mac.com (Geoffrey & Kristin Grosenbach) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <20021227202612.GC13238@ifokr.org> Message-ID: On Friday, December 27, 2002, at 12:26 PM, Brian Hatch wrote: > > If you are writing code that is only used by your employer, then > increased obfuscation can lead to a good situation called "job > security". *cold chill creeps up the back of my neck* In the Tao of Programming it is written: "Though a program be but three lines long, someday it will have to be maintained." I've spent the last month rewriting a whole Perl-based system because it was so obfuscated. (Okay, it was also failing to fulfill the purposes for which it was originally written, but obfuscation was one of the reasons for the rewrite). The people before me had either left with short notice, or were fired. I'm not hoping to lose my job, but I do hope to leave a better system for those who follow by documenting and using readable code (which often uses short variable names, but with comments). And what about POD? I'm surprised at how many Perl programmers I meet who don't know anything about POD (maybe I should volunteer to give a lightning talk on my favorite ways to use POD). It may not be as automatic as JavaDoc or some other in-code documentation systems, but it's built into the Perl interpreter and there are a lot of translators that can work with it. A friend of mine says: "A good programmer can recognize well-written code from 50 feet away." (He must have really good eyesight). Geoff http://www.GeoffreyGrosenbach.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From spug at ifokr.org Sat Dec 28 15:38:22 2002 From: spug at ifokr.org (Brian Hatch) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: <20021227202612.GC13238@ifokr.org> Message-ID: <20021228213822.GA10084@ifokr.org> > On Friday, December 27, 2002, at 12:26 PM, Brian Hatch wrote: > > > >If you are writing code that is only used by your employer, then > >increased obfuscation can lead to a good situation called "job > >security". > > *cold chill creeps up the back of my neck* That was written as a joke, of course... > A friend of mine says: > > "A good programmer can recognize well-written code from 50 feet away." Actually, I think even non programmers can tell the difference. A good combination of well chosen variable names, clean indentation, and comments should be readable by anyone in any higher level language. Certainly, good vs bad can be distinguished by anyone, even if it's not entirely obvious what it does. (Regexps for example are hard for those who don't know them, but using [:alpha:] is easier for anyone to read than [a-zA-Z] for example.) -- Brian Hatch "Gates' Law: Every 18 Systems and months, the speed of Security Engineer software halves. " http://www.ifokr.org/bri/ Every message PGP signed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 240 bytes Desc: not available Url : http://mail.pm.org/archives/spug-list/attachments/20021228/32b013af/attachment.bin From ced at carios2.ca.boeing.com Sat Dec 28 16:38:46 2002 From: ced at carios2.ca.boeing.com (ced@carios2.ca.boeing.com) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question Message-ID: <200212282238.OAA28798@carios2.ca.boeing.com> > (Regexps for example are hard for those who don't know them, > but using [:alpha:] is easier for anyone to read than [a-zA-Z] > for example.) Good point. IMO, the underutilized /x modifier leaps out too, eg, $regex = qr{ ^\[(..)/(...)/(....): # capture initial date: [29/Aug/2002 .{13}(\d+) # skip 13 char's to conn='number' \s # single space must follow (?:op=(\d+))? # capture op='number' if there (.*) # capture the rest of the line }x; instead of: $regex = qr{^\[(..)/(...)/(....).{13}(\d+)\s(?:op=(\d+))?(.*)}; rgds, -- Charles DeRykus - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 15:02:32 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: Message-ID: "Peter Darley" writes: > William, > > Since you address style in your message, let me say that I > agree with everything you said, but by my way of thinking, have left > something out. In my opinion one of the biggest things that > promotes readability is the use of long variable names. I heartily agree! It's probably my most important style point. Here's how I reason it. I'm going to type the variable *once*, but probably read it 20 times while debugging, then another few times in a few months as I maintain it. Six months from now I'll have my brain completely tapped out trying to remember (or reverse engineer) the algorithm. I can use all the hints I can get, and since I wrote the code, I give myself all the hints I can. > Since when I program I spend far more time sitting and thinking > about You said "thinking about". I'm in agreement, but use the term "reading it", since that's how I think. I like having crutches that allow me to have information in the world rather than in my head. Programming is mostly about thinking. I give the maintenance programmer (usually me) all the thinking aids I can. [...] > my($r, $q) = @_; > my(@s) = qw(
DatasourceUsername
); I just got finished reading "Extreme Programming Explained: Embrace Change" by John Beck. This code frag brings up an important point he makes in the book about collective ownership of code, important for me, that is. I can't tell you how any times I've run across code like this, and wished I could change it. I especially hate code like $value = $hash{$key} how 'bout $party_date = $birthday{$name} My pet peeve is that I've got to read the key/value line and mentally transform it into the real-world domain of names/date. And I have to do it *every* time I read it. And so does *everyone* else. Now I don't want to be so arrogant as to insinuate that the original coder *should* have done it my way. I've had too many tight deadlines, or been too distracted with way too much complexity myself. Code ends up less than perfectly readable. Now here's why I love the collective ownership of code. If I stumble across something as terrible as my($r, $q) = @_; I'm free (in fact expected) to improve it to something like this: my($name, $birthday) = @_; my($var_name, $value) = @_; my($host_name, $IP_address) = @_; In the past, I've always felt disempowered by the ownership issues. My insights had been prevented from increasing the quality of the collective knowledge (say "code base"). With collective code ownership, I'm completely empowered to share my wisdom by rewriting any of the code. AND (and this is a huge bonus) I'm graced by the wisdom of others. None of us is as smart as all of us. I've written lots of code that gave someone else enough of a view into the problem that they were able to take it one (or three) steps better than what I originally wrote. (Of course, there's an obligation to change code for the "better", not merely for my pettty "preferences". That's a team responsibility. In fact, it's put into a check/balance situation by the pair-wise programming. If *I* think it's a great idea, but I can't convince a partner, then I should either take their word for it or rethink my motivations. Of course this all goes down the tubes unless there's mutual trust and respect. I've assumed that as a given. Nothing's gonna' work without it.) I don't know how many folks were slowed down by the my($r, $q) = @_; code, but I love a system that allows the smoothing of the really rough edges -- the code that's most likely to confuse (or elucidate) further maintainers. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 15:15:44 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Sort an array question In-Reply-To: References: Message-ID: Andrew Sweger writes: > On Thu, 26 Dec 2002, Andrew Reid wrote: > > > While attempting to gain more meaninful employment, I > > happened upon this question from a prospective > > provider of opportunity. "Sort an array > > alphabetically without using the Perl sort command." > > [snip] > > I realize that you were asking for focus on the details of the > implementation. But I wanted to read between the lines a little and > comment on that. When I extend similar requests to potential seekers of > opportunity, rarely have I been interested in the implementation. In fact, > I avoid questions that require recalling algorithm specifics (I figure > they're in books and modules where they belong). I'm more interested in > how an individual approaches a problem. > > Of course, I am assuming a person with sufficient problem solving skills > wouldn't be foolish enough to apply for a position involving computer > programming without that tool in their toolbox. I have been caught by this > assumption on one or two occasions and it is glaringly obvious. And > earlier in my career, I have made the mistake of hiring people that knew a > language pretty well but didn't have problem solving skills. That took a > few months to untangle (because they kept cranking out code). In "Peopleware", DeMarco and Lister mention that on an average team, the bottom 10% can create more problems than the remaining team can fix. A managers job, in their opinion, is to remove the bottom 10% so that the middle few can do digital ditch digging (my words) and the cream at the top can lead. It's a managers job to find out what that bottom 10% *can* do well, since it's not coding. Finding the right fit for the right person is *key*. Just a little bit of sewage in a large vat of good wine *isn't* slightly less tasty wine. > Granted, there are programming jobs in large organizations where there is > enough engineering infrastructure where a programmer can work from > specifications. You will see more and more of this kind of work outsourced > to other markets unless our economy adjusts. I don't get what you're pointing at here. Outsourced where? What adjustments would prevent/encourage the outsourcing? What's left *in* when the remainder is *out*? > I might be a dinosaur. I'm sure you are! How many Moores' Law periods have you been in this business? It's amazing that anybody's brain can keep up. It's like starting a career in the bronze age and living through to the industrial revolution. How much of your original tasks look similar? But the real question is "Can you change?". Make sure you keep the *good* parts when you do!!!! :-) -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 16:17:59 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <20021227183526.GX13238@ifokr.org> References: <200212270146.gBR1kRf06165@catmanor.com> <20021227183526.GX13238@ifokr.org> Message-ID: Brian Hatch writes: > for my $i ( 0 .. $#array) { > for my $j ( $i+1 .. $#array) { > $tmp = $array[$j] . $array[$i]; # join compare elements> > Why? $i and $j are scoped only inside this block. While I agree with the short variable names, beware the depricated $#array syntax. It's not too well known and it's going away. That's two strikes against it in my book. Since I don't really like this off-by-one syntax, for my $i ( 0 .. @array-1) { for my $j ( $i+1 .. @array-1) { my personal preference would be to go with the 3-part for for (my $i = 0; $i < @array; $i++) { for (my $j = $i+1; $j < @array; $j++) { since it's such a well-known idiom. AND -- I do like your exploration of the seemingly simpler syntax. The following just *looks* like "for $ getting the legal indices of @array" (except that the end-point is grotty). for my $i ( 0 .. @array-1) { -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 16:40:18 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: Message-ID: "Peter Darley" writes: > Brian, > > I disagree with this. I think that index1 and index2 are > preferable to i and j. For one thing, i and j may be commonly used > by 90% of people to represent indexes to arrays, but why not include > something that is going to be immediately obvious to the other 10% > that have some different convention that they use? > > The algorithm could be described as "Step through the array in > order and compare the working value with the values in the array > that occur after it, switching them if the compared value is lower > than the working value", which leads us to the variable names of > $Working and $Compare. Why not do something like: > > for my $Working ( 0 .. $#Array) { > for my $Compare ( $Working + 1 .. $#Array) { > $Temp = $Array[$Compare] . $array[$Working]; # join compare elements > Let's compare "necessary complexity" versus "unnecessary complexity". I tend to use $i and $j when they're not really important; they're unnecessary complexity to the problem at hand. But, as Brian points out, they may be necessary complexity (or at least useful touchpoints back to the requirements), so I'd be inclined to agree with him on the $compare and $working indices (although my preference is to avoid the capitalizations -- the sigils serve that purpose for my eyes). But, the whole idea of the index is *unnecessary complexity*. It's only purpose is to get the element that we care about. We'd need it if we were working in C or C++, but this is Perl -- we don't need the index to get the element. If the only reason for the index is to get the element, don't use an index. Since this loop bases its inner loop index on the outer loop index, it's needed, therefore *necessary complexity*. But most nested loops don't work that way, and I'd posit that the following code, which removes the index, is more readable, having removed the unnecessary complexity. for my $Working ( @Array) { for my $Compare ( @Arry ) { Brain teaser: Could I rewrite the loop as intended without an index? Yes. I'm not sure if I like it any better. It seems to hide the (relatively rare) difference from the normal idiom, that the inner loop doesn't traverse the same bounds as the outer loop. for(my @working = @array; @working; undef) { my $working = shift @working; for(my @compare = @working; @compare; undef) { my $compare = shift @compare; $temp = "$compare$working"; I've eliminated indices to access array elements, but I've also introduced other scalar variables. Remove two, add two. Different! Better? Is this any better? for(my @working = @array; my $working = shift @working; undef) { for(my @compare = @working; my $compare = shift @compare; undef) { $temp = "$compare$working"; I don't think so. Having tried to eliminate the *unnecessary* complexity of the indices, I find that they help me more in this problem where it's not a complete iteration over the $i/$j pairs. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Fri Dec 27 16:41:57 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <20021227201404.GY13238@ifokr.org> References: <20021227183526.GX13238@ifokr.org> <20021227201404.GY13238@ifokr.org> Message-ID: Brian Hatch writes: [...] > Everyone has an angle on capitilization vs not. Consistancy in > this regard is 90% of the game. And as I once saw in a .signature file: If you've got concensus on 90% of the points, why quibble about the other 3%? -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Sat Dec 28 18:06:04 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: Message-ID: Geoffrey & Kristin Grosenbach writes: [...] > And what about POD? I'm surprised at how many Perl programmers I meet > who don't know anything about POD (maybe I should volunteer to give a > lightning talk on my favorite ways to use POD). I for one would like that. I know what POD *is*, have even used it on occasion, but it would sure do me good to see some other's "favorite ways". Just like this current discussion is airing folks' accumulated *practical* knowledge of _Perl_ style, you could focus us on the *practical* knowledge of _POD_ style. Like Perl, the POD syntax is pretty easy to look up in a reference book. But like any language, it's the idioms and familiar usages that become interesting and powerful communication tools. I think a lightning talk on "my favorite ways to use POD" would be very helpful to me, and the group. -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jmates at sial.org Sat Dec 28 19:36:52 2002 From: jmates at sial.org (Jeremy Mates) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: <200212270146.gBR1kRf06165@catmanor.com> <20021227183526.GX13238@ifokr.org> Message-ID: <20021229013652.GO70240@darkness.sial.org> * Michael R. Wolf [2002-12-28T16:31-0800]: > my personal preference would be to go with the 3-part for > > for (my $i = 0; $i < @array; $i++) { > for (my $j = $i+1; $j < @array; $j++) { > > since it's such a well-known idiom. More readable for the C folks, but about 60% slower than using the .. loop syntax. http://www.sial.org/code/perl/bench/for-loops.pl -- Jeremy Mates http://www.sial.org/ OpenPGP: 0x11C3D628 (4357 1D47 FF78 24BB 0FBF 7AA8 A846 9F86 11C3 D628) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From damian at conway.org Sat Dec 28 23:56:30 2002 From: damian at conway.org (Damian Conway) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Wish list for SPUG 2003? Message-ID: <3E0E8E8E.2030505@conway.org> Tim Maher wrote: > * Communal Projects * > + Brian "Ingy" Ingerson once made a valiant effort to get > some collective source-code development going in SPUG, > but then he went into exile in Canada (shortly after embracing > Python and Ruby, if memory serves; Suspicious!), and the effort > ground to a halt. Should we try to get this kind of activity > going again? If you do, Aaron Wigley says he's now ready to hand over the Llamacard project to SPUG, if you're collectively still interested. Damian - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Sun Dec 29 03:04:19 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Wish list for SPUG 2003? In-Reply-To: <3E0E8E8E.2030505@conway.org> Message-ID: Aaron, Congratulations. I've been eagerly waiting for this day. I am a big fan of HyperTalk and anything resembling it. If SPUG chooses to jump on this opportunity, I will put in what I can to the project. I will be very interested in seeing Llamacard running in Mac OS X (and everything else that runs Perl) now that Apple has dropped the ball on HyperCard. On Sun, 29 Dec 2002, Damian Conway wrote: > If you do, Aaron Wigley says he's now ready > to hand over the Llamacard project to SPUG, if you're collectively still > interested. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From m3047 at inwa.net Sun Dec 29 12:48:52 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question Message-ID: Michael R. Wolf wrote: >[...] >I just got finished reading "Extreme Programming Explained: Embrace >Change" by John Beck. This code frag brings up an important point he >makes in the book about collective ownership of code, important for >me, that is. I can't tell you how any times I've run across code >like this, and wished I could change it. I especially hate code like >[...] >In the past, I've always felt disempowered by the ownership issues. >My insights had been prevented from increasing the quality of the >collective knowledge (say "code base"). With collective code >ownership, I'm completely empowered to share my wisdom by rewriting >any of the code. In the only CMM Level 3 certified shop I've ever had the distinct and unequivocal pleasure (the one and only shop I offered to give a written letter of recommendation to if they asked) of working in, this issue was not only one of the major unresolved philosophical questions, but a practical headache for coders and release managers alike. The scoping of changes can rapidly get out of hand. For instance you may find a constant which is globally declared and imported everywhere which is only used in one place... to prove this (to yourself) you check (readonly) all kinds of things out of the code management system and comment it out. Now: do you check all of those modules back in or not? It's actually a minor change, but in terms of the metrics utilized it's a major one (look at all of these modules which have been changed!). Even changing i,j,k,l to something more meaningful can result in an arduous code review: it's not only the code you changed (presuming that you can prove objectively that the scope is limited), but the possible impact on any tools which have been developed to do various things. Writing documentation (where the existing documentation says something like "document this") can even be considered a scope change, albeit a necessary one. It's not that you simply don't do these things, it's that it's a headache for everyone; which probably means less of it gets done than "should" get done thinking of things in a long-term, high-level way. I have yet to find an SE manual anywhere which addresses this maintenance problem in a rational and deliberate fashion (with special consideration for systems which were not originally developed under the same configuration management strictures under which they are being maintained). If there's a lesson to be learned, it's that the longer this stuff stays in the code the more of a headache it is to do something about... and you don't know what's going to be part of a larger system someday, or how long that system will be maintained. (In my current "day job", one of the things I do is support commercially released software which has my name in the change logs from at least 15 years ago. Gaaah! Do you have any idea how many hands have been in it in the interim?? There's another lesson here: you may not know what piece of code will still be around in 15 years when you write it, but if any of it is any good then 15 years down the road somebody, somewhere, will be maintaining some of it.) (I hear rumors that there are still PDPs stalking the earth...) >AND (and this is a huge bonus) I'm graced by the >wisdom of others. None of us is as smart as all of us. I've written >lots of code that gave someone else enough of a view into the problem >that they were able to take it one (or three) steps better than what I >originally wrote. (Of course, there's an obligation to change code >for the "better", not merely for my pettty "preferences". That's a >team responsibility. In fact, it's put into a check/balance situation >by the pair-wise programming. If *I* think it's a great idea, but I >can't convince a partner, then I should either take their word for it >or rethink my motivations. Of course this all goes down the tubes >unless there's mutual trust and respect. I've assumed that as a >given. Nothing's gonna' work without it.) I haven't read any books on "XP". But this is the sort of thing which reinforces my general impression that XP is an item or component practice and not a software engineering methodology. Needless to say peer review, no matter how it is fostered, is a key practice and IMO&E probably the chief technique for producing that sort of holographic agreement^H^H^H^H^H^H^H^H^H consensus on "how things get done" which is found in measurably successful shops: exactly what the process is (or supporting tools involved) is far less important in the grand scheme of things than that there is a defined and universally recognized process and that peer review is part of it. (Who wants to get into a jump plane with someone who's too macho for a "pin check"?) ObPerl: So how does peer review rationalize with TMTOWTDI? Does TMTOWTDI lead to more opportunities for improvement, or does it necessitate it? Do we just take the maxim that TMTOWTDI as the equivalent of "Hey, I like the way those gloves look (and I assume they're warm, because it's cold out here!)"? Is there, practically speaking, more than one way to implement Perl5? Isn't the fact of one and only one implementation of Perl5 a result of peer review? >[from another post] >In "Peopleware", DeMarco and Lister mention[...] ;-) Who's Lister? I thought DeMarco went back to psychotherapy and left Yourdon to carry on the good fight. :-p Also off-topic, I found LARC's systems engineering handbook on-line (large PDFs): http://ldms.larc.nasa.gov/h7122-1a.pdf (and check out the LIDAR stuff) -- Fred Morris m3047@inwa.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From m3047 at inwa.net Sun Dec 29 12:48:52 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Wish list for SPUG 2003? Message-ID: Andrew Sweger wrote: >Congratulations. I've been eagerly waiting for this day. I am a big fan of >HyperTalk and anything resembling it. If SPUG chooses to jump on this >opportunity, I will put in what I can to the project. I will be very >interested in seeing Llamacard running in Mac OS X (and everything else >that runs Perl) now that Apple has dropped the ball on HyperCard. > >On Sun, 29 Dec 2002, Damian Conway wrote: > >> If you do, Aaron Wigley says he's now ready >> to hand over the Llamacard project to SPUG, if you're collectively still >> interested. I wrote a VAX Architecture HyperCard stack many years ago... ;-) I've got a paper tape calculator as a stack which I still use sporadically. Getting kind of far from perl here; sorry. -- Fred Morris m3047@inwa.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From glyph at mac.com Sun Dec 29 14:16:13 2002 From: glyph at mac.com (Geoffrey & Kristin Grosenbach) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <20021229013652.GO70240@darkness.sial.org> Message-ID: <609718A8-1B6A-11D7-9B31-0050E4C54C7E@mac.com> This is a fascinating benchmark...I had a co-worker tell me that the c-style loop was faster because Perl didn't have to keep track of the array on it's own, but he didn't have any code to back it up. I'll have to show him this one. And since we're sort of on this topic, does anyone have any recommendations for convincing co-workers that writing readable code is actually better for the company's bottom line? I can enforce coding standards for the coders I manage, but I had a conversation last week with another who said "It only takes me an extra one or two hours a week to maintain our current [obfuscated] codebase, and a rewrite wouldn't gain us any more than one or two hours a week, so it's not really worth it financially." On Saturday, December 28, 2002, at 05:36 PM, Jeremy Mates wrote: > * Michael R. Wolf [2002-12-28T16:31-0800]: >> my personal preference would be to go with the 3-part for >> >> for (my $i = 0; $i < @array; $i++) { >> for (my $j = $i+1; $j < @array; $j++) { >> >> since it's such a well-known idiom. > > More readable for the C folks, but about 60% slower than using the > .. loop syntax. > > http://www.sial.org/code/perl/bench/for-loops.pl > > -- > Jeremy Mates http://www.sial.org/ > > OpenPGP: 0x11C3D628 (4357 1D47 FF78 24BB 0FBF 7AA8 A846 9F86 11C3 D628) > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your > Email-address > For daily traffic, use spug-list for LIST ; for weekly, > spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From m3047 at inwa.net Sun Dec 29 14:40:19 2002 From: m3047 at inwa.net (Fred Morris) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question Message-ID: Geoffrey & Kristin Grosenbachwrote: >[...] >And since we're sort of on this topic, does anyone have any >recommendations for convincing co-workers that writing readable code is >actually better for the company's bottom line? Not specifically, because it varies! But I would suggest that reading in the Project Management domain would provide the tools you need to make a case. -- Fred Morris m3047@inwa.net 206.297.6344 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Sun Dec 29 16:07:39 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: <609718A8-1B6A-11D7-9B31-0050E4C54C7E@mac.com> Message-ID: On Sun, 29 Dec 2002, Geoffrey & Kristin Grosenbach wrote: > And since we're sort of on this topic, does anyone have any > recommendations for convincing co-workers that writing readable code is > actually better for the company's bottom line? CPU time is a hell of a lot cheaper than coder time nowadays. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Sun Dec 29 22:05:38 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: Message-ID: m3047@inwa.net (Fred Morris) writes: [...] > (Who wants to get into a jump plane with someone who's too macho for > a "pin check"?) Or too busy!!! I almost killed myself because I was too busy organizing a jump load. (This was jump number 330; I was no rookie.) I spent time getting all the members of our group loaded on the plane. The deadline gave me tunnel vision and I didn't get a gear check (say "peer review"). I'd routed my leg straps incorrectly. Almost fell out of a perfectly good harness and parachute on opening. I was saved by some luckily placed elastic bands!!! Said a humble prayer of thanks, drank one of the best beers of my life, left the boogie (skydiving "conference"), and didn't jump for another 9 years, though mainly due to other life changes. Cowabunga, dude!!! -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Sun Dec 29 22:38:58 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question References: <200212270146.gBR1kRf06165@catmanor.com> <20021227183526.GX13238@ifokr.org> <20021229013652.GO70240@darkness.sial.org> Message-ID: The following message is a courtesy copy of an article that has been posted to comp.lang.perl.moderated as well. Jeremy Mates writes: > * Michael R. Wolf [2002-12-28T16:31-0800]: > > my personal preference would be to go with the 3-part for > > > > for (my $i = 0; $i < @array; $i++) { > > for (my $j = $i+1; $j < @array; $j++) { > > > > since it's such a well-known idiom. > > More readable for the C folks, but about 60% slower than using the > .. loop syntax. > > http://www.sial.org/code/perl/bench/for-loops.pl Finding it hard to (intuitively) believe, and not being able to access your site, I played around with Benchmark myself. Since I'm a C programmer, my habits tend toward the familiar. I'm finding more and more that folks don't have a C background. And more and more, I'm finding that that's not just OK, it's good. I'll share the code below. I did find that C-style loops are slower than csh-style loops. In order to take the list generation out of the loop, I created an array of indices for the csh-style loop. As expected, it increased the throughput. Likewise, I pre-calculated the upper bounds for the C-style loop. It, likewise, increased the throughput, about cutting the difference between a raw C-style and a csh-style loop. And just for kicks, I proved what I already (intuitively) knew -- that getting the element directly (without using the index) is still the fastest way. Thanks for pointing me to this new piece of knowledge. Here's my benchmark code: ================================================================ #! /usr/bin/perl -w use Benchmark qw(timethese cmpthese); use constant a_len => 10_000; # How big is the array? @a = (3.14) x a_len; # A big array of pi. @a_indices = (0 .. $#a); # A cheat for generating the indices. $i = 0; # Global. Don't time 'my' autovivication. $code_hashref = { "C-ish" => sub { for ($i = 0; $i < @a; $i++) { $a[$i] = 0; } }, "csh-ish" => sub { foreach $i (0 .. $#a) { $a[$i] = 0; } }, "C cheat" => sub { for ($i = 0; $i < a_len; $i++) { $a[$i] = 0; } }, "csh nogen" => sub { foreach $i (@a_indices) { $a[$i] = 0; } }, "csh direct" => sub { foreach $i (@a) { $i = 0; } }, }; $results = timethese(0, $code_hashref); cmpthese($results); ================================================================ And its output: ================================================================ Benchmark: running C cheat, C-ish, csh direct, csh nogen, csh-ish, each for at least 3 CPU seconds... C cheat: 4 wallclock secs ( 3.09 usr + 0.00 sys = 3.09 CPU) @ 73.04/s (n=226) C-ish: 4 wallclock secs ( 3.29 usr + 0.00 sys = 3.29 CPU) @ 58.57/s (n=193) csh direct: 4 wallclock secs ( 3.28 usr + 0.00 sys = 3.28 CPU) @ 131.30/s (n=430) csh nogen: 3 wallclock secs ( 3.12 usr + 0.00 sys = 3.12 CPU) @ 86.36/s (n=269) csh-ish: 4 wallclock secs ( 3.22 usr + 0.00 sys = 3.22 CPU) @ 97.36/s (n=314) Rate C-ish C cheat csh nogen csh-ish csh direct C-ish 58.6/s -- -20% -32% -40% -55% C cheat 73.0/s 25% -- -15% -25% -44% csh nogen 86.4/s 47% 18% -- -11% -34% csh-ish 97.4/s 66% 33% 13% -- -26% csh direct 131/s 124% 80% 52% 35% -- ================================================================ -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From andrew at sweger.net Mon Dec 30 01:18:11 2002 From: andrew at sweger.net (Andrew Sweger) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Sort an array question In-Reply-To: Message-ID: On 27 Dec 2002, Michael R. Wolf wrote: > Andrew Sweger writes: > > > Granted, there are programming jobs in large organizations where there is > > enough engineering infrastructure where a programmer can work from > > specifications. You will see more and more of this kind of work outsourced > > to other markets unless our economy adjusts. > > I don't get what you're pointing at here. Outsourced where? What > adjustments would prevent/encourage the outsourcing? What's left *in* > when the remainder is *out*? Sorry. I think there will be increasing pressure for large software engineering organizations to send detailed specification-based jobs to other skill markets outside of North America. The smaller organizations will continue to rely on hero skills to get the tough jobs done (which is where creativity will continue to flourish). > > I might be a dinosaur. > > I'm sure you are! How many Moores' Law periods have you been in this > business? It's amazing that anybody's brain can keep up. It's like > starting a career in the bronze age and living through to the > industrial revolution. How much of your original tasks look similar? Not that many. Only a bit over ten periods. But I had very good mentors early on. > But the real question is "Can you change?". Make sure you keep the > *good* parts when you do!!!! :-) Change is all I know. But I also accept that I can almost be more effective as a teacher/mentor to the young and foolish (and significantly more creative) people that can replace me. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From MichaelRunningWolf at att.net Mon Dec 30 05:33:28 2002 From: MichaelRunningWolf at att.net (Michael R. Wolf) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question References: <200212270146.gBR1kRf06165@catmanor.com> <20021227183526.GX13238@ifokr.org> <20021229013652.GO70240@darkness.sial.org> <1041235359.13665.26.camel@localhost.localdomain> Message-ID: Tom Legrady writes: > > "C-ish" => sub { for ($i = 0; $i < @a; $i++for ($i = 0; $i < @a; $i++) { $a[$i] = 0; } }, > > "csh-ish" => sub { foreach $i (0 .. $#a) { $a[$i] = 0; } }, > > "C cheat" => sub { for ($i = 0; $i < a_len; $i++) { $a[$i] = 0; } }, > > "csh nogen" => sub { foreach $i (@a_indices) { $a[$i] = 0; } }, > > "csh direct" => sub { foreach $i (@a) { $i = 0; } }, > > > C-ish 58.6/s > > C cheat 73.0/s > > csh nogen 86.4/s > > csh-ish 97.4/s > > csh direct 131/s > So, at the extreme, we have a 2 1/4 / 1 improvement. ..... who > cares, unless the code is somewhere that performance is crucial. I care. I now know something about Perl that I didn't before. Seven years into using the language, I learned something about the language and about a profiling tool. I choose to share it with the group figuring that some folks would find instructive. I'd already done the work; sharing was cheap. Of course, the numbers are meant to show the performance of an almost _naked_ loop. (I left something in the body because it appeared that some Perl optomization was skewing my empty-loop results.) The _contents_ of a fleshed out loop are going to dominate the CPU time. I wouldn't choose one loop over the other based *solely* on these naked numbers. I fact, it's unlikely that I'll change any loops in the future based on these numbers. I already use the "csh direct" method, and regularly hilight the linguistic prowess of Perl by showing beginning Perl classes why the C-ish loop introduces unnecessary complexity, as you aptly point out in your comparison of the CONCEPT and SYNTAX of a foreach loop. It is my opinion, however, that the problem, as originally stated is still more readable using $i and $j in a C-ish for loop since the inner loop index is dependent on the outer loop index. My attempts at creating a foreach loop did not yeild a more readable solution. Perhaps another's perspective will. Despite it's 20% speed increase, I did *not* even entertain the following refactoring to optomize the loop: for ( my($i, $a_len) = (0, scalar(@a)) ; $i < $a_len ; $i++ ) { $a[$i] = 0; } -- Michael R. Wolf All mammals learn by playing! MichaelRunningWolf@att.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From joneil at cobaltgroup.com Mon Dec 30 10:10:43 2002 From: joneil at cobaltgroup.com (Jerome O'Neil) Date: Wed Aug 4 00:09:20 2004 Subject: A question of Style, was: SPUG: Sort an array question In-Reply-To: References: Message-ID: <20021230081043.A28548@joneil.cobaltgroup.com> On Sat, Dec 28, 2002 at 04:06:04PM -0800, Michael R. Wolf wrote: > > And what about POD? I'm surprised at how many Perl programmers I meet > > who don't know anything about POD (maybe I should volunteer to give a > > lightning talk on my favorite ways to use POD). > > I for one would like that. I know what POD *is*, have even used it on > occasion, but it would sure do me good to see some other's "favorite > ways". Just like this current discussion is airing folks' accumulated > *practical* knowledge of _Perl_ style, you could focus us on the > *practical* knowledge of _POD_ style. I've followed the folowing conventions for the last three years, and it works well for me. More importantly, it works well for the people that read and maintain my code droppings. I can't control how the thing will be maintained in the future, but I can at least facilitate easy maintenence. I've found that older versions of my stuff continue to be documented in a similar fashion, which means the anonymous maintainers are at least using the tools. It also produces an attractive API document that is usefull for demonstrating progress to your boss, or any other "don't write code" types that might have an interest. This is good. -Jerome package Foo::Bar; =pod =head1 NAME Foo::Bar A brief synopsis of Foo::Bar =head1 SYNOPSIS my $foo = new Foo::Bar; $foo->bar(); $foo->baz(); =head 1 METHODS =over 4 =item $foo->bar(); Ddescribe my method. =cut sub bar { # bar bar bar bar } =pod =item $foo->baz(); Describe my method =cut sub baz{ # baz baz baz } "The times, they are a changin'"; __END__ =back =head1 HISTORY $Author: $ $Log: $ -- Jerome O'Neil Sr Software Engineer Cobalt Professional Services 206-219-8008 If it's automotive and it's internet, it's Cobalt. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From tim at consultix-inc.com Mon Dec 30 14:15:50 2002 From: tim at consultix-inc.com (Tim Maher) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: PAUSE's pod2html broken? Message-ID: <20021230121550.A16455@timji.consultix-inc.com> SPUGsters, I'm working on my usual New Year's Resolution, of uploading some of my software to CPAN (and finally doing it this year!), and I've just run into a POD-snag. So I'm hoping somebody can tell me what's going wrong. My AUTHOR and LICENSE sections are coded specifically for the three major formatters, pod2text, pod2html, and pod2man, and in my testing using those programs, the results all come out correctly. However, when the documentation is viewed on CPAN itself, at http://search.cpan.org/author/YUMPY/Lingua-EN-Namegame-0.02/Namegame.pm, the =html segments are missing! So I'm wondering if CPAN uses a formatter with a name other than "html", which would account for my '=for html' segments being skipped. Here's the code I'm using, which works for all the indicated formatters in my testing (but note that roff calls pod2man, "for historical reasons"): =head1 AUTHOR =for roff .nf \fBTim Maher\fP \fICEO\fP, \fBConsultix\fP yumpy@cpan.org http://www.teachmeperl.com .fi =for html Tim Maher
CEO, Consultix
yumpy@cpan.org
http://www.teachmeperl.com
=for text Tim Maher CEO, Consultix yumpy@cpan.org http://www.teachmeperl.com =head1 LICENSE =for html Copyright © 2002, Timothy F. Maher. All rights reserved. =for roff Copyright \(co 2002, Timothy F. Maher. All rights reserved. =for text Copyright (c) 2002, Timothy F. Maher. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut And here's how it looks when run through pod2text: AUTHOR Tim Maher CEO, Consultix yumpy@cpan.org http://www.teachmeperl.com LICENSE Copyright (c) 2002, Timothy F. Maher. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. But here's (the text version of) how it looks on CPAN; AUTHOR LICENSE This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. And here's how it looks (which is correct) when run through pod2html on my end:

AUTHOR

Tim Maher
CEO, Consultix
yumpy@cpan.org
http://www.teachmeperl.com


LICENSE

Copyright © 2002, Timothy F. Maher. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Any ideas? -Tim *----------------------------------------------------------------------------* | Tim Maher, CEO, CONSULTIX (206) 781-UNIX; (866) DOC-PERL; (866) DOC-LINUX | | Ph.D. & JAWCAR ("Just Another White Camel Award Recipient") | | tim@consultix-inc.com teachmeunix.com teachmeperl.com teachmelinux.net | *-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+* | MAHER CLASSES: Minimal Perl: 1/27; UNIX: 1/28; Perl: 2/10; Modules: 2/13; | | DAMIAN CLASSES: Munging: 1/13; Regexes: 1/15; BioInfo: 1/15; OOP: 1/17; | *----------------------------------------------------------------------------* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jaygray at scn.org Mon Dec 30 15:32:38 2002 From: jaygray at scn.org (Jay Gray) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Wish list for SPUG 2003? In-Reply-To: Message-ID: SPUG will take ownership of the module, ship it to CPAN, and otherwise own it for you. I'll see to it this module does not slip between the cracks. -- Aaron --- The following ("LC>") is the only info I could find. Would you please forward sources + doc + notes + whatever to me, so I may start organizing it? -- Damian -- is there a CVS for general (or Monash-based) CPAN modules, or will I need to start my own / borrow from someone else? TIA Jay Gray, Seattle. http://www.csse.monash.edu.au/~annn/hons/projects1999.html LC> LC> LlamaCard LC> LC> Damian Conway [faculty sponsor, not author] LC> LC> Hypercard, Supercard, and Metacard are all hypermedia, stack-based, LC> WYSIWYG, persistent, event-driven, rapid software development LC> systems. Each provides extensive customizability through a LC> proprietory scripting language. LC> LC> The aim of this project is to create a free implementation of a LC> similar application (LlamaCard), using Perl as the scripting LC> language and various standard Perl libraries to help implement LC> the GUI, so that the entire package is platform-independent. LC> LC> Experience with one of the above applications and with Perl LC> programming would be highly advantageous. LC> PS. Uri has already told 'everyone' SPUG owns LlamaCard... ...sneaky, eh? "URI" == Uri Guttman wrote (on Wed, 12 Dec 2001 at 14:31:51 -0500 (*)): URI> now, if llamacard ever came out, i might switch to it. but i haven't URI> seen much of it since TPC4 and i heard seattle pm (spug?) took it over URI> from damian's grad student who first developed it. (*) http://archive.develooper.com/perl-trainers@perl.org/msg00328.html ---------------------------------------- On Sun, 29 Dec 2002, Fred Morris wrote: > Andrew Sweger wrote: > >Congratulations. I've been eagerly waiting for this day. I am a big fan of > >HyperTalk and anything resembling it. If SPUG chooses to jump on this > >opportunity, I will put in what I can to the project. I will be very > >interested in seeing Llamacard running in Mac OS X (and everything else > >that runs Perl) now that Apple has dropped the ball on HyperCard. > > > >On Sun, 29 Dec 2002, Damian Conway wrote: > > > >> If you do, Aaron Wigley says he's now ready > >> to hand over the Llamacard project to SPUG, if you're collectively still > >> interested. > > I wrote a VAX Architecture HyperCard stack many years ago... ;-) I've got a > paper tape calculator as a stack which I still use sporadically. > > Getting kind of far from perl here; sorry. > > -- > > Fred Morris > m3047@inwa.net > > > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org > Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL > Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address > For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest > Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From jaygray at scn.org Mon Dec 30 15:47:59 2002 From: jaygray at scn.org (Jay Gray) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: SPUG's LlamaCard module, inherited from Aaron Wigley Message-ID: Thanks to Andrew && Fred for volunteering to help with this. I'll be in touch with you, as soon as I receive the current information from Aaron. I'll announce this at the next SPUG meeting. If there are any others who are interested in helping out, it is not too late to get involved. You may show your interest in email or at the meeting (or just jump in, later, when you have time). -- Jay (jaygray@scn.org) Earlier today, I wrote: > SPUG will take ownership of the module, ship it to CPAN, and > otherwise own it for you. I'll see to it this module does not > slip between the cracks. > > -- Aaron --- The following ("LC>") is the only info I could find. > Would you please forward sources + doc + notes + > whatever to me, so I may start organizing it? > > -- Damian -- is there a CVS for general (or Monash-based) CPAN > modules, or will I need to start my own / borrow > from someone else? TIA > > Jay Gray, > Seattle > > > LC> http://www.csse.monash.edu.au/~annn/hons/projects1999.html > > LC> > LC> LlamaCard > LC> > LC> Damian Conway [faculty sponsor, not author] > LC> > LC> Hypercard, Supercard, and Metacard are all hypermedia, stack-based, > LC> WYSIWYG, persistent, event-driven, rapid software development > LC> systems. Each provides extensive customizability through a > LC> proprietory scripting language. > LC> > LC> The aim of this project is to create a free implementation of a > LC> similar application (LlamaCard), using Perl as the scripting > LC> language and various standard Perl libraries to help implement > LC> the GUI, so that the entire package is platform-independent. > LC> > LC> Experience with one of the above applications and with Perl > LC> programming would be highly advantageous. > LC> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org From damian at conway.org Mon Dec 30 16:33:02 2002 From: damian at conway.org (Damian Conway) Date: Wed Aug 4 00:09:20 2004 Subject: SPUG: Wish list for SPUG 2003? In-Reply-To: References: Message-ID: <3E10C99E.7020708@conway.org> Jay Gray wrote: > SPUG will take ownership of the module, ship it to CPAN, and > otherwise own it for you. I'll see to it this module does not > slip between the cracks. Wonderful. Thanks for stepping up, Jay. :-) > -- Damian -- is there a CVS for general (or Monash-based) CPAN > modules, or will I need to start my own / borrow > from someone else? TIA Monash certainly doesn't have such a thing (else you'd have had LlamaCard much sooner than this ;-). I'd suggest you start your own. Damian - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - POST TO: spug-list@pm.org PROBLEMS: owner-spug-list@pm.org Subscriptions; Email to majordomo@pm.org: ACTION LIST EMAIL Replace ACTION by subscribe or unsubscribe, EMAIL by your Email-address For daily traffic, use spug-list for LIST ; for weekly, spug-list-digest Seattle Perl Users Group (SPUG) Home Page: http://seattleperl.org
DatasourceUsername