From perl-pm at joshheumann.com Mon Nov 7 13:20:07 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon, 7 Nov 2005 13:20:07 -0800 Subject: [Pdx-pm] November Meeting this week Message-ID: <20051107212007.GE20957@joshheumann.com> For those of you who thought we forgot, we're having a meeting! November Meeting Wednesday, November 9th, 2005 6:30pm at The LuckyLab GAME NIGHT! This is a Games for Geeks night. I will be bringing Spy Alley (for those of you who like deductive reasoning) and Apples to Apples (for those of you who like to argue). Tom Phoenix will be bringing some games, and Schwern will supply at least one as well. Feel free to add to the fray if you have Star Wars Trivial Pursuit, Transformers Pictionary, or something even more geeky (although I can't imagine there's anything more geeky than Transformers Pictionary, if it exists). This is a purely social meeting, so eat, drink and be geeky. The Lucky Lab's meeting room has been reserver out from under us, so if someone wants to suggest another place that will work, I'm all ears. Otherwise, we'll just take over a bunch of tables in the main area and geek out. From perl-pm at joshheumann.com Tue Nov 8 10:00:58 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 8 Nov 2005 10:00:58 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <1131407028.15381.10.camel@localhost> References: <20051107212007.GE20957@joshheumann.com> <1131407028.15381.10.camel@localhost> Message-ID: <20051108180058.GB27207@joshheumann.com> > If you missed the west side, there's plenty of space at OGI and it's > pretty easy to reserve. It's not far from the MAX line either. Someone had the question as to which Lucky Lab we meet at. We usually meet near the one on Hawthorne, so that'd be the one I had in mind. I haven't seen any more discussion about chromatic's idea. Does anyone have any opinions on OGI versus the Lab on Hawthorne? J From gabrielle.roth at xo.com Tue Nov 8 10:10:03 2005 From: gabrielle.roth at xo.com (Roth, Gabrielle) Date: Tue, 8 Nov 2005 11:10:03 -0700 Subject: [Pdx-pm] November Meeting this week Message-ID: > > > If you missed the west side, there's plenty of space at OGI and it's > > pretty easy to reserve. It's not far from the MAX line either. > > > Someone had the question as to which Lucky Lab we meet at. We usually > meet near the one on Hawthorne, so that'd be the one I had in mind. > > I haven't seen any more discussion about chromatic's idea. I never even saw the idea. :) > Does anyone > have any opinions on OGI versus the Lab on Hawthorne? Downtown is much more convenient for me, as I'll already be there. gabrielle From perl-pm at joshheumann.com Tue Nov 8 10:23:12 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 8 Nov 2005 10:23:12 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: References: Message-ID: <20051108182311.GD27207@joshheumann.com> > Downtown is much more convenient for me, as I'll already be there. OGI's site lists their address as being in Beaverton. Is that the location you were thinking of, chromatic? J From krisb at ring.org Tue Nov 8 10:19:40 2005 From: krisb at ring.org (Kris Bosland) Date: Tue, 8 Nov 2005 10:19:40 -0800 (PST) Subject: [Pdx-pm] November Meeting this week In-Reply-To: <20051108180058.GB27207@joshheumann.com> Message-ID: On Tue, 8 Nov 2005, Josh Heumann wrote: > I haven't seen any more discussion about chromatic's idea. Does anyone > have any opinions on OGI versus the Lab on Hawthorne? I like the max line idea. -Kris From chromatic at wgz.org Tue Nov 8 10:31:42 2005 From: chromatic at wgz.org (chromatic) Date: Tue, 08 Nov 2005 10:31:42 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <20051108182311.GD27207@joshheumann.com> References: <20051108182311.GD27207@joshheumann.com> Message-ID: <1131474703.15381.16.camel@localhost> On Tue, 2005-11-08 at 10:23 -0800, Josh Heumann wrote: > > > Downtown is much more convenient for me, as I'll already be there. > > OGI's site lists their address as being in Beaverton. Is that the > location you were thinking of, chromatic? Yes, that's the one. Several other tech groups meet there regularly, which is why I thought of it. -- c From ben.hengst at gmail.com Tue Nov 8 13:17:33 2005 From: ben.hengst at gmail.com (benh) Date: Tue, 8 Nov 2005 13:17:33 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <1131474703.15381.16.camel@localhost> References: <20051108182311.GD27207@joshheumann.com> <1131474703.15381.16.camel@localhost> Message-ID: <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> Ideally I would like to stay downtown. I work out in hood river and I don't make it back in to town until about 630 any way... and after an hour on the road already I would rather avoid the "fun" of getting out to Beverton... but then that's me being all self-absorbed. benh~ On 11/8/05, chromatic wrote: > On Tue, 2005-11-08 at 10:23 -0800, Josh Heumann wrote: > > > > > > Downtown is much more convenient for me, as I'll already be there. > > > > OGI's site lists their address as being in Beaverton. Is that the > > location you were thinking of, chromatic? > > Yes, that's the one. Several other tech groups meet there regularly, > which is why I thought of it. > > -- c > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From rootbeer at redcat.com Tue Nov 8 13:30:48 2005 From: rootbeer at redcat.com (Tom Phoenix) Date: Tue, 8 Nov 2005 13:30:48 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <20051108180058.GB27207@joshheumann.com> References: <20051107212007.GE20957@joshheumann.com> <1131407028.15381.10.camel@localhost> <20051108180058.GB27207@joshheumann.com> Message-ID: <31086b240511081330v78d1020dwfc0af42a87107f31@mail.gmail.com> On 11/8/05, Josh Heumann wrote: > > > If you missed the west side, there's plenty of space at OGI and it's > > pretty easy to reserve. It's not far from the MAX line either. The OGI facility that I've been to is in building #3 on this map. http://www.cpd.ogi.edu/map.asp This is roughly a mile walk from either of the nearest Max stops, Quatama/205th or Willow Creek, I believe. Is this the one that chromatic was talking about? --Tom Phoenix From tex at off.org Tue Nov 8 13:47:27 2005 From: tex at off.org (Austin Schutz) Date: Tue, 8 Nov 2005 13:47:27 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> References: <20051108182311.GD27207@joshheumann.com> <1131474703.15381.16.camel@localhost> <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> Message-ID: <20051108214726.GH16504@gblx.net> On Tue, Nov 08, 2005 at 01:17:33PM -0800, benh wrote: > Ideally I would like to stay downtown. I work out in hood river and I > don't make it back in to town until about 630 any way... and after an > hour on the road already I would rather avoid the "fun" of getting out > to Beverton... but then that's me being all self-absorbed. > > benh~ Seems like for a social meeting maybe we should stick w/ a bar or the like? The rose and raindrop has a back room, maybe that's available. I'm also not big on driving all the way out to beaverton, but I don't want to be locationist if there are folks who live out that way :) Austin From jonlevitre at yahoo.com Tue Nov 8 14:13:58 2005 From: jonlevitre at yahoo.com (Jon LeVitre) Date: Tue, 8 Nov 2005 14:13:58 -0800 (PST) Subject: [Pdx-pm] November Meeting this week In-Reply-To: <31086b240511081330v78d1020dwfc0af42a87107f31@mail.gmail.com> Message-ID: <20051108221358.58662.qmail@web52715.mail.yahoo.com> The Quatama stop is closer on foot (I'll assume that nobody reading this list can leap the OHSU west campus in a single bound). Jon --- Tom Phoenix wrote: > On 11/8/05, Josh Heumann wrote: > > > > > If you missed the west side, there's plenty of space at OGI and > it's > > > pretty easy to reserve. It's not far from the MAX line either. > > The OGI facility that I've been to is in building #3 on this map. > > http://www.cpd.ogi.edu/map.asp > > This is roughly a mile walk from either of the nearest Max stops, > Quatama/205th or Willow Creek, I believe. Is this the one that > chromatic was talking about? > __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com From scratchcomputing at gmail.com Tue Nov 8 14:37:16 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Tue, 8 Nov 2005 14:37:16 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <20051108214726.GH16504@gblx.net> References: <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> <20051108214726.GH16504@gblx.net> Message-ID: <200511081437.16196.ewilhelm@cpan.org> # from Austin Schutz # on Tuesday 08 November 2005 01:47 pm: >????????Seems like for a social meeting maybe we should stick w/ a >bar or the like? The rose and raindrop has a back room, maybe that's > available. Yeah, I've been trying to understand what's going on here. We're having a social meeting 3000 ft (as the crow flies) off of the max line at a university that serves beer somewhere in the twilight zone? > I'm also not big on driving all the way out to beaverton, > but I don't want to be locationist if there are folks who live out > that way :) I live in Beaverton, but I'd rather ride the train downtown and get off at a block from Jax. --Eric -- We who cut mere stones must always be envisioning cathedrals. --Quarry worker's creed --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From mikeraz at patch.com Tue Nov 8 15:10:50 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Tue, 8 Nov 2005 15:10:50 -0800 (PST) Subject: [Pdx-pm] November Meeting this week In-Reply-To: <200511081437.16196.ewilhelm@cpan.org> References: <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> <20051108214726.GH16504@gblx.net> <200511081437.16196.ewilhelm@cpan.org> Message-ID: <54542.170.135.241.45.1131491450.squirrel@mail.patch.com> Eric Wilhelm wrote: > I live in Beaverton, but I'd rather ride the train downtown and get off > at a block from Jax. Jax, for those who haven't been there, is where the PLUG Advanced topics meetings are held. The room to the side is about 2/3 the size of the Lucky Lab's meeting room. They've extended happy hour appetizer pricing to meeting people for the first hour or two of the meeting. It has lots of tables, electricity and a decent tap selection or mixed drinks if you prefer. It would be a better option than Rose and Raindrop for anyone who prefers smoke free environments. Michael 'why didn't I mention it earlier?' R -- Michael Rasmussen, Portland, Ore, USA Be Appropriate && Follow Your Curiosity From david at kineticode.com Tue Nov 8 18:02:57 2005 From: david at kineticode.com (David Wheeler) Date: Tue, 8 Nov 2005 18:02:57 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <54542.170.135.241.45.1131491450.squirrel@mail.patch.com> References: <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> <20051108214726.GH16504@gblx.net> <200511081437.16196.ewilhelm@cpan.org> <54542.170.135.241.45.1131491450.squirrel@mail.patch.com> Message-ID: On Nov 8, 2005, at 3:10 PM, Michael Rasmussen wrote: > It would be a better option than Rose and Raindrop for anyone who > prefers > smoke free environments. Yes, *please* make it smoke free. David From merlyn at stonehenge.com Wed Nov 9 03:47:38 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 09 Nov 2005 03:47:38 -0800 Subject: [Pdx-pm] November Meeting this week In-Reply-To: <54542.170.135.241.45.1131491450.squirrel@mail.patch.com> References: <85ddf48b0511081317t7f003b1ft66cde40f2d75aa31@mail.gmail.com> <20051108214726.GH16504@gblx.net> <200511081437.16196.ewilhelm@cpan.org> <54542.170.135.241.45.1131491450.squirrel@mail.patch.com> Message-ID: <86zmoeavqd.fsf@blue.stonehenge.com> >>>>> "Michael" == Michael Rasmussen writes: Michael> Jax, for those who haven't been there, is where the PLUG Michael> Advanced topics meetings are held. The room to the side is Michael> about 2/3 the size of the Lucky Lab's meeting room. They've Michael> extended happy hour appetizer pricing to meeting people for Michael> the first hour or two of the meeting. It has lots of tables, Michael> electricity and a decent tap selection or mixed drinks if you Michael> prefer. And free WiFi, for those of us who can't get enough net. -- 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 Wed Nov 9 09:46:21 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 9 Nov 2005 09:46:21 -0800 Subject: [Pdx-pm] November meeting tonight Message-ID: <20051109174621.GA1078@joshheumann.com> Let's see, so far we've heard the following: - we want someplace that's smoke-free - we want someplace with beer - we want someplace that's easy to get to - we want someplace with free wifi - we want someplace that has ponies we can pet and ride Since there is no one location that satifies all of these, I'm sticking with tradition. We'll see you all at the Lucky Lab tonight at 6:30. November Meeting Wednesday, November 9th, 2005 6:30pm at The LuckyLab GAME NIGHT! This is a Games for Geeks night. JoshHeumann will be bringing Spy Alley and Apples to Apples, TomPhoenix will be bringing some games, and MichaelSchwern will supply at least one as well. This is a purely social meeting, so eat, drink and be geeky. From jerry.gay at gmail.com Wed Nov 9 10:41:08 2005 From: jerry.gay at gmail.com (jerry gay) Date: Wed, 9 Nov 2005 10:41:08 -0800 Subject: [Pdx-pm] November meeting tonight In-Reply-To: <20051109174621.GA1078@joshheumann.com> References: <20051109174621.GA1078@joshheumann.com> Message-ID: <1d9a3f400511091041m7c0814ay62b82cd96cde339b@mail.gmail.com> On 11/9/05, Josh Heumann wrote: > Since there is no one location that satifies all of these, I'm sticking > with tradition. We'll see you all at the Lucky Lab tonight at 6:30. > i was waiting until things were settled to decide, and since my wife is off to pittsburgh and i've been craving some geek fun, i'll be coming down from seattle tonight. > November Meeting > Wednesday, November 9th, 2005 6:30pm at The LuckyLab > see you there... i'll be bringing the cult classic card game, "Give Me The Brain." ~jerry a.k.a. particle From merlyn at stonehenge.com Wed Nov 9 15:28:48 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 09 Nov 2005 15:28:48 -0800 Subject: [Pdx-pm] November meeting tonight In-Reply-To: <20051109174621.GA1078@joshheumann.com> References: <20051109174621.GA1078@joshheumann.com> Message-ID: <86br0t764v.fsf@blue.stonehenge.com> >>>>> "Josh" == Josh Heumann writes: Josh> Let's see, so far we've heard the following: Josh> - we want someplace that's smoke-free Josh> - we want someplace with beer Josh> - we want someplace that's easy to get to Josh> - we want someplace with free wifi Josh> - we want someplace that has ponies we can pet and ride Jax has all that except the ponies. Is there a place with ponies that beats that? -- 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 tex at off.org Wed Nov 9 16:22:08 2005 From: tex at off.org (Austin Schutz) Date: Wed, 9 Nov 2005 16:22:08 -0800 Subject: [Pdx-pm] November meeting tonight In-Reply-To: <86br0t764v.fsf@blue.stonehenge.com> References: <20051109174621.GA1078@joshheumann.com> <86br0t764v.fsf@blue.stonehenge.com> Message-ID: <20051110002208.GK16504@gblx.net> On Wed, Nov 09, 2005 at 03:28:48PM -0800, Randal L. Schwartz wrote: > >>>>> "Josh" == Josh Heumann writes: > > Josh> Let's see, so far we've heard the following: > Josh> - we want someplace that's smoke-free > Josh> - we want someplace with beer > Josh> - we want someplace that's easy to get to > Josh> - we want someplace with free wifi > Josh> - we want someplace that has ponies we can pet and ride > > Jax has all that except the ponies. Is there a place with ponies > that beats that? > None that I can think of. How about Jax for the next social gathering? Austin From perl-pm at joshheumann.com Wed Nov 9 16:24:38 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 9 Nov 2005 16:24:38 -0800 Subject: [Pdx-pm] November meeting tonight In-Reply-To: <20051110002208.GK16504@gblx.net> References: <20051109174621.GA1078@joshheumann.com> <86br0t764v.fsf@blue.stonehenge.com> <20051110002208.GK16504@gblx.net> Message-ID: <20051110002438.GB2642@joshheumann.com> > On Wed, Nov 09, 2005 at 03:28:48PM -0800, Randal L. Schwartz wrote: > > Jax has all that except the ponies. Is there a place with ponies > > that beats that? > None that I can think of. How about Jax for the next social > gathering? Fine, fine, the people (three of you) have spoken. Next time we have a social meeting, we'll meet at Jax. Tonight, we tear it up at the Lucky Lab. J From pdxpm at punch.net Wed Nov 9 17:34:31 2005 From: pdxpm at punch.net (Tom Heady) Date: Wed, 09 Nov 2005 17:34:31 -0800 Subject: [Pdx-pm] November meeting tonight In-Reply-To: <20051110002438.GB2642@joshheumann.com> References: <20051109174621.GA1078@joshheumann.com> <86br0t764v.fsf@blue.stonehenge.com> <20051110002208.GK16504@gblx.net> <20051110002438.GB2642@joshheumann.com> Message-ID: <4372A3A7.90604@punch.net> > > Fine, fine, the people (three of you) have spoken. Next time we have a > social meeting, we'll meet at Jax. Tonight, we tear it up at the Lucky > Lab. > Info about Jax: http://www.jaxbar.com/ http://maps.google.com/maps?oi=map&q=826+Sw+2nd+Avenue,+Portland,+OR http://www.mapquest.com/maps/map.adp?country=US&address=826+Sw+2nd+Avenue+&city=Portland&state=OR Tom From krisb at ring.org Wed Nov 9 22:30:59 2005 From: krisb at ring.org (Kris Bosland) Date: Wed, 9 Nov 2005 22:30:59 -0800 (PST) Subject: [Pdx-pm] Games Message-ID: Hi, someone asked me to list the games I brought, so here goes: Games we played: Super Munchkin Games we did not play: (Normal) Munchkin Star Munchkin TransAmerica Kill Doctor Lucky Save Doctor Lucky Bohnanza Guillotine Bang! Chez Geek Thanks. -Kris From jerry.gay at gmail.com Thu Nov 10 00:30:26 2005 From: jerry.gay at gmail.com (jerry gay) Date: Thu, 10 Nov 2005 00:30:26 -0800 Subject: [Pdx-pm] Games In-Reply-To: References: Message-ID: <1d9a3f400511100030n3f8eaff0j8dc3b4c17745838c@mail.gmail.com> On 11/9/05, Kris Bosland wrote: > > Games we did not play: > Kill Doctor Lucky you had "kill doctor lucky?" i wish i'd known, it's a great follow up to "give me the brain." maybe next time. thanks to everyone for your hospitality. i came away from the evening knowing how to lose at least four different games :) it was good to meet some of the portland crew, and hopefully i'll see you all again soon. ~jerry From ben.hengst at gmail.com Thu Nov 10 01:06:23 2005 From: ben.hengst at gmail.com (benh) Date: Thu, 10 Nov 2005 01:06:23 -0800 Subject: [Pdx-pm] Games In-Reply-To: <1d9a3f400511100030n3f8eaff0j8dc3b4c17745838c@mail.gmail.com> References: <1d9a3f400511100030n3f8eaff0j8dc3b4c17745838c@mail.gmail.com> Message-ID: <85ddf48b0511100106l97a9d8cwbeabeaef44a7472a@mail.gmail.com> Thanks kris. I had a lot of fun tonight. Now if I could only get some sleep...? benh~ On 11/10/05, jerry gay wrote: > On 11/9/05, Kris Bosland wrote: > > > > Games we did not play: > > Kill Doctor Lucky > > you had "kill doctor lucky?" i wish i'd known, it's a great follow up > to "give me the brain." > maybe next time. > > thanks to everyone for your hospitality. i came away from the evening > knowing how to lose at least four different games :) it was good to > meet some of the portland crew, and hopefully i'll see you all again > soon. > > ~jerry > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From merlyn at stonehenge.com Thu Nov 10 03:55:23 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 10 Nov 2005 03:55:23 -0800 Subject: [Pdx-pm] November meeting tonight In-Reply-To: <20051110002208.GK16504@gblx.net> References: <20051109174621.GA1078@joshheumann.com> <86br0t764v.fsf@blue.stonehenge.com> <20051110002208.GK16504@gblx.net> Message-ID: <86d5l867kk.fsf@blue.stonehenge.com> >>>>> "Austin" == Austin Schutz writes: Austin> None that I can think of. How about Jax for the next social Austin> gathering? Well, if someone has a projector, Jax can provide the screen (if I recall), so even the tech meetings can be held there. -- 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 Thu Nov 10 10:34:05 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Thu, 10 Nov 2005 10:34:05 -0800 Subject: [Pdx-pm] Games In-Reply-To: References: Message-ID: <20051110183404.GA7470@joshheumann.com> Other games we played last night included: Zendo Give Me The Brain Apples to Apples Fluxx Austin won the sur-prize which was a set of magnetic perl poetry so he can code on his fridge. The winner's quote: "Well, I guess if my kids don't swallow them it's a good thing." Thanks to everyone who came last night, we had a great time. J > > Hi, someone asked me to list the games I brought, so here goes: > > Games we played: > Super Munchkin > > Games we did not play: > (Normal) Munchkin > Star Munchkin > TransAmerica > Kill Doctor Lucky > Save Doctor Lucky > Bohnanza > Guillotine > Bang! > Chez Geek > > > Thanks. > > -Kris > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From publiustemp-pdxpm at yahoo.com Thu Nov 10 10:55:30 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Thu, 10 Nov 2005 10:55:30 -0800 (PST) Subject: [Pdx-pm] Games In-Reply-To: <20051110183404.GA7470@joshheumann.com> Message-ID: <20051110185530.30857.qmail@web60820.mail.yahoo.com> --- Josh Heumann wrote: > Austin won the sur-prize which was a set of magnetic perl poetry so > he can code on his fridge. Holy crap. I didn't know there were any of those left. I don't suppose someone else has decided to make them? If not, Austin, are you taking offers? :) 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 chromatic at wgz.org Thu Nov 10 11:01:42 2005 From: chromatic at wgz.org (chromatic) Date: Thu, 10 Nov 2005 11:01:42 -0800 Subject: [Pdx-pm] Games In-Reply-To: <20051110185530.30857.qmail@web60820.mail.yahoo.com> References: <20051110185530.30857.qmail@web60820.mail.yahoo.com> Message-ID: <1131649302.15381.168.camel@localhost> On Thu, 2005-11-10 at 10:55 -0800, Ovid wrote: > Holy crap. I didn't know there were any of those left. I don't > suppose someone else has decided to make them? Actually the Torkingtons found a couple of bags full as they were cleaning out their basement. TPF has them now and hasn't decided what to do with them, as far as I know. -- c From tex at off.org Thu Nov 10 11:02:06 2005 From: tex at off.org (Austin Schutz) Date: Thu, 10 Nov 2005 11:02:06 -0800 Subject: [Pdx-pm] Games In-Reply-To: <20051110185530.30857.qmail@web60820.mail.yahoo.com> References: <20051110183404.GA7470@joshheumann.com> <20051110185530.30857.qmail@web60820.mail.yahoo.com> Message-ID: <20051110190206.GN16504@gblx.net> On Thu, Nov 10, 2005 at 10:55:30AM -0800, Ovid wrote: > --- Josh Heumann wrote: > > > Austin won the sur-prize which was a set of magnetic perl poetry so > > he can code on his fridge. > > Holy crap. I didn't know there were any of those left. I don't > suppose someone else has decided to make them? > > If not, Austin, are you taking offers? :) > Sure, how about free? The kids can go find something else to choke on. My wife hates these sort of "inside joke" trinkets anyway. Austin From jkeroes at eli.net Thu Nov 10 11:07:21 2005 From: jkeroes at eli.net (Joshua Keroes) Date: Thu, 10 Nov 2005 11:07:21 -0800 Subject: [Pdx-pm] Games In-Reply-To: <20051110185530.30857.qmail@web60820.mail.yahoo.com> References: <20051110185530.30857.qmail@web60820.mail.yahoo.com> Message-ID: <6B236AF8-F29C-4D8A-8D19-2ABAB8D9981C@eli.net> On Nov 10, 2005, at 10:55 AM, Ovid wrote: > --- Josh Heumann wrote: > >> Austin won the sur-prize which was a set of magnetic perl poetry so >> he can code on his fridge. > > Holy crap. I didn't know there were any of those left. I don't > suppose someone else has decided to make them? > > If not, Austin, are you taking offers? :) I have a spare set too. Anyone interested? Joshua the Other From krisb at ring.org Thu Nov 10 12:34:11 2005 From: krisb at ring.org (Kris Bosland) Date: Thu, 10 Nov 2005 12:34:11 -0800 (PST) Subject: [Pdx-pm] 20 questions Message-ID: Schwern asked me for a pointers to the 20 questions site, so here it is: http://www.20q.net/index.html -Kris From jkeroes at eli.net Thu Nov 10 12:41:53 2005 From: jkeroes at eli.net (Joshua Keroes) Date: Thu, 10 Nov 2005 12:41:53 -0800 Subject: [Pdx-pm] Games In-Reply-To: <20051110185530.30857.qmail@web60820.mail.yahoo.com> References: <20051110185530.30857.qmail@web60820.mail.yahoo.com> Message-ID: My extra Perl magnet set: taken by Randall Hansen! From perl-pm at joshheumann.com Thu Nov 10 12:51:42 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Thu, 10 Nov 2005 12:51:42 -0800 Subject: [Pdx-pm] Games In-Reply-To: References: <20051110185530.30857.qmail@web60820.mail.yahoo.com> Message-ID: <20051110205142.GC7470@joshheumann.com> > My extra Perl magnet set: taken by Randall Hansen! For those who are concerned that they'll never get any of these little gems ever again, pdx.pm has several more (~5, I believe) to give away at future meetings. J From mikeraz at patch.com Thu Nov 10 12:53:13 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Thu, 10 Nov 2005 12:53:13 -0800 (PST) Subject: [Pdx-pm] 20 questions In-Reply-To: References: Message-ID: <61112.170.135.241.46.1131655993.squirrel@mail.patch.com> Kris Bosland wrote: > Schwern asked me for a pointers to the 20 questions site, so here it is: > > http://www.20q.net/index.html That was fun. For my first object I chose "corn on the cob". The AI and I disagree on a few points: You were thinking of corn on the cob. Does it taste good fried? You said Sometimes, I say No. I had delicious deep fried corn on the cob in Georgia. Suspect the answer depends on whether or not the person has spent time in the deep south. Would you use it in a garden? You said No, I say Yes. I wouldn't use it in the nature of the "use" like I'd use a hoe. This question doesn't quite make sense. Are there many different sorts of it? You said No, I say Yes. There are? Does it have seeds? You said Yes, I say No. What the heck is corn if not seeds? Is it found in salad bars? You said Sometimes, I say No. Experience base issue. Can it float? You said Yes, I say Doubtful. What do you all say? I closed my eyes and imagined a pot of boiling water with corn on the cob. My cobs were floating. Fantasy or memory? -- Michael Rasmussen, Portland, Ore, USA Be Appropriate && Follow Your Curiosity From marvin at rectangular.com Thu Nov 10 13:07:43 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Thu, 10 Nov 2005 13:07:43 -0800 Subject: [Pdx-pm] 20 questions In-Reply-To: <61112.170.135.241.46.1131655993.squirrel@mail.patch.com> References: <61112.170.135.241.46.1131655993.squirrel@mail.patch.com> Message-ID: <8CF18E92-B9AE-4915-8096-2358987BBB46@rectangular.com> On Nov 10, 2005, at 12:53 PM, Michael Rasmussen wrote: > The AI and I disagree on a few points: The AI bot is apparently designed so that over time it will come to reflect popular wisdom. It got "soccer ball", but I "beat" it with "foie gras". Seems it doesn't know too much about goose livers yet. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From alan at clueserver.org Thu Nov 10 16:43:03 2005 From: alan at clueserver.org (alan) Date: Thu, 10 Nov 2005 16:43:03 -0800 (PST) Subject: [Pdx-pm] Games In-Reply-To: <20051110190206.GN16504@gblx.net> Message-ID: On Thu, 10 Nov 2005, Austin Schutz wrote: > On Thu, Nov 10, 2005 at 10:55:30AM -0800, Ovid wrote: > > --- Josh Heumann wrote: > > > > > Austin won the sur-prize which was a set of magnetic perl poetry so > > > he can code on his fridge. > > > > Holy crap. I didn't know there were any of those left. I don't > > suppose someone else has decided to make them? > > > > If not, Austin, are you taking offers? :) > > > > Sure, how about free? The kids can go find something else to choke > on. My wife hates these sort of "inside joke" trinkets anyway. I cured my daughter of putting objects in her mouth a long time ago. Just get one of those dried hot pepper plants. -- "Invoking the supernatural can explain anything, and hence explains nothing." - University of Utah bioengineering professor Gregory Clark From kellert at ohsu.edu Fri Nov 11 12:49:22 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Fri, 11 Nov 2005 12:49:22 -0800 Subject: [Pdx-pm] formmail and spam filters Message-ID: <40A02350-6DF0-4985-9091-CE2519944D9E@ohsu.edu> Greetings, Slightly off topic: My website uses a cgi formmail script and has worked fine until a couple of days ago. At that time my place-of-work installed an email spam filter which junks email that is not from where it purports to be from. I think this is s----canning my cgi generated emails. Has anyone heard of this problem? Do you know a workaround? Thanks, Tom K. Tom Keller, Ph.D. http://www.ohsu.edu/research/core kellert at ohsu.edu 503-494-2442 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051111/c9dca6cd/attachment.html From rootbeer at redcat.com Fri Nov 11 13:16:05 2005 From: rootbeer at redcat.com (Tom Phoenix) Date: Fri, 11 Nov 2005 13:16:05 -0800 Subject: [Pdx-pm] formmail and spam filters In-Reply-To: <40A02350-6DF0-4985-9091-CE2519944D9E@ohsu.edu> References: <40A02350-6DF0-4985-9091-CE2519944D9E@ohsu.edu> Message-ID: <31086b240511111316s52d84bf6yf53a1014f80b6e68@mail.gmail.com> On 11/11/05, Thomas J Keller wrote: > Do you know a workaround? You could try to convince the person running the filter to let you add the secret key at the source, e.g.: X-I-am-not-spam: pa$$word But it's probably easier to point your mail-sending program at an address without a spam filter at all. If the person running the filter won't give you even THAT, the meany, you could send the mail to a special-purpose gmail account with an unguessable name. By pulling that in via POP, you'll avoid the spam filter. Let me know if you need a gmail invite; they're easier to find than a Starbucks these days. Cheers! --Tom Phoenix From scratchcomputing at gmail.com Sun Nov 13 09:23:12 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Sun, 13 Nov 2005 09:23:12 -0800 Subject: [Pdx-pm] Rearranging tests Message-ID: <200511130923.12766.ewilhelm@cpan.org> Hi all, Has anyone else had this same sort of issue? I got tired of naming tests 00-foo.t, 01-bar.t, etc because of a few reasons: 1. I can remember the name much better than the number (when I want to run or edit a test, having to figure out the number before tab-complete will work is annoying.) 2. I don't know what order I want to run them in when I create them, and want to be able to change that order later. ~3. vim thinks that *.t files are "tads" format. (I know there's a way around this, but this is more a "yet another reason" than a sole motivation.) So, I got a start on the Perl Test Juggler (ptj), and it looks like it will work. For now, it only works on real operating systems because the current method is very symlinky. The code is in my svn/, but there's no installer yet, so you have to *really* want to try it. It's also not quite production-ready, so feedback is really cool. "ptj init t/" will rename all of your /^\d\d-(.*)\.t/ tests to $1.pl and create symlinks back from the original names to the .pl files. It will also create t/order.ptj, which allows you to rearrange the order with "dd,p" in vim. It also sorts your MANIFEST file and makes sure that all of the *.t tests are included. If it detects that you're in an svn or svk working directory, it does the rename as "$vcs mv" and then does an add of the new symlinks. (Unfortunately, this is currently an irreversible svn action (unless I break it into two steps make it automatically checkin between the rename and the symlink creation.) "ptj up t/" will update the symlinks if you've changed the t/order.ptj file. It also does the MANIFEST and vcs tricks. I don't use cvs, but it's possible to add support for it (except it doesn't support symlinks right?) Ok. That's about all it does. It's possible to do it on windows, but then it only re-orders the tests (in an svn-aware way.) Would you want to go without symlinks on *nix-like systems? Even if you don't want to use symlinks, the ability to re-order your tests automatically (including updating MANIFEST and doing all of the svn/svk/cvs stuff) has to be at least somewhat useful. Thoughts? If there's enough interest, I could give a presentation as early as the next pm meeting. Thanks, Eric -- "It is impossible to make anything foolproof because fools are so ingenious." --Murphy's Second Corollary --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From tex at off.org Sun Nov 13 10:09:11 2005 From: tex at off.org (Austin Schutz) Date: Sun, 13 Nov 2005 10:09:11 -0800 Subject: [Pdx-pm] Rearranging tests In-Reply-To: <200511130923.12766.ewilhelm@cpan.org> References: <200511130923.12766.ewilhelm@cpan.org> Message-ID: <20051113180911.GB11939@gblx.net> On Sun, Nov 13, 2005 at 09:23:12AM -0800, Eric Wilhelm wrote: > Hi all, > ... > > So, I got a start on the Perl Test Juggler (ptj), and it looks like it > will work. For now, it only works on real operating systems because > the current method is very symlinky. > ... > > Thoughts? If there's enough interest, I could give a presentation as > early as the next pm meeting. > Seems like a good candidate for a lightning talk. Austin From ajsavige at yahoo.com.au Sun Nov 13 11:50:08 2005 From: ajsavige at yahoo.com.au (Andrew Savige) Date: Mon, 14 Nov 2005 06:50:08 +1100 (EST) Subject: [Pdx-pm] Rearranging tests In-Reply-To: <200511130923.12766.ewilhelm@cpan.org> Message-ID: <20051113195009.99941.qmail@web36109.mail.mud.yahoo.com> --- Eric Wilhelm wrote: > 2. I don't know what order I want to run them in when I create them, > and want to be able to change that order later. Though it may be convenient to run them in a particular order, a "good" property of a test suite is "test isolation"; that is, you should be able to run the tests in any order (the --shuffle option of Test::Harness prove command helps test that property). /-\ Send instant messages to your online friends http://au.messenger.yahoo.com From andy at petdance.com Sun Nov 13 13:24:09 2005 From: andy at petdance.com (Andy Lester) Date: Sun, 13 Nov 2005 15:24:09 -0600 Subject: [Pdx-pm] Rearranging tests In-Reply-To: <20051113195009.99941.qmail@web36109.mail.mud.yahoo.com> References: <20051113195009.99941.qmail@web36109.mail.mud.yahoo.com> Message-ID: <0761E1D8-FBBE-448D-A856-66AD0D80CCA8@petdance.com> On Nov 13, 2005, at 1:50 PM, Andrew Savige wrote: > > Though it may be convenient to run them in a particular order, a > "good" property of a test suite is "test isolation"; that is, you > should be able to run the tests in any order (the --shuffle option > of Test::Harness prove command helps test that property). That's exactly why I added --shuffle. Also, imagine that you have a set of tests, A, B and C, and C only succeeds because B has a side- effect that C relies on, inadvertantly. If you never run them in a different order, you'll never know that. xoxo, Andy -- Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance From randall at sonofhans.net Sun Nov 13 14:13:04 2005 From: randall at sonofhans.net (Randall Hansen) Date: Sun, 13 Nov 2005 14:13:04 -0800 Subject: [Pdx-pm] Rearranging tests In-Reply-To: <20051113195009.99941.qmail@web36109.mail.mud.yahoo.com> References: <20051113195009.99941.qmail@web36109.mail.mud.yahoo.com> Message-ID: <7DCC43AB-0F54-456A-B1E3-95476BB6BF36@sonofhans.net> On Nov 13, 2005, at 11:50 AM, Andrew Savige wrote: > Though it may be convenient to run them in a particular order, a > "good" property of a test suite is "test isolation"; that is, you > should be able to run the tests in any order (the --shuffle option > of Test::Harness prove command helps test that property). josh (can i get a witness?) and i discovered this the hard way last year, working on a project with over 5k unit tests. granularity and repeatability are exactly as important as coverage and correctness. having said that, i really like the \d+\w+ naming scheme. e.g.: 0xx_xxx : test the test system and base classes 1xx_xxx : test the primary objects ... 8xx_xxx : reports and static data 9xx_xxx : automated interface tests having a consistent naming scheme makes it much easier to work with a few dozen test files. r From andy at petdance.com Sun Nov 13 15:29:04 2005 From: andy at petdance.com (Andy Lester) Date: Sun, 13 Nov 2005 17:29:04 -0600 Subject: [Pdx-pm] Rearranging tests In-Reply-To: <7DCC43AB-0F54-456A-B1E3-95476BB6BF36@sonofhans.net> References: <20051113195009.99941.qmail@web36109.mail.mud.yahoo.com> <7DCC43AB-0F54-456A-B1E3-95476BB6BF36@sonofhans.net> Message-ID: <1C33AFFE-3178-49EC-BBA3-0DEC41ACA16F@petdance.com> > having said that, i really like the \d+\w+ naming scheme. e.g.: > > 0xx_xxx : test the test system and base classes > 1xx_xxx : test the primary objects > ... > 8xx_xxx : reports and static data > 9xx_xxx : automated interface tests Or use subdirectories. See WWW::Mechanize's test layout. http://svn.perl.org/modules/www-mechanize/trunk/t/ http://svn.perl.org/modules/www-mechanize/trunk/t/live/ http://svn.perl.org/modules/www-mechanize/trunk/t/local/ That makes it very easy to include and exclude sets of tests. prove -r recurses through subdirectories. xoxo, Andy -- Andy Lester => andy at petdance.com => www.petdance.com => AIM:petdance From ben.prew at gmail.com Mon Nov 14 10:55:45 2005 From: ben.prew at gmail.com (Ben Prew) Date: Mon, 14 Nov 2005 10:55:45 -0800 Subject: [Pdx-pm] Scripting/testing ncurses interface with perl-expect Message-ID: <24f4b2e80511141055o6d5814d4qf7fbf632f9a49afd@mail.gmail.com> I'm working on a system that has an ncurses interface, and I'm wondering if I can test it with perl-expect, or possibly something else? I looked at the tcl expect docs, and it said that I may be able to do some testing with tcl, but I was wondering if perl had this same support? Has anyone tried similar testing with a TUI before? Thanks -- Ben Prew ben.prew at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051114/04d801e4/attachment.html From tex at off.org Mon Nov 14 11:51:17 2005 From: tex at off.org (Austin Schutz) Date: Mon, 14 Nov 2005 11:51:17 -0800 Subject: [Pdx-pm] Scripting/testing ncurses interface with perl-expect In-Reply-To: <24f4b2e80511141055o6d5814d4qf7fbf632f9a49afd@mail.gmail.com> References: <24f4b2e80511141055o6d5814d4qf7fbf632f9a49afd@mail.gmail.com> Message-ID: <20051114195117.GD11939@gblx.net> On Mon, Nov 14, 2005 at 10:55:45AM -0800, Ben Prew wrote: > I'm working on a system that has an ncurses interface, and I'm wondering if > I can test it with perl-expect, or possibly something else? > > I looked at the tcl expect docs, and it said that I may be able to do some > testing with tcl, but I was wondering if perl had this same support? > Yes, you can. But there is no inherent curses login in expect (or Expect.pm), so you will have to look for the specific curses control codes in the output, as opposed to being able to look for more abstract things like 'reverse video' or the like. Unless there has been significant development on the Tcl tool, the level of support in this regard should be the same. > Has anyone tried similar testing with a TUI before? > I'm not sure what 'TUI' means, but I have used expect to capture data from network devices which only supported curses. It's not that hard, just a matter of turning on exp_internal and seeing what the UI is spitting into the stream at you at any given point. Austin From publiustemp-pdxpm at yahoo.com Mon Nov 14 12:00:52 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Mon, 14 Nov 2005 12:00:52 -0800 (PST) Subject: [Pdx-pm] Scripting/testing ncurses interface with perl-expect In-Reply-To: <20051114195117.GD11939@gblx.net> Message-ID: <20051114200052.27886.qmail@web60815.mail.yahoo.com> --- Austin Schutz wrote: > I'm not sure what 'TUI' means, but I have used expect to capture > data from network devices which only supported curses. Oh, Austin. You're going to kick yourself. Here's a hint: A "TUI" is not a "GUI" (and Ben was talking about Curses) :) 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 tex at off.org Mon Nov 14 12:10:56 2005 From: tex at off.org (Austin Schutz) Date: Mon, 14 Nov 2005 12:10:56 -0800 Subject: [Pdx-pm] Scripting/testing ncurses interface with perl-expect In-Reply-To: <20051114200052.27886.qmail@web60815.mail.yahoo.com> References: <20051114195117.GD11939@gblx.net> <20051114200052.27886.qmail@web60815.mail.yahoo.com> Message-ID: <20051114201056.GE11939@gblx.net> On Mon, Nov 14, 2005 at 12:00:52PM -0800, Ovid wrote: > --- Austin Schutz wrote: > > > I'm not sure what 'TUI' means, but I have used expect to capture > > data from network devices which only supported curses. > > Oh, Austin. You're going to kick yourself. Here's a hint: A "TUI" is > not a "GUI" (and Ben was talking about Curses) :) > "Ouch". Well google shows a few, from "tangible" to "text" to "telephony" to "terminal". I'm thinking "terminal" is probably most applicable here, and I probably could have figured it out for myself.. never seen it called that before though. Well, come to think of it I'm not sure what I've seen it called, so maybe I have and just didn't know it... Austin From mikeraz at patch.com Mon Nov 14 12:12:08 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Mon, 14 Nov 2005 12:12:08 -0800 (PST) Subject: [Pdx-pm] Scripting/testing ncurses interface with perl-expect In-Reply-To: <20051114201056.GE11939@gblx.net> References: <20051114195117.GD11939@gblx.net> <20051114200052.27886.qmail@web60815.mail.yahoo.com> <20051114201056.GE11939@gblx.net> Message-ID: <51092.170.135.241.45.1131999128.squirrel@mail.patch.com> > Well, come to think of it I'm not sure what I've seen > it called, so maybe I have and just didn't know it... Are you sure you're not sure? Hint: you type Commands in a Line -- Michael Rasmussen, Portland, Ore, USA Be Appropriate && Follow Your Curiosity http://www.patch.com/words/ From ben.hengst at gmail.com Mon Nov 14 15:40:42 2005 From: ben.hengst at gmail.com (benh) Date: Mon, 14 Nov 2005 15:40:42 -0800 Subject: [Pdx-pm] any one know of an editor that allows for embeded perl? Message-ID: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> Ok I've been beating my head on this one. Any one know if there is an editor that embeds perl in to the editor? Kinda like a super fancy copy/paste/search/replace .... I currently use jEdit and love it... well for the most part. Heres an example of something that I just got done doing, build a nav with every image in a dir nav_cat* files are categorys and nav_*_* are links ls -lh *.gif > list [open list in jEdit] using regex find s/^.*14:(49|50)// [copy trim list to new buffer] my @imglist = ( ** list here ** ); my $cat=q{}; foreach (@imglist) { if(m/^nav_cat/) { ($cat)= $_ =~ m/nav_cat_(.*?).gif/; print "$cat\n"; } else{ my ($alt)= $_ =~ m/nav_.*?_(.*?).gif/; print "A link to $alt $cat\n"; } } [save that off and run script in term... copy output] [open new buffer in jEdit ... paste] take a seperate list of the actual links that have the category id's and link them up by hand... and tada... final table of links.... total time about 15 minutes, much faster then doing it all long hand like most of the production folks but ... it got me thinking... why am I bouncing back and forth and side steping STD(IN|OUT) ... what I would love to see is an editor that could fork a background process as a perlscript and plug in STDOUT in to the buffer... almost like bluring the lines between terminal and editor? Is that possible... well I'm sure that any emacs guru would yell at me because emacs is the answer to everything... any takers on this one? From merlyn at stonehenge.com Mon Nov 14 15:59:09 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 14 Nov 2005 15:59:09 -0800 Subject: [Pdx-pm] any one know of an editor that allows for embeded perl? In-Reply-To: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> References: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> Message-ID: <86psp2vl0y.fsf@blue.stonehenge.com> >>>>> "benh" == benh writes: benh> Ok I've been beating my head on this one. Any one know if there is an benh> editor that embeds perl in to the editor? Kinda like a super fancy benh> copy/paste/search/replace .... I currently use jEdit and love it... Both vim and GNU Emacs can embed Perl. -- 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 randall at sonofhans.net Mon Nov 14 17:08:31 2005 From: randall at sonofhans.net (Randall Hansen) Date: Mon, 14 Nov 2005 17:08:31 -0800 Subject: [Pdx-pm] any one know of an editor that allows for embeded perl? In-Reply-To: <86psp2vl0y.fsf@blue.stonehenge.com> References: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> <86psp2vl0y.fsf@blue.stonehenge.com> Message-ID: <5EC7E54A-2722-4E0F-8975-5B152AC668DC@sonofhans.net> On Nov 14, 2005, at 3:59 PM, Randal L. Schwartz wrote: > Both vim and GNU Emacs can embed Perl. yeah, but only one of those is a text editor. :) r From merlyn at stonehenge.com Mon Nov 14 17:51:39 2005 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: 14 Nov 2005 17:51:39 -0800 Subject: [Pdx-pm] any one know of an editor that allows for embeded perl? In-Reply-To: <5EC7E54A-2722-4E0F-8975-5B152AC668DC@sonofhans.net> References: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> <86psp2vl0y.fsf@blue.stonehenge.com> <5EC7E54A-2722-4E0F-8975-5B152AC668DC@sonofhans.net> Message-ID: <86acg6vftg.fsf@blue.stonehenge.com> >>>>> "Randall" == Randall Hansen writes: Randall> On Nov 14, 2005, at 3:59 PM, Randal L. Schwartz wrote: >> Both vim and GNU Emacs can embed Perl. Randall> yeah, but only one of those is a text editor. :) I hear you can write a text editor in Emacs Lisp... I'm going to have to try that some 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 perl-pm at joshheumann.com Tue Nov 15 10:47:44 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Tue, 15 Nov 2005 10:47:44 -0800 Subject: [Pdx-pm] Newsletter from O'Reilly UG Program, November 10 Message-ID: <20051115184744.GD18197@joshheumann.com> Here's the list of new books available for review. The rest of the newsletter follows. Let me know if you want to review one of these books, and I'll get you a copy. You know the drill. J Book News ---------------------------------------------------------------- -The DAM Book: Digital Asset Management for Photographers -Greasemonkey Hacks -Mac OS X Tiger in a Nutshell -Windows XP for Starters: The Missing Manual -C++ Cookbook -Integrating Excel and Access -Just Say No To Microsoft -Excel for Starters: The Missing Manual -Photoshop Elements 4: The Missing Manual -Creating Web Sites: The Missing Manual -Oracle PL/SQL for DBAs -Access 2003 for Starters: The Missing Manual -Photoshop Photo Effects Cookbook -Unix in a Nutshell, Fourth Edition -Programming ASP.NET, Third Edition -Palm and Treo Hacks -Photoshop Filter Effects Encyclopedia -Photoshop Blending Modes Cookbook for Digital Photographers ----- Forwarded message from Marsee Henon ----- From: Marsee Henon Subject: Newsletter from O'Reilly UG Program, November 10 Date: Thu, 10 Nov 2005 17:41:39 -0800 ================================================================ O'Reilly UG Program News--Just for User Group Leaders November 10, 2005 ================================================================ -New 30% Discount Banner and Newsletters Ads -Amazon Reviews for "FileMaker Pro 8: The Missing Manual" -Put Up an O'Reilly ETel Banner, Get a Free Book -Promotional Material Available -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 newsletter or book review. For tips and suggestions on writing book reviews, go to: ***Discount Information Don't forget to remind your members about the 30% discount on O'Reilly, No Starch, Paraglyph, PC Publishing, Pragmatic Bookshelf, SitePoint, and Syngress books. 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 or Inquiries ---------------------------------------------------------------- ***New 30% Discount Banner and Newsletters Ads To make it easy to share our 30% book discount with your members, we have created a variety of ad sizes to fit your web site or newsletter. Please bookmark this page: ***Looking for Amazon Reviews for "FileMaker Pro 8: The Missing Manual" Let me know if you have anyone who can help us out with a review of the book and I can send them a copy. ***Put Up an O'Reilly ETel 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 Emerging Telephony Conference banner, I will send you the O'Reilly book of your choice. ETel Banners: ***Promotional Material Available: The following items are available for your next meeting. Let me know the item and the amount you'd like: -MAKE Magazine Volume 4 -O'Reilly Catalog--new Fall catalogs -30% UG Discount bookmarks -Learning Lab Discount coupons (Limited supply available) ***Safari Affiliate Program for User Groups Give your members access to content from Safari's thousands of technology books right on your site and raise money for your user group at the same time. Use custom designed search boxes, show the latest releases, or display your favorite book cover with our easy to use tools. For more information and to sign up for the Safari Affiliate Program, go to: ================================================================ O'Reilly News for User Group Members November 10, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -The DAM Book: Digital Asset Management for Photographers -Greasemonkey Hacks -Mac OS X Tiger in a Nutshell -Windows XP for Starters: The Missing Manual -C++ Cookbook -Integrating Excel and Access -Just Say No To Microsoft -Excel for Starters: The Missing Manual -Photoshop Elements 4: The Missing Manual -Creating Web Sites: The Missing Manual -Oracle PL/SQL for DBAs -Access 2003 for Starters: The Missing Manual -Photoshop Photo Effects Cookbook -Unix in a Nutshell, Fourth Edition -Programming ASP.NET, Third Edition -Palm and Treo Hacks -Photoshop Filter Effects Encyclopedia -Photoshop Blending Modes Cookbook for Digital Photographers ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -ETel Registration Now Open -EuroOSCON in Amsterdam ---------------------------------------------------------------- News ---------------------------------------------------------------- -The Impact of "Ambient Findability" -Laughing Lemur Contest at Findability.org -Avoiding Oblivion in Your Tech Career -Control Freaks: Modding and the Clash with Law -User Group Members receive a special 50% discount on Learning Lab Courses -MySQL 5.0 is Released -What Is TurboGears (Hint: Python-Based Framework for Rapid Web Development) -What Is a Linux Distribution -Sync Services Framework (How It Works and What You Can Do) -Tiger's Improved Firewall (and How to Use It) -Windows Server Hacks: Shadowing Remote Desktop Sessions -Beware of Network Sniffers -JBoss Cache as a POJO Cache -Take Command With AJAX -The Community of Web 2.0 -MacVoices Features Leander Kahney "The Cult of iPod" -Vince Lawrence: 8,000 Square Feet of iTunes -The PEZ MP3 player--A Project, Dream, and a Reality -Give the Gift of MAKE Magazine--Special Offer for UG Members ================================================ 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: Don't forget, you can receive 30% off any O'Reilly, No Starch, Paraglyph, PC Publishing, 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. ***Free ground shipping is available for online orders of at least $29.95 that go to a single address. This offer applies to US delivery addresses in the 50 states and Puerto Rico. For more details, go to: ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***The DAM Book: Digital Asset Management for Photographers Publisher: O'Reilly ISBN: 0596100183 In the world of digital photography, Digital Asset Management (DAM) refers to every part of the process that follows the taking of the picture, through final output and permanent storage. Anyone who shoots, scans, or stores digital photographs is practicing some form of DAM, but most of us are not doing so systematically or efficiently. In "The DAM Book: Digital Asset Management for Photographers," photographer Peter Krogh presents a solid plan and practical advice on how to file, find, protect, and re-use photographs, focusing on best practices for digital photographers using Adobe Photoshop CS2. ***Greasemonkey Hacks Publisher: O'Reilly ISBN: 0596101651 Greasemonkey--the new Firefox extension that allows you to write scripts that alter the web pages you visit--allows you to alter site appearance, fix bugs, or even combine data from different web sites to meet your own needs. Some people are content to receive information from web sites passively; some people want to control it. For those who prefer to customize and control their content, "Greasemonkey Hacks" provides the expertise you need to take command of any web page you view. ***Mac OS X Tiger in a Nutshell Publisher: O'Reilly ISBN: 0-596-00943-7 For consumers, developers, and programmers alike, the up-to-the-minute "Mac OS X Tiger in a Nutshell" provides the perfect overview of Tiger. ***Windows XP for Starters: The Missing Manual Publisher: O'Reilly ISBN: 0596101554 For anyone interested in zeroing in on just the information they need without all the complicated jargon, "Windows XP for Starters: The Missing Manual" provides just the solution. With easy-to-follow, step-by-step instructions, and plenty of illustrations this book offers a refreshingly simple approach to XP. Whether you're a first-time user who just wants the basics, or an experienced user who simply needs a quick overview, our new "Windows XP For Starters: Missing Manual" is designed to deliver what you need to know. ***C++ Cookbook Publisher: O'Reilly ISBN: 0596007612 Less a tutorial than a problem-solver, this practical guide shows you how to solve many of the real-world problems that C++ developers encounter, including how to parse a date and time string and how to create a singleton class. It's a trusted source of information for engineers, programmers, and researchers alike, presented in O'Reilly's classic question-solution-discussion format. http://www.oreilly.com/catalog/cplusplusckbk/ Chapter 10, "Streams and Files," is available online: ***Integrating Excel and Access Publisher: O'Reilly ISBN: 0596009739 This unique reference shows you how to combine the powerful analysis tools of Excel with the structured storage and more powerful querying of Access. It covers everything you need to know, including interfaces, object models, and code. Learn how to crunch and visualize data like never before. Perfect for all Microsoft Office users. http://www.oreilly.com/catalog/integratingea/ Chapter 3, "Data Access from Excel VBA," is available online: ***Just Say No To Microsoft Publisher: No Starch Press ISBN: 159327064X Just Say No to Microsoft begins by tracing Microsoft's rise from tiny startup to monopolistic juggernaut and explains how the company's practices have discouraged innovation, stunted competition, and helped foster an environment ripe for viruses, bugs and hackers. Readers learn how they can dump Microsoft products and continue to be productive. Includes full explanations of alternate operating systems, such as Linux and Mac, and outlines various software applications that can replace the familiar Microsoft products. ***Excel for Starters: The Missing Manual Publisher: O'Reilly ISBN: 0596101546 "Excel for Starters: The Missing Manual" gives you the information you need to make Excel do exactly what you want. Clear explanations (with lots of examples), illustrations, timesaving advice, and step-by-step instructions guide you through the most useful features of Excel 2002 and 2003--including how to build spreadsheets, add and format information, print reports, create charts and graphics, and use basic formulas and functions. Chapter 2, "Adding Information to Worksheets," is available online: ***Photoshop Elements 4: The Missing Manual Publisher: O'Reilly ISBN: 0596101589 With "Photoshop Elements 4: The Missing Manual," author Barbara Brundage has written the perfect digital photography guide that covers new features and techniques--for the most common editing solutions to the more advanced. In a clear, easy-to-read format, the author provides step-by-step instructions so readers can learn the right editing techniques for producing and sharing beautiful digital photography. ***Creating Web Sites: The Missing Manual Publisher: O'Reilly ISBN: 0596008422 Think you have to be a technical wizard to build a great web site? Think again. For anyone who wants to create an engaging web site--for either personal or business purposes--"Creating Web Sites: The Missing Manual" demystifies the process and provides tools, techniques, and expert guidance for making your ideas and vision a reality with a professional and reliable web presence. Chapter 6, "Style Sheets," is available online: ***Oracle PL/SQL for DBAs Publisher: O'Reilly ISBN: 0596005873 PL/SQL, Oracle's powerful procedural language, has been the cornerstone of Oracle application development for nearly 15 years. Although primarily a tool for developers, PL/SQL has also become an essential tool for database administration. DBAs who have not yet discovered how helpful PL/SQL can be will find this book a superb introduction to the language and its special database administration features. Even if you have used PL/SQL for years, you'll find the detailed coverage in this book to be an invaluable resource. ***Access 2003 for Starters: The Missing Manual Publisher: O'Reilly ISBN: 0596006659 "Access 2003 for Starters: The Missing Manual" delivers everything you need to use Access right away. The quick and painless way to learn how to put the world's most popular desktop data management program to work for you, this book explains all the most useful features of Access 2003--including designing and creating databases, organizing and filtering information, and generating effective forms and reports. ***Photoshop Photo Effects Cookbook Publisher: O'Reilly ISBN: 0596100221 You don't have to be a Photoshop expert to create sophisticated effects. With 61 easy-to-follow recipes, "Photoshop Photo Effects Cookbook" shows you how to use Photoshop CS2 to simulate classic camera and darkroom techniques and special effects-without making you learn Photoshop inside and out first. This book is packed with hundreds of full-color photographs, step-by-step instructions, and many practical tips. ***Unix in a Nutshell, Fourth Edition Publisher: O'Reilly ISBN: 0596100299 This quick reference has been reworked to present you with the current state of Unix. Featuring chapter overviews, in-depth command coverage, and specific examples, it's the perfect supplement for Unix users and programmers. New topics include package management programs, source code management systems, and the Solaris 10, GNU/Linux, and Mac OS X systems. Chapter 16, "The GNU make Utility," is available online: ***Programming ASP.NET, Third Edition Publisher: O'Reilly ISBN: 059600916X This updated bestseller has been completely refreshed to give you the inside story on ASP.NET 2.0 and Visual Studio 2005. It features a comprehensive tutorial on Web Forms and detailed explanations of all new Web server, HTML, and custom controls. Ideal for web developers looking to create dynamic, interactive web applications. ***Palm and Treo Hacks Publisher: O'Reilly ISBN: 059610054X Written for beginning to experienced Palm users, "Palm and Treo Hacks" is full of practical, ingenious tips and tricks you can apply immediately. Whether you're looking to master the built-in applications or you want to trick out your Palm to its fullest extent, this book will show you how. Sample Hacks such as "Get the Most Out of the To Do List" and "Use Your Treo as a Modem," are available online: ***Photoshop Filter Effects Encyclopedia Publisher: O'Reilly ISBN: 0596100213 "Photoshop Filter Effects Encyclopedia" explains and decodes the settings of every filter that Photoshop CS2 has to offer. And, unlike many reference books, it is filled with easy-to-follow, step-by-step recipes for creating truly amazing effects using Photoshop filters. Packed with hundreds of full-color photographs, clearly written instructions, and practical tips, this book is the ultimate, no-nonsense Photoshop CS2 Filters reference for creative photographers, designers, and artists. ***Photoshop Blending Modes Cookbook for Digital Photographers Publisher: O'Reilly ISBN: 0596100205 Layer blending modes have been part of Photoshop for years, but they're not easy to understand at first glance. With clear, step-by-step instructions, an easy-to-follow format, and hundreds of full-color examples, "Photoshop Blending Modes Cookbook for Digital Photographers" shows you how to use blending modes to achieve a wide range of image adjustments and special effects-without first having to learn everything there is to know about Photoshop. ================================================ Conference News ================================================ ***ETel Registration Now Open Emerging telephony networks enable a new generation of powerful communication applications, which threaten established business models--but more importantly, open up new opportunities and new markets. O'Reilly's Emerging Telephony Conference, January 24-26 in San Francisco, aims to articulate this revolution, provide a framework, and spark creative discussions among enterprise managers, developers, hackers, and sponsors interested in telephony. Join us as we explore this exciting new territory and investigate its implications. Receive 20% off the registration price when you use our special discount code. Please email marsee at oreilly.com for details. To register for the conference, go to: ***EuroOSCON has come and gone in Amsterdam It was a great experience and attendee comments ranged from "wonderful" to "I'll be back again next year!" OSCON will definitely be back in Europe next fall, as well as in Portland in July. Check out the Convention Coverage Page for all the latest session files pictures and news. ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***The Impact of "Ambient Findability" Peter Morville, author of "Ambient Findability," discusses the results of being able to find anything from anywhere at anytime, thanks to ubiquitous computing and the Net in this Business Week article. ***Laughing Lemur Contest at Findability.org To enter, snap a photo that includes the lemur, upload it to Flickr, and tag it with ambientfindability. Entries will be accepted through December 11, 2005. Evaluation criteria include popularity (in Flickr, Google, de.licio.us), comicality (make the lemur laugh), and other facets of the user experience. The winner will receive a $500 Amazon Gift Certificate, a $100 O'Reilly Gift Certificate, and autographed copies of the lemur and polar bear books. For contest details and rules, please go to: ***Avoiding Oblivion in Your Tech Career Life moves quickly for the technologist, so it's imperative to stay young and vital in one's tech career. Using the analogy of Shakespeare's renowned soliloquy from As You Like It on the seven phases of life, Michael Havey offers tips on how you can sustain technology excellence well into your golden years. Michael is the author of "Essential Business Process Modeling." ***Control Freaks: Modding and the Clash with Law Modders, and the millions more who possess a natural creativity and an urge to get control over their lives, have, as Andy Oram puts it, "tumbled head-on into a legal snake pit." Their passion for changing things has become one of the fastest up-and-coming social trends in the US, and thus has drawn the litigious eye of large entertainment and media companies. Andy remains optimistic, however, that modders themselves can find ways to shift the focus away from modding as a legal issue, and toward a view of modding as a social and business issue. ***User Group Members receive a special 50% discount on Learning Lab Courses As an O'Reilly User Group member, you save on all the courses in the following University of Illinois Certificate Series: -Linux/Unix System Administration -Web Programming -Open Source Programming -.NET Programming -Client-Side This offer ends December 31st, 2005. To redeem, use Promotion Code "ORALL1" to save 50%. Each course comes with a free O'Reilly book and a 7-day money-back guarantee. Register online: --------------------- Open Source --------------------- ***MySQL 5.0 is Released Kevin Yank goes over the new release of MySQL, the ever popular open-source database software, and what new features it contains. ***What Is TurboGears? (Hint: Python-Based Framework for Rapid Web Development) TurboGears is a Python-based framework that enables you to quickly build database-driven, ready-to-extend web applications. In this article, Matthew Russell takes you inside this framework for a look at its internal mechanisms, then introduces you to its creator, Kevin Dangoor. ***What Is a Linux Distribution? The Linux kernel may be the star of the show, but like any star, it needs a supporting cast. In this case, the supporting cast is known as a Linux distribution--a useful set of system and application programs bundled with the OS. Edd Dumbill serves up overviews of the major Linux distributions as well as the specialist distros, and for who (or what) each distro is best suited. --------------------- Mac --------------------- ***Sync Services Framework (How It Works and What You Can Do) With Tiger, Apple introduced a new extensible Sync Services framework embedded into the OS. And it's available to any application, not just Apple programs. Mary Norbury-Glaser explains this framework and shows you practical examples of its implementation. ***Tiger's Improved Firewall (and How to Use It) Among Tiger's many enhancements, Apple introduced a whole new firewall called ipfw2. It works just the like the old firewall, but has new features that allow greater flexibility and more control. In this article, Peter Hickman shows you some of the new features and how you can use them to more easily manage your firewall. --------------------- Windows/.NET --------------------- ***Windows Server Hacks: Shadowing Remote Desktop Sessions Shadowing Terminal Services sessions is a cool feature of Windows Server 2003 that lets you remotely control the desktop session of another Terminal Services user. ***Beware of Network Sniffers Network sniffing is harder than most people think, but that doesn't mean it's not a threat. Mitch Tulloch, author of "Windows Server Hacks," tells you the truth about sniffing dangers, and shows you how to protect your network. --------------------- Java --------------------- ***JBoss Cache as a POJO Cache Typical in-memory cache systems can trip you up in ways you don't expect, from mangled object relationships to overly expensive serialization operations. A POJO cache offers a simpler, lower-maintenance alternative. Ben Wang uses JBoss Cache to show how POJO caches work. ***Take Command With AJAX Want to get a bang out of your AJAX artillery? In this hands-on tutorial, Stoyan puts AJAX on the front line as he develops a web app with which you can execute shell commands on your web server. The downloadable code provides a real tactical advantage as Stoyan marshals JavaScript and XML to create the application. ***The Community of Web 2.0 In this 48-minute audio program from the Web 2.0 conference, Tim O'Reilly speaks with Sun Microsystems COO Jonathan Schwartz and Mozilla Foundation president Mitchell Baker about developer communities, distribution, architectures and expandability, and the value of open source. --------------------- Digital Media --------------------- ***MacVoices Features Leander Kahney "The Cult of iPod" No Starch Author Leander Kahney discusses the impact of the iPod and how it has changed the music industry, the music culture and how music is consumed. ***Vince Lawrence: 8,000 Square Feet of iTunes Step inside the cavernous studio of Chicago's Slang Musicgroup, where teams of computer-packing producers create hit songs and remixes in a vast range of styles???inspired by 20,000 CDs worth of networked iTunes. --------------------- MAKE --------------------- ***The PEZ MP3 player--A Project, Dream, and a Reality Pat Misterovich is a stay-at-home dad with a one-person company who had a dream to make an MP3 player that looks like a PEZ dispenser. We've been covering Pat's PEZ MP3 player throughout the year, reading his progress and milestones, anxiously awaiting the arrival of this dream-turned-PEZ MP3 player. Sample Projects from MAKE: ***Give the Gift of MAKE Magazine--Special Offer for UG Members Give the geek on your list a truly unique gift this holiday season-- their very own subscription to MAKE magazine. MAKE is the first magazine devoted to digital projects, hardware hacks, and DIY inspiration. Each issue brings the do-it-yourself mindset to all the technology in your life. You have a choice: Give a gift for $5 off the regular gift subscription rate--$29.95 (US), $34.95 (Canada), $44.95 (all other countries): Or place your gift order at the regular price $34.95 (US), $39.95 (Canada), $49.95 (all other countries)--and get a MAKE T-shirt free. ***Please note gift postcards and MAKE vol 4 will begin mailing on 12/9/05, orders received after 12/9/05 and non-US orders may not arrive in time for the holiday season. Your recipient(s) will receive the opportunity to add digital access to their subscription. All MAKE T-shirts will ship to your billing address. To order multiple orders for multiple countries, please contact customer service at 1-866-289-8847 (US & Canada), 1-818-487-2037 (all other countries) between the hours of 5am and 5pm Pacific time or Email: MAKE at espcomp.com ================================================ >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: Until next time-- Marsee Henon ================================================================ O'Reilly 1005 Gravenstein Highway North Sebastopol, CA 95472 http://ug.oreilly.com/ http://www.oreilly.com ================================================================ ----- End forwarded message ----- From ben.prew at gmail.com Wed Nov 16 23:13:05 2005 From: ben.prew at gmail.com (Ben Prew) Date: Wed, 16 Nov 2005 23:13:05 -0800 Subject: [Pdx-pm] any one know of an editor that allows for embeded perl? In-Reply-To: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> References: <85ddf48b0511141540x440d6e1bx6db2133c36bf0581@mail.gmail.com> Message-ID: <24f4b2e80511162313hfc6332cub748453d142f7ec@mail.gmail.com> Rather then just blather on about the theoretical uses of some theoretical text editor, there's an article on how to customize emacs in perl: http://www.perl.com/pub/a/2005/03/31/lightning2.html Also, I would recommend looking up narrowing and widening in the emacs elisp tutorial: http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/Narrowing---Widening.html And, the elisp reference has information on "the region", which is the text between the point and the mark... or, the currently selected text: http://www.gnu.org/software/emacs/elisp-manual/html_chapter/elisp_31.html#SEC492 Ultimately, just about anything you can do in Perl can probably be done better in elisp... except for expressing a regular expression, its very similar to Python or Java :(. See Ahh, the Regexes for what I'm talking about: http://obsidianrook.com/devnotes/whinery/elisp-regexps.html And, along that same vein, if you're thinking about learning elisp, here's a translation of common perl idioms to elisp: http://obsidianrook.com/devnotes/elisp-for-perl-programmers.html I don't know how well they map to good "lisp-style", but they appear to be pretty good. Finally, I must say that even though I prefer emacs, Vim can be compiled with Perl support built-in, so you can use it directly in your vim scripts, and don't have to shell out to Perl. Unfortunately, I don't have much experience with that, so you'll have to ask someone else about it :). On 11/14/05, benh wrote: > > Ok I've been beating my head on this one. Any one know if there is an > editor that embeds perl in to the editor? Kinda like a super fancy > copy/paste/search/replace .... I currently use jEdit and love it... > well for the most part. Heres an example of something that I just got > done doing, build a nav with every image in a dir nav_cat* files are > categorys and nav_*_* are links > > ls -lh *.gif > list > > [open list in jEdit] > using regex find s/^.*14:(49|50)// > > [copy trim list to new buffer] > my @imglist = ( ** list here ** ); > > my $cat=q{}; > foreach (@imglist) { > if(m/^nav_cat/) { > ($cat)= $_ =~ m/nav_cat_(.*?).gif/; > print "$cat\n"; > } > else{ > my ($alt)= $_ =~ m/nav_.*?_(.*?).gif/; > print "A link to $alt $cat\n"; > } > } > > > [save that off and run script in term... copy output] > [open new buffer in jEdit ... paste] > > take a seperate list of the actual links that have the category id's > and link them up by hand... > > and tada... final table of links.... total time about 15 minutes, much > faster then doing it all long hand like most of the production folks > but ... it got me thinking... why am I bouncing back and forth and > side steping STD(IN|OUT) ... what I would love to see is an editor > that could fork a background process as a perlscript and plug in > STDOUT in to the buffer... almost like bluring the lines between > terminal and editor? Is that possible... well I'm sure that any emacs > guru would yell at me because emacs is the answer to everything... any > takers on this one? > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- Ben Prew ben.prew at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051117/12a8dad1/attachment.html From ben.prew at gmail.com Wed Nov 16 23:15:37 2005 From: ben.prew at gmail.com (Ben Prew) Date: Wed, 16 Nov 2005 23:15:37 -0800 Subject: [Pdx-pm] Scripting/testing ncurses interface with perl-expect In-Reply-To: <51092.170.135.241.45.1131999128.squirrel@mail.patch.com> References: <20051114195117.GD11939@gblx.net> <20051114200052.27886.qmail@web60815.mail.yahoo.com> <20051114201056.GE11939@gblx.net> <51092.170.135.241.45.1131999128.squirrel@mail.patch.com> Message-ID: <24f4b2e80511162315m11b7dd4cjf0ec7daa5968dea3@mail.gmail.com> I always thought it meant "Text UI", but I stole it from some of Redhat's tool's names, rather then having a deep and complete understanding of Unix :) On 11/14/05, Michael Rasmussen wrote: > > > > > Well, come to think of it I'm not sure what I've seen > > it called, so maybe I have and just didn't know it... > > Are you sure you're not sure? Hint: you type Commands in a Line > > -- > Michael Rasmussen, Portland, Ore, USA > Be Appropriate && Follow Your Curiosity > http://www.patch.com/words/ > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- Ben Prew ben.prew at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051117/4618e33c/attachment.html From rootbeer at redcat.com Thu Nov 17 09:49:49 2005 From: rootbeer at redcat.com (Tom Phoenix) Date: Thu, 17 Nov 2005 09:49:49 -0800 Subject: [Pdx-pm] =?windows-1252?q?Day_After_Thanksgiving_Game_Night_at_To?= =?windows-1252?q?m_and_Jenna=92s?= Message-ID: <31086b240511170949k15824154r961f9e74561f35ec@mail.gmail.com> ---------- Forwarded message ---------- From: Jenna Padbury Happy not raining...do I really live in Oregon...Fall, You and anybody you want to invite are warmly invited to a Post Thanksgiving Game Night at Tom and Jenna's. It is also (in Jenna's opinion) a matter of historical importance to note that exactly one year ago this very holiday weekend Tom asked Jenna to join him in marriage. This game night will culminate a year of celebrating with family and friends. Yippy! When: Friday the 25th. The fun starts at 4 PM and we'll wrap up by 9:00 PM Feel free to drop in as your schedule allows. Where: 6815 N Interstate Ave.(we're in the blue house less than a block north of Dekum on the southbound side of the street) Transit: Max Yellow Line's Portland Boulevard stop is nearest; Freeway: From I-5, exit and turn west onto Portland Boulevard to find our neighborhood. Parking: free and easy to find on any nearby side street a block or two off of Interstate Avenue. Food and drink: We'll have some soda and vegetarian chili and 12 bean soup. We hope you'll a snack or drink or anything else you'd like to eat. Sharing the bounty of your Thanksgiving leftovers is welcome?but only if you promise to bring any extra home with you! J Games: We'll have Zendo, of course. In case you somehow don't like Zendo, we'll have some other games (Spin-the-Bottle, Hopscotch, Tiddly Winks, Bunko, Bingo,... we'll find something). And of course, you are always welcome to bring your favorite game. This is a youngster friendly event, so if you have some or know some feel free to bring them RSVP: Not necessary but helpful as I determine just how many gallons of Chili and soup to make Peace, Jenna From ben.hengst at gmail.com Fri Nov 18 12:55:07 2005 From: ben.hengst at gmail.com (benh) Date: Fri, 18 Nov 2005 12:55:07 -0800 Subject: [Pdx-pm] Any one know if there going to apache con 05? Message-ID: <85ddf48b0511181255i36816b40ud7090aecf38dae5f@mail.gmail.com> Still debating if I want to make the Treck south or not. http://www.apachecon.com/ benh~ From publiustemp-pdxpm at yahoo.com Fri Nov 18 12:56:56 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Fri, 18 Nov 2005 12:56:56 -0800 (PST) Subject: [Pdx-pm] Poll: traits Message-ID: <20051118205656.1551.qmail@web60815.mail.yahoo.com> Hi folks, I've posted an informal poll about "traits" in my use.perl journal (http://use.perl.org/~Ovid/journal/27644). It would be nice if some folks would be willing to discuss it over there, but for those who prefer "on list" discussion: Question: why aren't you using traits? [ ] I don't understand traits. [ ] I've never heard of traits. [ ] I prefer multiple inheritance or mixins. [ ] Single inheritance is good enough for me. [ ] I don't know of a robust/good Perl implementation. [ ] Traits are bad, m'kay. [ ] Other _______________. Would you be interested in learning more about traits or do you think they're just another silly buzzword? If you are interested in traits, what would it take to get you to start using them? One thing I've noticed about traits is that most discussions of traits seem to revolve around examples which don't really match up with what people need in the real world. This, curiously, is the same problem that many beginning OO examples have. As a result, people learn about OO and often say "why bother?" I think the same problem affects traits despite how useful they are. Traits are explained in http://www.iam.unibe.ch/~scg/Archive/PhD/schaerli-phd.pdf and in Perl 6 they are known as "roles". 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 ben.prew at gmail.com Fri Nov 18 14:58:00 2005 From: ben.prew at gmail.com (Ben Prew) Date: Fri, 18 Nov 2005 14:58:00 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051118205656.1551.qmail@web60815.mail.yahoo.com> References: <20051118205656.1551.qmail@web60815.mail.yahoo.com> Message-ID: <24f4b2e80511181458w26c07db0mb9cf69316e43f5c7@mail.gmail.com> Sorry, I don't have a use.perl account, but you can mark me as: [ ] I don't know of a robust/good Perl implementation. Where the emphasis is on don't know of any implementations, rather then knowing about non-robust/non-good implementations. On 11/18/05, Ovid wrote: > > Hi folks, > > I've posted an informal poll about "traits" in my use.perl journal > (http://use.perl.org/~Ovid/journal/27644). It would be nice if some > folks would be willing to discuss it over there, but for those who > prefer "on list" discussion: > > Question: why aren't you using traits? > > [ ] I don't understand traits. > [ ] I've never heard of traits. > [ ] I prefer multiple inheritance or mixins. > [ ] Single inheritance is good enough for me. > [ ] I don't know of a robust/good Perl implementation. > [ ] Traits are bad, m'kay. > [ ] Other _______________. > > Would you be interested in learning more about traits or do you think > they're just another silly buzzword? If you are interested in traits, > what would it take to get you to start using them? > > One thing I've noticed about traits is that most discussions of traits > seem to revolve around examples which don't really match up with what > people need in the real world. This, curiously, is the same problem > that many beginning OO examples have. As a result, people learn about > OO and often say "why bother?" I think the same problem affects traits > despite how useful they are. > > Traits are explained in > http://www.iam.unibe.ch/~scg/Archive/PhD/schaerli-phd.pdf and in Perl 6 > they are known as "roles". > > 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/ > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- Ben Prew ben.prew at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051118/2864d7e2/attachment.html From david at kineticode.com Fri Nov 18 15:46:16 2005 From: david at kineticode.com (David Wheeler) Date: Fri, 18 Nov 2005 15:46:16 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051118205656.1551.qmail@web60815.mail.yahoo.com> References: <20051118205656.1551.qmail@web60815.mail.yahoo.com> Message-ID: On Nov 18, 2005, at 12:56 PM, Ovid wrote: > Question: why aren't you using traits? > > [ ] I don't understand traits. > [ ] I've never heard of traits. > [ ] I prefer multiple inheritance or mixins. > [ ] Single inheritance is good enough for me. > [ ] I don't know of a robust/good Perl implementation. > [ ] Traits are bad, m'kay. > [ ] Other _______________. [X] But I *do* use traits, whatsamattau? :-) D From kellert at ohsu.edu Fri Nov 18 16:52:10 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Fri, 18 Nov 2005 16:52:10 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051118205656.1551.qmail@web60815.mail.yahoo.com> References: <20051118205656.1551.qmail@web60815.mail.yahoo.com> Message-ID: <8F716B96-1511-4629-B24E-20FDD83EAD6E@ohsu.edu> > [X] I've never heard of traits. But I know how a solid phase oligonucleotide synthesizer works. Tom PS. Have a nice weekend. On Nov 18, 2005, at 12:56 PM, Ovid wrote: > Hi folks, > > I've posted an informal poll about "traits" in my use.perl journal > (http://use.perl.org/~Ovid/journal/27644). It would be nice if some > folks would be willing to discuss it over there, but for those who > prefer "on list" discussion: > > Question: why aren't you using traits? > > [ ] I don't understand traits. > [X] I've never heard of traits. > [ ] I prefer multiple inheritance or mixins. > [ ] Single inheritance is good enough for me. > [ ] I don't know of a robust/good Perl implementation. > [ ] Traits are bad, m'kay. > [ ] Other _______________. > > Would you be interested in learning more about traits or do you think > they're just another silly buzzword? If you are interested in traits, > what would it take to get you to start using them? > > One thing I've noticed about traits is that most discussions of traits > seem to revolve around examples which don't really match up with what > people need in the real world. This, curiously, is the same problem > that many beginning OO examples have. As a result, people learn about > OO and often say "why bother?" I think the same problem affects traits > despite how useful they are. > > Traits are explained in > http://www.iam.unibe.ch/~scg/Archive/PhD/schaerli-phd.pdf and in > Perl 6 > they are known as "roles". > > 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/ > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From publiustemp-pdxpm at yahoo.com Fri Nov 18 17:07:34 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Fri, 18 Nov 2005 17:07:34 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <8F716B96-1511-4629-B24E-20FDD83EAD6E@ohsu.edu> Message-ID: <20051119010734.42872.qmail@web60819.mail.yahoo.com> --- Thomas J Keller wrote: > > [X] I've never heard of traits. > > But I know how a solid phase oligonucleotide synthesizer works. Tom wins. Everybody go home. Cheers, Otis <-- long story. Don't ask. -- 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 scratchcomputing at gmail.com Sat Nov 19 10:54:09 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Sat, 19 Nov 2005 10:54:09 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051118205656.1551.qmail@web60815.mail.yahoo.com> References: <20051118205656.1551.qmail@web60815.mail.yahoo.com> Message-ID: <200511191054.09927.ewilhelm@cpan.org> # from Ovid # on Friday 18 November 2005 12:56 pm: ? ? [X] Other _I'm still waiting for someone to explain them in less than 100+ pages of text_. Looks like he managed to get it out in 25 at some point (with the help of a few others.) http://www.iam.unibe.ch/~scg/cgi-bin/scgbib.cgi/abstract=yes?Scha03a What I love about perl's oo is that we really don't need all of the formalisms that appear in other languages. What I hate about it is that I don't understand the jargon that appears when people start talking about languages with less casual OO constructs. "A trait is essentially a group of pure methods that serves as a building block for classes and is a primitive unit of code reuse." So, can you spell that in Perl? It sounds suspiciously like it's nothing more than a module that allows you to import some methods into your namespace. Or is that a mixin? --Eric -- Peer's Law: The solution to the problem changes the problem. --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From publiustemp-pdxpm at yahoo.com Sat Nov 19 11:17:11 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat, 19 Nov 2005 11:17:11 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <200511191054.09927.ewilhelm@cpan.org> Message-ID: <20051119191711.13757.qmail@web60824.mail.yahoo.com> --- Eric Wilhelm wrote: > http://www.iam.unibe.ch/~scg/cgi-bin/scgbib.cgi/abstract=yes?Scha03a > > What I love about perl's oo is that we really don't need all of the > formalisms that appear in other languages. Yes and no. There's no question that Perl's model is extremely flexible, but sometimes you want to break instead of bend. The problems with multiple inheritance are extremely well-known and well-docuemanted. Ruby-style mixins and Java interfaces are two attempts to avoid this (note that both languages only support single inheritance) but both of these are also broken. Mixins have ordering problems and interfaces force you to redefine the implementation every time -- even if the implementation doesn't change. > "A trait is essentially a group of pure methods that serves as a > building block for classes and is a primitive unit of code reuse." > > So, can you spell that in Perl? It sounds suspiciously like > it's nothing more than a module that allows you to import > some methods into your namespace. Or is that a mixin? That's the basics of it (traits are actually really simple to use. It's the theory behind traits which throws a few people off). Traits, however, are far more powerful than mixins. Imagine, for example, that you have two traits: TSpouse and TBomb. Each of those traits provides two methods, fuse() and explode(). You want to institute a "FamilyMember" class and use those traits. Naturally, you want to use the TSpouse::explode() method because it's non-lethal (usually). You want to use the TBomb::fuse() method because you can control the timing. If these were mixins, you have a problem. With Ruby, you would get the fuse() and explode() methods from whichever of these mixins you used *last*. If you want one from each, you have to use delegation or something similar. With traits, if there are method conflicts, the traits fail *at compile time* and you have to explicitly resolve the problem: package FamilyMember; use Class::Trait TSpouse => { exclude => ['fuse'] }, TBomb => { exclude => ['explode'] }; And now FamilyMember->can('explode') (from TSpouse) and FamilyMember->can('fuse') (from TBomb). However, if the TSpouse and TBomb traits had no conflicts, it would be as simple as this: use Class::Trait qw(TSpouse TBomb); And you've have everything you need. In a nutshell, the reasoning behind traits is simple. A class needs to provide *everything* you should be able to do with that class. Thus, it needs to be complete. However, if think of classes for code reuse benefits (for example, when we inherit from classes), then they should be as small as possible so we don't accidentally pull in more stuff than we want or need. So classes should generally be both complete and small, but these needs often conflict. Since traits are both small and provide code reuse, they satisfy both requirements. Further, unlike Java interfaces, they provide the implementation so you don't have to keep rewriting it. Like Java interfaces, they fail *at compile time* if you've not used them correctly. Unlike Ruby mixins, they don't have ordering problems. I'm still working on Class::Trait and doing some deep internals work with it, but the basic features are there. 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 chromatic at wgz.org Sat Nov 19 11:22:41 2005 From: chromatic at wgz.org (chromatic) Date: Sat, 19 Nov 2005 11:22:41 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <200511191054.09927.ewilhelm@cpan.org> References: <20051118205656.1551.qmail@web60815.mail.yahoo.com> <200511191054.09927.ewilhelm@cpan.org> Message-ID: <1132428161.6720.83.camel@localhost> On Sat, 2005-11-19 at 10:54 -0800, Eric Wilhelm wrote: > "A trait is essentially a group of pure methods that serves as a > building block for classes and is a primitive unit of code reuse." > > So, can you spell that in Perl? It sounds suspiciously like it's > nothing more than a module that allows you to import some methods into > your namespace. Or is that a mixin? It's a lot more than a mixin. It's an abstraction that gives a semantically useful name to a group of methods. Occasionally people show up in Perl QA to ask "I have these functions that print their output and I want to collect that output instead!" The answer is somewhere between select(), tie(), and IO::Handle or another module. You really have to know what you're doing to make it work. You also could define a trait for an appendable collection of lines. That might represent a file (you can print to it) or an array (same) or a log (if it expires the oldest content) or a cache (the same). If every place you want to append a line to something you check that what you're going to use does that trait -- instead of being a filehandle or an array or however it implements that trait -- you get a lot more flexibility. In particular, you're checking for the appropriate *intended behavior* of an object, not its implementation. Likewise you could have a KeyedLookup trait for a hash or a cache or a remote object storage system or whatever. The important thing is the name of the collection of methods. You can't just check that the object you have has a method of the right name -- there are too many homonyms possible for that to work reliably. It's the collection of methods under a trait name that makes this useful. -- c From krisb at ring.org Sat Nov 19 11:47:17 2005 From: krisb at ring.org (Kris Bosland) Date: Sat, 19 Nov 2005 11:47:17 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <200511191054.09927.ewilhelm@cpan.org> Message-ID: On Sat, 19 Nov 2005, Eric Wilhelm wrote: > What I love about perl's oo is that we really don't need all of the > formalisms that appear in other languages. What I hate about it is > that I don't understand the jargon that appears when people start > talking about languages with less casual OO constructs. > > "A trait is essentially a group of pure methods that serves as a > building block for classes and is a primitive unit of code reuse." I would like to see a comparison chart between different things, and maybe why people get all hot about them: trait role mixin aspect interface duck typing "traditional" OO For example, when you say "pure methods" does that mean no implementations or no member variables? Is it stateless or abstract? I would also like to see some code examples that work with one and not with another. I think part of the problem is that this OO stuff is trying to impose order on Complex Systems, so you don't really see the impact until you realize you have to refactor your million-line application and you wish you had this OO feature or that. Tight OO systems restrict your options, so you better use the right one in the first place. Loose OO systems (like perl) mean that you don't get built in consistency, so it is hard to make something you can 'pivot' later. -Kris From scratchcomputing at gmail.com Sat Nov 19 12:12:27 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Sat, 19 Nov 2005 12:12:27 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051119191711.13757.qmail@web60824.mail.yahoo.com> References: <20051119191711.13757.qmail@web60824.mail.yahoo.com> Message-ID: <200511191212.27462.ewilhelm@cpan.org> # from Ovid # on Saturday 19 November 2005 11:17 am: >? package FamilyMember; >? use Class::Trait >? ? TSpouse => { exclude => ['fuse'] }, >? ? TBomb ? => { exclude => ['explode'] }; > >And now FamilyMember->can('explode') (from TSpouse) and >FamilyMember->can('fuse') (from TBomb). So, in this case, it's the same as use TSpouse qw(explode); use TBomb qw(fuse); Right? Of course, that assumes that these methods are at least in @EXPORT_OK, and it looks like you've done something handier than that with Class::Trait (besides, most people wouldn't think to export method names, would they?) Now I can change my answer to "of course I use them", but iirc, I've only ever done it with the (not so meticulous) do("traitfile") :-) So, I can see some benefits here, particularly in the collision detection, exclusion or inclusion, etc. I just wish you had presented it that way instead of with a link to a 143 page paper, where most of the discussion centers around the fact that he's dealing with a language where pragmatic code reuse is hindered by an overly formalized OO system. --Eric -- hobgoblin n 1: (folklore) a small grotesque supernatural creature that makes trouble for human beings --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From marvin at rectangular.com Sat Nov 19 12:18:07 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Sat, 19 Nov 2005 12:18:07 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051119191711.13757.qmail@web60824.mail.yahoo.com> References: <20051119191711.13757.qmail@web60824.mail.yahoo.com> Message-ID: On Nov 19, 2005, at 11:17 AM, Ovid wrote: > package FamilyMember; > use Class::Trait > TSpouse => { exclude => ['fuse'] }, > TBomb => { exclude => ['explode'] }; > > And now FamilyMember->can('explode') (from TSpouse) and > FamilyMember->can('fuse') (from TBomb). So... without Class::Trait, you can get superficially similar behavior if Bomb exports 'fuse' and you start off FamilyMember like this: package FamilyMember; use base qw( Spouse ); use Bomb qw( fuse ); # override the fuse() in Spouse But you'd have to know that there was a conflict there before you could resolve it. The advantage of Class::Trait is that you don't have to keep so many things in your head at one time when designing classes with multiple inheritance. It will fail catastrophically when there are conflicts rather than silently do the wrong thing every once in a while. package FamilyMember; use base qw( Bomb Spouse ); # not good Would it be fair to describe a Trait as a base class that doesn't allow its methods to be overridden without an explicit directive? Marvin Humphrey Rectangular Research http://www.rectangular.com/ From chromatic at wgz.org Sat Nov 19 12:27:39 2005 From: chromatic at wgz.org (chromatic) Date: Sat, 19 Nov 2005 12:27:39 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: References: <20051119191711.13757.qmail@web60824.mail.yahoo.com> Message-ID: <1132432059.6720.89.camel@localhost> On Sat, 2005-11-19 at 12:18 -0800, Marvin Humphrey wrote: > Would it be fair to describe a Trait as a base class that doesn't > allow its methods to be overridden without an explicit directive? I hope not. You shouldn't have to inherit from a trait to perform that trait. (You should have to declare that you intent to perform that trait, but that's a different story.) -- c From marvin at rectangular.com Sat Nov 19 12:40:39 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Sat, 19 Nov 2005 12:40:39 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <1132432059.6720.89.camel@localhost> References: <20051119191711.13757.qmail@web60824.mail.yahoo.com> <1132432059.6720.89.camel@localhost> Message-ID: On Nov 19, 2005, at 12:27 PM, chromatic wrote: > You shouldn't have to inherit from a trait to perform that > trait. (You should have to declare that you intent to perform that > trait, but that's a different story.) That sounds like a Java interface. Ovid indicated that you could define the default behavior of a Trait -- unlike interfaces. Is defining a Trait's default behavior mandatory or optional? Even if it's mandatory you can define it to throw an exception, I suppose. sub explode { confess "explode must defined in a subclass" } Marvin Humphrey Rectangular Research http://www.rectangular.com/ From publiustemp-pdxpm at yahoo.com Sat Nov 19 12:45:57 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat, 19 Nov 2005 12:45:57 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <200511191212.27462.ewilhelm@cpan.org> Message-ID: <20051119204557.58939.qmail@web60824.mail.yahoo.com> --- Eric Wilhelm wrote: > >??? package FamilyMember; > >??? use Class::Trait > >??? ??? TSpouse => { exclude => ['fuse'] }, > >??? ??? TBomb ??? => { exclude => ['explode'] }; > > > >And now FamilyMember->can('explode') (from TSpouse) and > >FamilyMember->can('fuse') (from TBomb). > > So, in this case, it's the same as > > use TSpouse qw(explode); > use TBomb qw(fuse); > > Right? Almost. In fact, in many cases it is. However, in this case, let's imagine that the TBomb::fuse() method is defined like this: sub fuse { my ($self, $time) = @_; $self->set_igniter($time); $self->explode; } Where does the set_igniter() method come from? It might be provided in the TBomb trait, but if you want to have a variety of applicable igniters, you can add this: our @REQUIRES = qw(set_igniter); Now, TBomb does not have to provide its own implementation, but you can't use it unless *something* provides that. Again, it fails at compile time. This sounds all theoretical and abstract, but we're really using this in a production system. We have traits which generate XML and XHTML. There's also a "data store" trait. The data store can provide test objects and a variety of our test class generate test objects using the Store trait. When a test class needs to generate XML, the XML is based upon objects and the trait has this line: our @REQUIRES = qw(test_objects); (It actually has more than that). If I forget to use the Store trait but I use the XML trait, the tests won't compile and I don't have to waste time tracking down potentially confusing test failures. 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 Sat Nov 19 12:47:40 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat, 19 Nov 2005 12:47:40 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: Message-ID: <20051119204740.59433.qmail@web60824.mail.yahoo.com> --- Marvin Humphrey wrote: > Would it be fair to describe a Trait as a base class that doesn't > allow its methods to be overridden without an explicit directive? Sort of. However, the methods are actually "flattened" into the class which uses the traits. Thus, you're not inheriting the methods. This is a nice performance boost. 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 tex at off.org Sat Nov 19 12:48:36 2005 From: tex at off.org (Austin Schutz) Date: Sat, 19 Nov 2005 12:48:36 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: References: <200511191054.09927.ewilhelm@cpan.org> Message-ID: <20051119204836.GP7172@gblx.net> On Sat, Nov 19, 2005 at 11:47:17AM -0800, Kris Bosland wrote: > > On Sat, 19 Nov 2005, Eric Wilhelm wrote: > > > What I love about perl's oo is that we really don't need all of the > > formalisms that appear in other languages. What I hate about it is > > that I don't understand the jargon that appears when people start > > talking about languages with less casual OO constructs. > > > > "A trait is essentially a group of pure methods that serves as a > > building block for classes and is a primitive unit of code reuse." > > I would like to see a comparison chart between different things, and maybe > why people get all hot about them: > > trait > role > mixin > aspect > interface > duck typing duck typing sounds a lot like the monty python episode where they're instructing you how to identify trees from long, long distances away. Austin From publiustemp-pdxpm at yahoo.com Sat Nov 19 12:50:02 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat, 19 Nov 2005 12:50:02 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: Message-ID: <20051119205002.75238.qmail@web60821.mail.yahoo.com> --- Marvin Humphrey wrote: > That sounds like a Java interface. Ovid indicated that you could > define the default behavior of a Trait -- unlike interfaces. Is > defining a Trait's default behavior mandatory or optional? Currently defining the trait's behavior is mandatory. If you don't like the behavior, exclude the method. Perl 6's "Roles" will allow you to provide a stub method and then the role will behave like an interface. I'm not sure if I will be adding support for this as the "@REQUIRES" array (described in other emails) takes care of this need. 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 chromatic at wgz.org Sat Nov 19 12:57:22 2005 From: chromatic at wgz.org (chromatic) Date: Sat, 19 Nov 2005 12:57:22 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: References: <20051119191711.13757.qmail@web60824.mail.yahoo.com> <1132432059.6720.89.camel@localhost> Message-ID: <1132433842.6720.100.camel@localhost> On Sat, 2005-11-19 at 12:40 -0800, Marvin Humphrey wrote: > That sounds like a Java interface. Gah, I *hate* Java interfaces. The designers saw a problem and completely failed to solve it. The problem is that not all important behavior in a system fits nicely into a class hierarchy. To borrow a phrase from aspect-oriented programming, you sometimes have cross-cutting concerns. That is, if you want to serialize an object, you don't necessarily want to have to inherit from a Serialize class. In a single-inheritance scheme like Java supposedly has, there goes your code reuse. In a closed-class scheme like Java has also, you can't just stick the appropriate methods in the Object class either. Pragmatically, you may not *want* all classes to have serializeable objects! Java's "solution" was to allow multiple inheritance without actually allowing multiple inheritance. That is, you can inherit from only one class, but you can "inherit" from multiple interfaces that don't share the same namespace as classes, don't provide any behavior, and have a completely different querying mechanism. If you want to write an object that proxies for another object and be able to use your type system to check that you're performing the correct operations on the correct objects, you have to modify the first object's class to create an interface, modify every piece of code that wants to perform an operation on objects of that class to check for that interface instead of the class, and then write the proxy. Yippee. Instead, traits allow you to define a bundle of named behavior. If you don't implement those methods on your own but perform the trait, you get the trait's implementations. Code reuse is good. If you do implement those methods on your own but do the trait, you don't get the trait's implementations, but you do tell the system that everything that wants to perform an operation on something that performs that trait can safely use your objects because they do the right thing. Better (I hope Curtis's code does this, because it's immensely important), if you have a class, you automatically get a trait with the same name as that class with the same methods of that class and you can reimplement everything that class does and say that you do the trait and then everything that asks trait-like questions about objects of your class will do the right thing even if they always expected to receive objects of the other class. That is, traits and roles let you worry about whether an object does what you expect it does, not how it does it nor where it fits into an inheritance hierarchy. This is as it should be. -- c From publiustemp-pdxpm at yahoo.com Sat Nov 19 13:22:41 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat, 19 Nov 2005 13:22:41 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <1132433842.6720.100.camel@localhost> Message-ID: <20051119212241.99674.qmail@web60811.mail.yahoo.com> --- chromatic wrote: > Better (I hope Curtis's code does this, because it's immensely > important), if you have a class, you automatically get a trait > with the same name as that class with the same methods of that > class Minor correction: while I had originally written a "Class::Trait" module, the current code is actually the work of Stevan Little and I am merely the maintainer. Question: are you saying that if I have this: package Foo; sub new { bless {} => shift } sub name { return "Some name" } That this should automatically be considered a trait, too? Currently to make this is a trait you have to add "use Class::Trait 'base'" to the package. There are a number of reasons for this, but the most important is the internal introspection mechanism involved. 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 chromatic at wgz.org Sat Nov 19 13:29:11 2005 From: chromatic at wgz.org (chromatic) Date: Sat, 19 Nov 2005 13:29:11 -0800 Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051119212241.99674.qmail@web60811.mail.yahoo.com> References: <20051119212241.99674.qmail@web60811.mail.yahoo.com> Message-ID: <1132435751.6720.107.camel@localhost> On Sat, 2005-11-19 at 13:22 -0800, Ovid wrote: > Question: are you saying that if I have this: > > package Foo; > > sub new { bless {} => shift } > > sub name { return "Some name" } > > That this should automatically be considered a trait, too? I certainly think so. > Currently to make this is a trait you have to add "use Class::Trait > 'base'" to the package. > There are a number of reasons for this, but the most important is the > internal introspection mechanism involved. Agreed. It's not such a problem in Perl 6, but Perl 5 doesn't have the mechanisms that Perl 6 does. I don't know how far you want to go with this, but perhaps there could be a way to extract a trait from a package where you can provide a list of the class's traity methods. -- c From publiustemp-pdxpm at yahoo.com Sat Nov 19 13:38:48 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Sat, 19 Nov 2005 13:38:48 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <1132435751.6720.107.camel@localhost> Message-ID: <20051119213849.4545.qmail@web60816.mail.yahoo.com> --- chromatic wrote: > I don't know how far you want to go with this, but perhaps there > could > be a way to extract a trait from a package where you can provide a > list of the class's traity methods. My intent is to get Class::Trait as close to a "correct" traits implementation as possible. Thus, whatever it takes to do this, I want to do. However, I do note that in the original traits paper and others which discuss traits, this "any class is also a trait" mechanism does not appear to exist. Right now, you could use Class::Delegator to gain this behavior. 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 Sat Nov 19 14:07:55 2005 From: krisb at ring.org (Kris Bosland) Date: Sat, 19 Nov 2005 14:07:55 -0800 (PST) Subject: [Pdx-pm] Poll: traits In-Reply-To: <20051119204557.58939.qmail@web60824.mail.yahoo.com> Message-ID: On Sat, 19 Nov 2005, Ovid wrote: > sub fuse { > my ($self, $time) = @_; > $self->set_igniter($time); > $self->explode; > } > > Where does the set_igniter() method come from? It might be provided in > the TBomb trait, but if you want to have a variety of applicable > igniters, you can add this: > > our @REQUIRES = qw(set_igniter); > > Now, TBomb does not have to provide its own implementation, but you > can't use it unless *something* provides that. Again, it fails at > compile time. > Hey, something I have been thinking of recently is to try to figure out some way to create an interface test widget in between two classes or libraries. Some kind of mirrored thing that: 1. Tests that the library you use acts like you expect 2. Provides a reciprocal dummy object that can test your library independantly. Something like: package BombInterface; use TestInterface; interface("fuse","Boom!"); Then, BombInterface->testInterface() does: ok_defined(my $b = Bomb->new()); ok($b->fuse(),"Boom!"); and my $b = BombInterface->stubInterface() $b->fuse(); #"Boom!" can be used in the tests of the class using Bomb. -Kris From perl-pm at joshheumann.com Mon Nov 21 12:05:20 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon, 21 Nov 2005 12:05:20 -0800 Subject: [Pdx-pm] O'Reilly looking for UG Podcasts to Feature Online Message-ID: <20051121200520.GL26439@joshheumann.com> Daniel Steinberg has been working on podcasting for O'Reilly and he called to let me know about two ways in which user group members might want to get involved. First, if you have your own podcast, let us know about it and we will link to it and feature your shows from time to time on our podcasting home page (http://www.oreillynet.com/podcasts). Also, if you have an interesting speaker coming up, you might want to do an interview and submit it for inclusion in our magazine show "Distributing the Future" (http://www.oreillynet.com/future). In any case, if you have interesting ideas for how you might want to contribute to O'Reilly podcasting, send Daniel an email at daniel at oreilly.com. Thanks for your help, Marsee Henon From kellert at ohsu.edu Tue Nov 22 11:05:29 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Tue, 22 Nov 2005 11:05:29 -0800 Subject: [Pdx-pm] kwiki error Message-ID: <17C7B3BA-D3A6-4A64-8783-E5FF64A01AC0@ohsu.edu> Hi folks, I'm sure this is something simple I've overlooked. But it's eluding me. I installed Kwiki and Bundle::Kwiki, created the kwiki with - new, uncommented the plugins in the plugins file and ran kwiki - update on the directory. I also edited the httpd.conf file so it executes .cgi files. But I get this error: Software error: [Tue Nov 22 10:58:05 2005] index.cgi: No plugin for action 'display' at /Library/Perl/5.8.6/Spoon/Hub.pm line 34. at /Library/Perl/5.8.6/Spoon/Base.pm line 110 Spoon::Base::__ANON__('[Tue Nov 22 10:58:05 2005] index.cgi: No plugin for action \'...') called at /System/Library/Perl/5.8.6/CGI/ Carp.pm line 314 CGI::Carp::realdie('[Tue Nov 22 10:58:05 2005] index.cgi: No plugin for action \'...') called at /System/Library/Perl/5.8.6/CGI/Carp.pm line 400 CGI::Carp::die('No plugin for action \'display\'') called at / Library/Perl/5.8.6/Spoon/Hub.pm line 34 Spoon::Hub::process('Kwiki::Hub=HASH(0x18dfd14)') called at /Library/ Perl/5.8.6/Kwiki.pm line 12 Kwiki::process('Kwiki=HASH(0x1801500)', 'config*.*', '-plugins', 'plugins') called at /Library/WebServer/Documents/tkwiki/index.cgi line 4 Can anyone help me with this? Thanks, Tom K. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051122/9bd5a54f/attachment.html From kellert at ohsu.edu Tue Nov 22 11:18:54 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Tue, 22 Nov 2005 11:18:54 -0800 Subject: [Pdx-pm] kwiki error In-Reply-To: <17C7B3BA-D3A6-4A64-8783-E5FF64A01AC0@ohsu.edu> References: <17C7B3BA-D3A6-4A64-8783-E5FF64A01AC0@ohsu.edu> Message-ID: <2B12B21F-707E-49F6-AEB1-8131AC2E6B04@ohsu.edu> Nevermind kwiki -add Kwiki::Display seems to have done the trick. I don't know why it hadn't loaded in the first place; it is a core plugin and "should have been present". TJK On Nov 22, 2005, at 11:05 AM, Thomas J Keller wrote: > Hi folks, > I'm sure this is something simple I've overlooked. But it's eluding > me. I installed Kwiki and Bundle::Kwiki, created the kwiki with - > new, uncommented the plugins in the plugins file and ran kwiki - > update on the directory. I also edited the httpd.conf file so it > executes .cgi files. > But I get this error: > Software error: > [Tue Nov 22 10:58:05 2005] index.cgi: No plugin for action > 'display' at /Library/Perl/5.8.6/Spoon/Hub.pm line 34. > at /Library/Perl/5.8.6/Spoon/Base.pm line 110 > Spoon::Base::__ANON__('[Tue Nov 22 10:58:05 2005] index.cgi: No > plugin for action \'...') called at /System/Library/Perl/5.8.6/CGI/ > Carp.pm line 314 > CGI::Carp::realdie('[Tue Nov 22 10:58:05 2005] index.cgi: No > plugin for action \'...') called at /System/Library/Perl/5.8.6/CGI/ > Carp.pm line 400 > CGI::Carp::die('No plugin for action \'display\'') called at / > Library/Perl/5.8.6/Spoon/Hub.pm line 34 > Spoon::Hub::process('Kwiki::Hub=HASH(0x18dfd14)') called at / > Library/Perl/5.8.6/Kwiki.pm line 12 > Kwiki::process('Kwiki=HASH(0x1801500)', 'config*.*', '-plugins', > 'plugins') called at /Library/WebServer/Documents/tkwiki/index.cgi > line 4 > > > > Can anyone help me with this? > > Thanks, > Tom K. > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051122/4a2aea63/attachment.html From dpool at hevanet.com Fri Nov 25 09:13:38 2005 From: dpool at hevanet.com (David Pool) Date: Fri, 25 Nov 2005 09:13:38 -0800 Subject: [Pdx-pm] Ubuntu's Jeff Waugh at PLUG Message-ID: <1132938818.7892.62.camel@localhost.localdomain> FYI the Portland Linux/Unix Group is having a special meeting off of their usual calendar to present Jeff Waugh: http://www.news4neighbors.net/article.pl?sid=05/11/25/178245 Ubuntu is an interesting, fairly new distro based off of debian. d From kellert at ohsu.edu Mon Nov 28 11:02:26 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Mon, 28 Nov 2005 11:02:26 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: Hi All, This is probably cheating. Tough, defending Perl against this Python snob should get you riled up enough to burn up a few of those T-day calories. So help me out here. Any other good arguments for this in house discussion? The fellow I got into this with is an Assistant Professor in the Medical Informatics program. I'd like him to get over his dislike for Perl. What occurs to me to say is that if you can't understand someone else's perl code, they either didn't intend you to, or they were too short-sighted to write it properly. And what I like about Perl is that I can do anything with it that needs to be done. (I usually have to ask some help from the highly vaunted perl mongers of course.) Tom Begin forwarded message: > From: "Aaron Cohen" > Date: November 28, 2005 10:44:55 AM PST > To: "Tom Keller" > Subject: Re: Genomics at OHSU > > Tom: > Challenges are good when they lead to interesting discussions. > Here's my two cents. > > I can't argue against the fact that Perl is good for one line > string manipulations. However, old-fashioned Unix tools such as sed > do the same thing. > Python isn't geared towards this kind of brevity. The reason that I > like Python is that it makes me more productive, and I have been > able to use it as a single language > to do lots of things, both small and large quickly. > > I think that any Python lover (not just me) would admit that Python > doesn't provide the "least characters" way of doing things. But > they would also consider > that a low priority compared to programmer productivity, debugging > time, ability to understand other's code, etc. The problem with > using brevity as a measure of goodness is that it becomes > irrelevent for programs of any decent size. I like Python because I > have writing all kinds of complex programs (genetic optimizers, > machine learning classifiers, statistical analyzers, video editors, > Sudoku solvers, etc.) and months or years later I can still > understand the programs that I wrote. > My gripe against Perl is that I can't make heads or tails out of > someone else's code without a language manual by my side. Do you > have any experience in taking and adapting someone else's largish > Perl code? Perhaps your experience is different. > > That said, one should always pick an appropriate tool for the job, > and if Perl works for what you're doing, great. I think that you > implied that Perl is your first language, so you may want to look > into another as a comparison. I like Python, but I have heard some > nice things about Ruby. And of course, Java is always a good > language to know something about. > > -Aaron > >>>> Thomas J Keller 11/25/2005 9:30 AM >>> > Hi Aaron, > As you can see, once I'm given a challenge, I don't easily let it go: > > After sending my last message, I realized there was an even shorter > perl method from the command line > $ perl -pe 'y/Z/5/' > ATGACTTGACZTTCGGATCCATG > ATGACTTGAC5TTCGGATCCATG > > > Tom -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051128/aa5f2f6e/attachment.html From dpool at hevanet.com Mon Nov 28 11:40:14 2005 From: dpool at hevanet.com (David Pool) Date: Mon, 28 Nov 2005 11:40:14 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <1133206814.15098.27.camel@localhost.localdomain> (continuing the top post...) Perhaps you should suggest he read "How Perl Saved the Human Genome Project?" http://www.stanford.edu/class/gene211/handouts/How_Perl_HGP.html With main points being: "I think several factors are responsible: 1. Perl is remarkably good for slicing, dicing, twisting, wringing, smoothing, summarizing and otherwise mangling text. Although the biological sciences do involve a good deal of numeric analysis now, most of the primary data is still text: clone names, annotations, comments, bibliographic references. Even DNA sequences are textlike. Interconverting incompatible data formats is a matter of text mangling combined with some creative guesswork. Perl's powerful regular expression matching and string manipulation operators simplify this job in a way that isn't equalled by any other modern language. 2. Perl is forgiving. Biological data is often incomplete, fields can be missing, or a field that is expected to be present once occurs several times (because, for example, an experiment was run in duplicate), or the data was entered by hand and doesn't quite fit the expected format. Perl doesn't particularly mind if a value is empty or contains odd characters. Regular expressions can be written to pick up and correct a variety of common errors in data entry. Of course this flexibility can be also be a curse. I talk more about the problems with Perl below. 3. Perl is component-oriented. Perl encourages people to write their software in small modules, either using Perl library modules or with the classic Unix tool-oriented approach. External programs can easily be incorporated into a Perl script using a pipe, system call or socket. The dynamic loader introduced with Perl5 allows people to extend the Perl language with C routines or to make entire compiled libraries available for the Perl interpreter. An effort is currently under way to gather all the world's collected wisdom about biological data into a set of modules called "bioPerl" (discussed at length in an article to be published later in the Perl Journal). 4. Perl is easy to write and fast to develop in. The interpreter doesn't require you to declare all your function prototypes and data types in advance, new variables spring into existence as needed, calls to undefined functions only cause an error when the function is needed. The debugger works well with Emacs and allows a comfortable interactive style of development. 5. Perl is a good prototyping language. Because Perl is quick and dirty, it often makes sense to prototype new algorithms in Perl before moving them to a fast compiled language. Sometimes it turns out that Perl is fast enough so that of the algorithm doesn't have to be ported; more frequently one can write a small core of the algorithm in C, compile it as a dynamically loaded module or external executable, and leave the rest of the application in Perl (for an example of a complex genome mapping application implemented in this way, see http://waldo.wi.mit.edu/ftp/distribution/software/rhmapper/). 6. Perl is a good language for Web CGI scripting, and is growing in importance as more labs turn to the Web for publishing their data. " David On Mon, 2005-11-28 at 11:02 -0800, Thomas J Keller wrote: > Hi All, > This is probably cheating. Tough, defending Perl against this Python > snob should get you riled up enough to burn up a few of those T-day > calories. So help me out here. Any other good arguments for this in > house discussion? The fellow I got into this with is an Assistant > Professor in the Medical Informatics program. I'd like him to get > over his dislike for Perl. > > > What occurs to me to say is that if you can't understand someone > else's perl code, they either didn't intend you to, or they were too > short-sighted to write it properly. And what I like about Perl is that > I can do anything with it that needs to be done. (I usually have to > ask some help from the highly vaunted perl mongers of course.) > > > Tom > > Begin forwarded message: > > > From: "Aaron Cohen" > > Date: November 28, 2005 10:44:55 AM PST > > To: "Tom Keller" > > Subject: Re: Genomics at OHSU > > > > > > Tom: > > Challenges are good when they lead to interesting discussions. > > Here's my two cents. > > > > > > I can't argue against the fact that Perl is good for one line string > > manipulations. However, old-fashioned Unix tools such as sed do the > > same thing. > > Python isn't geared towards this kind of brevity. The reason that I > > like Python is that it makes me more productive, and I have been > > able to use it as a single language > > to do lots of things, both small and large quickly. > > > > > > I think that any Python lover (not just me) would admit that Python > > doesn't provide the "least characters" way of doing things. But they > > would also consider > > that a low priority compared to programmer productivity, debugging > > time, ability to understand other's code, etc. The problem with > > using brevity as a measure of goodness is that it becomes irrelevent > > for programs of any decent size. I like Python because I have > > writing all kinds of complex programs (genetic optimizers, machine > > learning classifiers, statistical analyzers, video editors, Sudoku > > solvers, etc.) and months or years later I can still understand the > > programs that I wrote. > > My gripe against Perl is that I can't make heads or tails out of > > someone else's code without a language manual by my side. Do you > > have any experience in taking and adapting someone else's largish > > Perl code? Perhaps your experience is different. > > > > > > That said, one should always pick an appropriate tool for the job, > > and if Perl works for what you're doing, great. I think that you > > implied that Perl is your first language, so you may want to look > > into another as a comparison. I like Python, but I have heard some > > nice things about Ruby. And of course, Java is always a good > > language to know something about. > > > > > > -Aaron > > > > > > > > > Thomas J Keller 11/25/2005 9:30 AM >>> > > Hi Aaron, > > As you can see, once I'm given a challenge, I don't easily let it > > go: > > > > > > After sending my last message, I realized there was an even shorter > > > > perl method from the command line > > $ perl -pe 'y/Z/5/' > > ATGACTTGACZTTCGGATCCATG > > ATGACTTGAC5TTCGGATCCATG > > > > > > > > > > Tom > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From scratchcomputing at gmail.com Mon Nov 28 11:45:31 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Mon, 28 Nov 2005 11:45:31 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <200511281145.31246.ewilhelm@cpan.org> # from Thomas J Keller # on Monday 28 November 2005 11:02 am: >> My gripe against Perl is that I can't make heads or tails out of ? >> someone else's code without a language manual by my side. Do you ? >> have any experience in taking and adapting someone else's largish ? >> Perl code? Perhaps your experience is different. Hmm. Is he trying to talk you into writing Python or are you trying to convince him to write Perl? IME, that's not an argument that anyone can win (ok, you can win, but you have to use Inline::Python to do it.) If it's a matter of whether or not you are *allowed* to write Perl, that's a different beast. The arguments against this are typically backed by citing someone else's Perl code. He'll have to prove that your code is incomprehensible to a skilled programmer. I have yet to see Perl code that I don't understand. I've seen lots of poorly-written code, but even if you do have to lookup a thing or two, you shouldn't need a language manual just to follow the logic. Maybe to decipher a line or two, but the advantages of having some mindbending logic compressed into two lines are: (1) that people that don't understand it cannot break it and (2) you don't have to skim-over 50 lines to get to find the logic that you're hunting-down. I can say "I can't make heads or tails of it without a language manual" about Python. I've had to lookup what "pass" does a couple of times (you would think I would remember something so stupid if only because it is so amazingly stupid.) What I mean is that I end up reading 100 lines of code and then realizing "oh! that means 'use constant {method1 => 1, method2 => 2, method3 => 3};'" or something equivalently trivial like map({deal(map({thing($_)} @$_[1..$#$_]))} @stuff). (That might be a bit hairy, but it's only one line and you only have to parse it when you're planning to change it (which is likely never.)) Other points to consider might be the over-compartmentalization that python's batteries suffer from. Sure, they're included, but you have to find them. Examples would be the lack of warn() and die(), as well as a cleverly hidden exit(). IIRC, opening a string as a filehandle is possible, but not with open(). Apparently, ruby suffers from the same sort of problem, only there it leaks all the way down into integers, which leads to beautiful things like num = Time.now.to_i.to_s (e.g. $num = time();). Lack of sigils makes string construction ugly and data structures more opaque. I find it amusing that they are so often cited as Perl's greatest drawback. On the other hand, maybe perl, python, and ruby are all bad ideas. Use Latin. http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html http://search.cpan.org/search?module=Lingua::Romana::Perligata --Eric -- Atavism n: The recurrence of any peculiarity or disease of an ancestor in a subsequent generation, usually due to genetic recombination. --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From jeff at vpservices.com Mon Nov 28 12:30:34 2005 From: jeff at vpservices.com (Jeff Zucker) Date: Mon, 28 Nov 2005 12:30:34 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <438B68EA.4000003@vpservices.com> Thomas J Keller wrote: > Hi All, > This is probably cheating. Tough, defending Perl against this Python > snob should get you riled up enough to burn up a few of those T-day > calories. So help me out here. Any other good arguments for this in > house discussion? Perhaps you could point your in-house folks to my papers in the Journal of Medical Informatics, ACM publications, and other professional journals showing my use of Perl in major projects at Columbia University, the College of Physicians and Surgeons, and Columbia-Presbyterian hospital in the early-mid 90s. We were using Perl for medical curriculum and clinical systems that were all very large projects. And that was all before CPAN was the mega-resource it is now (we started with 4.019) so the possibilities for Perl in large projects is even greater now. I was the coordinator of Internet development and online curriculum at Columbia University's Center for Academic Information Technology and lead developer on all the projects listed below and therefore I know first hand that Perl was the central IT tool in each of them. If it would help for me to talk to some of your colleagues in person about Perl in Medical Informatics, I'd be glad to. Zucker, J., Chase, H., Molholt, P., Soliz, E., Kahn, R. M., Conceptual Modeling Techniques for Online Curriculum Design. 1997 AMIA fall symposium. Zucker, J., Chase, H., Molholt, P., Bean, C., Kahn, R.M., A Comprehensive Strategy for Designing a Web?Based Curriculum. IN Proceedings of the 1996 AMIA Annual Fall Symposium. Hanley & Belfus, Inc., 1996. pp. 41?46. Zucker, J., Kahn, R., and Molholt, P., An Electronic PDR Using Fielded Searches in HTML. IN Proceedings of the Nineteenth Annual Symposium on Computer Applications in Medical Care (SCAMC '95). McGraw?Hill, 1995. p.1012. Kahn R.M., Molholt P. and Zucker J., CPMCnet: An Integrated Information and Internet Resource. IN Proceedings of the Eighteenth Annual Symposium on Computer Applications in Medical Care (SCAMC '94). McGraw?Hill, 1994. pp. 98?102. DuBois K., Zucker J. and Galashaw D., A computer Assisted Psychiatric Nursing Review: Modeling Nursing/Computer Analyst Collarboration. IN Proceedings of the Eighteenth Annual Symposium on Computer Applications in Medical Care (SCAMC '94). McGraw?Hill, 1994. p.1020. Zucker J., Kahn R.M. and Natarajan N., Clinical, Scholarly and Campus Information Hypertext Tools At Columbia?Presbyterian Medical Center. IN Proceedings of the Seventeenth Annual Symposium on Computer Applications in Medical Care (SCAMC '93). McGraw?Hill, 1994. pp. 539?548. Zucker, Jeff, Kahn, Robert M., Natarajan, Narayanan, 'Health Sciences Hypertexts at Columbia-Presbyterian Medical Center,' Proceedings of ACM Hypertext'93 -- Demonstrations, 1993, pp. 15. -- Jeff Zucker From publiustemp-pdxpm at yahoo.com Mon Nov 28 12:59:52 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Mon, 28 Nov 2005 12:59:52 -0800 (PST) Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: Message-ID: <20051128205952.55285.qmail@web60811.mail.yahoo.com> Almost invariably the serious gripes I hear about Perl come from those who know the language well. Perl has some real problems but those who are less familiar with the language have probably heard the "meme" gripes and they're happy to parrot them. The "illegible" gripe really annoys me as we don't hear that leveled much against PHP even though programmers unfamiliar with either language would be hard-pressed to tell them apart. > > My gripe against Perl is that I can't make heads or tails out of > > someone else's code without a language manual by my side. Do you > > have any experience in taking and adapting someone else's largish > > Perl code? Perhaps your experience is different. I find I have problems making heads or tails out of any programming language I'm unfamiliar with but since it's popular to bash Perl, people feel OK to say "I don't get it" and somehow claim this is Perl's fault rather than their own. There are many programmers who have plenty of experience with other languages and yet don't have any problems understanding Perl. That a handful of people who don't know the language well seem to dominate the opinions really says a lot about the power of "truth by repetition". Consider the Chinese language. If you're learning the language and your instructor forgets to tell you about its tonal nature (or you never learned), then you will have a much harder time learning the language. Two words which sound identical to you can have vastly different meanings if the pitch is off. The same goes for Perl (in a manner of speaking): my $data = $line =~ /($some_regex)/; my ($data) = $line =~ /($some_regex)/; It's almost guaranteed you want the second line and for a "native" Perl speaker who's familiar with the notion of "context", it's quite understandable why. To someone who never learned about context in Perl, they may not even see the difference between those two lines. If they don't see it, they'll break it. Of course, we can extend this further by discussing the notion of topics: print foreach @item; You see, Perl's really a big language and it's not a toy. Unfortunately many people who don't know Perl assume it's just like the languages they're familiar with and in many respects this simply isn't true. However, just as a native Mandarin speaker has no problem with the tonal nature of Chinese, someone who knows Perl has no problems with how context and topics work even though they might not even know those two words. Unfortunately, those are two core concepts which are not taught or explained well to many new programmers. People come to Perl thinking that because they know C or Java that Perl will be a snap and they run away screaming "Perl's not C or Java!" Which, of course, it doesn't pretend to be. So to a certain extent I would claim your friend is right. Perl, like Mandarin, *is* incomprehensible if you only learn a little bit and have missed some of the basics. I'm willing to bet that he doesn't know Perl well. Frankly, while I know a little Scheme, I don't know it well and I find the language unreadable despite its lack of syntax. I suspect Schemers would my criticizing Scheme as being unreadable would my find my assertion just as laughable. Further, were I to confuse my inability to understand Scheme with silly assertions about its utility, I would look sillier still. Mind you, there are some issues which can make Perl illegible but the biggest is probably how easy it is to work with the basics. This has attracted a lot of sysadmins, Web developers and others who may have little programming experience. Because Perl's so easy to start with, I've seen more bad beginner code in Perl than I have in most other languages. This, unfortunately, is probably an unsurmountable problem. 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 bryce at osdl.org Mon Nov 28 13:00:20 2005 From: bryce at osdl.org (Bryce Harrington) Date: Mon, 28 Nov 2005 13:00:20 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <20051128210020.GB20089@osdl.org> The thing that makes Perl great is CPAN. With CPAN I can get my job done much faster because it's code I don't have to write, test, and document. Whenever I get into Perl vs. XYZ language discussions, I find CPAN to be the one argument no one can really counter. Bryce On Mon, Nov 28, 2005 at 11:02:26AM -0800, Thomas J Keller wrote: > Hi All, > This is probably cheating. Tough, defending Perl against this Python > snob should get you riled up enough to burn up a few of those T-day > calories. So help me out here. Any other good arguments for this in > house discussion? The fellow I got into this with is an Assistant > Professor in the Medical Informatics program. I'd like him to get > over his dislike for Perl. > > What occurs to me to say is that if you can't understand someone > else's perl code, they either didn't intend you to, or they were too > short-sighted to write it properly. And what I like about Perl is > that I can do anything with it that needs to be done. (I usually have > to ask some help from the highly vaunted perl mongers of course.) > > Tom > > Begin forwarded message: > > >From: "Aaron Cohen" > >Date: November 28, 2005 10:44:55 AM PST > >To: "Tom Keller" > >Subject: Re: Genomics at OHSU > > > >Tom: > >Challenges are good when they lead to interesting discussions. > >Here's my two cents. > > > >I can't argue against the fact that Perl is good for one line > >string manipulations. However, old-fashioned Unix tools such as sed > >do the same thing. > >Python isn't geared towards this kind of brevity. The reason that I > >like Python is that it makes me more productive, and I have been > >able to use it as a single language > >to do lots of things, both small and large quickly. > > > >I think that any Python lover (not just me) would admit that Python > >doesn't provide the "least characters" way of doing things. But > >they would also consider > >that a low priority compared to programmer productivity, debugging > >time, ability to understand other's code, etc. The problem with > >using brevity as a measure of goodness is that it becomes > >irrelevent for programs of any decent size. I like Python because I > >have writing all kinds of complex programs (genetic optimizers, > >machine learning classifiers, statistical analyzers, video editors, > >Sudoku solvers, etc.) and months or years later I can still > >understand the programs that I wrote. > >My gripe against Perl is that I can't make heads or tails out of > >someone else's code without a language manual by my side. Do you > >have any experience in taking and adapting someone else's largish > >Perl code? Perhaps your experience is different. > > > >That said, one should always pick an appropriate tool for the job, > >and if Perl works for what you're doing, great. I think that you > >implied that Perl is your first language, so you may want to look > >into another as a comparison. I like Python, but I have heard some > >nice things about Ruby. And of course, Java is always a good > >language to know something about. > > > >-Aaron > > > >>>>Thomas J Keller 11/25/2005 9:30 AM >>> > >Hi Aaron, > >As you can see, once I'm given a challenge, I don't easily let it go: > > > >After sending my last message, I realized there was an even shorter > >perl method from the command line > >$ perl -pe 'y/Z/5/' > >ATGACTTGACZTTCGGATCCATG > >ATGACTTGAC5TTCGGATCCATG > > > > > >Tom > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From bryce at osdl.org Mon Nov 28 13:14:22 2005 From: bryce at osdl.org (Bryce Harrington) Date: Mon, 28 Nov 2005 13:14:22 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: <20051128205952.55285.qmail@web60811.mail.yahoo.com> References: <20051128205952.55285.qmail@web60811.mail.yahoo.com> Message-ID: <20051128211422.GC20089@osdl.org> On Mon, Nov 28, 2005 at 12:59:52PM -0800, Ovid wrote: > The "illegible" gripe really annoys me as we don't hear that leveled > much against PHP even though programmers unfamiliar with either > language would be hard-pressed to tell them apart. This also annoys me a lot. I've done a fair share of Zope coding and can say with certainty that people who say you can't make unreadable Python code just probably haven't read other people's Python code. ;-) > Because Perl's so easy to start with, I've seen more bad beginner code > in Perl than I have in most other languages. This, unfortunately, is > probably an unsurmountable problem. This has been my experience as well; just about any code from CPAN is very readable and (usually) concise and well documented. The complaints about Perl probably stem from back in the early web period when people were using it mixed up with HTML and poor coding style. But that class of developer appears to have moved on to some of the more web-specific languages. Also, I've seen perl code that is really just a highly advanced sed script, thick with regular expressions. regexp's are one of the greatest parts about Perl, but they _do_ look like line noise... I can see how someone unfamiliar with Perl might run across a string of regexp's and use that to justify an 'unreadable' claim. Maybe some languages get "credit" for readability on this count, only because they make regular expressions so difficult to do that people don't do them. ;-) Bryce From tex at off.org Mon Nov 28 14:24:08 2005 From: tex at off.org (Austin Schutz) Date: Mon, 28 Nov 2005 14:24:08 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <20051128222408.GA7172@gblx.net> On Mon, Nov 28, 2005 at 11:02:26AM -0800, Thomas J Keller wrote: > Hi All, > This is probably cheating. Tough, defending Perl against this Python > snob should get you riled up enough to burn up a few of those T-day > calories. So help me out here. Any other good arguments for this in > house discussion? The fellow I got into this with is an Assistant > Professor in the Medical Informatics program. I'd like him to get > over his dislike for Perl. > > What occurs to me to say is that if you can't understand someone > else's perl code, they either didn't intend you to, or they were too > short-sighted to write it properly. And what I like about Perl is > that I can do anything with it that needs to be done. (I usually have > to ask some help from the highly vaunted perl mongers of course.) > I would disagree with the statement regarding intent. Because Perl is such a powerful and flexible language, it lends itself to the style of programming most comfortable to the programmer. I've seen perl that looked like everything from C to ksh to basic. One very competent Perl programmer I've worked with made liberal use of perl formats, which are pretty bizarre at first glance. if your key criteria are readability and ease of code maintenance, perhaps Python might be better. Looking over the Python core libraries, for example, they appear clean, consistent, readable, and concise. Don't take my word for it, go look for yourself. You don't ever see statements like: return sort map {($_, db_complete($_ . "::", "V ", 2))} grep /^\Q$text/, map { /^(.*)::$/ ? ($1) : ()} keys %:: # top-packages if (substr $line, 0, $start) =~ /^\|*[Vm]\s+$/ and $text =~ /^\w*$/; Python has a generally simple syntax and fewer builtins and globals than Perl, so there's much less rope to hang yourself with. This simplicity has also made it possible to have a stable threads implementation well before Perl, as well as a java based python interpreter. That doesn't mean it's not possible to create simple, maintainable perl code, just that the language doesn't push you into it. There's definitely more of a learning curve to create maintainable code, and more of a learning curve to understanding it. I've seen bad python code to be sure, but it seems more of a rarity and it's still been easier to follow than the equivalent badly written perl. The other side of the coin is that the flexibility, expressiveness, and power of Perl make development faster than in any other language I've yet to work with, and the supporting libraries add much on all three counts. Our team uses it every day, and we support far more applications per developer than other development teams within our company. YMMV. Austin From shlomif at iglu.org.il Mon Nov 28 15:03:08 2005 From: shlomif at iglu.org.il (Shlomi Fish) Date: Tue, 29 Nov 2005 01:03:08 +0200 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <200511290103.09240.shlomif@iglu.org.il> Hi all! On Monday 28 November 2005 21:02, Thomas J Keller wrote: > > My gripe against Perl is that I can't make heads or tails out of > > someone else's code without a language manual by my side. Do you > > have any experience in taking and adapting someone else's largish > > Perl code? Perhaps your experience is different. > > OK. My personal experiences: 1. I personally contributed to and eventually became co-mainter of WWW-Form: http://search.cpan.org/dist/WWW-Form/ I found its source code incredibly easy to understand and had no problem refactoring and extending it, even without any help from the author. There were many comments there, but I often found them distracting. 2. Test::Harness -> Test::Run : http://use.perl.org/~Shlomi Fish/journal/27467 I took Test::Harness, a "largish" Perl module (3,590 Lines of code according to SLOCCount), and heavily revamped it: refactored it, changed its internal APIs, added more objects, etc. I had no problem understanding how to refactor the code, and I think I only referred to the language manual for understanding the perl formats. This module was temporarily named Test::Shlomif::Harness and is now know as Test::Run. You can find its various history here: http://svn.berlios.de/viewcvs/web-cpan/Test-Harness-NG/ I should note that I feel the code I started with was of a relatively low quality, but I was able to improve it. ---------------- One thing I should note is that the core Perl language is quite large, and requires a lot of time to familiarise oneself with it entirely. As a result, inexperienced programmers who read code of more experienced programmers, or of programmers with a different background, may find it difficult to understand the latter's code. But being able to express oneself in Perl in many different ways, often at the same time, is one thing that many Perl programmers like about Perl. If you prefer that the language will limit you in some ways, then you shouldn't use Perl. That put aside, another issue related to understanding what a certain code does is understanding what it's trying to do after understanding what each statement does individually. This is the same problem in any language. I should note that I find reading "real" Scheme code, written by expert programmers, with many macros, etc. much more difficult than reading Perl code. In Scheme and other LISP dialects, one can not always determine what piece of code does by reading it, and often it requires reading a lot of the rest of the code. Reading the "Structure and Interpretation of Computer Programs" Scheme code is easy, but I could not understand the source code of jacal - http://swissnet.ai.mit.edu/~jaffer/JACAL.html Regards, Shlomi Fish --------------------------------------------------------------------- Shlomi Fish shlomif at iglu.org.il Homepage: http://www.shlomifish.org/ 95% of the programmers consider 95% of the code they did not write, in the bottom 5%. From allison at perl.org Mon Nov 28 20:34:06 2005 From: allison at perl.org (Allison Randal) Date: Mon, 28 Nov 2005 23:34:06 -0500 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: <438ADFA702000017004F0B54@ohsu.edu> Message-ID: <31701410-6AED-4806-BCB0-DFBE72F3E54C@perl.org> On Nov 28, 2005, at 14:02, Thomas J Keller wrote: > I'd like him to get over his dislike for Perl. Hand him a copy of Perl Best Practices? Allison From kellert at ohsu.edu Tue Nov 29 10:12:23 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Tue, 29 Nov 2005 10:12:23 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU References: Message-ID: Just to finish this thread. Thanks for all the help with this. Here's my last message to the 'Python snob': Begin forwarded message: > From: Thomas J Keller > Date: November 29, 2005 10:09:56 AM PST > To: Aaron Cohen > Subject: Re: Genomics at OHSU > > Hi Aaron, > First a disclaimer: I'd only started in on this 'cause you called > yourself a "Python snob" which implied Perl lost out in comparison. > I had only meant to give you a little jibe in return. And Python is > undoubtedly an effective language to work in. But my gosh, it must > be a long time since you seriously looked at Perl. Perl is a very > well developed language. It's been used successfully for many, > many, really large and successful projects. As my friend Austin > says "...the flexibility, expressiveness, and power of Perl make > development faster than in any other language I've yet to work > with, and the supporting libraries add much on all three counts. > Our team uses it every day, and we support far more applications > per developer than other development teams within our company." > Austin Schutz . > > And though it is quite different from languages with computer > science roots. (Perl's roots are in linguistics), that's not really > a weakness. One of the more opaque features is that meaning is > context dependent in Perl. So > my $data = $line =~ /($some_regex)/; > my ($data) = $line =~ /($some_regex)/; > > These mean different things. But once you understand list vs scalar > context, it's easy. And also flexible and powerful. > > The big push amongst the people here in Portland [The people who > help me: pdx-pm.org.] is reusability and testing. Objects work well > with those goals. And in fact most of the recent additions to CPAN > (If you haven't looked at cpan lately, you will be amazed at how > many solutions are already there) are object oriented. You should > especially take a look at the BioPerl modules. I know Python has a > BioPython project too, and it may be great, but the BioPerl project > is a fantastic resource. > > As you suggested earlier, there should be a wide variety of tools > available and the best one for the job should be used. > "Best" can be defined in many ways of course, and personal > preference of the person doing the work is an important one. > > As I said, I was only reacting to the "snob" comment at first. But > now, I'd like to suggest that you need someone with perl expertise > in your group. > > That probably sounds pugnacious, but I don't mean it to be. I have > been arguing for a while now that OHSU needs to develop its in- > house computing base: programmers, not just more servers. So I'd > argue we need more Perl, Python, Java, C, C++, etc., programmers > around here and the research community needs a way to get them > involved in their research and informatics needs. I hope this > Genomics Track project helps to accomplish that. > > > Yours truly, > Tom > > > > On Nov 28, 2005, at 1:31 PM, Aaron Cohen wrote: > >> Tom: >> I don't know of any jobs right now. I may have something if my >> grant gets funded. >> >> I have no gripe with Perl for what you are using it for. For small >> programs mine is mostly an aesthetic preference. >> My needs are different, and I needed something that scales to >> large programs well. Did I mention that Python is object oriented? >> I thought that they were enhancing Perl with objects, is that >> available yet. >> I'll take a look at the Stein article. >> >> Thanks, >> -Aaron >> >>>>> Thomas J Keller 11/28/2005 12:54 PM >>> >> Hi Aaron, >> I agree with the "best tool for the job" concept in principle. But >> for people like me, for whom programming and software development is >> not in our primary job description, the "Swiss army knife" of >> languages turns out to be a good choice. My reasoning was that I >> really only had time to learn one language; so it's got to do >> everything I needed. It's funny too about what people consider >> readable; there is a large subjective component. I can generally grok >> a perl program, but I do a lot of borrowing and customizing for my >> own purposes, so I'm used to that. Perl is a great "glue" language. >> So for me, managing a core facility's service lab, the need to >> extract data, change it, and feed it to something else is really >> important; and perl excels at that. This (http://www.stanford.edu/ >> class/gene211/handouts/How_Perl_HGP.html) is an old article by >> Lincoln Stein, but I think his points are still valid. >> >> I did enjoy the linux article too. >> Thanks, >> Tom K. >> >> PS. An old pdx-perlmonger colleague used to work in Bioinformatics >> when he was at Columbia. He passed these to me and I pass them on in >> case you're interested. Do you have any job openings? Jeff would be a >> good choice. >> >> Zucker, J., Chase, H., Molholt, P., Soliz, E., Kahn, R. M., >> Conceptual >> Modeling Techniques for Online Curriculum Design. 1997 AMIA fall >> symposium. >> >> Zucker, J., Chase, H., Molholt, P., Bean, C., Kahn, R.M., A >> Comprehensive Strategy for Designing a Web*Based Curriculum. IN >> Proceedings of the 1996 AMIA Annual Fall Symposium. Hanley & Belfus, >> Inc., 1996. pp. 41*46. >> >> Zucker, J., Kahn, R., and Molholt, P., An Electronic PDR Using >> Fielded >> Searches in HTML. IN Proceedings of the Nineteenth Annual >> Symposium on >> Computer Applications in Medical Care (SCAMC '95). McGraw*Hill, 1995. >> p.1012. >> >> Kahn R.M., Molholt P. and Zucker J., CPMCnet: An Integrated >> Information >> and Internet Resource. IN Proceedings of the Eighteenth Annual >> Symposium >> on Computer Applications in Medical Care (SCAMC '94). McGraw*Hill, >> 1994. >> pp. 98*102. >> >> DuBois K., Zucker J. and Galashaw D., A computer Assisted Psychiatric >> Nursing Review: Modeling Nursing/Computer Analyst Collarboration. IN >> Proceedings of the Eighteenth Annual Symposium on Computer >> Applications >> in Medical Care (SCAMC '94). McGraw*Hill, 1994. p.1020. >> >> Zucker J., Kahn R.M. and Natarajan N., Clinical, Scholarly and Campus >> Information Hypertext Tools At Columbia*Presbyterian Medical Center. >> IN >> Proceedings of the Seventeenth Annual Symposium on Computer >> Applications >> in Medical Care (SCAMC '93). McGraw*Hill, 1994. pp. 539*548. >> >> Zucker, Jeff, Kahn, Robert M., Natarajan, Narayanan, 'Health Sciences >> Hypertexts at Columbia-Presbyterian Medical Center,' Proceedings >> of ACM >> Hypertext'93 -- Demonstrations, 1993, pp. 15. >> >> >> >> >> >> I guess we should all work in the language we are most productive in. >> I am thinking about branching out a bit into "Ruby on Rails". >> >> On Nov 28, 2005, at 10:44 AM, Aaron Cohen wrote: >> >>> Tom: >>> Challenges are good when they lead to interesting discussions. >>> Here's my two cents. >>> >>> I can't argue against the fact that Perl is good for one line >>> string manipulations. However, old-fashioned Unix tools such as sed >>> do the same thing. >>> Python isn't geared towards this kind of brevity. The reason that I >>> like Python is that it makes me more productive, and I have been >>> able to use it as a single language >>> to do lots of things, both small and large quickly. >>> >>> I think that any Python lover (not just me) would admit that Python >>> doesn't provide the "least characters" way of doing things. But >>> they would also consider >>> that a low priority compared to programmer productivity, debugging >>> time, ability to understand other's code, etc. The problem with >>> using brevity as a measure of goodness is that it becomes >>> irrelevent for programs of any decent size. I like Python because I >>> have writing all kinds of complex programs (genetic optimizers, >>> machine learning classifiers, statistical analyzers, video editors, >>> Sudoku solvers, etc.) and months or years later I can still >>> understand the programs that I wrote. >>> My gripe against Perl is that I can't make heads or tails out of >>> someone else's code without a language manual by my side. Do you >>> have any experience in taking and adapting someone else's largish >>> Perl code? Perhaps your experience is different. >>> >>> That said, one should always pick an appropriate tool for the job, >>> and if Perl works for what you're doing, great. I think that you >>> implied that Perl is your first language, so you may want to look >>> into another as a comparison. I like Python, but I have heard some >>> nice things about Ruby. And of course, Java is always a good >>> language to know something about. >>> >>> -Aaron >>> >>>>>> Thomas J Keller 11/25/2005 9:30 AM >>> >>> Hi Aaron, >>> As you can see, once I'm given a challenge, I don't easily let it >>> go: >>> >>> After sending my last message, I realized there was an even shorter >>> perl method from the command line >>> $ perl -pe 'y/Z/5/' >>> ATGACTTGACZTTCGGATCCATG >>> ATGACTTGAC5TTCGGATCCATG >>> >>> >>> Tom >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051129/55df9b1e/attachment-0001.html From marvin at rectangular.com Tue Nov 29 11:21:27 2005 From: marvin at rectangular.com (Marvin Humphrey) Date: Tue, 29 Nov 2005 11:21:27 -0800 Subject: [Pdx-pm] Fwd: Genomics at OHSU In-Reply-To: References: Message-ID: <98EE348D-080D-47D4-B037-9ED17032EE29@rectangular.com> On Nov 29, 2005, at 10:12 AM, Thomas J Keller quoted someone who doesn't know very much: >>> I thought that they were enhancing Perl with objects, is that >>> available yet. Yikes! Ignorance breeds holy war. Marvin Humphrey Rectangular Research http://www.rectangular.com/ From ben.hengst at gmail.com Tue Nov 29 15:19:54 2005 From: ben.hengst at gmail.com (benh) Date: Tue, 29 Nov 2005 15:19:54 -0800 Subject: [Pdx-pm] Due to the recent non-perl vs perl thread I figured I would start one about CPAN. Message-ID: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> First I have to state that I love CPAN. Its what makes perl useful everywhere. Though it's not without is's issues. For me though the largest issue is when running in a shared server enviroment. With PHP just about everything I would use on a normal day is included by default (well GD i guess would be the exception on some older boxes..) and if I need I can install PEAR with out the need to worry about having admin access or more imporantly access to gcc. Though with CPAN there are a few root libs that you need (I keep running in to needing libxml forexample). So does any one have a good solution in dealing with such cases? I cant expect that every hosting service would have every module installed by default, I can try to make a local install for most modules but if there are libs that you need your still out. Am I just barking up the wrong tree? benh~ From andrew.clapp at gmail.com Tue Nov 29 15:45:26 2005 From: andrew.clapp at gmail.com (Andrew Clapp) Date: Tue, 29 Nov 2005 15:45:26 -0800 Subject: [Pdx-pm] Due to the recent non-perl vs perl thread I figured I would start one about CPAN. In-Reply-To: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> References: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> Message-ID: I think this is a valid concern. What can we do that would allow more hosting services to have more core functionality for CGI type things? I have recently used Imager-0.45, (imager.perl.org), and it's dependencies are not huge for the ability to make images on the fly. But I can imagine that some admins might get annoyed by the conflicts between freetype and freetype2, libgif and libungif, etc. -ASC On 11/29/05, benh wrote: > > First I have to state that I love CPAN. Its what makes perl useful > everywhere. Though it's not without is's issues. For me though the > largest issue is when running in a shared server enviroment. With PHP > just about everything I would use on a normal day is included by > default (well GD i guess would be the exception on some older boxes..) > and if I need I can install PEAR with out the need to worry about > having admin access or more imporantly access to gcc. Though with CPAN > there are a few root libs that you need (I keep running in to needing > libxml forexample). > > So does any one have a good solution in dealing with such cases? I > cant expect that every hosting service would have every module > installed by default, I can try to make a local install for most > modules but if there are libs that you need your still out. Am I just > barking up the wrong tree? > > benh~ > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- "Yes, could I please have half an order of magnitude and a side of PI?" -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051129/7329ec08/attachment.html From leffjesh at gmail.com Tue Nov 29 16:03:37 2005 From: leffjesh at gmail.com (Dundas Townsend) Date: Tue, 29 Nov 2005 16:03:37 -0800 Subject: [Pdx-pm] Due to the recent non-perl vs perl thread I figured I would start one about CPAN. In-Reply-To: References: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> Message-ID: Can't you just do the configure, make and make test on the module, but not make install. Then copy the directory that the make created to a perllib folder in your home directory. Then just add a use lib "/home/user/perllib"; line and you can start using you modules. I did this recently after waiting for way to long for dreamhost to do it for me and it worked. -Jeff On 11/29/05, Andrew Clapp wrote: > > I think this is a valid concern. What can we do that would allow more > hosting services to have more core functionality for CGI type things? I > have recently used Imager-0.45, (imager.perl.org), and it's dependencies > are not huge for the ability to make images on the fly. But I can imagine > that some admins might get annoyed by the conflicts between freetype and > freetype2, libgif and libungif, etc. > > -ASC > > On 11/29/05, benh wrote: > > > > First I have to state that I love CPAN. Its what makes perl useful > > everywhere. Though it's not without is's issues. For me though the > > largest issue is when running in a shared server enviroment. With PHP > > just about everything I would use on a normal day is included by > > default (well GD i guess would be the exception on some older boxes..) > > and if I need I can install PEAR with out the need to worry about > > having admin access or more imporantly access to gcc. Though with CPAN > > there are a few root libs that you need (I keep running in to needing > > libxml forexample). > > > > So does any one have a good solution in dealing with such cases? I > > cant expect that every hosting service would have every module > > installed by default, I can try to make a local install for most > > modules but if there are libs that you need your still out. Am I just > > barking up the wrong tree? > > > > benh~ > > _______________________________________________ > > Pdx-pm-list mailing list > > Pdx-pm-list at pm.org > > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > > > > -- > "Yes, could I please have half an order of magnitude and a side of PI?" > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051130/101279b2/attachment.html From bryce at osdl.org Tue Nov 29 16:04:57 2005 From: bryce at osdl.org (Bryce Harrington) Date: Tue, 29 Nov 2005 16:04:57 -0800 Subject: [Pdx-pm] Due to the recent non-perl vs perl thread I figured I would start one about CPAN. In-Reply-To: References: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> Message-ID: <20051130000457.GE23680@osdl.org> On Tue, Nov 29, 2005 at 03:45:26PM -0800, Andrew Clapp wrote: > I think this is a valid concern. What can we do that would allow more > hosting services to have more core functionality for CGI type things? I > have recently used Imager-0.45, (imager.perl.org), and it's dependencies are > not huge for the ability to make images on the fly. But I can imagine that > some admins might get annoyed by the conflicts between freetype and > freetype2, libgif and libungif, etc. I've installed individual modules into userspace, by specifying the prefix to Makefile.PL. Has anyone done that successfully with cpan? I seem to recall trying to customize a Makefile.PL input for a cpan install once, but one of the modules choked on it badly. It would be extremely cool if one could do something like... cpan -i Foo::Bar -P /home/mydir and have everything "just work". Also, when running modules this way, I've found it really cumbersome to specify the Perl library location to individual scripts. I know there's like 5 different ways to specify additional library paths, but I'm curious what the Best Practices are in this case. Bryce From andrew.clapp at gmail.com Tue Nov 29 16:12:14 2005 From: andrew.clapp at gmail.com (Andrew Clapp) Date: Tue, 29 Nov 2005 16:12:14 -0800 Subject: [Pdx-pm] Due to the recent non-perl vs perl thread I figured I would start one about CPAN. In-Reply-To: References: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> Message-ID: I guess I would like to know if it's possible/ethical/feasable to make images with perl, without using an image creation library like libpng that must be built and installed by the sysadmin. I don't know how it works with other languages (java), but they seem to make cool interactive, image driven apps. I want to do that with CGI too. Currently, I must make all my images on the fly (Imager, libpng, freetype, blah, blah) and build imagemaps to make them clickably functional. I can't imagine trying to get some hosting service droid to get all that working correctly for me (IE, if I did not have access to my own server), but maybe they are doing ok with that these days. Is there a better way? What's the latest along these lines with perl? -ASC On 11/29/05, Dundas Townsend wrote: > > > Can't you just do the configure, make and make test on the module, but not > make install. Then copy the directory that the make created to > a perllib folder in your home directory. Then just add a use lib > "/home/user/perllib"; line and you can start using you modules. I did this > recently after waiting for way to long for dreamhost to do it for me and it > worked. > > -Jeff > > > On 11/29/05, Andrew Clapp wrote: > > > I think this is a valid concern. What can we do that would allow more > > hosting services to have more core functionality for CGI type things? I > > have recently used Imager-0.45, (imager.perl.org), and it's dependencies > > are not huge for the ability to make images on the fly. But I can imagine > > that some admins might get annoyed by the conflicts between freetype and > > freetype2, libgif and libungif, etc. > > > > -ASC > > > > On 11/29/05, benh wrote: > > > > > > First I have to state that I love CPAN. Its what makes perl useful > > > everywhere. Though it's not without is's issues. For me though the > > > largest issue is when running in a shared server enviroment. With PHP > > > just about everything I would use on a normal day is included by > > > default (well GD i guess would be the exception on some older boxes..) > > > and if I need I can install PEAR with out the need to worry about > > > having admin access or more imporantly access to gcc. Though with CPAN > > > there are a few root libs that you need (I keep running in to needing > > > libxml forexample). > > > > > > So does any one have a good solution in dealing with such cases? I > > > cant expect that every hosting service would have every module > > > installed by default, I can try to make a local install for most > > > modules but if there are libs that you need your still out. Am I just > > > barking up the wrong tree? > > > > > > benh~ > > > _______________________________________________ > > > Pdx-pm-list mailing list > > > Pdx-pm-list at pm.org > > > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > > > > > > > > > -- > > "Yes, could I please have half an order of magnitude and a side of PI?" > > > > _______________________________________________ > > Pdx-pm-list mailing list > > Pdx-pm-list at pm.org > > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > > > > -- "Yes, could I please have half an order of magnitude and a side of PI?" -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051130/3296ac56/attachment-0001.html From bryce at osdl.org Tue Nov 29 16:46:22 2005 From: bryce at osdl.org (Bryce Harrington) Date: Tue, 29 Nov 2005 16:46:22 -0800 Subject: [Pdx-pm] SVG Images with Perl (was Re: ... about CPAN.) In-Reply-To: References: <85ddf48b0511291519s97162a4wcf06c39cc2f30b23@mail.gmail.com> Message-ID: <20051130004622.GF23680@osdl.org> On Tue, Nov 29, 2005 at 04:12:14PM -0800, Andrew Clapp wrote: > I guess I would like to know if it's possible/ethical/feasable to make > images with perl, without using an image creation library like libpng that > must be built and installed by the sysadmin. I don't know how it works with > other languages (java), but they seem to make cool interactive, image driven > apps. I want to do that with CGI too. Currently, I must make all my images > on the fly (Imager, libpng, freetype, blah, blah) and build imagemaps to > make them clickably functional. I can't imagine trying to get some hosting > service droid to get all that working correctly for me (IE, if I did not > have access to my own server), but maybe they are doing ok with that these > days. > > Is there a better way? What's the latest along these lines with perl? The past few days I've been playing around with Firefox 1.5's new SVG capabilities. It won't solve your problem but it's __really cool__. Here's a mockup for a Perl-based game I'm working on (only works in Firefox 1.5): http://bryceharrington.org/mint.xhtml The entire layout is done in Inkscape. I just took the SVG, stripped off the header, and pasted it into a .xhtml file, loaded it in Mozilla, and bam, it looks great. Even though it's pretty extremely browser dependent at this point, I am really loving how easy it is to do fairly sophisticated layouts. I had to tweak a few things with the font sizes (still not perfect), but otherwise am impressed with how close it is to how it looked in Inkscape. Plus, SVG (unlike Flash) is an open standard with support from lots of other libs and tools, so I expect to see it grow quickly and get supported under more browsers. SVG is already partly supported by Konqueror, IE, and Opera, although there's discrepancies between them currently; I figure within a year or so those will be worked out. I love with this approach that I can completely forget about image maps, png rendering, and so on. Hyperlinks are as simple as just putting in something like this: The links conform to whatever the outline is. Check the corners of the Attack button in my screen mockup - the clickability extends exactly to the boundary of that shape and no further. Also, you can embed javascript in SVG. I've got a mouseover experiment going with the button in the top right corner, as an example. Some limited animation is also possible, though I haven't played with that yet. Where this'll tie into Perl... My plan is to hook this up to DBI, CGI::Fast and Template::Toolkit to make the interface DB driven. TT is able to templatify any XML language, so why not SVG? 8-) Bryce P.S., Oh and for the record, this game is going to be done as an open source project, so if anyone else wants to play around with this stuff too, just drop me a line. From kellert at ohsu.edu Wed Nov 30 11:00:44 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Wed, 30 Nov 2005 11:00:44 -0800 Subject: [Pdx-pm] silly kwiki question Message-ID: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> Hi, sorry for the non-perl stuff. I've installed Kwiki.pm and like it a lot. But I'd like to use ordered lists, and I don't get how to get the automatic numbering to work. Does anyone know off the top of their head how to do that? I've looked at the formatting help page, but it doesn't work as advertised. And the Sandbox has a very cool formatting widget set. Is their a formatting plugin module? Thanks, Tom From krisb at ring.org Wed Nov 30 11:02:43 2005 From: krisb at ring.org (Kris Bosland) Date: Wed, 30 Nov 2005 11:02:43 -0800 (PST) Subject: [Pdx-pm] silly kwiki question In-Reply-To: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> Message-ID: On Wed, 30 Nov 2005, Thomas J Keller wrote: > Hi, sorry for the non-perl stuff. > I've installed Kwiki.pm and like it a lot. But I'd like to use > ordered lists, and I don't get how to get the automatic numbering to > work. Does anyone know off the top of their head how to do that? I've Hi Tom, pre- and post-formatted examples would help. I tried this on a Kwiki I have access to (This is CGI::Kwiki Version 0.18): 0 test 00 tester 00 testy 000 test 0 test gives 1. test 1. tester 2. testy 1. test 2. test Thanks. -Kris From randall at sonofhans.net Wed Nov 30 11:12:02 2005 From: randall at sonofhans.net (Randall Hansen) Date: Wed, 30 Nov 2005 11:12:02 -0800 Subject: [Pdx-pm] silly kwiki question In-Reply-To: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> Message-ID: <9828DEBB-0CE0-4E85-A36D-2DAE0D9AD4D1@sonofhans.net> On Nov 30, 2005, at 11:00 AM, Thomas J Keller wrote: > I've installed Kwiki.pm and like it a lot. But I'd like to use > ordered lists, and I don't get how to get the automatic numbering to > work. it used to be that you could start the first item of a list with a 0, then use bullets for the rest, and it would all be ordered. no more: they all have to be zeros. in Kwiki .38: 0 one 00 one 00 two 000 one 000 two 00 three 0 two 1. one 1. one 2. two 1. one 2. two 3. three 2. two r From mikeraz at patch.com Wed Nov 30 11:07:31 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Wed, 30 Nov 2005 11:07:31 -0800 (PST) Subject: [Pdx-pm] silly kwiki question In-Reply-To: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> Message-ID: <31028.170.135.241.46.1133377651.squirrel@mail.patch.com> Thomas J Keller wrote: > Hi, sorry for the non-perl stuff. > I've installed Kwiki.pm and like it a lot. But I'd like to use > ordered lists, and I don't get how to get the automatic numbering to > work. Does anyone know off the top of their head how to do that? http://portland.pm.org/kwiki/index.cgi?SandBox -- Michael Rasmussen, Portland, Ore, USA Be Appropriate && Follow Your Curiosity http://www.patch.com/words/ From randall at sonofhans.net Wed Nov 30 11:20:32 2005 From: randall at sonofhans.net (Randall Hansen) Date: Wed, 30 Nov 2005 11:20:32 -0800 Subject: [Pdx-pm] silly kwiki question In-Reply-To: <31028.170.135.241.46.1133377651.squirrel@mail.patch.com> References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> <31028.170.135.241.46.1133377651.squirrel@mail.patch.com> Message-ID: <45594B55-9E51-4239-A7A4-F459EF5EE05C@sonofhans.net> On Nov 30, 2005, at 11:07 AM, Michael Rasmussen wrote: > http://portland.pm.org/kwiki/index.cgi?SandBox keep in mind that our kwiki is version .18 -- ancient, IOW. most of the formatting of > .3x kwiki is better (you can have links inside headings, for instance), but it is a little different. r From mikeraz at patch.com Wed Nov 30 11:23:36 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Wed, 30 Nov 2005 11:23:36 -0800 (PST) Subject: [Pdx-pm] silly kwiki question In-Reply-To: <45594B55-9E51-4239-A7A4-F459EF5EE05C@sonofhans.net> References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> <31028.170.135.241.46.1133377651.squirrel@mail.patch.com> <45594B55-9E51-4239-A7A4-F459EF5EE05C@sonofhans.net> Message-ID: <31586.170.135.241.46.1133378616.squirrel@mail.patch.com> Randall Hansen wrote: > On Nov 30, 2005, at 11:07 AM, Michael Rasmussen wrote: > >> http://portland.pm.org/kwiki/index.cgi?SandBox > > keep in mind that our kwiki is version .18 -- ancient, IOW. The hitting of the send key was kwiker than the brain. I'd just gone to the site and created that page in order to be sure, absolutly sure, that I knew how to answer Tom's question. Then I typed in the link and pressed send without adding the explanation. As this is the second email I've received reminding me of the kwiki version I'll post my explanation now: Tom, See the above link for a working example and a couple of non-working examples that work in other wikis. -- Michael Rasmussen, Portland, Ore, USA Be Appropriate && Follow Your Curiosity http://www.patch.com/words/ From randall at sonofhans.net Wed Nov 30 11:55:33 2005 From: randall at sonofhans.net (Randall Hansen) Date: Wed, 30 Nov 2005 11:55:33 -0800 Subject: [Pdx-pm] silly kwiki question In-Reply-To: <31586.170.135.241.46.1133378616.squirrel@mail.patch.com> References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> <31028.170.135.241.46.1133377651.squirrel@mail.patch.com> <45594B55-9E51-4239-A7A4-F459EF5EE05C@sonofhans.net> <31586.170.135.241.46.1133378616.squirrel@mail.patch.com> Message-ID: <28725E28-E660-4596-A63D-BD4235668ED1@sonofhans.net> On Nov 30, 2005, at 11:23 AM, Michael Rasmussen wrote: > As this is the second email I've received reminding me of the kwiki > version I'll post my explanation now i as reminding the group, not you specifically. and it's my bad anyway. it's christian brink's (anyone remember him? :) server, but i run that portion of it. updating kwiki is on my list ... r From kellert at ohsu.edu Wed Nov 30 11:55:29 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Wed, 30 Nov 2005 11:55:29 -0800 Subject: [Pdx-pm] silly kwiki question In-Reply-To: <9828DEBB-0CE0-4E85-A36D-2DAE0D9AD4D1@sonofhans.net> References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> <9828DEBB-0CE0-4E85-A36D-2DAE0D9AD4D1@sonofhans.net> Message-ID: With Kwiki 0.38 things seem to have changed. 0 one 0 two ** sub two ** sub two too 0 three ? gives: one two sub two sub two too three ? On Nov 30, 2005, at 11:12 AM, Randall Hansen wrote: > On Nov 30, 2005, at 11:00 AM, Thomas J Keller wrote: > >> I've installed Kwiki.pm and like it a lot. But I'd like to use >> ordered lists, and I don't get how to get the automatic numbering to >> work. > > it used to be that you could start the first item of a list with a 0, > then use bullets for the rest, and it would all be ordered. no > more: they all have to be zeros. in Kwiki .38: > > 0 one > 00 one > 00 two > 000 one > 000 two > 00 three > 0 two > > 1. one > 1. one > 2. two > 1. one > 2. two > 3. three > 2. two > > r > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/pdx-pm-list/attachments/20051130/c2b9f09e/attachment-0001.html From keithl at kl-ic.com Wed Nov 30 13:11:38 2005 From: keithl at kl-ic.com (Keith Lofstrom) Date: Wed, 30 Nov 2005 13:11:38 -0800 Subject: [Pdx-pm] Newbie question about data structures and stacks and recursion Message-ID: <20051130211138.GA16711@gate.kl-ic.com> I am not looking for a solution on the list, just a pointer to the right documentation with examples. I realize that if I copy references in an array or hash, I get a reference to data, not a separate copy of the data. I want to build a recursive subroutine for exploring a branching decision tree, and I would like to glom together a bunch of scalars, arrays, and hashes into a data structure of some kind and push them onto a stack at the beginning of a routine, and pop them off after. I can probably cobble up something cheesy, but I would prefer to pull the right thing off CPAN or use the proper 5 line technique. The data are about 600 elements, the stack might go 10 deep, and I won't be doing it very often, if that helps scale the problem. Keith -- Keith Lofstrom keithl at 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 scratchcomputing at gmail.com Wed Nov 30 13:32:51 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Wed, 30 Nov 2005 13:32:51 -0800 Subject: [Pdx-pm] Newbie question about data structures and stacks and recursion In-Reply-To: <20051130211138.GA16711@gate.kl-ic.com> References: <20051130211138.GA16711@gate.kl-ic.com> Message-ID: <200511301332.51259.ewilhelm@cpan.org> # from Keith Lofstrom # on Wednesday 30 November 2005 01:11 pm: >I want to build a recursive subroutine for exploring a branching >decision tree, and I would like to glom together a bunch of scalars, >arrays, and hashes into a data structure of some kind and push them >onto a stack at the beginning of a routine, and pop them off after. I've never seen a really good way to abstract this out into a reusable form, so I always end up rewriting the recursion stuff around whatever algorithm. Unfortunately, HOP is not available online yet. http://hop.perl.plover.com/chap01.html In any case, if you're reusing recursion code, you'll have to give it a callback for each node on the tree (ala File::Find IIRC.) Do any of these work that way? http://search.cpan.org/modlist/Data_and_Data_Types/Tree Or maybe something instructive in Data::Dumper (if there's a pure perl version in there anywhere.) And I would have hoped that this at least had some kind of callback in it. http://search.cpan.org/~jnolan/Data-Walker-1.05/Data/Walker.pm So, which module has the the walk($data, {callback => sub {...}, array_callback => sub {...}, ... }) routine? --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 randall at sonofhans.net Wed Nov 30 13:34:27 2005 From: randall at sonofhans.net (Randall Hansen) Date: Wed, 30 Nov 2005 13:34:27 -0800 Subject: [Pdx-pm] silly kwiki question In-Reply-To: References: <0B03C130-6A2E-4875-80CD-4A4CF272C286@ohsu.edu> <9828DEBB-0CE0-4E85-A36D-2DAE0D9AD4D1@sonofhans.net> Message-ID: <8A5B2331-D2E6-4CB8-9EFB-D031FF50C7FC@sonofhans.net> On Nov 30, 2005, at 11:55 AM, Thomas J Keller wrote: > With Kwiki 0.38 things seem to have changed. > 0 one > 0 two > ** sub two > ** sub two too > 0 three ? > > gives: > one > two > sub two > sub two too > three ? yes, you can no longer nest different types of lists. pity. i'm sure this is something that could be hacked in. much of Kwiki and its dependencies is very dense, abstract, and idiomatic code. the actual formatting bits are pretty transparent, though. r From kellert at ohsu.edu Wed Nov 30 13:38:27 2005 From: kellert at ohsu.edu (Thomas J Keller) Date: Wed, 30 Nov 2005 13:38:27 -0800 Subject: [Pdx-pm] Newbie question about data structures and stacks and recursion In-Reply-To: <20051130211138.GA16711@gate.kl-ic.com> References: <20051130211138.GA16711@gate.kl-ic.com> Message-ID: <0A7DFB99-230C-4301-A508-2EC36C7D92E1@ohsu.edu> By chance I was looking at Mastering Algorithms with Perl by Orwant et al and he has a section on Heaps: "an interesting variation on a binary tree. They're good for (1) finding and removing the smallest item in a collection amd (2) adding additional elements to the collection" The relevant section is in ch3. The book is available on line via O'Reilly's Safari site. Tom K On Nov 30, 2005, at 1:11 PM, Keith Lofstrom wrote: > > I am not looking for a solution on the list, just a pointer to the > right documentation with examples. > > I realize that if I copy references in an array or hash, I get a > reference to data, not a separate copy of the data. > > I want to build a recursive subroutine for exploring a branching > decision tree, and I would like to glom together a bunch of scalars, > arrays, and hashes into a data structure of some kind and push them > onto a stack at the beginning of a routine, and pop them off after. > I can probably cobble up something cheesy, but I would prefer to > pull the right thing off CPAN or use the proper 5 line technique. > The data are about 600 elements, the stack might go 10 deep, and I > won't be doing it very often, if that helps scale the problem. > > Keith > > -- > Keith Lofstrom keithl at 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 > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From krisb at ring.org Wed Nov 30 13:55:19 2005 From: krisb at ring.org (Kris Bosland) Date: Wed, 30 Nov 2005 13:55:19 -0800 (PST) Subject: [Pdx-pm] Newbie question about data structures and stacks and recursion In-Reply-To: <20051130211138.GA16711@gate.kl-ic.com> Message-ID: On Wed, 30 Nov 2005, Keith Lofstrom wrote: > I realize that if I copy references in an array or hash, I get a > reference to data, not a separate copy of the data. > > I want to build a recursive subroutine for exploring a branching > decision tree, and I would like to glom together a bunch of scalars, > arrays, and hashes into a data structure of some kind and push them > onto a stack at the beginning of a routine, and pop them off after. Keith, do you really need to copy the entire structure? Also, do you plan to have objects in the structure? Randal has a deep_copy subroutine here: http://www.stonehenge.com/merlyn/UnixReview/col30.html -Kris From perl-pm at joshheumann.com Wed Nov 30 14:51:55 2005 From: perl-pm at joshheumann.com (Josh Heumann) Date: Wed, 30 Nov 2005 14:51:55 -0800 Subject: [Pdx-pm] December Meeting Message-ID: <20051130225154.GA19899@joshheumann.com> December Meeting Wednesday, December 14th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave >From the Kwiki: Any Perlish or geekish lecture, rant, speech, poem, droll witticism, or (hopefully) constructive criticism that you can fit into N MINUTES (where N usually equals 5, 8, 10 or 15). Sign up on the kwiki: http://portland.pm.org/kwiki/index.cgi?PortlandPerlMongers J From scratchcomputing at gmail.com Wed Nov 30 15:40:59 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Wed, 30 Nov 2005 15:40:59 -0800 Subject: [Pdx-pm] December Meeting In-Reply-To: <20051130225154.GA19899@joshheumann.com> References: <20051130225154.GA19899@joshheumann.com> Message-ID: <200511301540.59505.ewilhelm@cpan.org> # from Josh Heumann # on Wednesday 30 November 2005 02:51 pm: >Sign up on the kwiki: >http://portland.pm.org/kwiki/index.cgi?PortlandPerlMongers Yeah, wiki isn't a stone tablet, but thought I would ask the list first how much interest there is in hearing or heckling any or all of the following: Perl Test Juggler stupid svk tricks python-style class/instance variable accessors in Perl fun with require()able scripts recent war-stories from the uber-converter symlinked lib/ and bin/ trees reloader - a konqueror (or maybe more generic) refresh daemon --Eric -- "Because understanding simplicity is complicated." --Eric Raymond --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From publiustemp-pdxpm at yahoo.com Wed Nov 30 15:57:47 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 30 Nov 2005 15:57:47 -0800 (PST) Subject: [Pdx-pm] December Meeting In-Reply-To: <20051130225154.GA19899@joshheumann.com> Message-ID: <20051130235747.71846.qmail@web60815.mail.yahoo.com> --- Josh Heumann wrote: > December Meeting > Wednesday, December 14th, 2005 6:30pm at Free Geek, 1741 SE 10th Ave > > >From the Kwiki: > > Any Perlish or geekish lecture, rant, speech, poem, droll witticism, > or > (hopefully) constructive criticism that you can fit into N MINUTES > (where N usually equals 5, 8, 10 or 15). Well, rather than just sign up, like Eric I'll ask if anyone has any interest in hearing about the latest news from the Perl Foundation. We actually get stuff done but we've not been good at blowing our own horn. That is going to change (in fact, it already has, but some of the exciting news is for Andy Lester to crow about. He's our PR person). 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 bryce at osdl.org Wed Nov 30 16:03:02 2005 From: bryce at osdl.org (Bryce Harrington) Date: Wed, 30 Nov 2005 16:03:02 -0800 Subject: [Pdx-pm] December Meeting In-Reply-To: <200511301540.59505.ewilhelm@cpan.org> References: <20051130225154.GA19899@joshheumann.com> <200511301540.59505.ewilhelm@cpan.org> Message-ID: <20051201000301.GA24878@osdl.org> On Wed, Nov 30, 2005 at 03:40:59PM -0800, Eric Wilhelm wrote: > # from Josh Heumann > # on Wednesday 30 November 2005 02:51 pm: > > >Sign up on the kwiki: > >http://portland.pm.org/kwiki/index.cgi?PortlandPerlMongers > > Yeah, wiki isn't a stone tablet, but thought I would ask the list first > how much interest there is in hearing or heckling any or all of the > following: > > Perl Test Juggler > stupid svk tricks > python-style class/instance variable accessors in Perl > fun with require()able scripts > recent war-stories from the uber-converter > symlinked lib/ and bin/ trees > reloader - a konqueror (or maybe more generic) refresh daemon I hadn't planned on attending, but if you talked about uber-converter war stories I'd definitely need to come. ;-) Bryce From mikeraz at patch.com Wed Nov 30 16:02:27 2005 From: mikeraz at patch.com (Michael Rasmussen) Date: Wed, 30 Nov 2005 16:02:27 -0800 Subject: [Pdx-pm] December Meeting In-Reply-To: <200511301540.59505.ewilhelm@cpan.org> References: <20051130225154.GA19899@joshheumann.com> <200511301540.59505.ewilhelm@cpan.org> Message-ID: <20051201000227.GC4472@patch.com> Eric Wilhelm wrote: > Yeah, wiki isn't a stone tablet, but thought I would ask the list first > reloader - a konqueror (or maybe more generic) refresh daemon and Ovid's Foundation News are at the top of my favorites list. -- Michael Rasmussen, Portland Oregon Be appropriate && Follow your curiosity http://www.patch.com/words/ The fortune cookie says: If reporters don't know that truth is plural, they ought to be lawyers. -- Tom Wicker From gabrielle.roth at xo.com Wed Nov 30 16:11:37 2005 From: gabrielle.roth at xo.com (Roth, Gabrielle) Date: Wed, 30 Nov 2005 17:11:37 -0700 Subject: [Pdx-pm] December Meeting Message-ID: Eric Wilhelm wrote: > recent war-stories from the uber-converter War stories! War stories! Ovid wrote: > Well, rather than just sign up, like Eric I'll ask if anyone has any > interest in hearing about the latest news from the Perl > Foundation. Yes please! - gabrielle - "If you're not part of the solution, you're part of the precipitate." From scratchcomputing at gmail.com Wed Nov 30 16:23:37 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Wed, 30 Nov 2005 16:23:37 -0800 Subject: [Pdx-pm] December Meeting In-Reply-To: <20051201001652.78879.qmail@web60815.mail.yahoo.com> References: <20051201001652.78879.qmail@web60815.mail.yahoo.com> Message-ID: <200511301623.37412.ewilhelm@cpan.org> # from Ovid # on Wednesday 30 November 2005 04:16 pm: >>I'll ask if anyone has any >>interest in hearing about the latest news from the Perl Foundation. >Yes. >> And traits, but I won't twist your arm. > >I'd love to chat about traits, but I don't think that I can fit that >into a lightning talk :/ But that's the point! I don't have time for the long version :-) http://portland.pm.org/kwiki/index.cgi?PortlandPerlMongers I've started listing some things here just to get them out of ram. Rather than rattle sabers on the wiki, the list would still be a better spot. --Eric -- "Beware of bugs in the above code; I have only proved it correct, not tried it." --Donald Knuth --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From scratchcomputing at gmail.com Wed Nov 30 16:34:46 2005 From: scratchcomputing at gmail.com (Eric Wilhelm) Date: Wed, 30 Nov 2005 16:34:46 -0800 Subject: [Pdx-pm] December Meeting In-Reply-To: <20051201000301.GA24878@osdl.org> References: <20051130225154.GA19899@joshheumann.com> <200511301540.59505.ewilhelm@cpan.org> <20051201000301.GA24878@osdl.org> Message-ID: <200511301634.46784.ewilhelm@cpan.org> # from Bryce Harrington # on Wednesday 30 November 2005 04:03 pm: >I hadn't planned on attending, but if you talked about uber-converter >war stories I'd definitely need to come. ?;-) As long as you aren't looking forward to gossipy details about contract negotiations and what-not. The "war" has much more to do with fighting the C++ devil-baby binary format than battling historical revisionist misrepresentations of Nietzsche. --Eric -- "It works better if you plug it in!" --Sattinger's Law --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From publiustemp-pdxpm at yahoo.com Wed Nov 30 16:50:14 2005 From: publiustemp-pdxpm at yahoo.com (Ovid) Date: Wed, 30 Nov 2005 16:50:14 -0800 (PST) Subject: [Pdx-pm] December Meeting In-Reply-To: <20051201000227.GC4472@patch.com> Message-ID: <20051201005014.40169.qmail@web60816.mail.yahoo.com> --- Michael Rasmussen wrote: > and Ovid's Foundation News are at the top of my favorites list. OK. I'll do that and a *brief* explanation of why you should consider Class::Trait instead of MI or mixins. 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/