From schwern at pobox.com Sun May 1 01:01:32 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sun May 1 01:01:44 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <200504301855.15343.ewilhelm@sbcglobal.net> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> Message-ID: <20050501080131.GB1099@windhund.schwern.org> Thus spake Randal Lucas > I will soon have surpassed that age at which Paul Graham asserts one > must have learned Common Lisp or have missed one's chance. The idea what one must learn big, new ideas before a certain age when your brain meats harden and become forever crystalized against new ideas like some sort of Magic Shell sundae topping is, imo, a load of crap. That said, I think what to pull out of Paul Graham's Lisp assertion is not so much about Lisp persay but about functional programming. You should learn it. Its a whole new (actually rather old) way of looking at programming much like OO is different from procedural. But it doesn't have to be Lisp. Recently Haskell [1] has gotten a lot of attention and unlike Lisp it reflects up-to-date functional programming theory and seems to have solved many of the traditional programming pains of functional code. More importantly Pugs [2], the prototype Perl 6 interpreter, is being written in Haskell. You can learn Haskell and still keep generally within the same community as Perl and work on Perl 6 all at the same time! There's bushels of low hanging fruit in Pugs such that anyone with a few weeks (hell, days) of Haskell under their belt can start doing some patching. I believe the Pugs folks recommend "The Haskell School of Expression" or "Algorithms: A Functional Progamming Approach" as well as the online "Yet Another Haskell Tutorial". Finally, to shamelessly plug Curtis' talk this month, he will be speaking on Prolog which is a representative of yet another entirely different way of programming: logic programming. [1] haskell.org/learning [2] pugscode.org From mikeraz at patch.com Sun May 1 04:52:40 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Sun May 1 04:52:50 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <20050501080131.GB1099@windhund.schwern.org> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> Message-ID: <20050501115240.GA10282@patch.com> Michael G Schwern wrote: > The idea what one must learn big, new ideas before a certain age when your > brain meats harden and become forever crystalized against new ideas like > some sort of Magic Shell sundae topping is, imo, a load of crap. You need to look into studies about language acquisition. At the right age range you can't prevent a child from picking up a new language. As one gets older it becomes more difficult. At some point it is no longer possible for a person to effectivly create new associations between sounds and vocalizations and concepts. I'm not saying that one cannot lean new concepts, but associating them with new symbols becomes more and more difficult. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: "I distrust a close-mouthed man. He generally picks the wrong time to talk and says the wrong things. Talking's something you can't do judiciously, unless you keep in practice. Now, sir, we'll talk if you like. I'll tell you right out, I'm a man who likes talking to a man who likes to talk." -- Sidney Greenstreet, _The Maltese Falcon_ From keithl at kl-ic.com Sun May 1 07:56:34 2005 From: keithl at kl-ic.com (Keith Lofstrom) Date: Sun May 1 07:44:52 2005 Subject: [Pdx-pm] Later Learning In-Reply-To: <20050501115240.GA10282@patch.com> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> <20050501115240.GA10282@patch.com> Message-ID: <20050501145634.GA16216@gate.kl-ic.com> Michael G Schwern wrote: > The idea what one must learn big, new ideas before a certain age when your > brain meats harden and become forever crystalized against new ideas like > some sort of Magic Shell sundae topping is, imo, a load of crap. On Sun, May 01, 2005 at 04:52:40AM -0700, Michael Rasmussen wrote: > You need to look into studies about language acquisition. At the right age > range you can't prevent a child from picking up a new language. As one > gets older it becomes more difficult. At some point it is no longer possible > for a person to effectivly create new associations between sounds and > vocalizations and concepts. > > I'm not saying that one cannot lean new concepts, but associating them with > new symbols becomes more and more difficult. And the truth is somewhere in between. I'm 51; I find it is about 30% more difficult to learn a computer language than when I was 18. On the other hand, what was available to learn when I was 18 were languages such as Fortran, Pascal, Prolog, Cobol, and Lisp; not useless, but not as useful as many modern languages. So what is the use of filling your mental attic with languages? Learn what you need when you need it. Learn how to learn. And learn how to WRITE at a professional level in a natural language. Those are skills you will always be able to use. (Oh, and kill your TV - it saps discipline and competes with learning time). Larry Wall is learning Japanese. The "some point it is no longer possible" for him to learn a natural language will probably be when he is 90, I'd guess.. Keith -- Keith Lofstrom keithl@keithl.com Voice (503)-520-1993 KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon" Design Contracting in Bipolar and CMOS - Analog, Digital, and Scan ICs From merlyn at stonehenge.com Sun May 1 08:33:00 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Sun May 1 08:33:11 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <20050501080131.GB1099@windhund.schwern.org> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> Message-ID: <86pswb55cj.fsf@blue.stonehenge.com> >>>>> "Michael" == Michael G Schwern writes: Michael> That said, I think what to pull out of Paul Graham's Lisp Michael> assertion is not so much about Lisp persay but about Michael> functional programming. Lisp also provides a tiny syntax, and a self-referential syntax. Lisp programs can parse themselves, and generate themselves, fairly easily. This means that meta-programming is the norm, not the exception. The "scripting langauges" (languages that provide "eval" features) can mimic some of this power as well. I think that's why Perl/Python/Ruby/et. al. are re-capturing some of the programming interest... because it's so easy to give the language the job of the boring repetitive stuff that was formerly done by fancy ugly IDEs in the 90s for languages like Java and C++. Class::DBI does a lot of subroutine writing for me. I can spell things out once, and CDBI does the right thing to write dozens of subroutines for me. I can even add new recipes for creating subroutines. This is leverage. But it's nothing new... Lisp was doing this 40 years ago. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From jeff at vpservices.com Sun May 1 09:22:56 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Sun May 1 09:25:35 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <20050501080131.GB1099@windhund.schwern.org> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> Message-ID: <42750260.3000200@vpservices.com> Michael G Schwern wrote: >Thus spake Randal Lucas > > >>I will soon have surpassed that age at which Paul Graham asserts one >>must have learned Common Lisp or have missed one's chance. >> >> > >The idea what one must learn big, new ideas before a certain age when your >brain meats harden and become forever crystalized against new ideas like >some sort of Magic Shell sundae topping is, imo, a load of crap. > Amen, brother. At 55 I can say definitively that I'm every bit as sharp as I was at 54 and a half. And also ... um, I forget exactly what it was I was going to say next but I'm sure it was relevant. Have you seen my bifocals? Personally, I think Graham must be living in Soviet Rusia beacause over here it's the other way around - the more you learn new languages, the younger you get. -- Jeff From publiustemp-pdxpm at yahoo.com Sun May 1 09:25:44 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sun May 1 09:25:59 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: 6667 Message-ID: <20050501162544.37233.qmail@web60819.mail.yahoo.com> --- Michael Rasmussen wrote: > You need to look into studies about language acquisition. At the > right age > range you can't prevent a child from picking up a new language. As > one > gets older it becomes more difficult. At some point it is no longer > possible > for a person to effectivly create new associations between sounds and > vocalizations and concepts. Sorry Michael, but this story (like the "8 glasses of water a day" story) has been passed around so much that many accept it as gospel. However, it's long been known to not be true. http://www.ncrel.org/sdrs/areas/issues/students/earlycld/ea4lk15.htm Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From jeff at vpservices.com Sun May 1 09:55:47 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Sun May 1 09:58:22 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <427507CC.7060108@vpservices.com> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> <20050501115240.GA10282@patch.com> <427507CC.7060108@vpservices.com> Message-ID: <42750A13.6070703@vpservices.com> Michael Rasmussen wrote: > Michael G Schwern wrote: > > >> The idea what one must learn big, new ideas before a certain age when >> your >> brain meats harden and become forever crystalized against new ideas like >> some sort of Magic Shell sundae topping is, imo, a load of crap. >> > > > You need to look into studies about language acquisition. Those are studies about natural language acquisition and whatever the similarities between natural language and programming languages, no one could possibly claim that programming languages are in the same ball park of complexity as natural languages. > At the right age > range you can't prevent a child from picking up a new language. As > one gets older it becomes more difficult. At some point > The point at which one loses that age advantage in language acquisition is about 5 years old, so applying it as a comparison of adults to adults is absurd. > it is no longer possible > for a person to effectivly create new associations between sounds and > vocalizations and concepts. > That is absolute bullshit. It's much easier for a young child to learn new natural languages, but I've never seen any evidence that "it is no longer possible" as an adult. This is the worst kind of FUD and I find it personally offensive. > I'm not saying that one cannot lean new concepts, but associating them > with > new symbols becomes more and more difficult. > > Really? can you name some of these studies which say that this ability is progressively degenerative with age beyond a fairly young cut-off for early childhood language acquisition? -- Jeff From ben at pdx.net Sun May 1 10:53:44 2005 From: ben at pdx.net (Ben Kirkpatrick) Date: Sun May 1 10:54:47 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <42750A13.6070703@vpservices.com> Message-ID: > Really? can you name some of these studies which say that this ability > is progressively degenerative with age beyond a fairly young cut-off for > early childhood language acquisition? In the studies I've seen, a child learning a language has a better chance of speaking it with the same accent as a native. An adult would have to spend a lot of time with a therapist to get the details correct. At the same time, there were studies that showed that an adult can actually learn a language _much_ faster than children (purely in number of hours sent). There were two factors that probably caused this, time is worth more to adults, and children know no shame. So it really means that as you age you are less likely to perfect/acquire a new language. But there is certainly no accounting for determination. As an aside, I seem to remember a story about a Hungarian gentleman who taught himself Icelandic from a single book. He wrote letters to many people in Iceland and eventually travelled there. He was received as some kind of extra-national hero for having perfect command of the language. --Ben From jeff at vpservices.com Sun May 1 11:10:44 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Sun May 1 11:13:19 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: References: Message-ID: <42751BA4.7020703@vpservices.com> Ben Kirkpatrick wrote: >>Really? can you name some of these studies which say that this ability >>is progressively degenerative with age beyond a fairly young cut-off for >>early childhood language acquisition? >> >> > >In the studies I've seen, a child learning a language has a better chance >of speaking it with the same accent as a native. An adult would have to >spend a lot of time with a therapist to get the details correct. > > Yes, I've seen studies to that effect. They are about pronunciation, not understanding and therefore are completely irrelevant to a discussion of programming languages. That is, unless you've noticed a difference in programming ability between those who pronounce "lib" as in "liberty" rather than as "library" and "bin" as in "trash bin" rather than as in "binary"? >So it really means that as you age you are less likely to perfect/acquire >a new language. But there is certainly no accounting for determination. > > Yes, that's right. And "less likely" is by definition a relative term. To make generalizations that person X is less likely to be able to learn new programming languages because they are age Y is to ignore the many more important factors such as motivation, interests, mental habits, previous learning experiences, etc. BTW, does someone have a link to where Paul Graham talks about age and programming ability? >As an aside, I seem to remember a story about a Hungarian gentleman who >taught himself Icelandic from a single book. > Someone should go arrest the guy for violating the laws of nature :-). -- Jeff From randall at sonofhans.net Sun May 1 11:44:46 2005 From: randall at sonofhans.net (Randall Hansen) Date: Sun May 1 11:45:00 2005 Subject: [Pdx-pm] Lisp class In-Reply-To: <42751BA4.7020703@vpservices.com> References: <42751BA4.7020703@vpservices.com> Message-ID: <311dfbb585a461cb2dcfeecafd549ff2@sonofhans.net> On May 1, 2005, at 11:10 AM, Jeff Zucker wrote: > BTW, does someone have a link to where Paul Graham talks about age and > programming ability? when i looked yesterday, all i found was this: "But I don't expect to convince anyone (over 25) to go out and learn Lisp."[1] i haven't read "hackers and painters," though, and i expect he says more there. r ---- 1) http://www.paulgraham.com/avg.html From schwern at pobox.com Sun May 1 12:01:51 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sun May 1 12:02:05 2005 Subject: [Pdx-pm] Later Learning In-Reply-To: <20050501145634.GA16216@gate.kl-ic.com> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> <20050501115240.GA10282@patch.com> <20050501145634.GA16216@gate.kl-ic.com> Message-ID: <20050501190151.GD1099@windhund.schwern.org> On Sun, May 01, 2005 at 07:56:34AM -0700, Keith Lofstrom wrote: > And the truth is somewhere in between. I'm 51; I find it is about 30% > more difficult to learn a computer language than when I was 18. I'm 87% sure that 62% of all statistics are made up. ;P Anyhow, once you've learned one computer language its actually EASIER to learn another because unlike human languages, computer languages are designed and relatively homogenous. Their vocabularies are tiny (20 to 200 keywords and operators) and grammars extremely regular. Even Perl, one of the most irregular computer languages out there, is nothing compared to, say, Esperanto one of the most regular human languages. The core concepts are limited: variables, functions, control statements, loops, encapsulation and scope. You no longer have to make that conceptual leap from the human way of thinking to the computer way of thinking. You can leverage your existing knowledge of other languages to pick up a new one. I couldn't possibly compare my process of learning my first language, as I'm flooded with new ideas and ways of thinking, to learning my second. Anyhow, the point is this: Don't use age as an excuse to stop learning. And oh yeah, consider learning Haskell. From publiustemp-pdxpm at yahoo.com Sun May 1 12:13:42 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sun May 1 12:13:51 2005 Subject: [Pdx-pm] Later Learning In-Reply-To: 6667 Message-ID: <20050501191342.54848.qmail@web60816.mail.yahoo.com> --- Michael G Schwern wrote: > Anyhow, the point is this: Don't use age as an excuse to stop > learning. > And oh yeah, consider learning Haskell. Prolog, damn it! Prolog! It's one of the easiest *useful* languages to learn (though I confess that mastering it can be difficult) and will do a great job of teaching someone alternate ways of looking at problems. Anyone who's curious can learn the basics at http://kti.ms.mff.cuni.cz/~bartak/prolog/index.html. It even has a Java applet that will let you test simple Prolog programs without installing Prolog. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From jeff at vpservices.com Sun May 1 12:30:01 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Sun May 1 12:32:35 2005 Subject: [Pdx-pm] Later Learning In-Reply-To: <20050501190151.GD1099@windhund.schwern.org> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> <20050501115240.GA10282@patch.com> <20050501145634.GA16216@gate.kl-ic.com> <20050501190151.GD1099@windhund.schwern.org> Message-ID: <42752E39.5040600@vpservices.com> Michael G Schwern wrote: >Don't use age as an excuse to stop learning. > Well said. What needs to be added is "don't use age as a excuse to stop hiring". The IT industry is one of the worst when it comes to age discrimination. I apologize if I've gotten a little hot about this topic, but I ran older-worker computer training programs both here in Portland and in New York city and I can assure you that age discrimination in the job market is very very real and very very destructive. -- Jeff From schwern at pobox.com Sun May 1 13:14:27 2005 From: schwern at pobox.com (Michael G Schwern) Date: Sun May 1 13:14:40 2005 Subject: [Pdx-pm] Later Learning In-Reply-To: <20050501191342.54848.qmail@web60816.mail.yahoo.com> References: <20050501191342.54848.qmail@web60816.mail.yahoo.com> Message-ID: <20050501201427.GA5337@windhund.schwern.org> On Sun, May 01, 2005 at 12:13:42PM -0700, Ovid wrote: > Prolog, damn it! Prolog! Maybe somebody should give a talk on Prolog? Hmm. Maybe they'd post about it on the Wiki so we'd know more about that talk and who's giving it and when and where to go... ;P From keithl at kl-ic.com Sun May 1 17:35:46 2005 From: keithl at kl-ic.com (Keith Lofstrom) Date: Sun May 1 17:24:05 2005 Subject: [Pdx-pm] Later Learning (2) In-Reply-To: <20050501190151.GD1099@windhund.schwern.org> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> <20050501115240.GA10282@patch.com> <20050501145634.GA16216@gate.kl-ic.com> <20050501190151.GD1099@windhund.schwern.org> Message-ID: <20050502003546.GB471@gate.kl-ic.com> On Sun, May 01, 2005 at 07:56:34AM -0700, Keith Lofstrom wrote: > And the truth is somewhere in between. I'm 51; I find it is about 30% > more difficult to learn a computer language than when I was 18. On Sun, May 01, 2005 at 12:01:51PM -0700, Michael G Schwern wrote: > I'm 87% sure that 62% of all statistics are made up. ;P KL> I'm just going by effort to result. Part of it is reflexes - I gotta forget some old ones sometimes (just because Perl uses format statements doesn't mean I must start my statements in column 6 - old Fortran joke). I think that is where the accents come in foreign language - different languages use different sequences of muscle reflexes). What slows down late-life language acquisition is what you know already, not what you can't learn. MS> > Anyhow, the point is this: Don't use age as an excuse to stop learning. KL> Absolutely. My wife started medical school at age 42. Her class at OHSU had a dozen middle-aged women in it, who were finally allowed to attend medical school after the admission rules were corrected. Those dozen women rocked the system, and captured all the academic awards. Easy to understand. They represented what could have been among the best of the previous 20 years, and that age and guile often beats youth and energy. Considering that med school involves 5000 new words of vocabulary, and learning the most complicated platform in existence (one human cell is far more complicated than the biggest supercomputer), I suppose that pretty firmly puts the kibosh on "aging stopping learning". Aging can slow learning down, though, and that is what I am referring to by a 30% slowdown. Allnighters are costly at age 50, the eyes don't focus as well, there are more connections to make to pre-existing information. Still, 70% speed is still infinitely faster than somebody who never starts, or who is undisciplined and travels in circles. I learned Pascal at 18 faster than I am learning Perl (granted that Perl is much richer), and Pascal was a relatively big step from Fortran. While I cannot pick up a new language as fast as a 18yo, I probably can get to commercial productivity faster. And *teamed* with an 18yo, the pair of us can kick some serious butt. Regards age discrimination: this is typically about power relationships. It is easier to dominate a 20yo than a 50yo, and hiring managers know that. So a 50yo has to look for places that value experience more than dominance. Unfortunately, many 50yo's still haven't grown up yet, and seek positions suitable for 20yo's (subordinate late apprenticeship, transition to independence) rather than 50yo's (leadership or counsellor, mentoring the 20yo's rather than competing with them). The life cycle is "learn, do, teach" (repeat) and organizations have little use for older folks who can't teach. Keith -- Keith Lofstrom keithl@keithl.com Voice (503)-520-1993 KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon" Design Contracting in Bipolar and CMOS - Analog, Digital, and Scan ICs From almeria at earthlink.net Sun May 1 17:51:18 2005 From: almeria at earthlink.net (Rafael Almeria) Date: Sun May 1 17:51:23 2005 Subject: [Pdx-pm] Later Learning (2) In-Reply-To: <20050502003546.GB471@gate.kl-ic.com> References: <4273D219.3030006@tercent.com> <200504301855.15343.ewilhelm@sbcglobal.net> <20050501080131.GB1099@windhund.schwern.org> <20050501115240.GA10282@patch.com> <20050501145634.GA16216@gate.kl-ic.com> <20050501190151.GD1099@windhund.schwern.org> <20050502003546.GB471@gate.kl-ic.com> Message-ID: <2a8c8f19db71ebaa4ef9c034ba15a29d@earthlink.net> > Absolutely. My wife started medical school at age 42. Her class at > OHSU had a dozen middle-aged women in it, who were finally allowed to > attend medical school after the admission rules were corrected. Those Just out of curiousity why and when were they not allowed to attend medical school? > circles. I learned Pascal at 18 faster than I am learning Perl > (granted that Perl is much richer), and Pascal was a relatively big > step from Fortran. While I cannot pick up a new language as fast > as a 18yo, I probably can get to commercial productivity faster. And > *teamed* with an 18yo, the pair of us can kick some serious butt. I would say that Perl's complexity is far greater than that of Pascal so it probably doesn't mean much that it *seems* harder to pick up Perl at your current age. Rafael From rlucas at tercent.com Mon May 2 11:32:42 2005 From: rlucas at tercent.com (Randall Lucas) Date: Mon May 2 11:33:44 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. Message-ID: <4276724A.1030703@tercent.com> My goodness, What a lot of interesting talk this query has elicited. I put my comments on the tangential issues below. But the question remains: is there a good institution in Portland where I can find a structured group class on Lisp (or for that matter, Haskell etc.)? I'm hoping to hear, "oh, call the CS department at OGI" or something of that sort. Thank you for the suggestion of finding some mentoring, but my motivation in finding a class is partly that I'd like to find some other like minded folks who are in "student" mode -- team building for entrepreneurial ventures among "woker" mode folks has been very frustrating for me, and one of my goals is to assemble my next team. As far as Prolog, what on Earth might I use this for? Graham wrote Yahoo Shopping in Lisp, but would it make sense to write the Next Big Thing in Prolog? I ultimately would like to beleive in the potential utility of the next language I undertake. WRT second language acquisition, I humbly submit that Ovid's link to the web site quoting from a 1992 "debunking" of L2 acquisition misconceptions is part of an organization advocating for education funding, etc., and that the "myths" they cite are orthogonal to the proposition put forth by Michael: namely, that there is a "point" at which part of the L2 process become much harder or impossible. From my (100-level undergrad) linguistics coursework, I recall that the specific learning capabilities that young children have that adults lack are those that deal with phonetics, not with syntax, etc. Specifically, adult L2 learners are at a huge disadvantage when it comes to correct pronunciation, and with distinguishing language-specific phonetic subtleties. As I understand it, one learns as a child to make and differentiate certain sounds as being lingusitically meaningful, and it is much harder as an adult to pick up on those sounds. Think Asian tonal languages, how northeasterners says "Mary," "merry," and "marry" differently, or euro-vowels with umlauts and such -- the reigning notion is that the door closes at some point on the ability to learn effortlessly to make and distinguish these sounds. PS -- I think Graham's point about age is not that the intellectual door closes at 25, but that Life starts to make it impractical to be really flexible and radical in digesting new things. Hard to devote yourself to late night hacking when you're trying to make VP so you can send junior to private school, etc. -- Randall Lucas DF93EAD1 Tercent, Inc / SuperSurvey Online Surveys http://www.supersurvey.com From publiustemp-pdxpm at yahoo.com Mon May 2 12:08:29 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Mon May 2 12:08:44 2005 Subject: [Pdx-pm] Later Learning In-Reply-To: 6667 Message-ID: <20050502190829.96282.qmail@web60818.mail.yahoo.com> --- Josh wrote: > Soooo, Ovid. Got a paragraph or two I can put on the kwiki? Try this on for size: The "holy grail" of computing, for many, is simply telling the computer what you want and have it figure out how to do it. Prolog is a step in this direction. And are you proud of your refactoring in Perl? Do you worship DRY? (Don't repeat yourself?) Have you ever cringed when you had to reverse map a hash to lookup something by value? This and other "forced duplication" hacks are often unecessary in Prolog. By the time the talk is done, programmers will understand why Prolog is code reuse on steroids. And despite all of that, it's probably one of the easiest languages to learn (though it can be rather hard to master.) Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From publiustemp-pdxpm at yahoo.com Mon May 2 12:18:29 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Mon May 2 12:18:42 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: 6667 Message-ID: <20050502191829.14650.qmail@unknown-209-73-178-238.yahoo.com> --- Randall Lucas wrote: > But the question remains: is > there a good institution in Portland where I can find a structured > group class on Lisp (or for that matter, Haskell etc.)? Funny how lousy we are about staying on task, eh? > As far as Prolog, what on Earth might I use this for? Graham wrote > Yahoo Shopping in Lisp, but would it make sense to write the Next Big > Thing in Prolog? I ultimately would like to beleive in the potential > utility of the next language I undertake. I sent an email giving a teaser about the talk, but to better answer the question of "what I might use this for", I'll just toss off a number of applications for which Prolog is commonly used: * Database mining * Scheduling * Embedded rules engines (Windows NT used Prolog to handle network installations) * Natural language processing * Artificial intelligence research And many more. Regrettably, because many have mistakenly viewed Prolog as something that PhDs work with on arcane projects, it's taken a long time for this language to gain traction. (There are other reasons, too, but I won't go into that right now.) Cheers, Ovid PS: If you want to read more about what Prolog is used for, http://www.ainewsletter.com/ is a free monthly e-newsletter that usually has Prolog related material. -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From tex at off.org Mon May 2 12:45:50 2005 From: tex at off.org (Austin Schutz) Date: Mon May 2 12:46:00 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: <4276724A.1030703@tercent.com> References: <4276724A.1030703@tercent.com> Message-ID: <20050502194550.GD2983@gblx.net> On Mon, May 02, 2005 at 11:32:42AM -0700, Randall Lucas wrote: > My goodness, > > What a lot of interesting talk this query has elicited. I put my > comments on the tangential issues below. But the question remains: is > there a good institution in Portland where I can find a structured group > class on Lisp (or for that matter, Haskell etc.)? I'm hoping to hear, > "oh, call the CS department at OGI" or something of that sort. > I would suggest contacting the instructors teaching the AI courses at PSU and OGI and see if they still use Lisp. I would be surprised if they did, but it wouldn't hurt to ask. They used to teach Scheme as part of the curriculum at UO but I'm not sure they still do, and that's probably out of the way a bit. You might also try searching for distance learning. > Thank you for the suggestion of finding some mentoring, but my > motivation in finding a class is partly that I'd like to find some other > like minded folks who are in "student" mode -- team building for > entrepreneurial ventures among "woker" mode folks has been very > frustrating for me, and one of my goals is to assemble my next team. > > As far as Prolog, what on Earth might I use this for? Graham wrote > Yahoo Shopping in Lisp, but would it make sense to write the Next Big > Thing in Prolog? I ultimately would like to beleive in the potential > utility of the next language I undertake. > IIRC there was a slashdot article about this where a yahoo employee commented about how the lisp stuff was a total mess and they were in the process of rewriting it. While Lisp may be (partially) the foundation for later languages, there's probably a good reason it's the computer science equivalent to Latin - which is also still taught at some universities. That's not meant to be a comment about how useful it is to learn, however. Latin is very helpful for a deeper understanding of western linguistics. Or so I hear. Austin From ptkwt at aracnet.com Mon May 2 12:54:00 2005 From: ptkwt at aracnet.com (Phil Tomson) Date: Mon May 2 12:54:11 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: <20050502194550.GD2983@gblx.net> Message-ID: On Mon, 2 May 2005, Austin Schutz wrote: > On Mon, May 02, 2005 at 11:32:42AM -0700, Randall Lucas wrote: > > My goodness, > > > > What a lot of interesting talk this query has elicited. I put my > > comments on the tangential issues below. But the question remains: is > > there a good institution in Portland where I can find a structured group > > class on Lisp (or for that matter, Haskell etc.)? I'm hoping to hear, > > "oh, call the CS department at OGI" or something of that sort. > > > > I would suggest contacting the instructors teaching the AI courses > at PSU and OGI and see if they still use Lisp. I would be surprised if they > did, but it wouldn't hurt to ask. > They used to teach Scheme as part of the curriculum at UO but I'm > not sure they still do, and that's probably out of the way a bit. > If you want to learn Robotics AND Lisp, Dr. Perkowski teaches a Robotics class (Usually in the Winter & Spring terms in the PSU ECE dept) in which he uses a good amount of Lisp (he's a big fan of Lisp). A class like that might either be a lot more than you bargained for or it might actually be a great way of learning Lisp by applying it to an interesting topic right away. Phil From almeria at earthlink.net Mon May 2 13:10:08 2005 From: almeria at earthlink.net (Rafael Almeria) Date: Mon May 2 13:10:31 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: <20050502194550.GD2983@gblx.net> References: <4276724A.1030703@tercent.com> <20050502194550.GD2983@gblx.net> Message-ID: <913bb78e278ad73bccd0ab041300ff10@earthlink.net> > IIRC there was a slashdot article about this where a yahoo employee > commented about how the lisp stuff was a total mess and they were in > the > process of rewriting it. When people complain about code being a "total mess" it's quite possibly a non-issue brought about by the fact that code is simply hard to read. Cheers, Rafael From almeria at earthlink.net Mon May 2 13:16:23 2005 From: almeria at earthlink.net (Rafael Almeria) Date: Mon May 2 13:16:35 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: References: Message-ID: <48df90914e25794fda9a16a0a2b30c55@earthlink.net> > If you want to learn Robotics AND Lisp, Dr. Perkowski teaches a > Robotics > class (Usually in the Winter & Spring terms in the PSU ECE dept) in > which > he uses a good amount of Lisp (he's a big fan of Lisp). A class > like that might either be a lot more than you bargained for or it might > actually be a great way of learning Lisp by applying it to an > interesting > topic right away. When I took that class many years ago he required Prolog and there wasn't a lot of programming involved. Most of the work was in studying various AI techniques. About 30% of the students who signed up were still around for the final so it's not a class for the faint of heart. From ptkwt at aracnet.com Mon May 2 13:34:18 2005 From: ptkwt at aracnet.com (Phil Tomson) Date: Mon May 2 13:34:35 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: <48df90914e25794fda9a16a0a2b30c55@earthlink.net> Message-ID: On Mon, 2 May 2005, Rafael Almeria wrote: > > If you want to learn Robotics AND Lisp, Dr. Perkowski teaches a > > Robotics > > class (Usually in the Winter & Spring terms in the PSU ECE dept) in > > which > > he uses a good amount of Lisp (he's a big fan of Lisp). A class > > like that might either be a lot more than you bargained for or it might > > actually be a great way of learning Lisp by applying it to an > > interesting > > topic right away. > > When I took that class many years ago he required Prolog and there > wasn't > a lot of programming involved. Most of the work was in studying various > AI techniques. About 30% of the students who signed up were still > around > for the final so it's not a class for the faint of heart. Indeed. That's why I said it could be more than you bargained for. However, if you can keep up with him and if you can adjust to his (for lack of a better term, I don't mean it negatively) ADD style you're going to learn a lot. He does tend to jump around a lot and has a lot of ideas that he wants you to try out and sometimes he's passing out these new ideas on-the-fly, off the top of his head - the man is an idea machine and a very good source of research topics. The great thing is that he tends to be very passionate about the topics he's teaching/researching so you won't likely get bored. Just make sure you get good and rested up before you take one of his classes ;-) I took his Logic Synthesis Algorithms class back in '92 and it totally changed my career direction from hardware design to EDA software. That class was a _lot_ more than I bargained for, but sometimes that's a very positive thing. I attended a talk he gave on Robotics a few weeks ago and he mentioned that they have some Lisp projects going. I'm sure if you took the class and expressed an interest in using and learning Lisp that he would be more than eager to oblige. Phil From schwern at pobox.com Mon May 2 14:23:44 2005 From: schwern at pobox.com (Michael G Schwern) Date: Mon May 2 14:24:02 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: <4276724A.1030703@tercent.com> References: <4276724A.1030703@tercent.com> Message-ID: <20050502212344.GA11232@windhund.schwern.org> On Mon, May 02, 2005 at 11:32:42AM -0700, Randall Lucas wrote: > What a lot of interesting talk this query has elicited. I put my > comments on the tangential issues below. But the question remains: is > there a good institution in Portland where I can find a structured group > class on Lisp (or for that matter, Haskell etc.)? I'm hoping to hear, > "oh, call the CS department at OGI" or something of that sort. > > Thank you for the suggestion of finding some mentoring, but my > motivation in finding a class is partly that I'd like to find some other > like minded folks who are in "student" mode -- team building for > entrepreneurial ventures among "woker" mode folks has been very > frustrating for me, and one of my goals is to assemble my next team. irc.freenode.org #perl6 is the IRC channel for Pugs development. Most of the folks working on Pugs are new to Haskell and glad to help bootstrap other folks into it. From 9nn24e402 at sneakemail.com Mon May 2 15:57:08 2005 From: 9nn24e402 at sneakemail.com (Steve Bonds) Date: Mon May 2 15:57:18 2005 Subject: [Pdx-pm] Not a syntax error? Message-ID: <20582-28270@sneakemail.com> Perl folks: While debugging a problem with a script I noticed some strange behavior from Perl. I've grown used to Perl's ability to find syntax errors to protect me from myself, but it seems to have failed in this case. Take the following test case: ----- #!/usr/local/bin/perl -w print "This is a line without a semicolon\n". exit 1; ----- It almost seems like the print line uses string concatenation to absorb the exit line-- but it doesn't. The exit line is executed properly and the above perl terminates with status 1, however the output from the print statement is never seen. This didn't generate a warning using perl 5.8.0. Should it have? -- Steve From david at kineticode.com Mon May 2 16:12:18 2005 From: david at kineticode.com (David Wheeler) Date: Mon May 2 16:12:30 2005 Subject: [Pdx-pm] Not a syntax error? In-Reply-To: <20582-28270@sneakemail.com> References: <20582-28270@sneakemail.com> Message-ID: <9E003856-BE8F-4035-B0C5-17C0EF6D6A8D@kineticode.com> On May 2, 2005, at 15:57 , Steve Bonds wrote: > ----- > #!/usr/local/bin/perl -w > print "This is a line without a semicolon\n". > exit 1; > ----- > > It almost seems like the print line uses string concatenation to > absorb the exit line-- but it doesn't. The exit line is executed > properly and the above perl terminates with status 1, however the > output from the print statement is never seen. > > This didn't generate a warning using perl 5.8.0. Should it have? The output of "exit 1" would be appended to the string sent to the print statement, but the program exits before the appending happens-- and certainly before "print" executes. Regards, David From publiustemp-pdxpm at yahoo.com Mon May 2 16:14:01 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Mon May 2 16:14:11 2005 Subject: [Pdx-pm] Not a syntax error? In-Reply-To: 6667 Message-ID: <20050502231401.47081.qmail@web60816.mail.yahoo.com> --- Steve Bonds <9nn24e402@sneakemail.com> wrote: > Perl folks: > ----- > #!/usr/local/bin/perl -w > print "This is a line without a semicolon\n". > exit 1; > ----- > > It almost seems like the print line uses string concatenation to > absorb the exit line-- but it doesn't. The exit line is executed > properly and the above perl terminates with status 1, however the > output from the print statement is never seen. > > This didn't generate a warning using perl 5.8.0. Should it have? I would be surprised if it could find anything wrong with that as the syntax is quite valid. print() is only going to print the value of the expression passed to it, but in order for perl to know what that value is, it must first evaluate the Perl. Thus, the exit is evaluated and the program exits on the spot. It's like calling exit() in the middle of a subroutine; perl wouldn't have any reason to delay the exit until subroutine completion. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From schwern at pobox.com Mon May 2 16:16:13 2005 From: schwern at pobox.com (Michael G Schwern) Date: Mon May 2 16:16:29 2005 Subject: [Pdx-pm] Not a syntax error? In-Reply-To: <20582-28270@sneakemail.com> References: <20582-28270@sneakemail.com> Message-ID: <20050502231613.GB12064@windhund.schwern.org> On Mon, May 02, 2005 at 03:57:08PM -0700, Steve Bonds wrote: > ----- > #!/usr/local/bin/perl -w > print "This is a line without a semicolon\n". > exit 1; > ----- > > It almost seems like the print line uses string concatenation to > absorb the exit line-- but it doesn't. The exit line is executed > properly and the above perl terminates with status 1, however the > output from the print statement is never seen. > > This didn't generate a warning using perl 5.8.0. Should it have? Nope. Think of it like this. my $return_from_exit = exit 1; print "This is a line without a semicolon\n". $return_from_exit; The arguments to a function are evaluated *before* the function is executed. Thus exit(1) happens before print but since exit ends the program the print never happens. From 9nn24e402 at sneakemail.com Mon May 2 16:22:10 2005 From: 9nn24e402 at sneakemail.com (Steve Bonds) Date: Mon May 2 16:22:23 2005 Subject: [Pdx-pm] Not a syntax error? In-Reply-To: <20050502231613.GB12064@windhund.schwern.org> References: <20582-28270@sneakemail.com> <20050502231613.GB12064@windhund.schwern.org> Message-ID: <29758-04995@sneakemail.com> On 5/2/05, Michael G Schwern wrote: > Think of it like this. > > my $return_from_exit = exit 1; > print "This is a line without a semicolon\n". $return_from_exit; > > The arguments to a function are evaluated *before* the function is > executed. Thus exit(1) happens before print but since exit ends the > program the print never happens. Ah, yes. This makes sense now. Thanks for the quick clarifications! -- Steve From tex at off.org Mon May 2 16:43:47 2005 From: tex at off.org (Austin Schutz) Date: Mon May 2 16:43:57 2005 Subject: [Pdx-pm] Lisp class, L2 acquisition, Prolog, etc. In-Reply-To: <913bb78e278ad73bccd0ab041300ff10@earthlink.net> References: <4276724A.1030703@tercent.com> <20050502194550.GD2983@gblx.net> <913bb78e278ad73bccd0ab041300ff10@earthlink.net> Message-ID: <20050502234347.GG2983@gblx.net> On Mon, May 02, 2005 at 01:10:08PM -0700, Rafael Almeria wrote: > > IIRC there was a slashdot article about this where a yahoo employee > >commented about how the lisp stuff was a total mess and they were in > >the > >process of rewriting it. > > When people complain about code being a "total mess" it's quite > possibly a non-issue brought about by the fact that code is simply > hard to read. > This is true, and it's probably in part from my own paraphrasing. The reason for switching over seems to be in dispute amongst the people involved. Also if it were a mess that is not necessarily the language's fault. I also admit a personal bias: the lisp code I've seen involves such an extreme use of parentheses it doesn't _look_ practical or maintainable to my eyes. As far as functionality, I've done a fair bit of programming in RPN which is a bit like Lisp but without the parentheses and backwards. Pretty handy for some stuff, but I can't imagine using it like the swiss army knife perl is. But then again, a swiss army knife isn't too handy when you want a table saw .. Austin From perl-pm at joshheumann.com Tue May 3 15:24:20 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue May 3 15:24:34 2005 Subject: [Pdx-pm] Meeting Next Week Message-ID: <42401.130.94.160.138.1115159060.squirrel@joshheumann.com> May Meeting Wednesday May 11th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave Ovid, talking about Prolog The "holy grail" of computing, for many, is simply telling the computer what you want and have it figure out how to do it. Prolog is a step in this direction. And are you proud of your refactoring in Perl? Do you worship DRY? (Don't repeat yourself?) Have you ever cringed when you had to reverse map a hash to lookup something by value? This and other "forced duplication" hacks are often unecessary in Prolog. By the time the talk is done, programmers will understand why Prolog is code reuse on steroids. And despite all of that, it's probably one of the easiest languages to learn (though it can be rather hard to master.) Afterwards, as always, beer at the Lucky Lab! ======================================================== We'll also be talking about shirts next week, and probably voting on which design we want on our shirt. Options are on the kwiki: http://pdx.pm.org/kwiki/index.cgi?shirts2005 If you have a design you want to get into the running, send it to me before the meeting next week. Josh From raa at mailporter.net Tue May 3 16:39:31 2005 From: raa at mailporter.net (Roderick A. Anderson) Date: Tue May 3 16:39:45 2005 Subject: [Pdx-pm] CGI.pm -- names verses ids Message-ID: <42780BB3.8010900@mailporter.net> While going over a form and trying to get the document "more" XHTML-ish I realized I'm confused or uninformed of how a browser ( is suppose to ) passes form information to a CGI script if there is no name attribute for the element -- input, select, etc? Not to mention it is getting rather tedious typing both a name and id attribute for almost every form element. So what is suppose to happen when I click [Submit] on my form and I only have an id attribute for an element? I have plan but I'm hoping for an already thought-out/official solution. Cheers, Rod -- --- [This E-mail scanned for viruses by Declude Virus] From randall at sonofhans.net Tue May 3 17:09:14 2005 From: randall at sonofhans.net (Randall Hansen) Date: Tue May 3 17:09:29 2005 Subject: [Pdx-pm] CGI.pm -- names verses ids In-Reply-To: <42780BB3.8010900@mailporter.net> References: <42780BB3.8010900@mailporter.net> Message-ID: <1e1b1556722c9e75deb353a05f041835@sonofhans.net> On May 3, 2005, at 4:39 PM, Roderick A. Anderson wrote: > Not to mention it is getting rather tedious typing both a name and id > attribute for almost every form element. it is a little tedious; hard to avoid, though. "id" is a unique identifier for the element in the document (in short, a DOM id). even if you don't use any style sheets or active scripting, "id" is useful for labels. "name" is the control name for the associated control (e.g. an input box); it does not need to be unique. > So what is suppose to happen when I click [Submit] on my form and I > only have an id attribute for an element? according to the spec[1], nothing. for a control to be "successful" (a term of art, in this case) a name is required. r ---- 1) http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 From david at kineticode.com Tue May 3 17:15:08 2005 From: david at kineticode.com (David Wheeler) Date: Tue May 3 17:15:17 2005 Subject: [Pdx-pm] CGI.pm -- names verses ids In-Reply-To: <1e1b1556722c9e75deb353a05f041835@sonofhans.net> References: <42780BB3.8010900@mailporter.net> <1e1b1556722c9e75deb353a05f041835@sonofhans.net> Message-ID: <62B545CD-99B4-488B-8BF8-777684C7E8FE@kineticode.com> On May 3, 2005, at 17:09 , Randall Hansen wrote: > it is a little tedious; hard to avoid, though. "id" is a unique > identifier for the element in the document (in short, a DOM id). > even if you don't use any style sheets or active scripting, "id" is > useful for labels. "name" is the control name for the associated > control (e.g. an input box); it does not need to be unique. The "name" attribute has been deprecated in XHTML 1.1 for certain tags (e.g., ). Cheers, David -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2369 bytes Desc: not available Url : http://mail.pm.org/pipermail/pdx-pm-list/attachments/20050503/bbeb3e3c/smime.bin From randall at sonofhans.net Tue May 3 17:28:14 2005 From: randall at sonofhans.net (Randall Hansen) Date: Tue May 3 17:28:23 2005 Subject: [Pdx-pm] CGI.pm -- names verses ids In-Reply-To: <62B545CD-99B4-488B-8BF8-777684C7E8FE@kineticode.com> References: <42780BB3.8010900@mailporter.net> <1e1b1556722c9e75deb353a05f041835@sonofhans.net> <62B545CD-99B4-488B-8BF8-777684C7E8FE@kineticode.com> Message-ID: On May 3, 2005, at 5:15 PM, David Wheeler wrote: > The "name" attribute has been deprecated in XHTML 1.1 for certain tags > (e.g., ). as long as we're being pedantic :), it's actually deprecated[1] XHTML 1.0 for several elements. in XHTML 1.1 it's flat-out removed[2] from and . r ---- 1) http://www.w3.org/TR/xhtml1/#h-4.10 2) http://www.w3.org/TR/xhtml11/changes.html From nix at petelancashire.com Sat May 7 14:06:12 2005 From: nix at petelancashire.com (Pete Lancashire) Date: Sat May 7 14:06:27 2005 Subject: [Pdx-pm] NEWBIE question - Am i making this too complex parsing HTML Message-ID: <1115499971.5490.97.camel@l1.pdxeng.com> I have a URL that returns two MAPs. I need to extract all the HREFs from one of the maps. The one with the name 'region'. What I came up with is: #!/usr/local/bin/perl use warnings; use strict; $|++; my $VERSION = "0.01"; use LWP; use HTML::TokeParser::Simple; # using LWP instead of Simple for future needs my $browser = LWP::UserAgent->new; my $url = "http://www.undeerc.org/wind/winddb"; my $response = $browser->get( $url ); die "Can’t get $url -- ", $response->status_line unless $response->is_success; my $content = $response->content; $content =~ s/\r//g; my $p=HTML::TokeParser::Simple->new(\$content); my ($href, $token); while ( $token = $p->get_token ) { if ( $token->is_start_tag('map') && ( $token->get_attr('name') eq 'region' ) ) { until ($token->is_end_tag('map') ) { $token = $p->get_token; if ($token->is_start_tag('area') ) { $href = $token->get_attr('href'); print "HREF:$href\n"; } } last; } } TIA -pete From publiustemp-pdxpm at yahoo.com Sat May 7 16:00:09 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat May 7 16:00:17 2005 Subject: [Pdx-pm] NEWBIE question - Am i making this too complex parsing HTML In-Reply-To: 6667 Message-ID: <20050507230009.10137.qmail@unknown-209-73-178-235.yahoo.com> Hi Pete, That seems like some fairly nice code for a newbie. (Are you sure you're a newbie?) > use LWP; > use HTML::TokeParser::Simple; > > # using LWP instead of Simple for future needs > my $browser = LWP::UserAgent->new; > my $url = "http://www.undeerc.org/wind/winddb"; > > my $response = $browser->get( $url ); > die "Can’t get $url -- ", $response->status_line > unless $response->is_success; > > my $content = $response->content; > > $content =~ s/\r//g; > > my $p=HTML::TokeParser::Simple->new(\$content); I noticed you mention that you need LWP. If you can explain what features you need beyond LWP::Simple, I can see what I can do about expaning HTML::TokeParser::Simple to incorporate those needs, perhaps by allowing you to pass a callback that will fetch the HTML for you. In the meantime, if LWP::Simple were sufficient (though it sounds like it might not be), the following will accomplish what you have: use HTML::TokeParser::Simple 3.13; my $p = HTML::TokeParser::Simple->new(url => $url) or die $!; > my ($href, $token); > > while ( $token = $p->get_token ) { > if ( $token->is_start_tag('map') && ( $token->get_attr('name') eq > 'region' ) ) { > until ($token->is_end_tag('map') ) { > $token = $p->get_token; > if ($token->is_start_tag('area') ) { > $href = $token->get_attr('href'); > print "HREF:$href\n"; > } > } > last; > } > } Remember that HTML::TokeParser::Simple is a subclass of HTML::TokeParser, so the methods in the latter still work. In particular, you can call "get_tag" with a tag name to jump straight to it (though you need to be careful not to overshoot other tags that are important.) Here's how I might write that, though I'm not sure it's much bettter. while (my $token = $p->get_tag('map')) { until ($token->is_end_tag('map')) { $token = $p->get_tag or last; # out of HTML next unless $token->is_start_tag('area'); my $href = $token->get_attr('href') or next; print "HREF: $href\n"; } } Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From andy at petdance.com Sat May 7 16:25:14 2005 From: andy at petdance.com (Andy Lester) Date: Sat May 7 16:25:27 2005 Subject: [Pdx-pm] NEWBIE question - Am i making this too complex parsing HTML In-Reply-To: <1115499971.5490.97.camel@l1.pdxeng.com> References: <1115499971.5490.97.camel@l1.pdxeng.com> Message-ID: <85811fda21dc28c8ea5422ee1b8f674f@petdance.com> On May 7, 2005, at 4:06 PM, Pete Lancashire wrote: > I have a URL that returns two MAPs. I need to extract > all the HREFs from one of the maps. The one with the > name 'region'. What I came up with is: Look at WWW::Mechanize. It's a superclass of LWP::UserAgent that does lots of common stuff for you. I believe you can do: my $mech = WWW::Mechanize->new( autocheck=>1 ); $mech->get( $url ); my @links = $mech->find_links( tag => "map" ); It's been a while since I've worked on Mech. Maybe this is a sign. xoa -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From nix at petelancashire.com Sat May 7 17:33:05 2005 From: nix at petelancashire.com (Pete Lancashire) Date: Sat May 7 17:33:15 2005 Subject: [Pdx-pm] NEWBIE question - Am i making this too complex parsing HTML In-Reply-To: <20050507230009.10137.qmail@unknown-209-73-178-235.yahoo.com> References: <20050507230009.10137.qmail@unknown-209-73-178-235.yahoo.com> Message-ID: <1115512385.5490.123.camel@l1.pdxeng.com> On Sat, 2005-05-07 at 16:00, Ovid wrote: > Hi Pete, > > That seems like some fairly nice code for a newbie. (Are you sure > you're a newbie?) I consider myself new, I guess about 1K lines of Perl total. And this is a snippet of my first 'real' Perl programs vs. the may 1-20 line scripts, and my first pass at using all the debug, warning, strict etc. > I noticed you mention that you need LWP. If you can explain what > features you need beyond LWP::Simple, I can see what I can do about > expaning HTML::TokeParser::Simple to incorporate those needs, perhaps > by allowing you to pass a callback that will fetch the HTML for you. The program this is from (I was doing my own parsing up to now) a program that queries the same server with URL's, that have been created from parsing Forms. I got tired of writing comments "# this needs to be done by a HTML parser". It could vary will be that ::Simple will work, fingers crossed. The next URL will my to have a cookie or two. > > In the meantime, if LWP::Simple were sufficient (though it sounds like > it might not be), the following will accomplish what you have: > > use HTML::TokeParser::Simple 3.13; > my $p = HTML::TokeParser::Simple->new(url => $url) or die $!; > > > my ($href, $token); > > > > while ( $token = $p->get_token ) { > > if ( $token->is_start_tag('map') && ( $token->get_attr('name') eq > > 'region' ) ) { > > until ($token->is_end_tag('map') ) { > > $token = $p->get_token; > > if ($token->is_start_tag('area') ) { > > $href = $token->get_attr('href'); > > print "HREF:$href\n"; > > } > > } > > last; > > } > > } > > Remember that HTML::TokeParser::Simple is a subclass of > HTML::TokeParser, so the methods in the latter still work. In > particular, you can call "get_tag" with a tag name to jump straight to > it (though you need to be careful not to overshoot other tags that are > important.) Here's how I might write that, though I'm not sure it's > much bettter. > > while (my $token = $p->get_tag('map')) { > until ($token->is_end_tag('map')) { > $token = $p->get_tag or last; # out of HTML > next unless $token->is_start_tag('area'); > my $href = $token->get_attr('href') or next; > print "HREF: $href\n"; > } > } > > Cheers, > Ovid Thanks for the reply -pete From merlyn at stonehenge.com Sat May 7 18:18:11 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Sat May 7 18:18:21 2005 Subject: [Pdx-pm] NEWBIE question - Am i making this too complex parsing HTML In-Reply-To: <85811fda21dc28c8ea5422ee1b8f674f@petdance.com> References: <1115499971.5490.97.camel@l1.pdxeng.com> <85811fda21dc28c8ea5422ee1b8f674f@petdance.com> Message-ID: <86k6may0q4.fsf@blue.stonehenge.com> >>>>> "Andy" == Andy Lester writes: Andy> Look at WWW::Mechanize. It's a superclass of LWP::UserAgent that does Andy> lots of common stuff for you. s/superclass/subclass/ Or maybe "derived class". superclass is "a class that this class inherits from" -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From andy at petdance.com Sat May 7 18:54:45 2005 From: andy at petdance.com (Andy Lester) Date: Sat May 7 18:54:59 2005 Subject: [Pdx-pm] NEWBIE question - Am i making this too complex parsing HTML In-Reply-To: <86k6may0q4.fsf@blue.stonehenge.com> References: <1115499971.5490.97.camel@l1.pdxeng.com> <85811fda21dc28c8ea5422ee1b8f674f@petdance.com> <86k6may0q4.fsf@blue.stonehenge.com> Message-ID: > s/superclass/subclass/ You know, it would have been shorter as s/per/b/. Yes, I know the difference. My mistake. -- Andy Lester => andy@petdance.com => www.petdance.com => AIM:petdance From perl-pm at joshheumann.com Mon May 9 10:00:56 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon, 9 May 2005 10:00:56 -0700 (PDT) Subject: [Pdx-pm] May Meeting Wednesday Message-ID: <36855.130.94.161.230.1115658056.squirrel@joshheumann.com> May Meeting Wednesday May 11th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave Ovid, talking about Prolog The "holy grail" of computing, for many, is simply telling the computer what you want and have it figure out how to do it. Prolog is a step in this direction. And are you proud of your refactoring in Perl? Do you worship DRY? (Don't repeat yourself?) Have you ever cringed when you had to reverse map a hash to lookup something by value? This and other "forced duplication" hacks are often unecessary in Prolog. By the time the talk is done, programmers will understand why Prolog is code reuse on steroids. And despite all of that, it's probably one of the easiest languages to learn (though it can be rather hard to master.) Afterwards, as always, beer at the Lucky Lab! ======================================================== We'll also be talking about shirts at the meeting, and probably voting on which design we want on our shirt. Options are on the kwiki: http://pdx.pm.org/kwiki/index.cgi?shirts2005 If you have a design you want to get into the running, send it to me before the meeting. Josh From perl-pm at joshheumann.com Tue May 10 11:25:30 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 10 May 2005 11:25:30 -0700 (PDT) Subject: [Pdx-pm] [Fwd: O'Reilly Open Source Convention "Locals Only" UG Discount] Message-ID: <39769.130.94.161.230.1115749530.squirrel@joshheumann.com> -------- Original Message -------- Subject: O'Reilly Open Source Convention "Locals Only" UG Discount From: Marsee Henon Date: Tue, May 10, 2005 10:56 am Hi UG Leader, The O'Reilly Open Source Convention (OSCON) is returning to Portland, Oregon. Once again we're offering a special discount to the locals-- User Group members in Oregon and Washington. With this "locals only" discount, your members get 20% off of OSCON registration. Anyone who registers by June 13 gets a double discount--20% off of the early registration price. After the June 13, your members receive 20% off the regular conference pricing. Use code os05porug when you register online: To register, go to: http://conferences.oreillynet.com/cs/os2005/create/ord_os05 O'Reilly Open Source Convention Oregon Convention Center 777 N. E. Martin Luther King Jr. Blvd Portland, Oregon 97212 August 1- 5, 2005 http://conferences.oreilly.com/oscon/ We also need help getting the OSCON wiki up to speed. Now is your chance to share your projects, local hangouts & advice with other OSCON attendees. http://wiki.oreillynet.com/oscon/index.cgi Please let your members know! Marsee ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Marsee Henon O'Reilly 1005 Gravenstein Highway North Sebastopol, CA 95472 707-827-7103 800-998-9938 Fax 707-829-0104 marsee at oreilly.com http://ug.oreilly.com/ http://www.oreilly.com/ http://conferences.oreilly.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From raa at mailporter.net Tue May 10 14:58:11 2005 From: raa at mailporter.net (Roderick A. Anderson) Date: Tue, 10 May 2005 14:58:11 -0700 Subject: [Pdx-pm] perl exit value Message-ID: <42812E73.2000003@mailporter.net> I'm writing a script ( that will be converted to an .exe -- perl2exe ) that is called by Windows program. The specification , what there is if it , wants one of three values returned -- 10, 1, 0. The C code I'm basing it on uses a return X and since it has been years since I did any C and never on a Windows system I can't remember or find via a web search if the perl exit command would provide the same functionality. That is , if I exit 10 _should_ the calling program get a 10 as the returned value? TIA, Rod -- --- [This E-mail scanned for viruses by Declude Virus] From ajsavige at yahoo.com.au Tue May 10 15:09:04 2005 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Wed, 11 May 2005 08:09:04 +1000 (EST) Subject: [Pdx-pm] perl exit value In-Reply-To: 6667 Message-ID: <20050510220904.36406.qmail@web50809.mail.yahoo.com> --- "Roderick A. Anderson" wrote: > That is , if I exit 10 _should_ the calling program get a 10 as the > returned value? Yes. The only thing to watch out for is that exit code is typically a single byte in the OS process table and so is limited to 0-255. /-\ Find local movie times and trailers on Yahoo! Movies. http://au.movies.yahoo.com From glim at mycybernet.net Tue May 10 20:11:00 2005 From: glim at mycybernet.net (Gerard Lim) Date: Tue, 10 May 2005 23:11 -0400 Subject: [Pdx-pm] Yet Another Perl Conference final details Message-ID: Hi everyone... There have been some recent developments on the YAPC::NA front, and it has been suggested to us that a reminder might be helpful to some people, so here's a quick summary of the event. Summary ------- YAPC::NA 2005 (Yet Another Perl Conference, North America) in Toronto, Canada, Monday - Wednesday 27 - 29, June 2005 Home page: http://yapc.org/America/ Conference Location: http://89chestnut.com/ A facility of the University of Toronto Accommodations -------------- Normally registration information would come first, but accommodations are the bottleneck -- our main group reservation (at the conference hotel) expires at the end of the week, and as the conference approaches it will be extremely difficult to find a hotel anywhere in the city. Info on how to book at: http://yapc.org/America/accommodations-2005.shtml Registration ------------ Register now! :-) We are on track to break attendance records at YAPC::NA this year, and we could even sell out before the conference starts. The price for the full 3 days is USD$85. We keep it insanely low through many generous sponsorships and the all-volunteer organizational and speaking crews. Registration info: http://yapc.org/America/register-2005.shtml Direct registration link: http://donate.perlfoundation.org/index.pl?node=registrant%20info&conference_id=423 Conference Speaking Schedule ---------------------------- We've got an excellent selection of talks and speakers for Perl programmers of all levels, beginner through expert. We are fortunate enough to have presentations coming from some of the most recognizable names in Perl programming today, including Larry Wall, Chip Salzenberg, Dan Sugalski, Autrijus Tang and brian d foy. Summary -- http://yapc.org/America/schedule-2005/summary.html Day 1 -- http://yapc.org/America/schedule-2005/day1.html Day 2 -- http://yapc.org/America/schedule-2005/day2.html Day 3 -- http://yapc.org/America/schedule-2005/day3.html Lightning Talks --------------- These short (5 minutes each) talks, presented by the conference attendees, are a YAPC tradition. If you're interested please read more about them and sign up: http://www.justanotherperlhacker.org/lightning/ [ This message was sent by Gerard Lim on behalf of the YAPC::NA 2005 Conference organizing committee of the Toronto Perl Mongers. Thanks for your patience and support. ] From perl-pm at joshheumann.com Wed May 11 09:03:13 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 11 May 2005 09:03:13 -0700 (PDT) Subject: [Pdx-pm] May Meeting Tonight Message-ID: <41606.130.94.161.230.1115827393.squirrel@joshheumann.com> May Meeting Wednesday May 11th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave Ovid, talking about Prolog The "holy grail" of computing, for many, is simply telling the computer what you want and have it figure out how to do it. Prolog is a step in this direction. And are you proud of your refactoring in Perl? Do you worship DRY? (Don't repeat yourself?) Have you ever cringed when you had to reverse map a hash to lookup something by value? This and other "forced duplication" hacks are often unecessary in Prolog. By the time the talk is done, programmers will understand why Prolog is code reuse on steroids. And despite all of that, it's probably one of the easiest languages to learn (though it can be rather hard to master.) Afterwards, as always, beer at the Lucky Lab! ======================================================== We'll also be talking about shirts at the meeting, and probably voting on which design we want on our shirt. Options are on the kwiki: http://pdx.pm.org/kwiki/index.cgi?shirts2005 If you have a design you want to get into the running, send it to me before the meeting. Josh From publiustemp-pdxpm at yahoo.com Wed May 11 10:06:19 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 11 May 2005 10:06:19 -0700 (PDT) Subject: [Pdx-pm] May Meeting Tonight In-Reply-To: 6667 Message-ID: <20050511170620.26275.qmail@web60819.mail.yahoo.com> And for anyone who wants a jump start, you can read http://www.kuro5hin.org/story/2004/2/25/124713/784 That's a *one-page* introduction to Prolog. Prolog is so easy to learn that one page can cover quite a bit of the language. Naturally, that one page covers a lot more than I do in the talk as I'll also be talking about using this from Perl. Cheers, Ovid --- Josh Heumann wrote: > May Meeting > Wednesday May 11th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave > > Ovid, talking about Prolog > > The "holy grail" of computing, for many, is simply telling the > computer > what you want and have it figure out how to do it. Prolog is a step > in > this direction. > > And are you proud of your refactoring in Perl? Do you worship DRY? > (Don't > repeat yourself?) Have you ever cringed when you had to reverse map a > hash > to lookup something by value? This and other "forced duplication" > hacks > are often unecessary in Prolog. By the time the talk is done, > programmers > will understand why Prolog is code reuse on steroids. > > And despite all of that, it's probably one of the easiest languages > to > learn (though it can be rather hard to master.) > > Afterwards, as always, beer at the Lucky Lab! > > ======================================================== > We'll also be talking about shirts at the meeting, and probably > voting on > which design we want on our shirt. Options are on the kwiki: > http://pdx.pm.org/kwiki/index.cgi?shirts2005 > > If you have a design you want to get into the running, send it to me > before the meeting. > > Josh > > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From perl-pm at joshheumann.com Wed May 11 11:49:24 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 11 May 2005 11:49:24 -0700 (PDT) Subject: [Pdx-pm] Call for Participation for O'Reilly EuroOSCON In-Reply-To: References: Message-ID: <47534.130.94.161.230.1115837364.squirrel@joshheumann.com> > Call for Participation > First Annual O'Reilly European Open Source Convention > October 17-20, 2005 > Hotel Krasnapolsky, Amsterdam, The Netherlands > http://conferences.oreillynet.com/cs/eurooscon/create/e_sess > Proposals Due: May 23, 2005 > > Do you have best practices to share with fellow open source developers? > Want to help companies, government, and non-profits adopt the best and > newest open source technology? If so, you're invited to submit a > proposal to speak at the very first O'Reilly European Open Source > Convention (aka EuroOSCON). > > EuroOSCON's theme is "The Future is Open." The conference focuses on all > aspects of building applications, services, and systems that use the new > capabilities and showcase the diversity of the open source platform. > Specific tracks and topics at the convention include: > > - Linux, other open source operating systems, and applications > - Java > - PHP > - Perl > - Databases, including MySQL, PostgreSQL, Ingres, MaxDB, and SQLite - > Security > - Emerging Topics: AJAX, SOA, Wireless, mobile, p2p, visualization, > patents, licenses, business models, sociology, privacy, etc. > > EuroOSCON attracts developers, systems and network administrators, and > their managers. Attendees have a wide range of experience, so be sure to > target a particular level of experience: beginner, intermediate, > advanced. Talks (45 or 90 minutes) and tutorials (3 hours or 6 hours) > should be technical, either focusing on code or giving practical > architectural advice. Strictly no marketing presentations. > > Attendee registration opens in late June 2005. > > If you have a suggestion you'd like to share with the planning > committee, send an email to: euro-idea at oreilly.com > > Additional Information: > > To submit a proposal, visit: > http://conferences.oreillynet.com/cs/eurooscon/create/e_sess > > For information on exhibition and sponsorship opportunities at O'Reilly > conferences, contact Andrew Calvo at (707) 827-7176, or > andrewc at oreilly.com > > To become a media sponsor at O'Reilly conferences, contact Margi Levin > at (707) 827-7184, or margi at oreilly.com > > Upcoming O'Reilly Conferences (http://conferences.oreilly.com): > - Where 2.0, June 29-30 in San Francisco, CA > - O'Reilly Open Source Convention, August 1-5 in Portland, OR > - Web 2.0, October 5-7 in San Francisco, CA > > > ******************************************************* > If you want to cancel an O'Reilly Network newsletter subscription, go to > http://elists.oreilly.com/ and de-select any newsletters you no longer > wish to receive. For assistance, email > help at oreillynet.com > > O'Reilly Media, Inc. > 1005 Gravenstein Highway North, Sebastopol, CA 95472 > ******************************************************* From tex at off.org Thu May 12 09:41:26 2005 From: tex at off.org (Austin Schutz) Date: Thu, 12 May 2005 09:41:26 -0700 Subject: [Pdx-pm] t-shirt Module list Message-ID: <20050512164126.GB18665@gblx.net> Here is the list of the modules for "entry 3". If your is not in here and you would like it included, please let me know - or if yours _is_ in here and you would like it removed. Notably missing would be core modules and top level ones. Thanks, Austin AI::NeuralNet::Simple AI::Prolog Acme::Code::Police Acme::Dot Acme::Incorporated Acme::Pr0n Acme::YBFOD Apache::AxKit::Language::LibXSLTEnhanced Apache::AxKit::Language::Svg2AnyFormat Apache::AxKit::Language::Svg2AnyFormat Apache::AxKit::Provider::RDBMS Apache::Dir Apache::FakeTable App::Info Archive::Any Array::FileReader Attribute::Context Bone::Easy Bundle::Bricolage Bundle::BricolagePlus Bundle::Cascade Bundle::Schwern CAD::Calc CAD::Drawing CAD::Drawing::Calculate CAD::Drawing::Calculate::Finite CAD::Drawing::Defined CAD::Drawing::IO CAD::Drawing::IO::Circ CAD::Drawing::IO::Compressed CAD::Drawing::IO::DWGI CAD::Drawing::IO::Image CAD::Drawing::IO::OpenDWG CAD::Drawing::IO::PgDB CAD::Drawing::IO::PostScript CAD::Drawing::IO::Split CAD::Drawing::IO::Tk CAD::Drawing::Manipulate CAD::Drawing::Manipulate::Graphics CAD::Drawing::Manipulate::Transform CGI::Application CGI::Application::Plugin::ConfigAuto CGI::Application::Plugin::DBH CGI::Application::Plugin::ValidateRM CGI::Application::ValidateRM CGI::Kwiki CGI::Prototype CGI::Prototype::Mecha CGI::Safe CGI::Session::PureSQL CGI::Untaint::boolean CGI::Uploader Carp::Assert Chart::PNGgraph Class::ActsLike Class::DBI::Join Class::Data::Inheritable Class::Delegator Class::Fields Class::Meta Class::Object Class::Roles Class::StorageFactory Class::Virtual Class::WhiteHole Crypt::CipherSaber D::oh::Year DBD::Pg Data::Denter Data::Dumper::Simple Data::FormValidator Data::FormValidator::Util::HTML Data::Types DateTime::Calendar::Mayan DateTime::Format::Bork DateTime::Format::Human DateTime::Format::ISO8601 DateTime::HiRes DateTime::TimeZone::Alias Devel::Constants Devel::Tinderbox::Reporter Devel::TraceMethods Exception::Class::DBI Exporter::Lite ExtUtils::MakeMaker FSA::Rules File::Finder File::chdir Function::Override Games::PMM Geo::TigerLine Geo::Walkabout HTML::TokeParser::Simple HTTP::Range HashBang::Lingua::Romana::Perligata HashBang::ParrotScript HashBang::YourBrainForOnceDude IO::All IO::Epoll IO::Multiplex IO::Stty Image::LibRSVG Inline::CPR Inline::Spew Inline::YAML Kwiki::AdSense Kwiki::Archive::Rcs Kwiki::BreadCrumbs Kwiki::Cache Kwiki::Favorites Kwiki::Formatter::Pod Kwiki::GuestBook Kwiki::HomePagePreference Kwiki::HtmlBlocks Kwiki::NewPage Kwiki::PagePrivacy Kwiki::Pages::Perldoc Kwiki::ParagraphBlocks Kwiki::PerlTidyBlocks Kwiki::PerlTidyModule Kwiki::PodBlocks Kwiki::PreformattedBlocks Kwiki::RecentChanges Kwiki::Revisions Kwiki::Search Kwiki::Spork Kwiki::Theme::Klassik Kwiki::Theme::Selectable Kwiki::TimeZone Kwiki::UserName Kwiki::UserPreferences Kwiki::Zipcode Lingua::Strfname Mac::AppleScript::Glue Mail::Action Mail::SimpleList Mail::TempAddress MasonX::ApacheHandler::WithCallbacks MasonX::Interp::WithCallbacks Math::Geometry::Planar::GPC::Polygon Math::Geometry::Planar::Offset Math::Round::Var Math::Vec Module::TestConfig Net::ISCABBS Net::Telnet::Cisco Package::Alias Params::CallbackRequest Perl6::Bible Pod::PseudoPod Pod::Tests Pod::ToDemo Regexp::English Resource::Loader SNMP::Multi SVN::Notify Semi::Semicolons Shell::Command Sub::Context Sub::NamedParams Sub::Override Sub::Signatures Sub::Uplevel Template::Plugin::DBM::Deep Test::AtRuntime Test::Chunks Test::FIT Test::Inline Test::Legacy Test::MockObject Test::Simple Test::XML::Valid Text::Metaphone Text::WikiFormat Tie::Cache::LRU Tie::Math Tie::VecArray Time::Piece::ISO UNIVERSAL::exports VCS::SaVeS Widget::Meta XML::Atom::SimpleFeed YAML::MLDBM YAML::Parser::Syck From tex at off.org Thu May 12 09:47:26 2005 From: tex at off.org (Austin Schutz) Date: Thu, 12 May 2005 09:47:26 -0700 Subject: [Pdx-pm] t-shirt Module list In-Reply-To: <20050512164126.GB18665@gblx.net> References: <20050512164126.GB18665@gblx.net> Message-ID: <20050512164726.GD18665@gblx.net> On Thu, May 12, 2005 at 09:41:26AM -0700, Austin Schutz wrote: > Here is the list of the modules for "entry 3". If your is not inhere and you would like it included, please let me know - or if yours _is_in here and you would like it removed. Notably missing would be core modules and top level ones. On the off chance that I'm somehow to blame for the odd unformatting that occurred on that last email, I'm re-sending the list: AI::NeuralNet::Simple AI::Prolog Acme::Code::Police Acme::Dot Acme::Incorporated Acme::Pr0n Acme::YBFOD Apache::AxKit::Language::LibXSLTEnhanced Apache::AxKit::Language::Svg2AnyFormat Apache::AxKit::Language::Svg2AnyFormat Apache::AxKit::Provider::RDBMS Apache::Dir Apache::FakeTable App::Info Archive::Any Array::FileReader Attribute::Context Bone::Easy Bundle::Bricolage Bundle::BricolagePlus Bundle::Cascade Bundle::Schwern CAD::Calc CAD::Drawing CAD::Drawing::Calculate CAD::Drawing::Calculate::Finite CAD::Drawing::Defined CAD::Drawing::IO CAD::Drawing::IO::Circ CAD::Drawing::IO::Compressed CAD::Drawing::IO::DWGI CAD::Drawing::IO::Image CAD::Drawing::IO::OpenDWG CAD::Drawing::IO::PgDB CAD::Drawing::IO::PostScript CAD::Drawing::IO::Split CAD::Drawing::IO::Tk CAD::Drawing::Manipulate CAD::Drawing::Manipulate::Graphics CAD::Drawing::Manipulate::Transform CGI::Application CGI::Application::Plugin::ConfigAuto CGI::Application::Plugin::DBH CGI::Application::Plugin::ValidateRM CGI::Application::ValidateRM CGI::Kwiki CGI::Prototype CGI::Prototype::Mecha CGI::Safe CGI::Session::PureSQL CGI::Untaint::boolean CGI::Uploader Carp::Assert Chart::PNGgraph Class::ActsLike Class::DBI::Join Class::Data::Inheritable Class::Delegator Class::Fields Class::Meta Class::Object Class::Roles Class::StorageFactory Class::Virtual Class::WhiteHole Crypt::CipherSaber D::oh::Year DBD::Pg Data::Denter Data::Dumper::Simple Data::FormValidator Data::FormValidator::Util::HTML Data::Types DateTime::Calendar::Mayan DateTime::Format::Bork DateTime::Format::Human DateTime::Format::ISO8601 DateTime::HiRes DateTime::TimeZone::Alias Devel::Constants Devel::Tinderbox::Reporter Devel::TraceMethods Exception::Class::DBI Exporter::Lite ExtUtils::MakeMaker FSA::Rules File::Finder File::chdir Function::Override Games::PMM Geo::TigerLine Geo::Walkabout HTML::TokeParser::Simple HTTP::Range HashBang::Lingua::Romana::Perligata HashBang::ParrotScript HashBang::YourBrainForOnceDude IO::All IO::Epoll IO::Multiplex IO::Stty Image::LibRSVG Inline::CPR Inline::Spew Inline::YAML Kwiki::AdSense Kwiki::Archive::Rcs Kwiki::BreadCrumbs Kwiki::Cache Kwiki::Favorites Kwiki::Formatter::Pod Kwiki::GuestBook Kwiki::HomePagePreference Kwiki::HtmlBlocks Kwiki::NewPage Kwiki::PagePrivacy Kwiki::Pages::Perldoc Kwiki::ParagraphBlocks Kwiki::PerlTidyBlocks Kwiki::PerlTidyModule Kwiki::PodBlocks Kwiki::PreformattedBlocks Kwiki::RecentChanges Kwiki::Revisions Kwiki::Search Kwiki::Spork Kwiki::Theme::Klassik Kwiki::Theme::Selectable Kwiki::TimeZone Kwiki::UserName Kwiki::UserPreferences Kwiki::Zipcode Lingua::Strfname Mac::AppleScript::Glue Mail::Action Mail::SimpleList Mail::TempAddress MasonX::ApacheHandler::WithCallbacks MasonX::Interp::WithCallbacks Math::Geometry::Planar::GPC::Polygon Math::Geometry::Planar::Offset Math::Round::Var Math::Vec Module::TestConfig Net::ISCABBS Net::Telnet::Cisco Package::Alias Params::CallbackRequest Perl6::Bible Pod::PseudoPod Pod::Tests Pod::ToDemo Regexp::English Resource::Loader SNMP::Multi SVN::Notify Semi::Semicolons Shell::Command Sub::Context Sub::NamedParams Sub::Override Sub::Signatures Sub::Uplevel Template::Plugin::DBM::Deep Test::AtRuntime Test::Chunks Test::FIT Test::Inline Test::Legacy Test::MockObject Test::Simple Test::XML::Valid Text::Metaphone Text::WikiFormat Tie::Cache::LRU Tie::Math Tie::VecArray Time::Piece::ISO UNIVERSAL::exports VCS::SaVeS Widget::Meta XML::Atom::SimpleFeed YAML::MLDBM YAML::Parser::Syck From jeff at vpservices.com Thu May 12 09:55:29 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Thu, 12 May 2005 09:55:29 -0700 Subject: [Pdx-pm] t-shirt Module list In-Reply-To: <20050512164126.GB18665@gblx.net> References: <20050512164126.GB18665@gblx.net> Message-ID: <42838A81.4070506@vpservices.com> Austin Schutz wrote: > Here is the list of the modules for "entry 3". If your is not in >here and you would like it included, please let me know - or if yours _is_ >in here and you would like it removed. > Notably missing would be core modules and top level ones. > > This is a list of CPAN modules (written | co-authored | maintained) by people from Portland? If so, you can add mine: DBD::File, DBD::DBM, DBD::CSV, DBD::RAM, DBD::AnyData, AnyData, DBI::PurePerl, DBI::SQL::Nano, SQL::Statement, Text::CSV_XS. -- Jeff > Thanks, > > Austin > > >AI::NeuralNet::Simple >AI::Prolog >Acme::Code::Police >Acme::Dot >Acme::Incorporated >Acme::Pr0n >Acme::YBFOD >Apache::AxKit::Language::LibXSLTEnhanced >Apache::AxKit::Language::Svg2AnyFormat >Apache::AxKit::Language::Svg2AnyFormat >Apache::AxKit::Provider::RDBMS >Apache::Dir >Apache::FakeTable >App::Info >Archive::Any >Array::FileReader >Attribute::Context >Bone::Easy >Bundle::Bricolage >Bundle::BricolagePlus >Bundle::Cascade >Bundle::Schwern >CAD::Calc >CAD::Drawing >CAD::Drawing::Calculate >CAD::Drawing::Calculate::Finite >CAD::Drawing::Defined >CAD::Drawing::IO >CAD::Drawing::IO::Circ >CAD::Drawing::IO::Compressed >CAD::Drawing::IO::DWGI >CAD::Drawing::IO::Image >CAD::Drawing::IO::OpenDWG >CAD::Drawing::IO::PgDB >CAD::Drawing::IO::PostScript >CAD::Drawing::IO::Split >CAD::Drawing::IO::Tk >CAD::Drawing::Manipulate >CAD::Drawing::Manipulate::Graphics >CAD::Drawing::Manipulate::Transform >CGI::Application >CGI::Application::Plugin::ConfigAuto >CGI::Application::Plugin::DBH >CGI::Application::Plugin::ValidateRM >CGI::Application::ValidateRM >CGI::Kwiki >CGI::Prototype >CGI::Prototype::Mecha >CGI::Safe >CGI::Session::PureSQL >CGI::Untaint::boolean >CGI::Uploader >Carp::Assert >Chart::PNGgraph >Class::ActsLike >Class::DBI::Join >Class::Data::Inheritable >Class::Delegator >Class::Fields >Class::Meta >Class::Object >Class::Roles >Class::StorageFactory >Class::Virtual >Class::WhiteHole >Crypt::CipherSaber >D::oh::Year >DBD::Pg >Data::Denter >Data::Dumper::Simple >Data::FormValidator >Data::FormValidator::Util::HTML >Data::Types >DateTime::Calendar::Mayan >DateTime::Format::Bork >DateTime::Format::Human >DateTime::Format::ISO8601 >DateTime::HiRes >DateTime::TimeZone::Alias >Devel::Constants >Devel::Tinderbox::Reporter >Devel::TraceMethods >Exception::Class::DBI >Exporter::Lite >ExtUtils::MakeMaker >FSA::Rules >File::Finder >File::chdir >Function::Override >Games::PMM >Geo::TigerLine >Geo::Walkabout >HTML::TokeParser::Simple >HTTP::Range >HashBang::Lingua::Romana::Perligata >HashBang::ParrotScript >HashBang::YourBrainForOnceDude >IO::All >IO::Epoll >IO::Multiplex >IO::Stty >Image::LibRSVG >Inline::CPR >Inline::Spew >Inline::YAML >Kwiki::AdSense >Kwiki::Archive::Rcs >Kwiki::BreadCrumbs >Kwiki::Cache >Kwiki::Favorites >Kwiki::Formatter::Pod >Kwiki::GuestBook >Kwiki::HomePagePreference >Kwiki::HtmlBlocks >Kwiki::NewPage >Kwiki::PagePrivacy >Kwiki::Pages::Perldoc >Kwiki::ParagraphBlocks >Kwiki::PerlTidyBlocks >Kwiki::PerlTidyModule >Kwiki::PodBlocks >Kwiki::PreformattedBlocks >Kwiki::RecentChanges >Kwiki::Revisions >Kwiki::Search >Kwiki::Spork >Kwiki::Theme::Klassik >Kwiki::Theme::Selectable >Kwiki::TimeZone >Kwiki::UserName >Kwiki::UserPreferences >Kwiki::Zipcode >Lingua::Strfname >Mac::AppleScript::Glue >Mail::Action >Mail::SimpleList >Mail::TempAddress >MasonX::ApacheHandler::WithCallbacks >MasonX::Interp::WithCallbacks >Math::Geometry::Planar::GPC::Polygon >Math::Geometry::Planar::Offset >Math::Round::Var >Math::Vec >Module::TestConfig >Net::ISCABBS >Net::Telnet::Cisco >Package::Alias >Params::CallbackRequest >Perl6::Bible >Pod::PseudoPod >Pod::Tests >Pod::ToDemo >Regexp::English >Resource::Loader >SNMP::Multi >SVN::Notify >Semi::Semicolons >Shell::Command >Sub::Context >Sub::NamedParams >Sub::Override >Sub::Signatures >Sub::Uplevel >Template::Plugin::DBM::Deep >Test::AtRuntime >Test::Chunks >Test::FIT >Test::Inline >Test::Legacy >Test::MockObject >Test::Simple >Test::XML::Valid >Text::Metaphone >Text::WikiFormat >Tie::Cache::LRU >Tie::Math >Tie::VecArray >Time::Piece::ISO >UNIVERSAL::exports >VCS::SaVeS >Widget::Meta >XML::Atom::SimpleFeed >YAML::MLDBM >YAML::Parser::Syck >_______________________________________________ >Pdx-pm-list mailing list >Pdx-pm-list at pm.org >http://mail.pm.org/mailman/listinfo/pdx-pm-list > From tex at off.org Thu May 12 10:00:18 2005 From: tex at off.org (Austin Schutz) Date: Thu, 12 May 2005 10:00:18 -0700 Subject: [Pdx-pm] t-shirt Module list In-Reply-To: <42838A81.4070506@vpservices.com> References: <20050512164126.GB18665@gblx.net> <42838A81.4070506@vpservices.com> Message-ID: <20050512170018.GF18665@gblx.net> On Thu, May 12, 2005 at 09:55:29AM -0700, Jeff Zucker wrote: > Austin Schutz wrote: > > > Here is the list of the modules for "entry 3". If your is not in > >here and you would like it included, please let me know - or if yours _is_ > >in here and you would like it removed. > > Notably missing would be core modules and top level ones. > > > > > This is a list of CPAN modules (written | co-authored | maintained) by > people from Portland? More specifically, it's modules maintained by people who have posted to the pdx-pm list in the last year and a half. Some people have been moving in/out of portland or may be on the list but not live here. > If so, you can add mine: DBD::File, DBD::DBM, > DBD::CSV, DBD::RAM, DBD::AnyData, AnyData, DBI::PurePerl, > DBI::SQL::Nano, SQL::Statement, Text::CSV_XS. > I'd be happy to. Austin From tex at off.org Thu May 12 10:06:23 2005 From: tex at off.org (Austin Schutz) Date: Thu, 12 May 2005 10:06:23 -0700 Subject: [Pdx-pm] t-shirt Module list In-Reply-To: <20050512170018.GF18665@gblx.net> References: <20050512164126.GB18665@gblx.net> <42838A81.4070506@vpservices.com> <20050512170018.GF18665@gblx.net> Message-ID: <20050512170623.GG18665@gblx.net> On Thu, May 12, 2005 at 10:00:18AM -0700, Austin Schutz wrote: > On Thu, May 12, 2005 at 09:55:29AM -0700, Jeff Zucker wrote: > > Austin Schutz wrote: > > > > > Here is the list of the modules for "entry 3". If your is not in > > >here and you would like it included, please let me know - or if yours _is_ > > >in here and you would like it removed. > > > Notably missing would be core modules and top level ones. > > > > > > > > This is a list of CPAN modules (written | co-authored | maintained) by > > people from Portland? > > More specifically, it's modules maintained by people who have > posted to the pdx-pm list in the last year and a half. Some people have > been moving in/out of portland or may be on the list but not live here. > One last note about this - if you authored a module but no longer maintain it, or ... ? If you would like a module on the list you consider to be "yours", please let me know. I'm certainly not trying to judge "who has what". Please respond off-list (unless it's really your intention). Thanks, Austin From andy at petdance.com Thu May 12 10:07:50 2005 From: andy at petdance.com (Andy Lester) Date: Thu, 12 May 2005 12:07:50 -0500 Subject: [Pdx-pm] t-shirt Module list In-Reply-To: <20050512170018.GF18665@gblx.net> References: <20050512164126.GB18665@gblx.net> <42838A81.4070506@vpservices.com> <20050512170018.GF18665@gblx.net> Message-ID: <20050512170750.GC30287@petdance.com> On Thu, May 12, 2005 at 10:00:18AM -0700, Austin Schutz (tex at off.org) wrote: > More specifically, it's modules maintained by people who have > posted to the pdx-pm list in the last year and a half. Some people have > been moving in/out of portland or may be on the list but not live here. This is a really cool idea. I'm gonna steal it for Chicago. I don't think we'll get T-shirts, but we can put something on the page. xoa -- Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance From publiustemp-pdxpm at yahoo.com Thu May 12 10:18:56 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Thu, 12 May 2005 10:18:56 -0700 (PDT) Subject: [Pdx-pm] Bug Bounty Message-ID: <20050512171857.50747.qmail@web60825.mail.yahoo.com> Hi all, Thanks for the suggestions for the talk. It went over better than I hoped and I have some great ideas for revising it. The talk is located at http://users.easystreet.com/ovid/presentations/logic/ And now for the bug bounty: if anyone is interested, the latest version of AI::Prolog (0.65) has a test named t/99regression.t. It has a failing TODO test. There are some simple things you can do to get it to pass, but the problem is much more involved. Specifically, there appears to be a fundamental bug in the retract/1 predicate which removes data from the database. If anyone is interested in the "bug bounty", I can post the location of a tiny adventure game that exposes the problem, links to the Java code that I based the retract/1 predicate on and give some hints on tracking it down. I am, regrettably, very busy at work and don't have the time to look into this and it's *not* an easy problem to solve. I would cheerfully by someone dinner, beer, whatever, if they can solve the problem. You probably want to look at the horror that is AI::Prolog before you even think about tackling this (http://search.cpan.org/dist/AI-Prolog/). Let me know if you're interested. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From perl-pm at joshheumann.com Thu May 12 17:03:24 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Thu, 12 May 2005 17:03:24 -0700 (PDT) Subject: [Pdx-pm] shirt update Message-ID: <35729.130.94.160.138.1115942604.squirrel@joshheumann.com> Last night we discussed shirt options, and decided that we want to try to get Randall Hansen's design[1] on the front of the shirt, and Austin Shutz's[2] on the back. Although there were plenty of people at the meeting last night, I thought I'd put this out on the list for the lurkers among us. Does anyone have any suggestions, oppositions or other feelings to voice? Now's the time, while I research printing options. Thanks again to Ovid for a great presentation last night! Josh [1]: http://sonofhans.net/pdxpm-tshirt-2005.jpg [2]: http://pdx.pm.org/Austin_Shutz.gif From ewilhelm at sbcglobal.net Fri May 13 14:02:01 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Fri, 13 May 2005 14:02:01 -0700 Subject: [Pdx-pm] RFC: Getopt::Modern Message-ID: <200505131402.01257.ewilhelm@sbcglobal.net> Maybe that's not the best name, but bear with me. I've been working on Getopt::Helpful (which is another story) which has thus-far been a documentation+stuff front-end to Getopt::Long. Today, I think I've lost both my mind and my patience. Please respond with your answers to any or all of the following questions and/or comments on the below statements. ===================================== Basis: The below statements are assumed as facts about the way things are and/or should be. Getopt::Long is 15 years old and has had to be continually reverse-compatible. This makes it far too lax in some respects and unconfigurable or hard to use in others. => time to rebuild. Bundling should be limited to options which do not allow an argument (e.g. -cvx, not -y24j15) unless the last one is the only one in the bundle (in which case the value should not be part of the bundle (e.g. -cvxy 24).) Get rid of the --foo=this syntax. We don't need it. Complain if I spec two options with the same name Or at least let me set the behavior to drop/overwrite/die (e.g. 'v=i' and 'v|verbose') Let me whittle the array down in separate pieces (pass-though option, etc.) Long names start with "--", short names start with "-". We stop at "--". That's it. Stop the madness! Options do not need to be able to start with @%$#&*^/?<> or . The autoabbrev functionality is nice, but should not be allowed to descend into arguments which start with only one '-'. Filling a config hash should use the longest option-name (not just the first.) Some way to parse options which aren't in @main::ARGV (e.g. sub complicated {... $opt->ParseOptions(@_);...}) Do it in *my* order (because the user is clueless (and rightly so!)) Options should be able to be given by the user in any order, but should be evaluated in the order that the programmer listed them (so that e.g. '--option 8 --no-option' gives the same results as '--no-option --option 8' when $opts{'no-option'} = sub {@{$opts{option}} = ()};) ===================================== Questions: * Is this a good name? I realize that Modern is inherently dated (maybe I'll get lucky and it will just be Getopt in Perl 6.) * Has somebody already done it? I've dug around on CPAN. The above requirements are all AFAICT unmet. * Where else should I post this? I don't want to cross-post, so I figured I would start at the local level. Module-authors seems inappropriate, since modules don't parse command-line options. * Does anybody write command-line programs which nearly as many options as I do? * If yes to the above, then what is the preferred method of parsing the arguments? * Do the above requirements seem reasonable? I'm trying to come up with something which works in a predictable way at the command-line, while still being flexible and configurable on the API side of things. This necessitates the use of a tender iron fist. * Does this make any sense? After all, I have lost my mind. * Are there other questions that I should be asking? * Did you read this far? Awesome! Thanks. --Eric -- Don't worry about what anybody else is going to do. The best way to predict the future is to invent it. -- Alan Kay --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From perl-pm at joshheumann.com Fri May 13 14:07:44 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Fri, 13 May 2005 14:07:44 -0700 (PDT) Subject: [Pdx-pm] [Fwd: Code Sprint May 25th-26th at FreeGeek] Message-ID: <37204.130.94.161.230.1116018464.squirrel@joshheumann.com> -------- Original Message -------- Subject: Code Sprint May 25th-26th at FreeGeek From: jeff Date: Fri, May 13, 2005 1:37 pm To: porpig at porpig.org, coders at lists.freegeek.org Greetings, We're going to have another Code Sprint. And we may even have them monthly, if we do it right. The next Code Sprint will be at FreeGeek, on Wednesday, May 25th, and Thursday, May 26th, beginning around 6:30 pm and lasting until people go home, dawn, or the food runs out. If you want to propose projects, or check for updated info, look at the wiki page at: http://c2.com/cgi/wiki?XpFgCodeSprint Diskless terminals logging in to a box with software installed will be available to lower the number of IT hassles required to get going. If you have particular software you wish installed, please let me know. This will be a language neutral Sprint, so remember: language wars can only be settled by tree-climbing contests at midnight, not by words. From publiustemp-pdxpm at yahoo.com Fri May 13 14:12:49 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Fri, 13 May 2005 14:12:49 -0700 (PDT) Subject: [Pdx-pm] RFC: Getopt::Modern In-Reply-To: 6667 Message-ID: <20050513211249.77216.qmail@web60821.mail.yahoo.com> --- Eric Wilhelm wrote: > * Where else should I post this? I don't want to cross-post, so I > figured I would start at the local level. Module-authors seems > inappropriate, since modules don't parse command-line options. Try Perlmonks. There are some great hackers there. There are, in fact, many more than are on this list. If one them happens to turn their attention to your node, you'll likely get some good input (with a lot of drivel). Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From 9nn24e402 at sneakemail.com Fri May 13 15:04:49 2005 From: 9nn24e402 at sneakemail.com (Steve Bonds) Date: Fri, 13 May 2005 15:04:49 -0700 Subject: [Pdx-pm] Perl Mongers and Jobs Message-ID: <8105-11386@sneakemail.com> Portland Perl Mongers: My company may soon be hiring a Perl consultant for a short-term assignment. Would it be an acceptable use of this list to post information regarding the postion? I am not a headhunter, this would be for a direct placement with the company where I work. I apologize in advance for spamming the list asking if it was OK to spam the list, but I didn't find this question in the archives. ;-) Thanks, -- Steve Bonds From publiustemp-pdxpm at yahoo.com Fri May 13 15:10:44 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Fri, 13 May 2005 15:10:44 -0700 (PDT) Subject: [Pdx-pm] Perl Mongers and Jobs In-Reply-To: 6667 Message-ID: <20050513221044.58991.qmail@unknown-209-73-178-237.yahoo.com> This question has come up before. The general consensus appears to be: as long as you're really looking for Perl people and not just generic head-hunting, no one seems to mind. Cheers, Ovid --- Steve Bonds <9nn24e402 at sneakemail.com> wrote: > Portland Perl Mongers: > > My company may soon be hiring a Perl consultant for a short-term > assignment. Would it be an acceptable use of this list to post > information regarding the postion? I am not a headhunter, this would > be for a direct placement with the company where I work. > > I apologize in advance for spamming the list asking if it was OK to > spam the list, but I didn't find this question in the archives. ;-) > > Thanks, > > -- Steve Bonds > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From dhmedley at aol.com Sun May 15 09:02:23 2005 From: dhmedley at aol.com (dhmedley@aol.com) Date: Sun, 15 May 2005 12:02:23 -0400 Subject: [Pdx-pm] One of the lurkers asked for Message-ID: <8C7277E9DED3084-A14-30F13@MBLK-M15.sysops.aol.com> I thought that was the best design for the shirts ... the Rose City should say it IS the Rose City more often. Dennis H. Medley Cymberlaen Software From perl-pm at joshheumann.com Mon May 16 09:53:31 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon, 16 May 2005 09:53:31 -0700 (PDT) Subject: [Pdx-pm] [Fwd: Newsletter from O'Reilly UG Program, May 13] Message-ID: <39181.130.94.161.230.1116262411.squirrel@joshheumann.com> -------- Original Message -------- Subject: Newsletter from O'Reilly UG Program, May 13 From: Marsee Henon Date: Fri, May 13, 2005 2:43 pm To: ug.oreilly at joshheumann.com ================================================================ O'Reilly UG Program News--Just for User Group Leaders May 13, 2005 ================================================================ -Put Up an O'Reilly Where 2.0 Conference Banner, Get a Free Book -Looking for Amateur Astronomers -Safari Affiliate Program for User Groups ---------------------------------------------------------------- Book Info ---------------------------------------------------------------- ***Review books are available Copies of our books are available for your members to review-- send me an email and please include the book's ISBN number on your request. Let me know if you need your book by a certain date. Allow at least four weeks for shipping. ***Please send copies of your book reviews Email me a copy of your newsletters or book reviews. For tips and suggestions on writing book reviews, go to: http://ug.oreilly.com/bookreviews.html ***Discount information Don't forget to remind your members about our 20% discount on O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, and Syngress books and O'Reilly conferences. Just use code DSUG. ***Group purchases with better discounts are available Please let me know if you are interested and I can put you in touch with our sales department. ---------------------------------------------------------------- General News ---------------------------------------------------------------- ***Put Up an O'Reilly Where 2.0 Conference Banner, Get a Free Book We're looking for user groups to display our conference banner on their web sites. If you send me the link to your group's site with our O'Reilly Where 2.0 Conference banner, I will send you the O'Reilly book of your choice. Where 2.0 Conference Banners: http://ug.oreilly.com/banners/where/ ***Looking for Amateur Astronomers I am looking for reviewers for our upcoming "Astronomy Hacks" book. If you or someone you know can write a review for Amazon, I'd be happy to send you our book. Thanks for your help. ***Safari Affiliate Program for User Groups Give your members access to content from Safari's thousands of technology books, right on your site--for free--and raise money for your user group at the same time. For more information and to sign up for the Safari Affiliate Program, go to: http://ug.oreilly.com/safari_affl.html?CMP=EMC-U1L284871961 ================================================================ O'Reilly News for User Group Members May 13, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -GDB Pocket Reference -Deploying Citrix MetaFrame Presentation Server 3.0 -Digital Audio Essentials -802.11 Wireless Networks: The Definitive Guide, 2nd Edition -Don't Click on the Blue E! -Visual Basic 2005: A Developer's Notebook -The Art of Project Management -Visual C# 2005: A Developer's Notebook -iMovie HD and iDVD 5: The Missing Manual -Access Hacks -MAKE Subscriptions Available ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -Cary Millsap at the NoCOUG Spring Conference, Sunnyvale, CA--May 19 -Mike Clark ("Pragmatic Project Automation") at Agile Denver, Boulder, CO--May 23 -O'Reilly Sponsors the Coalition Summit for IPv6, Reston, VA--May 23-26 -Dan Gillmor ("We the Media"), WTC's Technology Breakfast Series, Mountain View, CA--May 26 ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Registration is Open for the O'Reilly Open Source Convention, Portland, OR--August 1-5 -Where 2.0 Conference Registration Open, San Francisco, CA--June 29-30 -EuroOSCON Call for Papers Now Open, Amsterdam, The Netherlands--October 17-20 ---------------------------------------------------------------- News ---------------------------------------------------------------- -How to Build a Nonprofit for Your Community -Addison-Wesley Professional on SafariU -The Geospatial Web: A Call to Action -Learning Lab: Certificate Series $200 Instant Rebate -Tales of Rescuing Old Hardware -(No Starch) Author describes keys to business-ready Linux clusters -CVS Trouble -The Soul of WWDC 2005 -Build a Dashboard Widget -Magnificent Seven: What's New for Users in QuickTime 7 -O'Reilly books Recommended on AARP's article "Windows: Better Safe (Mode) Than Sorry" -Putting A Browser Into Your Windows Application -Five Things I Love About Spring -Configuring Database Access in Eclipse 3.0 with SQLExplorer -Ed Carreon: Making the Connection -Hands On: Create Insane Reason Grooves -On the Go with the Motorola MPx220 Camera Phone -Build an eCommerce Application with eZPublish -Radical Interface Approaches -Validate User Input in PHP 5 -MAKE: Audio -Call MAKE -MAKE: Weather ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 20% off any O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***GDB Pocket Reference Publisher: O'Reilly ISBN: 0596100272 Covering several popular programming languages, this handy guide details the essentials of using GDB in a testing environment. This book shows you how to specify a target for debugging, perform a careful examination to find the cause of program failure, and make quick changes for further testing. Having a quick way to refer to GDB's essential functions is the key to making the process work smoothly, and this book is the only reference you'll need. http://www.oreilly.com/catalog/gdbpr/ ***Deploying Citrix MetaFrame Presentation Server 3.0 Publisher: Syngress ISBN: 193226650X This book covers all the topics needed to plan, design, and implement a reliable, scalable server-based computing solution in a Citrix/Windows 2003 environment. Whether you're building thin client environments for disaster recovery purposes or rolling Citrix MetaFrame out as the network model for the day-to-day activities of a company, you will find this book to be a great resource. It also offers invaluable advice and direction on optimization, redundancy, troubleshooting, and scalability. http://www.oreilly.com/catalog/193226650X/ ***Digital Audio Essentials Publisher: O'Reilly ISBN: 0596008562 This indispensable reference helps you avoid time-consuming, costly trial and error in downloading audio files, burning CDs, converting analog music to digital form, publishing music to and streaming from the web, setting up home stereo configurations, and creating your own MP3 and other audio files. Designed for both Mac and PC users, it includes reliable hardware and software recommendations, tutorials, resources, and it even explains the basics of the DMCA and intellectual property law. http://www.oreilly.com/catalog/digaudio/ Chapter 16, "Setting Up an Internet Radio Station," is available online: http://www.oreilly.com/catalog/digaudio/chapter/index.html ***802.11 Wireless Networks: The Definitive Guide, 2nd Edition Publisher: O'Reilly ISBN: 0596100523 If you want to deploy your own wireless network, this book is the perfect starting place to gain an understanding of the capabilities and risks associated with the 802.11 protocols. This updated edition covers everything you need to know about integrating wireless technology into your current infrastructure. Designed with the system administrator or serious home user in mind, it's a no-nonsense guide for setting up 802.11 on Windows and Linux. Chapter 21, "Logical Wireless Network Architecture," is available online: http://www.oreilly.com/catalog/802dot112/chapter/index.html ***Don't Click on the Blue E! Publisher: O'Reilly ISBN: 0596009399 For anyone who has grown disenchanted with Internet Explorer, this book is here to help. With its straightforward approach, it gives non-technical users a step-by-step roadmap for switching to a better web browser: Firefox. As the only book that covers the switch to Firefox, this how-to guide is a must for all those who want to browse faster, more securely, and more efficiently. http://www.oreilly.com/catalog/bluee/ A sample excerpt, "Safety and Security," is available online: http://www.oreilly.com/catalog/bluee/chapter/index.html ***Visual Basic 2005: A Developer's Notebook Publisher: O'Reilly ISBN: 0596007264 This practical book offers nearly 50 hands-on projects in an informal, code-intensive style. Each project explores a new feature of the language, with emphasis on changes that can increase productivity, simplify programming tasks, and help you add new functionality to your applications. This one-of-a-kind book also offers suggestions for further experimentation and links to online documentation and other sources of information. http://www.oreilly.com/catalog/vbadn/ Chapter 2, "The Visual Basic Language," is available online: http://www.oreilly.com/catalog/vbadn/chapter/index.html ***The Art of Project Management Publisher: O'Reilly ISBN: 0596007868 In this book, you'll learn from a veteran manager of software and web development how to plan, manage, and lead projects. This personal account of hard lessons learned over a decade of work in the industry distills complex concepts and challenges into practical nuggets of useful advice. Inspiring, funny, honest, and compelling, this is the book you and your team need to have within arm's reach. http://www.oreilly.com/catalog/artprojectmgmt/ Chapter 3, "How to Figure Out What to Do," is available online: http://www.oreilly.com/catalog/artprojectmgmt/chapter/index.html ***Visual C# 2005: A Developer's Notebook Publisher: O'Reilly ISBN: 059600799X This unique "all lab, no lecture" guide covers all of the great new features in C# with 50 hands-on projects. Each project explores a new feature, with emphasis on changes that increase productivity, simplify programming tasks, and add functionality to applications. You'll find suggestions for further experimentation, links to online documentation, plus practical notes and warnings. The book also shows developers how to acquire, install, and configure Visual Studio .NET 2005. http://www.oreilly.com/catalog/visualcadn/ Chapter 1, "C# 2.0," is available online: http://www.oreilly.com/catalog/visualcadn/chapter/index.html ***iMovie HD and iDVD 5: The Missing Manual Publisher: O'Reilly ISBN: 0596100337 For both professional and amateur moviemakers, David Pogue's witty and entertaining guide details every step of iMovie HD video production, from choosing and using a digital camcorder to burning the finished work onto DVDs. In addition, this book provides a firm grounding in basic film technique so that the quality of a video won't rely entirely on magic. It's your ultimate moviemaking-made-easy source. http://www.oreilly.com/catalog/imoviehdtmm/ ***Access Hacks Publisher: O'Reilly ISBN: 0596009240 This valuable guide provides hands-on solutions to help users master Access. For experienced users, "Access Hacks" offers a unique collection of proven techniques and tools that will take their database skills and productivity to the next level. For Access beginners, this book helps them acquire a firm grasp of the program's most productive features. Topics covered range from utilizing SQL inquiries to working with Access in multi-user environments. http://www.oreilly.com/catalog/accesshks/ Sample Hack 61, "Use Excel Functions Inside Access," is available online (along with five others): http://www.oreilly.com/catalog/accesshks/chapter/index.html ***MAKE Subscriptions Available The annual subscription price for four issues is $34.95. When you subscribe with this link, you'll get a free issue--the first one plus four more for $34.95. So subscribe for yourself or friends with this great offer for charter subscribers: five volumes for the cost of four. Subscribe at: https://www.pubservice.com/MK/Subnew.aspx?PC=MK&PK=M5ZUGLA The MAKE blog is available at: http://www.makezine.com/blog/ ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***Cary Millsap at the NoCOUG Spring Conference, Sunnyvale, CA--May 19 Author Cary Millsap ("Optimizing Oracle Performance") is giving a keynote address at the Northern California Oracle Users Group Spring Conference. http://www.nocoug.org/next.html ***Mike Clark ("Pragmatic Project Automation") at Agile Denver, Boulder, CO--May 23 Pragmatic Bookshelf author Mike Clark presents "Building Software, Better and Faster." You'll learn good practices (and see some bad ones) while you take a peek inside a well-oiled agile project that's using the essential practices covered in the Pragmatic Starter Kit: version control with Subversion, unit testing with JUnit, and automation with Ant and friends. http://www.agiledenver.org/2005MayMeeting.php ***O'Reilly Sponsors the Coalition Summit for IPv6, Reston, VA--May 23-26 Join leaders from dozens of forward-looking governments and companies shaping the New Internet at the Coalition Summit for IPv6. And keep an eye out for our new book "IPv6 Network Administration." http://www.coalitionsummit.com/ ***Dan Gillmor ("We the Media"), WTC's Technology Breakfast Series, Mountain View, CA--May 26 Author Dan Gillmor and other panelists discuss the impact open source has, not only on business strategy in developing revenue models, but also license implications and what open source development means for engineers. http://www.wtc-sf.org/eml_tbseries_052605.htm ================================================ Conference News ================================================ ***Registration is Open for the O'Reilly Open Source Convention, Portland, OR--August 1-5 OSCON 2005 explores three deep trends affecting open source: the commoditization of software, network-enabled collaboration, and software customizability. Join us at this essential gathering of open source leaders and practitioners of every persuasion to exchange ideas and push the boundaries of vital open source technologies. This year, we introduce the Open Source Business Review, along with a host of other exciting presentations and events. http://conferences.oreilly.com/oscon/ User Group members who register before June 20, 2005 get a double discount. Use code "os05grpusr" when you register, and receive 15% off the early registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/os2005/create/ord_os05 ***Where 2.0 Conference Registration Open, San Francisco, CA--June 29-30 Join us at the first O'Reilly Where 2.0 Conference. Location-based services and mapping are becoming mainstream technologies. Meanwhile, innovative new software makes it possible to apply the wealth of new data to old business problems. Come explore the emerging consumer and enterprise ecosystems around location-aware technologies that increasingly impact the way we work and play. http://conferences.oreilly.com/where/ User Group members who register before May 31, 2005 get a double discount. Use code "whereug" when you register, and receive 15% off the early registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/where2005/create/ord_where ***EuroOSCON Call for Papers Now Open, Amsterdam, The Netherlands--October 17-20 EuroOSCON 2005, to be held October 17-20 in Amsterdam, will explore the best and newest open source technologies, with a focus on what's particularly useful to companies, governments, and non-profits. Session and tutorial proposals are due by midnight, May 23rd. We're interested in all aspects of building applications, services, and systems that utilize the new capabilities of the open source platform. http://conferences.oreillynet.com/cs/eurooscon/create/e_sess Submit your proposal: http://conferences.oreillynet.com/cs/eurooscon/create/e_sess#form ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***How to Build a Nonprofit for Your Community Many open source projects have already created nonprofit organizations that support their communities, while other projects are considering ways to establish nonprofits. David Boswell details how mozdev.org built a nonprofit organization and shows you how to do the same for your community. He covers fundraising, obtaining legal advice, staffing, and more. David is the coauthor of "Creating Applications with Mozilla." http://www.oreillynet.com/pub/a/policy/2005/04/28/nonprofits.html ***Addison-Wesley Professional on SafariU SafariU, O'Reilly's web-based platform for creating, publishing, and sharing textbooks, now includes 416 Addison-Wesley Professional titles. With books covering topics from programming, data mining, AI, networking, security, web design, web programming, databases, and a whole range of subjects in between, Addison-Wesley is a welcomed addition to the SafariU repository. Log on to SafariU now to see this incredible new content. https://www.safariu.com/ ***The Geospatial Web: A Call to Action What needs to happen to build a sustainable geospatial web? Mike Liebhold offers ten steps designed to help tap the as yet unharvested business opportunities in a geospatial web. If this topic gets your creative juices flowing, you belong at O'Reilly's Where 2.0 Conference, coming up in June in San Francisco. http://www.oreillynet.com/pub/a/network/2005/05/10/geospatialweb.html ***Learning Lab: Certificate Series $200 Instant Rebate Learning programming languages and development techniques has never been easier. Using your web browser and Useractive's Learning Sandbox technology, the Learning Lab gives you hands-on, online training in a creative environment (and a Certificate from the University of Illinois College of Extended Education upon course completion). Only in May, receive a $200 instant rebate when you enroll in any Certificate Series. http://www.oreilly.com/redirector.csp?link=UACert&type=news --------------------- Open Source --------------------- ***Tales of Rescuing Old Hardware If you're careful, you can often pick up viable hardware from companies throwing out machines too old to run the latest and greatest Windows software. This is viable for free Unixes, if you can get past the installation. Mikhail Zakharov walks through a tale of exploration, discovery, and patch-writing to install NetBSD over NFS through the serial port of a Pentium I-era Toshiba notebook. http://www.onlamp.com/pub/a/bsd/2005/05/05/hardware_rescue.html ***No Starch Author describes keys to business-ready Linux clusters SearchEnterpriseLinux.com interviews Karl Kopper, author of No Starch's "Linux Enterprise Cluster." http://searchenterpriselinux.techtarget.com/originalContent/0,289142,sid39_gci1083586,00.html ***CVS Trouble Noel Davis looks at problems in CVS, PostgreSQL, Squid, Gaim, Debian's lsh, Xine-lib, Caroline, Convert-UUlib, Rootkit Hunter, snmppd, Kommander, kimgio, RealPlayer, Helix Player, xli, and Debian's samba. http://www.linuxdevcenter.com/pub/a/linux/2005/05/06/security_alerts.html --------------------- Mac --------------------- ***The Soul of WWDC 2005 A few years ago, Apple moved WWDC from San Jose to the brand new Moscone West building in San Francisco. The new location improved the face of its developer conference. This year, Apple wants to enhance its very soul. Here's how O'Reilly is going to help them do that. http://www.macdevcenter.com/pub/a/mac/2005/05/03/wwdc.html ***Build a Dashboard Widget A little HTML, a dash of JavaScript, and a sprinkle of CSS and you can create your own Dashboard widget. Andrew Anderson shows you how. http://www.macdevcenter.com/pub/a/mac/2005/05/06/dashboard.html ***Magnificent Seven: What's New for Users in QuickTime 7 Tiger is cool, but it's not the only new cat on the block. Apple has also released an updated version of QuickTime. Chris Adamson examines the user-visible features and changes in QT 7, including QT 7 Pro, renovations to the QuickTime Player application, and the implications of the powerful new H.264 video codec. http://www.macdevcenter.com/pub/a/mac/2005/05/10/qt7.html --------------------- Windows/.NET --------------------- ***O'Reilly books Recommended on AARP's article "Windows: Better Safe (Mode) Than Sorry" Gabe Goldberg's states "Windows XP books' indexes provided surprisingly few entries for Safe Mode. I found the best coverage in two O'Reilly books, 'Windows XP Pro: The Missing Manual' and 'Windows XP Home Edition: The Missing Manual.'" In addition to writing for www.aarp.org, Gabe contributes to the "Washington Post" and computer industry/trade publications. He's active in his local PC user group, CPCUG (Capital PC User Group) serving as Outreach Director and Program Director. He's also Region 2 Advisor for APCUG, helping user groups from VA to NJ. Thanks Gabe! http://www.aarp.org/learntech/computers/howto/better_safe_mode.html ***Windows XP Annoyances Needed for New Book We're looking for your gripes, complaints, hassles, and other frustrations with Microsoft's favorite OS. Billions of people use Windows, and we want to help them...and your help would be much appreciated. We'll be covering XP in all its flavors (including XP with Service Packs 1 and 2, Windows Media Center Edition), and in all its settings (from standalone PCs to running on a WiFi network). If you have an annoyance you'd like to see solved, email marsee at oreilly.com with "Windows XP Annoyances" in the subject line. Just note which version of XP your're using (with SP1? SP2? Windows Media Center Edition?) As thanks for sharing, we'll make sure to get copies of "Windows XP Annoyances" sent to your group shortly after publication. ***Putting A Browser Into Your Windows Application There are times when it would be awfully convenient to have the capabilities of Internet Explorer inside your Windows application. The classic case is when you want to look at an XML document, and you'd like to take advantage of IE's ability to show the document as a collapsible and expandable hierarchy. In this article, Jesse Liberty will show you how to do that, in just a few easy steps. http://www.ondotnet.com/pub/a/dotnet/2005/05/10/liberty.html --------------------- Java --------------------- ***Five Things I Love About Spring For hardcore enterprise development, Bruce Tate turns to Spring, the topic of his latest collaboration, "Spring: A Developer's Notebook." In this article, Bruce describes five reasons why he's hooked on Spring. http://www.onjava.com/pub/a/onjava/2005/05/11/spring.html ***Configuring Database Access in Eclipse 3.0 with SQLExplorer It's 2005 and you're using Eclipse. Should you still be creating your database tables and seeding them with data by hand, from an SQL command-line utility? Deepak Vohra introduces the SQLExplorer plugin for Eclipse, which allows you to put a GUI on your development-time database access. http://www.onjava.com/pub/a/onjava/2005/05/11/sqlexplorer.html --------------------- Digital Media --------------------- ***Ed Carreon: Making the Connection During a four-month visit to a remote village in Mexico, Ed Carreon photographed a world with one foot still in the past, a distant place he had heard about as a boy through family stories. His images capture the beauty and the struggle of a land that few of us will ever see. http://digitalmedia.oreilly.com/2005/05/11/featured.html ***Hands On: Create Insane Reason Grooves Don't settle for the same loop everyone else is using! This MP3-packed tutorial shows how to blast beats apart in Propellerhead Reason, then shape them into unique, twisted grooves. http://digitalmedia.oreilly.com/2005/05/04/reasonbeat.html ***On the Go with the Motorola MPx220 Camera Phone The Motorola MPx220 is a 3.88-ounce, portable multimedia tool cleverly disguised as a mobile phone. The ROM-based Microsoft Windows Media Player can play back MP3 and WMA audio, as well as WMV video files. The integrated camera can record 1.3-megapixel still photos. Todd Ogasawara explores all in this in-depth review. http://digitalmedia.oreilly.com/2005/05/04/mpx220.html --------------------- Web --------------------- ***Build an eCommerce Application with eZPublish Launch into the world of ecommerce using eZ publish. Bard Farstad explains step-by-step how to create a fully functional product catalogue with online credit card processing functionality. http://www.sitepoint.com/article/ecommerce-website-ez-publish ***Radical Interface Approaches Alex Walker takes a look at several web sites which feature radical interfaces for users. Read along and find out what's possible with just a little bit of imagination. http://www.sitepoint.com/blog-post-view.php?id=261889 ***Validate User Input in PHP 5 Discover how to validate user data in PHP and produce user-friendly error messages when something goes wrong, or when someone attempts a malicious attack. http://www.sitepoint.com/blog-post-view.php?id=261554 --------------------- MAKE --------------------- ***MAKE: Audio Here's the latest audio from MAKE Magazine. In this MAKE audio show, Cory Doctorow talks about the Brodcast Flag--it's history, the fight, and now its (hopeful) permanent demise. Right click or Control + click to download this MP3 to you local system or add the MAKE Audio feed to your podcasting application and get the show automatically! http://www.makezine.com/blog/archive/make_podcast/ ***Call MAKE Call in to our MAKE voicemail and ask a question; anything is fine. How about something like, "I have an old PC, what can I do with it?" We'll try and answer these on our audio program or on the MAKE: Blog. It's not a toll-free call, so keep that in mind. 206-888-6253 (MAKE) ***MAKE: Weather http://makezine.com/weatherlink/ More about our Weather Experiment http://www.makezine.com/blog/archive/2005/04/davis_vantage_p.html ================================================ >From Your Peers =============================================== ***Don't forget to check out the O'Reilly UG wiki to see what user groups around the globe are up to: http://wiki.oreillynet.com/usergroups/index.cgi Until next time-- Marsee Henon ================================================================ O'Reilly 1005 Gravenstein Highway North Sebastopol, CA 95472 http://ug.oreilly.com/ http://www.oreilly.com ================================================================ From mikeraz at patch.com Mon May 16 13:16:44 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Mon, 16 May 2005 13:16:44 -0700 Subject: [Pdx-pm] searching for multiple strings Message-ID: <20050516201644.GB17949@patch.com> I'm working on a little thing to watch log files for patterns and then modify firewall rules based on items found. During benchmarking I came across something that said my internal Perl interpreter does not know what's going on. These don't seem to be synonyms: if( (/Illegal user/ || /User unk/ || /no such user/) ) { if(/Illegal user|User unk|no such user/) { Not only are they not synonymous, the performance difference is huge: [root at tire log]# ./tben maillog.1 42613 lines to process Benchmark: timing 10 iterations of allinone, seps... allinone: 71 wallclock secs (68.61 usr + 0.30 sys = 68.91 CPU) @ 0.15/s (n=10) seps: 3 wallclock secs ( 2.85 usr + 0.00 sys = 2.85 CPU) @ 3.51/s (n=10) found seps 36980 allinone 36980 Um, what's going on here? Secondary question, both methods look wrong to me. As in there has to be a better way to do the search. Especially when I'll eventually have N substrings to search for, some of them pulled from a config file specified by the user. tben is: #!/usr/bin/perl use Benchmark; # I use maillog.1 @logfile = <>; $allinone = $seps = 0; print "$#logfile lines to process\n"; timethese ( 10, { # print "long $cnt\n";, # make sure my matches match, seps => q{ for(@logfile) { if( (/Illegal user/ || /User unk/ || /no such user/) ) { $seps++; } } }, allinone => q{ for(@logfile) { if(/Illegal user|User unk|no such user/) { $allinone++; } } } }); print "found seps $seps allinone $allinone\n"; -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: Early to bed and early to rise and you'll be groggy when everyone else is wide awake. From schwern at pobox.com Mon May 16 13:55:04 2005 From: schwern at pobox.com (Michael G Schwern) Date: Mon, 16 May 2005 13:55:04 -0700 Subject: [Pdx-pm] searching for multiple strings In-Reply-To: <20050516201644.GB17949@patch.com> References: <20050516201644.GB17949@patch.com> Message-ID: <20050516205504.GB29003@windhund.schwern.org> On Mon, May 16, 2005 at 01:16:44PM -0700, Michael Rasmussen wrote: > These don't seem to be synonyms: > if( (/Illegal user/ || /User unk/ || /no such user/) ) { > if(/Illegal user|User unk|no such user/) { > > Not only are they not synonymous, the performance difference is huge: They should be synonmous in terms of functionality. > Um, what's going on here? Not sure but could be the regex doing pathological backtracking. This is the sort of thing that changes from perl version to perl version. What version are you using? The former is likely quick because its basically doing this: index($_, "Illegal user") || index($_, "User unk") || index($_, "no such user") No backtracking, just a zippy substring search. That's my guess. You can hop in with "use re 'debug'" and see what's going on in the regex. > Secondary question, both methods look wrong to me. As in there has to be > a better way to do the search. Especially when I'll eventually have N > substrings to search for, some of them pulled from a config file specified > by the user. Off the top of my head... use List::Util qw(first); my @Wrong_User_Pats = ('Illegal User', 'User unk', 'no such user'); if( first { index($msg, $_) } @Wrong_User_Pats ) { ... } first() being like grep() except it stops at the first match. And, of course... sub is_wrong_user { my $msg = shift; return first { index($msg, $_) } @Wrong_User_Pats ? 1 : 0; } if( is_wrong_user($msg) ) { ... } -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Don't try the paranormal until you know what's normal. -- "Lords and Ladies" by Terry Prachett From randall at sonofhans.net Mon May 16 14:08:34 2005 From: randall at sonofhans.net (Randall Hansen) Date: Mon, 16 May 2005 14:08:34 -0700 Subject: [Pdx-pm] searching for multiple strings In-Reply-To: <20050516201644.GB17949@patch.com> References: <20050516201644.GB17949@patch.com> Message-ID: <36c0c1f9d2d5da50283fdf3b086adcc8@sonofhans.net> On May 16, 2005, at 1:16 PM, Michael Rasmussen wrote: > These don't seem to be synonyms: > if( (/Illegal user/ || /User unk/ || /no such user/) ) { > if(/Illegal user|User unk|no such user/) { FWIW, the camel talks about this (pasted below). r ---- (chapter 5, section 9): Similarly, you should use Perl's control flow to decide which patterns to execute, and which ones to skip. A regular expression is pretty smart, but it's smart like a horse. It can get distracted if it sees too much at once. So sometimes you have to put blinders onto it. For example, you'll recall our earlier example of alternation: /Gandalf|Saruman|Radagast/ That works as advertised, but not as well as it might, because it searches every position in the string for every name before it moves on to the next position. Astute readers of The Lord of the Rings will recall that, of the three wizards named above, Gandalf is mentioned much more frequently than Saruman, and Saruman is mentioned much more frequently than Radagast. So it's generally more efficient to use Perl's logical operators to do the alternation: /Gandalf/ || /Saruman/ || /Radagast/ This is yet another way of defeating the "leftmost" policy of the Engine. It only searches for Saruman if Gandalf was nowhere to be seen. And it only searches for Radagast if Saruman is also absent. Not only does this change the order in which things are searched, but it sometimes allows the regular expression optimizer to work better. It's generally easier to optimize searching for a single string than for several strings simultaneously. Similarly, anchored searches can often be optimized if they're not too complicated. From wcooley at nakedape.cc Mon May 16 14:10:18 2005 From: wcooley at nakedape.cc (Wil Cooley) Date: Mon, 16 May 2005 14:10:18 -0700 Subject: [Pdx-pm] searching for multiple strings In-Reply-To: <20050516201644.GB17949@patch.com> References: <20050516201644.GB17949@patch.com> Message-ID: <20050516211018.GC13729@rheingold.nakedape.priv> Also Sprach Michael Rasmussen on Mon, May 16, 2005 at 01:16:44PM PDT: > I'm working on a little thing to watch log files for patterns and then > modify firewall rules based on items found. > > During benchmarking I came across something that said my internal Perl > interpreter does not know what's going on. > > These don't seem to be synonyms: > if( (/Illegal user/ || /User unk/ || /no such user/) ) { > if(/Illegal user|User unk|no such user/) { > > Not only are they not synonymous, the performance difference is huge: > > [root at tire log]# ./tben maillog.1 > 42613 lines to process > Benchmark: timing 10 iterations of allinone, seps... > allinone: 71 wallclock secs (68.61 usr + 0.30 sys = 68.91 CPU) @ 0.15/s (n=10) > seps: 3 wallclock secs ( 2.85 usr + 0.00 sys = 2.85 CPU) @ 3.51/s (n=10) > found seps 36980 allinone 36980 > > > Um, what's going on here? The first method performs 3 regular expression matches for every line, whereas the second only one. That great of a timing difference is hard to account for though. Performance differences aside, how are they not synonymous? > Secondary question, both methods look wrong to me. As in there has > to be a better way to do the search. Especially when I'll eventually > have N substrings to search for, some of them pulled from a config > file specified by the user. You want something that works like 'grep -f '? It isn't difficult to slurp in a file, chomp each line, append to a string, append '|' (if not the last), then use the resulting string as the RE. You probably also want to compile the RE with 'qr//'. Wil -- Wil Cooley wcooley at nakedape.cc Naked Ape Consulting http://nakedape.cc * * * * Linux, UNIX, Networking and Security Solutions * * * * -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.pm.org/pipermail/pdx-pm-list/attachments/20050516/251fbc04/attachment.bin From publiustemp-pdxpm at yahoo.com Tue May 17 14:18:23 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Tue, 17 May 2005 14:18:23 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple Message-ID: <20050517211823.44050.qmail@web60811.mail.yahoo.com> Hi all, On a very minor note: during the presentation the other night, my module, Data::Dumper::Simple appeared to break. It did not. Instead, I was trying to use it in a way that is very clearly documented not to work. The module, for those who are curious, let's you do things like this: use Data::Dumper::Simple; print Dumper($foo, @bar, %baz); And it will print out a nifty dump of the variables *with* the variable names! Also note that you don't even need to take a reference to the variables. Doing this with the normal Data::Dumper requires this ugly mess: use Data::Dumper; print Data::Dumper->Dump( [$foo, \@bar, \%baz], [qw/*foo *bar *baz/] ); That's a pain to type. My method makes debugging very easy because now you no longer have to remember what $VAR1, $VAR2 and friends stand for. The reason my code didn't work is becuase I was trying to do something like this: print Dumper(sub_name()); My code works with a source filter (and, as such, is only recommended for use while debugging) and it's documented that the arguments to Dumper must be variables, not subroutines (because there's no way of knowing how many variables you will get back or what names they should have). Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From raa at mailporter.net Tue May 17 16:20:30 2005 From: raa at mailporter.net (raa@mailporter.net) Date: Tue, 17 May 2005 16:20:30 -0700 Subject: [Pdx-pm] Python to Perl Message-ID: <428A7C3E.90101@mailporter.net> I found a very nifty python script that works fine as far as it goes but I need some additional functionality and am not really willing to learn python to get it. ( I'm willing to learn enough to translate but that's it! ) Most everything in the script I can deal with but I'm having a a bit of a time with a piece of the regular expressions. I've done "some" research but can't find any reference to three double-quotes in a row. Probably something very python not regex. re.compile(r"""(?P[A-z]{3,3})\s*(?P\d+)""") Any closet pythoners in the crowd? Anyone else done the python to perl thing before? Rod -- --- [This E-mail scanned for viruses by Declude Virus] From ewilhelm at sbcglobal.net Tue May 17 17:22:00 2005 From: ewilhelm at sbcglobal.net (Eric Wilhelm) Date: Tue, 17 May 2005 17:22:00 -0700 Subject: [Pdx-pm] Python to Perl In-Reply-To: <428A7C3E.90101@mailporter.net> References: <428A7C3E.90101@mailporter.net> Message-ID: <200505171722.00253.ewilhelm@sbcglobal.net> # The following was supposedly scribed by # raa at mailporter.net # on Tuesday 17 May 2005 04:20 pm: >I've done "some" >research but can't find any reference to three double-quotes in a row. >Probably something very python not regex. > >re.compile(r"""(?P[A-z]{3,3})\s*(?P\d+)""") I don't think it's a regex issue. I googled for python+double-quote+interpolation and got this page: http://mail.python.org/pipermail/python-list/2003-July/171918.html >Any closet pythoners in the crowd? ?Anyone else done the python to > perl thing before? I've done some work with Inline::Python, even hacked on it a little. You may need the Inline::C off of my server (or was that only with Inline::CPP?) But, if you're trying to replicate the basic functionality in order to change it, you'll probably have better luck just hand-translating (or writing in python.) I try to avoid python proper. There's just something odd about not being able to shoot a good-sized hole through your foot. It makes me feel cramped or something. --Eric -- "It is a mistake to allow any mechanical object to realize that you are in a hurry." -- Ralph's Observation --------------------------------------------- http://scratchcomputing.com --------------------------------------------- From perl-pm at joshheumann.com Tue May 17 18:56:52 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 17 May 2005 18:56:52 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple In-Reply-To: <20050517211823.44050.qmail@web60811.mail.yahoo.com> References: <20050517211823.44050.qmail@web60811.mail.yahoo.com> Message-ID: <42628.130.94.161.230.1116381412.squirrel@joshheumann.com> > Hi all, > > On a very minor note: during the presentation the other night, my > module, Data::Dumper::Simple appeared to break. It did not. Instead, I > was trying to use it in a way that is very clearly documented not to > work. Ovid, I like the concept of Data::Dumper::Simple, but from an interface standpoint, it was a little confusing. This is how I use Data::Dumper: use Data::Dumper; my $foo = 42; print Dumper $foo; ...but Data::Dumper::Simple doesn't work the same way. In order to use it, I have to do this: use Data::Dumper::Simple; my $foo = 42; warn Dumper( $foo ); It's a small difference, I know, but it would be really nice to just substitute one for the other and have my existing print statements work. Any specific reason for not allowing the print Dumper? Josh From tex at off.org Tue May 17 23:38:10 2005 From: tex at off.org (Austin Schutz) Date: Tue, 17 May 2005 23:38:10 -0700 Subject: [Pdx-pm] Data::Dumper::Simple In-Reply-To: <20050517211823.44050.qmail@web60811.mail.yahoo.com> References: <20050517211823.44050.qmail@web60811.mail.yahoo.com> Message-ID: <20050518063810.GC16029@gblx.net> On Tue, May 17, 2005 at 02:18:23PM -0700, Ovid wrote: > My code works with a source filter (and, as such, is only recommended > for use while debugging) and it's documented that the arguments to > Dumper must be variables, not subroutines (because there's no way of > knowing how many variables you will get back or what names they should > have). > My Debug::Toolkit does something similar in a format I like (need to publish it one of these days soon), but I ran up against the same thing, and the source filter thing scares me - at least, I recall having odd problems with it. Surely there's another way of obtaining the variable name. Have you ever looked in to trying to extract it from the interpreter's data structures? Then again, maybe that's more craziness than it's worth. Austin From tex at off.org Tue May 17 23:45:53 2005 From: tex at off.org (Austin Schutz) Date: Tue, 17 May 2005 23:45:53 -0700 Subject: [Pdx-pm] Python to Perl In-Reply-To: <200505171722.00253.ewilhelm@sbcglobal.net> References: <428A7C3E.90101@mailporter.net> <200505171722.00253.ewilhelm@sbcglobal.net> Message-ID: <20050518064553.GD16029@gblx.net> On Tue, May 17, 2005 at 05:22:00PM -0700, Eric Wilhelm wrote: > I try to avoid python proper. There's just something odd about not > being able to shoot a good-sized hole through your foot. It makes me > feel cramped or something. > There's really a hole there, but they trick you by telling you the whitespace actually is doing you a favor. Austin From publiustemp-pdxpm at yahoo.com Wed May 18 08:41:20 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 18 May 2005 08:41:20 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple In-Reply-To: 6667 Message-ID: <20050518154120.6401.qmail@unknown-209-73-178-235.yahoo.com> --- Josh Heumann wrote: > Ovid, I like the concept of Data::Dumper::Simple, but from an > interface > standpoint, it was a little confusing. This is how I use > Data::Dumper: > > use Data::Dumper; > > > my > $foo > = > 42; > print Dumper $foo; > > ...but Data::Dumper::Simple doesn't work the same way. In order to > use > it, I have to do this: > > use Data::Dumper::Simple; > > my $foo = 42; > warn Dumper( $foo ); > > It's a small difference, I know, but it would be really nice to just > substitute one for the other and have my existing print statements > work. > > Any specific reason for not allowing the print Dumper? You can "print Dumper($data)" all you want. The caveats to remember with Data::Dumper::Simple is that you must be dumping variables (not subroutine calls) and you have to use the parenthesis. You can print, warn, diag, etc., all you want. Your print example failed to work because you didn't use parentheses. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From publiustemp-pdxpm at yahoo.com Wed May 18 08:56:30 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 18 May 2005 08:56:30 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple In-Reply-To: 6667 Message-ID: <20050518155631.51246.qmail@web60824.mail.yahoo.com> --- Austin Schutz wrote: > My Debug::Toolkit does something similar in a format I like > (need to publish it one of these days soon), but I ran up against the > same thing, and the source filter thing scares me - at least, I > recall having > odd problems with it. > Surely there's another way of obtaining the variable name. Have > you ever looked in to trying to extract it from the interpreter's > data > structures? Maybe there's some obscure incantation in the B modules while mucking about with the padlist, but I don't really do much of that. PadWalker might also get me what I want, but I realized I would have trouble matching the data that I fetch with the data that I have. It seemed more trouble than it was worth. DDS is really simple internally. Plus, why should a source filter scare you? This is only a debugging module. It's not intended for any sort of production use so there shouldn't be any exposure. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From publiustemp-pdxpm at yahoo.com Wed May 18 10:58:30 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 18 May 2005 10:58:30 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple and source filters Message-ID: <20050518175830.1941.qmail@web60811.mail.yahoo.com> Hi all, I'm getting a variety of questions offlist about the required parentheses in DDS and I figured it would be easier if I explain this all at once. Because DDS is a source filter, I have to parse a tiny subset of Perl. Because this is difficult, I wanted to reduce my problem space as much as possible. The relevant line of code in the source filter is this: $DUMPER_FUNCTION\s*\(([^)]+)\) That's very simplistic, but when you see that I require parentheses and limit the argument list to variables, it makes the problem suprisingly manageable. Do you think the parens shouldn't be required? Then maybe I should match to a semi-colon but still allow optional parentheses: $DUMPER_FUNCTION\s*\(?([^)]+)\)?; But that allows unbalanced parentheses. Hmm ... maybe I can do this: $DUMPER_FUNCTION\s*(\()?([^)]+)(?(1)\)); Great. Now I've used an experimental feature that few understand and is not guaranteed to be remain in the perl regex engine. (See "perldoc perlre" and look for "Conditional expression" to see what I did). I decided it wasn't worth the trouble and the potential bugs, so I just said "parens required." Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From tom.phoenix at gmail.com Wed May 18 11:22:56 2005 From: tom.phoenix at gmail.com (Tom Phoenix) Date: Wed, 18 May 2005 14:22:56 -0400 Subject: [Pdx-pm] Data::Dumper::Simple and source filters In-Reply-To: <20050518175830.1941.qmail@web60811.mail.yahoo.com> References: <20050518175830.1941.qmail@web60811.mail.yahoo.com> Message-ID: <31086b24050518112269c2de51@mail.gmail.com> On 5/18/05, Ovid wrote: > The relevant line of code in the > source filter is this: > > $DUMPER_FUNCTION\s*\(([^)]+)\) Can you also have it look for $DUMPER_FUNCTION followed by a comma-separated list of variable names followed by a semicolon? That is, can you have two different syntaxes that both trigger your code? --Tom Phoenix From publiustemp-pdxpm at yahoo.com Wed May 18 11:39:31 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 18 May 2005 11:39:31 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple and source filters In-Reply-To: 6667 Message-ID: <20050518183932.63756.qmail@unknown-209-73-178-238.yahoo.com> --- Tom Phoenix wrote: > On 5/18/05, Ovid wrote: > > > The relevant line of code in the > > source filter is this: > > > > $DUMPER_FUNCTION\s*\(([^)]+)\) > > Can you also have it look for $DUMPER_FUNCTION followed by a > comma-separated list of variable names followed by a semicolon? That > is, can you have two different syntaxes that both trigger your code? Sure. my $COMMA = qr/(?:,|=>)/; my $SIGIL = qr/$@%*&/; my $ATOM = qr/[[:word:]]+/; my $SEP = qr/::/; my $VAR = qr/$SIGIL$SEP?$ATOM(?:$SEP$ATOM)*/; my $WITH_PARENS = qr/$DUMPER_FUNCTION\s*\(([^)]+)\)/; my $VAR_LIST = qr/$VAR\s*(?:$COMMA\s*$VAR)*/; my $MATCH = qr/($WITH_PARENS|$VAR_LIST)/; That seems more trouble than it's worth and I assume it's buggy. Patches welcome :) Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From krisb at ring.org Wed May 18 13:15:01 2005 From: krisb at ring.org (Kris Bosland) Date: Wed, 18 May 2005 13:15:01 -0700 (PDT) Subject: [Pdx-pm] Weird @INC trouble and Kwiki-0.38 on Win32 Message-ID: Hi, I am trying to get Kwiki-0.38 working on Win32 with Active State 5.8 perl. I have worked around a couple of "features" but I am currently stuck on a strange include problem. I have been downloading some of the recent versions of supporting libraries since I have not yet figured out how to get ppm to give me the latest of these, so I have a bunch of includes on my command line. Perl says it can't find a Kwiki sub library, but I can find it from my command shell: C:\Documents and Settings\kbosland\My Documents\development\perl\kwiki\Kwiki-0.3 8>perl -I ..\Spiffy-0.24\lib -I ..\Spoon-0.23\lib -I lib -I ..\IO-All-0.33\lib k wiki -new krisb Can't locate Kwiki/Files.pm in @INC (@INC contains: lib ..\Spiffy-0.24\lib ..\Sp oon-0.23\lib ..\IO-All-0.33\lib C:/Perl/lib C:/Perl/site/lib .) at (eval 58) lin e 3. C:\Documents and Settings\kbosland\My Documents\development\perl\kwiki\Kwiki-0.3 8>dir lib\Kwiki\Files.pm Volume in drive C has no label. Volume Serial Number is 84B1-FADD Directory of C:\Documents and Settings\kbosland\My Documents\development\perl\k wiki\Kwiki-0.38\lib\Kwiki 02/24/2005 08:07 AM 10,434 Files.pm 1 File(s) 10,434 bytes 0 Dir(s) 38,347,126,784 bytes free Thanks for any help. -Kris !DSPAM:428b6da1173511567555723! From jeff at vpservices.com Wed May 18 13:21:57 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Wed, 18 May 2005 13:21:57 -0700 Subject: [Pdx-pm] Weird @INC trouble and Kwiki-0.38 on Win32 In-Reply-To: References: Message-ID: <428BA3E5.2000906@vpservices.com> Kris Bosland wrote: > I have been downloading >some of the recent versions of supporting libraries since I have not yet >figured out how to get ppm to give me the latest of these, so I have a >bunch of includes on my command line. > Did you just download them from CPAN and move the dirs instead of really installing them properly? Since most Kwiki plugins are pure perl, you don't need a compiler to install them properly, you just need a copy of nmake.exe (google for it, it's free). Once you have that you can install with make, make test, make install, or better, use CPAN.pm. Once you have CPAN.pm configured (just follow the prompts) you can do "kwiki -install Kwiki::Module" which will download and install the module and update your kwiki with it at the same time. -- Jeff From jeff at vpservices.com Wed May 18 13:24:53 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Wed, 18 May 2005 13:24:53 -0700 Subject: [Pdx-pm] Weird @INC trouble and Kwiki-0.38 on Win32 In-Reply-To: <428BA3E5.2000906@vpservices.com> References: <428BA3E5.2000906@vpservices.com> Message-ID: <428BA495.6040505@vpservices.com> Jeff Zucker wrote: > you just need a copy of >nmake.exe (google for it, it's free). Once you have that you can install >with make, make test, make install > > er, that would be perl Makefile.PL, nmake, nmake test, nmake install. -- Jeff From tex at off.org Wed May 18 13:48:29 2005 From: tex at off.org (Austin Schutz) Date: Wed, 18 May 2005 13:48:29 -0700 Subject: [Pdx-pm] Data::Dumper::Simple In-Reply-To: <20050518155631.51246.qmail@web60824.mail.yahoo.com> References: <20050518155631.51246.qmail@web60824.mail.yahoo.com> Message-ID: <20050518204829.GL16029@gblx.net> On Wed, May 18, 2005 at 08:56:30AM -0700, Ovid wrote: > --- Austin Schutz wrote: > > My Debug::Toolkit does something similar in a format I like > > (need to publish it one of these days soon), but I ran up against the > > same thing, and the source filter thing scares me - at least, I > > recall having > > odd problems with it. > > Surely there's another way of obtaining the variable name. Have > > you ever looked in to trying to extract it from the interpreter's > > data > > structures? > > Maybe there's some obscure incantation in the B modules while mucking > about with the padlist, but I don't really do much of that. PadWalker > might also get me what I want, but I realized I would have trouble > matching the data that I fetch with the data that I have. It seemed > more trouble than it was worth. DDS is really simple internally. > > Plus, why should a source filter scare you? This is only a debugging > module. It's not intended for any sort of production use so there > shouldn't be any exposure. > I've had bad luck specifically with the cpp filter, though in general I don't like it because it will fail at times when the filter isn't properly matched. dump(")") and the like. Also like any sort of macro substitution, you can have odd results if you don't properly parenthesize parameters. There's a good document explaining problems that can cause around here somewhere, but I'm having trouble finding it. Also for multiline statements such as: dump( $a, @b ); line numbers may be altered by source filter substitutions. Maybe the perl filter stuff is smart enough to account for that, but it can be a real headache with C code. Often in practice the source filters don't recognize multiline statements at all, though this may be the application of the filter and not the fault of the filter itself. All that may seem fairly obscure, but when it bites you when you're trying to debug code it can make the process more difficult. Also, for myself I like to keep it around in production for exception handling - if an error occurs it can be nice to be able to dump the related data structures. I also add a -debug parameter flag to much of my code, so the debugging code is still in there even if it isn't executed. ..that said, having the variable names is a real boon. It would seem like that should be possible to get without having to walk the symbol table, but maybe not. Austin From krisb at ring.org Wed May 18 13:51:43 2005 From: krisb at ring.org (Kris Bosland) Date: Wed, 18 May 2005 13:51:43 -0700 (PDT) Subject: [Pdx-pm] Weird @INC trouble and Kwiki-0.38 on Win32 In-Reply-To: <428BA495.6040505@vpservices.com> Message-ID: Thanks for the tip Jeff. I have installed some modules with PPM, but since these seem to be bleeding edge and have some problems, I wanted to hold off so I did some manual unpack and a manual include path. For example, one module had something like: Package foo; my sub bar { } sub baz { my $self = shift; $self->$bar(); } which I think is the same as saying my $bar = sub { } but I don't even know what version of perl that is. -Kris On Wed, 18 May 2005, Jeff Zucker wrote: > Jeff Zucker wrote: > > > you just need a copy of > >nmake.exe (google for it, it's free). Once you have that you can install > >with make, make test, make install > > > > > er, that would be perl Makefile.PL, nmake, nmake test, nmake install. > > -- > Jeff > > > > !DSPAM:428ba4fe45405772018157! > > From m_pm_pdx at wickline.org Wed May 18 19:50:46 2005 From: m_pm_pdx at wickline.org (matthew wickline) Date: Wed, 18 May 2005 19:50:46 -0700 (PDT) Subject: [Pdx-pm] PDX perl job (test-driven development and pair programming) Message-ID: <4831.24.21.67.113.1116471046.squirrel@webmail2.pair.com> Curtis has spread the word her plenty of times in the past when we've been hiring. Well, it's the same company, but we've grown again and have more spots to fill. If the subject line got your attention, look further here... http://use.perl.org/~wickline/journal/24764 -matt From m_pm_pdx at wickline.org Wed May 18 19:54:31 2005 From: m_pm_pdx at wickline.org (matthew wickline) Date: Wed, 18 May 2005 19:54:31 -0700 (PDT) Subject: [Pdx-pm] PDX perl job (test-driven development and pair programming) Message-ID: <4834.24.21.67.113.1116471271.squirrel@webmail2.pair.com> > Curtis has spread the word her plenty of times in the past s/her/here/ From publiustemp-pdxpm at yahoo.com Wed May 18 20:11:44 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 18 May 2005 20:11:44 -0700 (PDT) Subject: [Pdx-pm] PDX perl job (test-driven development and pair programming) In-Reply-To: 6667 Message-ID: <20050519031144.38673.qmail@web60822.mail.yahoo.com> --- matthew wickline wrote: > Curtis has spread the word her plenty of times in the past when we've > been > hiring. Well, it's the same company, but we've grown again and have > more > spots to fill. If the subject line got your attention, look further > here... > > http://use.perl.org/~wickline/journal/24764 All things considered, it was a great place to work, folks. I recommend them. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From welscha at pdx.edu Thu May 19 16:16:25 2005 From: welscha at pdx.edu (Alex Welsch) Date: Thu, 19 May 2005 16:16:25 -0700 Subject: [Pdx-pm] shopping carts ?? Message-ID: <428D1E49.3080801@pdx.edu> Hi, does anyone have any recommendations for shopping carts Some of my criteria -- I can install on a unix/linux without root access --I can be modify for a tour reservation system where tours have a fixed number of slots (sort of like fixed inventory, I guess.) -- security (ssl). -- doesn't necessarily need mod_perl, caching etc. -- preferably perl-based I have searched around and found "interchange" as one of the perl options. http://www.icdevgroup.org/ Does anyone have experience with this? any thoughts about it? Thanks much. Alex From schwern at pobox.com Thu May 19 17:44:17 2005 From: schwern at pobox.com (Michael G Schwern) Date: Thu, 19 May 2005 17:44:17 -0700 Subject: [Pdx-pm] shopping carts ?? In-Reply-To: <428D1E49.3080801@pdx.edu> References: <428D1E49.3080801@pdx.edu> Message-ID: <20050520004417.GA6215@windhund.schwern.org> On Thu, May 19, 2005 at 04:16:25PM -0700, Alex Welsch wrote: > I have searched around and found "interchange" as one of the perl options. > http://www.icdevgroup.org/ I've heard good things about it and I know that its the successor to one of the original decent Perl shopping carts: Minivend. -- Michael G Schwern schwern at pobox.com http://www.pobox.com/~schwern Reality is that which, when you stop believing in it, doesn't go away. -- Phillip K. Dick From publiustemp-pdxpm at yahoo.com Thu May 19 18:35:46 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Thu, 19 May 2005 18:35:46 -0700 (PDT) Subject: [Pdx-pm] Data::Dumper::Simple 0.07 Message-ID: <20050520013547.88979.qmail@web60821.mail.yahoo.com> Thanks to the discussion on this list and Tom Phoenix inexplicably taking me seriously and sending me a patch (thanks Tom!), parentheses are optional as of Data::Dumper::Simple 0.07. It's on its way to the CPAN now. You can read about it at http://use.perl.org/~Ovid/journal/24783 Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/ From db at kavod.com Fri May 20 12:47:05 2005 From: db at kavod.com (Daniel Browning) Date: Fri, 20 May 2005 12:47:05 -0700 Subject: [Pdx-pm] shopping carts ?? Message-ID: <20050520194705.GA16807@kavod.com> Hello everyone, I'm new here. Ovid pointed me here when he ran into me on Perl Monks (thanks for the invite, Ovid). > does anyone have any recommendations for shopping carts > > Some of my criteria > -- I can install on a unix/linux without root access > --I can be modify for a tour reservation system where tours have a fixed > number of slots (sort of like fixed inventory, I guess.) > -- security (ssl). > -- doesn't necessarily need mod_perl, caching etc. > -- preferably perl-based > > I have searched around and found "interchange" as one of the perl options. > http://www.icdevgroup.org/ > > Does anyone have experience with this? any thoughts about it? I'm biased since I'm an Interchange developer, but I think it's the best open source e-commerce server out there. It can be difficult to learn, but the effort is worth it when you consider its modularity, speed, and out-of-the-box features. -- Daniel Browning - Kavod Technologies. Random Fortune: The degree of civilization in a society can be judged by entering its prisons. -- F. Dostoyevski From gluv31702 at sneakemail.com Mon May 23 15:36:25 2005 From: gluv31702 at sneakemail.com (Steve Bonds) Date: Mon, 23 May 2005 15:36:25 -0700 Subject: [Pdx-pm] Portland Perl Consultant Wanted Message-ID: <1448-85730@sneakemail.com> Portland Perl Mongers: The company I work for (Menlo Worldwide, http://www.menloworldwide.com) is looking for a Perl consultant for a short-term engagement to improve the performance of a collection of shell scripts supporting electronic data interchange. The engagement would approximately 3 months. The consultant would be expected to be on-site in Northwest Portland 8 hours a day during normal business hours, Monday through Friday during the engagement. We have a system that is getting beat into the ground by a bunch of shell scripts doing things like sending/receiving files via FTP, creating new files in a directory that already contains 100,000 other files, and running the "find" command over millions of files repeatedly. The consultant would be engaged to solve the performance issues created by these unwise practices. We need someone with the following: + Good understanding of Perl and Perl performance optimization + Writes Perl that can be understood by Perl beginners + Understands details of how the Veritas filesystem performs + Can identify "hog" scripts using typical UNIX tools + Understands the UNIX internals behind shell scripting enough to identify commands that are likely performance bottlenecks + Can "triage" which scripts should be optimized first so as to give the best return on our consulting dollar + Familiar with the HP products Measureware and GlancePlus (optional) As you may have gathered, the position is less about advanced Perl and more about a really in-depth knowledge of UNIX/filesystem performance. However, folks who learn a lot of Perl tend to bump into these internals often enough to go to the trouble to learn them. Please send resumes to careers at menloworldwide.com. You may CC: me on them at gluv31702 at sneakemail.com if you have specific questions. Only use this E-mail address for resumes or questions on this position as this address will likely be disabled shortly. Consultants will be expected to work through one of Menlo Worldwide's approved contracting agencies here in Portland. Recruiters are welcome to respond, however be sure that your candidate has the necessary skills to the depth I'm looking for. You have probably noticed that I did not list any "years of experience"; assume that I'm looking only for very, very senior folks. ;-) As I come up with clarifications to this I may post followups-- look for them before asking questions. Thanks, and I hope to see one of you helping me out soon! -- Steve Bonds From perl-pm at joshheumann.com Wed May 25 16:47:55 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 25 May 2005 16:47:55 -0700 (PDT) Subject: [Pdx-pm] [Fwd: Apress User Group Newsletter Here - Please Distribute] Message-ID: <57313.130.94.160.138.1117064875.squirrel@joshheumann.com> -------- Original Message -------- Subject: Apress User Group Newsletter Here - Please Distribute From: janet at Apress.com (Apress) Date: Wed, May 25, 2005 4:15 pm +++++++++++++++++++++++++++++++++++++++ Apress User Group Newsletter Issue 2; Quarter 2, 2005 ****PLEASE FORWARD OR POST THIS NEWSLETTER FOR ALL GROUP MEMBERS**** +++++++++++++++++++++++++++++++++++++++ Sections: 1. eBookshop at Apress.com 2. Let 'Em Rip 3. User Group Tools at Apress.com 4. Apress Beta Community 5. Radio/Audio Interviews 6. Promotions and Prizes 7. Your Local Events 8. The Latest Apress Books -- Hot Off the Press 9. Forthcoming Books -- Summer Releases 10. Upcoming Tradeshows *************************************** 1. eBookshop at Apress.com Apress is pleased to announce its new eBookshop, http://ebookshop.apress.com. You can choose from dozens of recently released Apress titles in PDF format, each at 50% off the regular price. Through June 2005, we'll take an ADDITIONAL 50% off the discount price of the first eBookshop title you purchase - for a total savings of 75% off the book's regular price! Please visit http://www.apress.com/userGroups/ebookpromotion.html to obtain your special user group member discount. There you will enter your user group name, your e-mail address, and this password: apressug2563493. If you have any questions about redeeming your discount, please contact support at apress.com. *************************************** 2. Let 'Em Rip Have a computer book you don't like? Think you overpaid for what turned out to be a waste of your valuable time? Rip out and send in the copyright page from that book, and Apress will offer you an e-version of a better book for $10.00. Be sure to write the title and ISBN of the Apress eBook you would like, and a valid e-mail address where we can send your coupon to redeem for your $10.00 eBook. Please print carefully in blue or black ink. The book from which you rip the copyright page must be published January 1, 2000, or later. Photocopied, partial, or Apress copyright pages will not be accepted. Envelope must be postmarked no later than June 30, 2005. Limit one copyright page per name or e-mail address. Use of multiple e-mail addresses to obtain additional eBook coupons constitutes fraud. Incomplete or incorrect submissions will not be honored. Keep a photocopy of your copyright page for future reference. Copyright pages submitted become the property of Apress and will not be returned. Apress is not responsible for incomplete, lost, or late submissions. Void where prohibited by law. Send ripped-out copyright pages to: Apress Let 'Em Rip Promotion 2560 Ninth Street, Suite 219 Berkeley, CA 94710 Let 'em rip. *************************************** 3. User Group Tools at Apress.com Please visit the updated Apress User Groups page soon, which will contain lots of helpful information to supplement your group experience: http://www.apress.com/userGroups/. New features include downloadable Apress logos to post on your site and use in printed materials. We also offer a User Group Finder to locate other groups in your area. (Or just take a peek to see who's registered around the world.) You'll also find a convenient form for requesting an Apress author to speak with your group. *************************************** 4. Apress Beta Community On June 6, Apress will launch its Apress Beta Community (ABC), a new portal for .NET professionals. The ABC will provide the best in expert opinion, articles, and peer-to-peer discussion about Microsoft's .NET 2.0 Beta. The ABC will be hosted by ASP Today, and we encourage you to bookmark the link: http://www.asptoday.com/abc. *************************************** 5. Radio/Audio Interviews Apress has an active radio/audio presence! A growing number of authors are joining this trend, and strutting their stuff over the airwaves. We have future interview slots in the works. And very soon our radio/audio portal will be RSS-enabled, making it even easier for you to tune in. We've also posted past interviews for you to listen to and learn from. Check them out at http://www.apress.com/interview/radio.html. *************************************** 6. Promotions and Prizes Apress sponsored the Apress User Group Puzzler in April. We are pleased to announce the winner: Douglas Rowe, a member of the Columbia Java Users Group (COLAJUG), who designed the most creative and geek-savvy crossword puzzle. Douglas has won a Sony PlayStation Portable! Thank you to everyone who submitted a puzzle in April. We will display the winning crossword puzzle on our User Group site in June. Please visit our site then and test your Apress knowledge by trying the puzzle. If you missed the opportunity to participate in this promotion, don't fret! Apress will host another fun contest, the Apress Fractal Contest, in July 2005. Please check http://www.apress.com/ for details and rules about this upcoming contest. (And spread the word to other group members.) *************************************** 7. Your Local Events Are you hosting a user group summit or conference? Maybe a technical festival, education day, or code camp? Apress is pleased to have participated in all of these types of events, and we want to participate in your next event. Apress is happy to donate books and other goodies, and even arrange for an author to speak when possible. Please let me know if you'd like Apress to get involved: janet at apress.com. *************************************** 8. The Latest Apress Books -- Hot Off the Press Beginning J2ME: From Novice to Professional, Third Edition By Jonathan Knudsen and Sing Li Published April 2005 ISBN: 1-59059-479-7 480 pp. $44.99 http://www.apress.com/book/bookDisplay.html?bID=426 Shell Scripting Recipes: A Problem-Solution Approach By Chris F.A. Johnson Published May 2005 ISBN: 1-59059-471-1 448 pp. $39.99 http://www.apress.com/book/bookDisplay.html?bID=419 Expert .NET Delivery Using NAnt and CruiseControl.NET By Marc Holmes Published May 2005 ISBN: 1-59059-485-1 400 pp. $49.99 http://www.apress.com/book/bookDisplay.html?bID=430 *************************************** 9. Forthcoming Books -- Summer Releases The Best Software Writing I: Selected and Introduced by Joel Spolsky To Publish: June 2005 ISBN: 1-59059-500-9 350 pp. $24.99 http://www.apress.com/book/bookDisplay.html?bID=453 A Programmer's Introduction to C# 2.0, Third Edition By Eric Gunnerson and Nick Wienholt To Publish: June 2005 ISBN: 1-59059-501-7 550 pp. $39.99 http://www.apress.com/book/bookDisplay.html?bID=454 The Definitive Guide to Java Swing, Third Edition By John Zukowski To Publish: June 2005 ISBN: 1-59059-447-9 1000 pp. $49.99 http://www.apress.com/book/bookDisplay.html?bID=393 *************************************** 10. Upcoming Tradeshows Apress will be exhibiting at the following shows this summer. If you are there, please stop by and say hello! BookExpo America New York City, NY June 3 - 5, 2005 http://www.bookexpoamerica.com Tech-Ed 2005 Orlando, FL June 5 - 10, 2005 http://www.microsoft.com/events/teched2005/default.mspx O'Reilly Open Source Convention (OSCON) Portland, OR August 1 - 5, 2005 http://conferences.oreillynet.com/os2005/ LinuxWorld 2005 San Francisco, CA August 8 - 11, 2005 http://www.linuxworldexpo.com/live/12/events/12SFO05A/ *************************************** We do not send unsolicited newsletters. You received this because you registered a user group at http://www.apress.com. To be removed from the Apress user group newsletter mailing list, e-mail us at mailto:opt-out at apress.com with the subject line REMOVE. For all other requests, please do not reply to this e-mail. Instead, e-mail info at apress.com and we'll get back to you regarding your query. Apress - The Expert's Voice(TM) 2560 Ninth St, Suite 219 Berkeley, CA 94710 510-549-5930 From perl-pm at joshheumann.com Fri May 27 11:31:17 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Fri, 27 May 2005 11:31:17 -0700 (PDT) Subject: [Pdx-pm] Presenter for June? Message-ID: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> We don't have a presenter lined up for June yet. Anyone care to volunteer, or request a topic that you would like to hear presented on? Josh From tom.phoenix at gmail.com Fri May 27 17:18:34 2005 From: tom.phoenix at gmail.com (Tom Phoenix) Date: Fri, 27 May 2005 17:18:34 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> Message-ID: <31086b2405052717187b7949f4@mail.gmail.com> Would lightning talks be a possibility? Anybody want to teach us how to juggle? Or to help me do a lightning talk about MediaWiki? --Tom Phoenix From jeff at vpservices.com Fri May 27 17:25:33 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Fri, 27 May 2005 17:25:33 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b2405052717187b7949f4@mail.gmail.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> Message-ID: <4297BA7D.3020805@vpservices.com> Tom Phoenix wrote: >Would lightning talks be a possibility? Anybody want to teach us how >to juggle? > I can do that if you're serious. -- Jeff From tom.phoenix at gmail.com Fri May 27 18:05:27 2005 From: tom.phoenix at gmail.com (Tom Phoenix) Date: Fri, 27 May 2005 18:05:27 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <4297BA7D.3020805@vpservices.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> Message-ID: <31086b24050527180555acf3a4@mail.gmail.com> On 5/27/05, Jeff Zucker wrote: > I can do that if you're serious. I'm rarely serious. But an offer to spend five minutes teaching us how to juggle will get you five minutes in front of the room, no problem. It falls under the rule of this-I-gotta-watch: We might get to see how you can teach people how to juggle in five minutes. If not that, well, we still get to watch people dropping things for five minutes before (or while) we're at a place with beer. It's a win-win-win situation with a lot of potential. How many people would like to see Jeff teach us how to juggle? How many of you want to help Jeff teach us how to juggle? How many of you will bring flaming chainsaws and any other equipment Jeff's going to need? As long as you're doing something interesting to a bunch of Perl Mongers, we may as well let somebody talk about Inline or Pugs or something. Can anybody tell us if there's anything happening there? Aren't these the rules for lightning talks? Be informative. If you can't be informative, try to be interesting. If you can't be informative or interesting, don't worry: we'll make sure you're brief. If you have a chance, pass your content off as being relevant. Have fun, no permanent damage, consenting adults, void where prohibited, do as thou wilt, and let that be the whole of the law, amen. Did I leave anything important out? --Tom Phoenix From dpool at hevanet.com Sat May 28 06:58:46 2005 From: dpool at hevanet.com (David Pool) Date: Sat, 28 May 2005 06:58:46 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b24050527180555acf3a4@mail.gmail.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> Message-ID: <1117288726.9367.5.camel@localhost.localdomain> On Fri, 2005-05-27 at 18:05 -0700, Tom Phoenix wrote: > Did I leave anything important out? Yes, what you were planning to present about MediaWiki. d From tom.phoenix at gmail.com Sat May 28 15:24:22 2005 From: tom.phoenix at gmail.com (Tom Phoenix) Date: Sat, 28 May 2005 15:24:22 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <1117288726.9367.5.camel@localhost.localdomain> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> Message-ID: <31086b2405052815242cdc0738@mail.gmail.com> On 5/28/05, David Pool wrote: > Yes, what you were planning to present about MediaWiki. LTs don't have to use the whole five minutes. Don't expect too much. If you're unlucky, I'll sing karaoke about MediaWiki. Or, depending upon the mood of the crowd. I could present something about Zendo instead. Geeks like Zendo. But I'm not promising anything yet. --Tom Phoenix From jeff at vpservices.com Sun May 29 08:40:44 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Sun, 29 May 2005 08:40:44 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b24050527180555acf3a4@mail.gmail.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> Message-ID: <4299E27C.5020802@vpservices.com> Tom Phoenix wrote: > no permanent damage > That might be problematic - flying balls and beer glasses don't mix too well. Let's save the juggling lesson for the pdx.pm picnic. -- Jeff From dpool at hevanet.com Sun May 29 09:04:07 2005 From: dpool at hevanet.com (David Pool) Date: Sun, 29 May 2005 09:04:07 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b2405052815242cdc0738@mail.gmail.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> Message-ID: <1117382647.6660.1.camel@localhost.localdomain> On Sat, 2005-05-28 at 15:24 -0700, Tom Phoenix wrote: > On 5/28/05, David Pool wrote: > > Yes, what you were planning to present about MediaWiki. > > LTs don't have to use the whole five minutes. Don't expect too much. > If you're unlucky, I'll sing karaoke about MediaWiki. Or, depending > upon the mood of the crowd. I could present something about Zendo > instead. Geeks like Zendo. > > But I'm not promising anything yet. Can you at least promise me you won't sing a duet with Randal? :-D From mikeraz at patch.com Sun May 29 12:49:19 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Sun, 29 May 2005 12:49:19 -0700 Subject: [Pdx-pm] Perl based job in Seattle Message-ID: <20050529194919.GA11380@patch.com> The (critiqued) advert read: We are seeking an experienced Internet developer to lead the development of our high-traffic Web properties including WhitePages.com, WhitePages.ca, and PhoneNumber.com, as well as hundreds of affiliate sites. You must be passionate about web applications, scalability, and the end-user experience. You will write technical specifications based on product requirements documents, and both oversee and participate in the implementation of those products. You will work closely with Product Management, Quality Assurance, and Operations, as well as the rest of the Product Development team, to ensure that your sties are available, responsive, scalable, secure, up-to-date, and feature-rich. More information is available at http://www.perlmonks.org/?node_id=461258 Which is a post from a hiring manager about his difficulties in filling the position. Relocation to Seattle is seems to be a requirement. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://meme.patch.com/memes/BicycleRiding Get Fixed: http://www.dampfixie.org The fortune cookie says: You can never tell which way the train went by looking at the tracks. From allison at perl.org Sun May 29 14:38:55 2005 From: allison at perl.org (Allison Randal) Date: Sun, 29 May 2005 14:38:55 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <1117382647.6660.1.camel@localhost.localdomain> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> Message-ID: <5b299d6b49d5c06d86d0c034aafde399@perl.org> On May 29, 2005, at 9:04, David Pool wrote: > > Can you at least promise me you won't sing a duet with Randal? I'd sing a duet with Randal. Or, how about a quartet of Randall H., Randall L., Randal S., and A. Randal? ;) Allison From krisb at ring.org Sun May 29 14:51:54 2005 From: krisb at ring.org (Kris Bosland) Date: Sun, 29 May 2005 14:51:54 -0700 (PDT) Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b2405052717187b7949f4@mail.gmail.com> Message-ID: I would like to see a discussion of Wikis. I have recently been trying to set up a recent kwiki version on my Windows laptop and have been having a hard time. Maybe people could suggest alternatives or we could discuss what I want to use a wiki for. -Kris On Fri, 27 May 2005, Tom Phoenix wrote: > Would lightning talks be a possibility? Anybody want to teach us how > to juggle? Or to help me do a lightning talk about MediaWiki? --Tom > Phoenix > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > !DSPAM:4297b8eb221991394974280! > > > > > From krisb at ring.org Sun May 29 21:37:53 2005 From: krisb at ring.org (Kris Bosland) Date: Sun, 29 May 2005 21:37:53 -0700 (PDT) Subject: [Pdx-pm] Presenter for June? (fwd) Message-ID: I want to use a customizable wiki for task management, collecting ideas, general notes and little 'manuals' for myself. I liked Kwiki initially because it looked easy to customize, but I saw that lots of people were working on some useful customizations that looked useful, like RCS integration. I waited, and got some more versions, but suddenly I was having a hard time getting them to run on my Win32 laptop. I spent some debug time, then waited for a later version trying to get that to work, with no success so far. I would like to hear about other peoples experiences with wikis or other systems used for this kind of personal documentation. Some features I am interested in: 1. Not to big a learning curve to customize 2. Works on Win32 as well as *nix 3. Supports hierarchical and hyperlink organization, and metadata 4. Some markup, but it doesn't need to be fancy 5. Quick startup to start entering data 6. I would like it if I don't have to run Apache to run this system. Should be able to run from a perl based web server (There is a HTTP-Server-Simple-Kwiki but I haven't gotten a recent kwiki working...) Any ideas? I would like to hear what systems other people use for this kind of organization, maybe I am looking in the wrong direction. In general, I just forget more things than I would like to, and I have not yet found a system that feels like a good match to help me with that. Thanks. -Kris On Sun, 29 May 2005, Michael Rasmussen wrote: > Kris Bosland wrote: > > I would like to see a discussion of Wikis. I have recently been > > trying to set up a recent kwiki version on my Windows laptop and have been > > having a hard time. Maybe people could suggest alternatives or we could > > discuss what I want to use a wiki for. > > Is your hard time with kwiki related to the purpose? > What do you want to use a wiki for? > > -- > Michael Rasmussen, Portland Oregon > Be appropriate && Follow your curiosity > http://meme.patch.com/memes/BicycleRiding > Get Fixed: http://www.dampfixie.org > The fortune cookie says: > Opportunities are usually disguised as hard work, so most people don't > recognize them. > > > > !DSPAM:429a3c29160868077346363! > > From jeff at vpservices.com Sun May 29 21:44:30 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Sun, 29 May 2005 21:44:30 -0700 Subject: [Pdx-pm] Presenter for June? (fwd) In-Reply-To: References: Message-ID: <429A9A2E.5090307@vpservices.com> Kris Bosland wrote: >Any ideas? I would like to hear what systems other people use for this >kind of organization, maybe I am looking in the wrong direction. > I'm a Kwiki man, myself. Ingy has been known to neglect the win32 side of things, but AFAIK Kwiki works on windows. If you run into a roadblock, try #kwiki on irc.freenode.net or the mailing list kwiki at perl.org or just post some questions on KwikiKwiki at www.kwiki.org. There is getting to be a very rich collection of plugins and the architecture is really superb for adding things in. The documentation varies from non-existant to thin, but that will be changing soon. -- Jeff From merlyn at stonehenge.com Mon May 30 04:55:21 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 30 May 2005 04:55:21 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <1117382647.6660.1.camel@localhost.localdomain> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> Message-ID: <86br6tc4ie.fsf@blue.stonehenge.com> >>>>> "David" == David Pool writes: David> Can you at least promise me you won't sing a duet with Randal? If only because I'll be out of town that day. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From dpool at hevanet.com Mon May 30 07:26:10 2005 From: dpool at hevanet.com (David Pool) Date: Mon, 30 May 2005 07:26:10 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <86br6tc4ie.fsf@blue.stonehenge.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> <86br6tc4ie.fsf@blue.stonehenge.com> Message-ID: <1117463171.5840.0.camel@localhost.localdomain> On Mon, 2005-05-30 at 04:55 -0700, Randal L. Schwartz wrote: > >>>>> "David" == David Pool writes: > > David> Can you at least promise me you won't sing a duet with Randal? > > If only because I'll be out of town that day. :) One Randal(l) down, three to go... :) From tom.phoenix at gmail.com Mon May 30 17:09:56 2005 From: tom.phoenix at gmail.com (Tom Phoenix) Date: Mon, 30 May 2005 17:09:56 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <86br6tc4ie.fsf@blue.stonehenge.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> <86br6tc4ie.fsf@blue.stonehenge.com> Message-ID: <31086b2405053017093ce86a1f@mail.gmail.com> On 30 May 2005 04:55:21 -0700, Randal L. Schwartz wrote: > I'll be out of town that day. What day? I know that there's a traditional day these things fall upon, but I don't think that anybody has yet proposed a date for this particular meeting. Is this a good time to ask whether anybody wants to choose a non-traditional meeting day or time or place? What choice will give the maximum value of R(k), which is the number of people named Randal or Randall who will sing Karaoke? And which choice will maximize L(R), which is the number of people who will show up to find out the value of R? --Tom Phoenix From allison at perl.org Mon May 30 22:34:42 2005 From: allison at perl.org (Allison Randal) Date: Mon, 30 May 2005 22:34:42 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b2405053017093ce86a1f@mail.gmail.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> <86br6tc4ie.fsf@blue.stonehenge.com> <31086b2405053017093ce86a1f@mail.gmail.com> Message-ID: <0bf707ba584221d5db570b75d6b2838d@perl.org> On May 30, 2005, at 17:09, Tom Phoenix wrote: > On 30 May 2005 04:55:21 -0700, Randal L. Schwartz wrote: > >> I'll be out of town that day. > > What day? I know that there's a traditional day these things fall > upon, but I don't think that anybody has yet proposed a date for this > particular meeting. Is this a good time to ask whether anybody wants > to choose a non-traditional meeting day or time or place? > > What choice will give the maximum value of R(k), which is the number > of people named Randal or Randall who will sing Karaoke? And which > choice will maximize L(R), which is the number of people who will show > up to find out the value of R? The probability is high that l(R), which is the location of any given person named Randal, will be somewhere other than Portland for any given day between June and October. Behold the power of the summer conference season. ;) Allison From merlyn at stonehenge.com Tue May 31 05:22:20 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 31 May 2005 05:22:20 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <31086b2405053017093ce86a1f@mail.gmail.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> <86br6tc4ie.fsf@blue.stonehenge.com> <31086b2405053017093ce86a1f@mail.gmail.com> Message-ID: <861x7nbn5v.fsf@blue.stonehenge.com> >>>>> "Tom" == Tom Phoenix writes: Tom> On 30 May 2005 04:55:21 -0700, Randal L. Schwartz wrote: >> I'll be out of town that day. Tom> What day? I know that there's a traditional day these things fall Tom> upon, but I don't think that anybody has yet proposed a date for this Tom> particular meeting. I presumed we're referring to "Presenter for June", as in the subject. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From perl-pm at joshheumann.com Tue May 31 07:48:33 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 31 May 2005 07:48:33 -0700 (PDT) Subject: [Pdx-pm] Presenter for June? In-Reply-To: <861x7nbn5v.fsf@blue.stonehenge.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> <86br6tc4ie.fsf@blue.stonehenge.com> <31086b2405053017093ce86a1f@mail.gmail.com> <861x7nbn5v.fsf@blue.stonehenge.com> Message-ID: <33714.130.94.161.230.1117550913.squirrel@joshheumann.com> > I presumed we're referring to "Presenter for June", as in the subject. Meetings are typically the second Wednesday of the month, so we're talking about June 8th. Josh From merlyn at stonehenge.com Tue May 31 07:54:36 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 31 May 2005 07:54:36 -0700 Subject: [Pdx-pm] Presenter for June? In-Reply-To: <33714.130.94.161.230.1117550913.squirrel@joshheumann.com> References: <33335.130.94.161.230.1117218677.squirrel@joshheumann.com> <31086b2405052717187b7949f4@mail.gmail.com> <4297BA7D.3020805@vpservices.com> <31086b24050527180555acf3a4@mail.gmail.com> <1117288726.9367.5.camel@localhost.localdomain> <31086b2405052815242cdc0738@mail.gmail.com> <1117382647.6660.1.camel@localhost.localdomain> <86br6tc4ie.fsf@blue.stonehenge.com> <31086b2405053017093ce86a1f@mail.gmail.com> <861x7nbn5v.fsf@blue.stonehenge.com> <33714.130.94.161.230.1117550913.squirrel@joshheumann.com> Message-ID: <86ekbna1jn.fsf@blue.stonehenge.com> >>>>> "Josh" == Josh Heumann writes: Josh> >> I presumed we're referring to "Presenter for June", as in the subject. Josh> Meetings are typically the second Wednesday of the month, so we're talking Josh> about June 8th. Correct, and as I already said "not gonna make it". -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!