From jeff at vpservices.com Mon Sep 2 17:42:45 2002 From: jeff at vpservices.com (Jeff Zucker) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] RFP for Perl work on existing project References: Message-ID: <3D73E965.80705@vpservices.com> Pat Eyler wrote: > The Nelsonville, Ohio, Public Library has recently announced that they > will be migrating to Koha, a GPL'd library software system > () which is written in Perl. They have decided to > contribute to the ongoing development of Koha and have released an > RFP to solicit bids to work on full MARC support for the 1.4 release, > the RFP is available at > Pat, thanks for passing that along. It's not something I'm interested in but it's great to know there are some forward-thinking institutions willing to take the open source route and to actively support it. -- Jeff From cp at onsitetech.com Wed Sep 4 14:02:22 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup References: <3D73E965.80705@vpservices.com> Message-ID: <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> If you're interested in meeting other Perl programmers in a social setting, check out http://perl.meetup.com/. Two people from Portland have already signed up. Perhaps this is a way for us to troll for new Perl Mongers . . . In other news, we need to push the meeting date back. September 11th was just not a good date for obvious reasons (and for some unobvious reasons I won't go into). We're looking at September 18th for the next meeting. The "meetup" as listed above is for the 19th. Perhaps that's just too much Perl in one go for some folk :) -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From steven_brown at hp.com Wed Sep 4 16:12:55 2002 From: steven_brown at hp.com (BROWN,STEVEN K (HP-Vancouver,ex1)) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup Message-ID: <77261E830267D411BD4D00902740AC250B522DE9@xvan01.vcd.hp.com> Is it really possible to have too much perl? I don't think so. The 18th looks good to me. ========================================= __ ?????????? / /\???? ????????? / /? \?????Steven K Brown ? __???? /_/ /\ \????Firmware Technician ?/_/\? __\ \ \_\ \???18110 SE 34th Street ?\ \ \/ /\\ \ \/ /???Vancouver, WA 98683 ? \ \ \/? \\ \? /????TN: (360) 212-4432 ?? \ \? /\ \\ \ \????steven_brown@hp.com \ \ \ \ \\ \ \?? ???? \ \ \_\/ \ \ \ ????? \ \ \??? \_\/? ?????? \_\/???????? ???????????????????? ? i? n? v? e? n? t ========================================= https://ecardfile.com/id/steven_brown -----Original Message----- From: Curtis Poe [mailto:cp@onsitetech.com] Sent: Wednesday, September 04, 2002 12:02 PM To: pdx-pm-list@mail.pm.org Subject: [Pdx-pm] Perl meetup If you're interested in meeting other Perl programmers in a social setting, check out http://perl.meetup.com/. Two people from Portland have already signed up. Perhaps this is a way for us to troll for new Perl Mongers . . . In other news, we need to push the meeting date back. September 11th was just not a good date for obvious reasons (and for some unobvious reasons I won't go into). We're looking at September 18th for the next meeting. The "meetup" as listed above is for the 19th. Perhaps that's just too much Perl in one go for some folk :) -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! _______________________________________________ Pdx-pm-list mailing list Pdx-pm-list@mail.pm.org http://mail.pm.org/mailman/listinfo/pdx-pm-list From merlyn at stonehenge.com Wed Sep 4 18:14:23 2002 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup In-Reply-To: <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> References: <3D73E965.80705@vpservices.com> <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> Message-ID: <86r8g9cpps.fsf@red.stonehenge.com> >>>>> "Curtis" == Curtis Poe writes: Curtis> If you're interested in meeting other Perl programmers in a Curtis> social setting, check out http://perl.meetup.com/. Two people Curtis> from Portland have already signed up. Perhaps this is a way Curtis> for us to troll for new Perl Mongers . . . Curtis> In other news, we need to push the meeting date back. Curtis> September 11th was just not a good date for obvious reasons Curtis> (and for some unobvious reasons I won't go into). We're Curtis> looking at September 18th for the next meeting. I'm able to be at sep 18, which means I can bring my wireless AP. -- 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 al at shadowed.net Wed Sep 4 18:29:43 2002 From: al at shadowed.net (Allison Randal) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup In-Reply-To: <86r8g9cpps.fsf@red.stonehenge.com> References: <3D73E965.80705@vpservices.com> <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> <86r8g9cpps.fsf@red.stonehenge.com> Message-ID: <20020904232943.GK5608@shadowed.net> On Wed, Sep 04, 2002 at 04:14:23PM -0700, Randal L. Schwartz wrote: > > I'm able to be at sep 18, which means I can bring my wireless AP. Aren't you coming to Munich? Allison From merlyn at stonehenge.com Wed Sep 4 18:51:19 2002 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup In-Reply-To: <20020904232943.GK5608@shadowed.net> References: <3D73E965.80705@vpservices.com> <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> <86r8g9cpps.fsf@red.stonehenge.com> <20020904232943.GK5608@shadowed.net> Message-ID: <86n0qxco08.fsf@red.stonehenge.com> >>>>> "Allison" == Allison Randal writes: Allison> On Wed, Sep 04, 2002 at 04:14:23PM -0700, Randal L. Schwartz wrote: >> >> I'm able to be at sep 18, which means I can bring my wireless AP. Allison> Aren't you coming to Munich? No. With the trouble I'd had getting into Oz, and the lack of suitable "high level government connections" I'd have to get into Germany, I decided it'd be better not to risk it. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! From al at shadowed.net Wed Sep 4 18:56:29 2002 From: al at shadowed.net (Allison Randal) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup In-Reply-To: <86n0qxco08.fsf@red.stonehenge.com> References: <3D73E965.80705@vpservices.com> <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> <86r8g9cpps.fsf@red.stonehenge.com> <20020904232943.GK5608@shadowed.net> <86n0qxco08.fsf@red.stonehenge.com> Message-ID: <20020904235629.GB7028@shadowed.net> On Wed, Sep 04, 2002 at 04:51:19PM -0700, Randal L. Schwartz wrote: > Allison> Aren't you coming to Munich? > > No. With the trouble I'd had getting into Oz, and the lack of > suitable "high level government connections" I'd have to get into > Germany, I decided it'd be better not to risk it. They'll be very disappointed. Oh well, I'll bring you back some lederhosen. ;) Allison From lemming at attbi.com Wed Sep 4 19:41:27 2002 From: lemming at attbi.com (Mark Morgan) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl meetup References: <3D73E965.80705@vpservices.com> <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> <86r8g9cpps.fsf@red.stonehenge.com> <20020904232943.GK5608@shadowed.net> <86n0qxco08.fsf@red.stonehenge.com> <20020904235629.GB7028@shadowed.net> Message-ID: <3D76A837.4020609@attbi.com> Allison Randal wrote: > On Wed, Sep 04, 2002 at 04:51:19PM -0700, Randal L. Schwartz wrote: > >>Allison> Aren't you coming to Munich? >> >>No. With the trouble I'd had getting into Oz, and the lack of >>suitable "high level government connections" I'd have to get into >>Germany, I decided it'd be better not to risk it. > > > They'll be very disappointed. > > Oh well, I'll bring you back some lederhosen. ;) Don't forget the pointy hat with a feather. It really makes the outfit... From c.radley at attbi.com Thu Sep 5 09:39:40 2002 From: c.radley at attbi.com (charles radley) Date: Mon Aug 2 21:34:12 2004 Subject: [Pdx-pm] Perl coverage measurement tools ? References: <3D73E965.80705@vpservices.com> <00a301c25445$9a322790$1a01a8c0@ot.onsitetech.com> <86r8g9cpps.fsf@red.stonehenge.com> <20020904232943.GK5608@shadowed.net> <86n0qxco08.fsf@red.stonehenge.com> <20020904235629.GB7028@shadowed.net> <3D76A837.4020609@attbi.com> Message-ID: <3D776CAC.996B3ED3@attbi.com> Does anyone know of any coverage tools for Perl ? Something like Rational Purecoverage, for example, which can do coverage at statement level for Java and C++, but not for perl. I really like perl, but IMHO its major limitation is that there is no coverage or profiling tool. Except that In an old Camel book it mentions something called "Dprof" / dprofpp / Devel::Dprof I have never tried it. Is that profiler still actively supported ? Is it ready for prime time ? Any opinions / experiences ? ===== I once worked on a portable scripting project where we chose perl rather than java because we happened to have some folks who knew it, and nobody who knew java. The main problem we ran into was that because we lacked a coverage tool, we could not explicitly verify all of the code. We did plenty of testing, but we were never really sure if we had hit every single line of code prior to release. Since java has coverage tools, and perl does not, next time I might choose java because we can measure our coverage. What do you think ? Best regards, Charles R. -------------- next part -------------- A non-text attachment was scrubbed... Name: c.radley.vcf Type: text/x-vcard Size: 498 bytes Desc: Card for charles radley Url : http://mail.pm.org/pipermail/pdx-pm-list/attachments/20020905/a7257c56/c.radley.vcf From chromatic at wgz.org Thu Sep 5 11:26:55 2002 From: chromatic at wgz.org (chromatic) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Perl coverage measurement tools ? In-Reply-To: <3D776CAC.996B3ED3@attbi.com> References: <3D76A837.4020609@attbi.com> <3D776CAC.996B3ED3@attbi.com> Message-ID: <200209050926.55263.chromatic@wgz.org> On Thursday 05 September 2002 07:39, charles radley wrote: > Does anyone know of any coverage tools for Perl ? Something like Rational > Purecoverage, for example, which can do coverage at statement level for > Java and C++, but not for perl. > > I really like perl, but IMHO its major limitation is that there is no > coverage or profiling tool. Except that In an old Camel book it mentions > something called "Dprof" / dprofpp / Devel::Dprof Devel::Coverage, I believe. I've seen some pretty graphs showing statement test coverage for 5.7.2, but it takes just about forever to run. On the other hand, you did mention a Rational tool. You're used to forever. hehe, -- c From rb-pdx-pm at redcat.com Thu Sep 5 12:44:53 2002 From: rb-pdx-pm at redcat.com (Tom Phoenix) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Perl coverage measurement tools ? In-Reply-To: <3D776CAC.996B3ED3@attbi.com> Message-ID: On Thu, 5 Sep 2002, charles radley wrote: > Does anyone know of any coverage tools for Perl ? > I really like perl, but IMHO its major limitation is that there is no > coverage or profiling tool. Actually, there are tools for those things. If they don't do everything you wish they would, though, I hope you're ready to pitch in and help. :-) http://search.cpan.org/author/RJRAY/Devel-Coverage-0.2/Coverage.pm http://search.cpan.org/author/JHI/perl-5.8.0/ext/Devel/DProf/DProf.pm http://archive.develooper.com/perl-qa@perl.org/msg00261.html I'm not being facetious here; it's user contributions which have made perl as powerful as it is. Many features have been added because somebody like you thought it was important enough to start the work. Cheers! --Tom Phoenix From cp at onsitetech.com Thu Sep 5 13:05:42 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Perl application developer needed References: Message-ID: <001901c25506$d9a0e440$1a01a8c0@ot.onsitetech.com> Hi all, If you're looking for work, please read. This is pretty much a verbatim copy of our posting on jobs.perl.org. We are slowly moving to an Extreme Programming (XP) development model and any previous experience is a plus (but not required). We are hoping to hire ASAP. Perl Application Developer Company name: ONSITE! Technology Location: United States, OR, Portland Pay rate: Competitive salary and benefits package Travel: 0% Terms of employment: Salaried employee Hours: Full time Onsite: Yes Description: ONSITE! is looking for a skilled software programmer to design, enhance, and implement applications. The ideal candidate will show that he/she can: 1) Adapt to the rapidly changing technology landscape. The candidate must welcome new challenges and be willing to simultaneously tackle multiple and varying tasks. 2) Communicate ideas in a close, daily team environment. 3) Understand how quality software is designed and constructed. Please Note: We are unable to offer H1B visa sponsorship or relocation assitance. No Telecommuting. If you are from outside of Portland Metro Area - You must note in your email that you understand that this job posting is for an onsite position in Portland, Oregon, USA and you are willing to relocate without reimbursement, for you resume to be considered. Required skills: Previous experience developing Perl and/or Python applications, Understanding and experience with object-oriented design and coding. Understanding of SOAP, and/or XML-RPC. Understanding of relational database concepts and SQL. Knowledge of basic Software Development concepts: development models, testing, documentation, and revision control(CVS). Desired skills: Previous Python development a plus. Previous work developing web services or desktop applications also a plus. URL for more information: http://www.onsitetech.com/ Contact information: Please send resumes in ASCII text or PDF format to jobs@onsitetech.com. Please include any Perl group affiliations (eg. Perl Mongers, perlmonks.org, use.perl.org, ...). Do not include non-programming related group memberships. ONSITE! Technology, Inc. is an aggressive e-business solution provider located in a loft close to downtown Portland, OR. -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From lancem at novell.colubs.com Fri Sep 6 11:57:13 2002 From: lancem at novell.colubs.com (lancem@novell.colubs.com) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Pdx-pm-list digest, Vol 1 #22 - 2 msgs Message-ID: <979BC3150AD@colubs.com> ************************************** * This is a system generated message * ************************************** I will be on vacation until 09-16-2002. I will not be checking voicemail or e-mail. If your issue is urgent, please contact Russ Pachl. ( Russ.Pachl@columbiaultimate.com ) From bprew at logiccloud.com Tue Sep 17 11:49:33 2002 From: bprew at logiccloud.com (Ben Prew) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] sort issues. References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> Message-ID: <003201c25e6a$3e8fa1e0$0500a8c0@front06> Is it possible to translate the number from x.x to something else, such as x_x? This would allow you to key the hash properly although you would have to do a cmp instead of a <=> in your sort function. And, I would think that you could translate from the . notation to the _ notation pretty easily, but as always YMMV. -- Ben Prew http://www.logiccloud.com bprew (at) logiccloud.com ----- Original Message ----- From: "Roth, Gabrielle" To: Sent: Friday, August 30, 2002 10:36 AM Subject: [Pdx-pm] sort issues. > Hi all, > I am having a problem understanding what I need to do to get some hash keys > to sort correctly. > > background: > I have a script that uses snmp to collect information (port names, duplex > settings, etc) about network switches; ultimately this information is > transferred to monitoring and mapping software. Currently I am gathering > this information into several hashes; the keys for the hashes are the > module.port assignment on the switch (eg 1.1, 1.2, etc). > > ---begin code snippet--- > #!/usr/local/bin/perl > #Note: this hash is created when the script is run. > #I hard-coded it in here to simplify the problem (that was my theory, at > least) > %portName = ( > 1.1 => "smith", > 1.3 => "gunks", > 1.4 => "horsethief", > 1.10 => "tahquitz", > 1.12 => "carderock", > 2.1 => "seneca", > 2.2 => "newriva", > 2.14 => "lincoln", > ); > > #from eg http://www.perlfect.com/articles/sorting.shtml > @key_array = sort {$a <=> $b} keys(%portName); > > print ("port\tname\n"); > > foreach $port (@key_array) { > print ("$port\t$portName{$port}\n"); > } > ---end code snippet--- > > Ideally, my final output would look something like this: > port name > 1.1 smith > 1.3 gunks > 1.4 horsethief > 1.10 tahquitz > 1.12 carderock > 2.1 seneca > 2.2 newriva > 2.14 lincoln > > Instead, I get this: > port name > 1.1 tahquitz > 1.12 carderock > 1.3 gunks > 1.4 horsethief > 2.1 seneca > 2.14 lincoln > 2.2 newriva > > I have two problems: > 1. Obviously, the order isn't right. I thought the <=> operator would do a > numerical sort, but apparently that's just for integers? I'm not any better > off than if I just did a regular sort. > 2. One of (1.1|1.10) goes missing; I thought maybe because the <=> > evaluated them as equivalent, but it does this with the "cmp" operator as > well. I tried quoting the keys, but that didn't help either. > > What am I missing? > > -gabrielle > "I don't mind the rat race but I could do with a little more cheese." > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From gcheong at acm.org Tue Sep 17 12:33:38 2002 From: gcheong at acm.org (Greg Cheong) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] sort issues. References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> <003201c25e6a$3e8fa1e0$0500a8c0@front06> Message-ID: <001f01c25e70$60e89ac0$b3bdfea9@isolde> Gabrielle, do you want the keys returned in the order of insertion? In that case try the Tie:IxHash module (see pg.139 sec 5.6 of Perl Cookbook). As for the missing 1.10, its probably being converted to 1.1 and overwriting the original 1.1 key, value pair when you create the hash. Did you try quoting the keys when you create the hash? Cheers, Greg ----- Original Message ----- From: "Ben Prew" To: Sent: Tuesday, September 17, 2002 9:49 AM Subject: Re: [Pdx-pm] sort issues. > Is it possible to translate the number from x.x to something else, such as > x_x? This would allow you to key the hash properly although you would have > to do a cmp instead of a <=> in your sort function. And, I would think that > you could translate from the . notation to the _ notation pretty easily, but > as always YMMV. > > -- > Ben Prew > http://www.logiccloud.com > bprew (at) logiccloud.com > > ----- Original Message ----- > From: "Roth, Gabrielle" > To: > Sent: Friday, August 30, 2002 10:36 AM > Subject: [Pdx-pm] sort issues. > > > > Hi all, > > I am having a problem understanding what I need to do to get some hash > keys > > to sort correctly. > > > > background: > > I have a script that uses snmp to collect information (port names, duplex > > settings, etc) about network switches; ultimately this information is > > transferred to monitoring and mapping software. Currently I am gathering > > this information into several hashes; the keys for the hashes are the > > module.port assignment on the switch (eg 1.1, 1.2, etc). > > > > ---begin code snippet--- > > #!/usr/local/bin/perl > > #Note: this hash is created when the script is run. > > #I hard-coded it in here to simplify the problem (that was my theory, at > > least) > > %portName = ( > > 1.1 => "smith", > > 1.3 => "gunks", > > 1.4 => "horsethief", > > 1.10 => "tahquitz", > > 1.12 => "carderock", > > 2.1 => "seneca", > > 2.2 => "newriva", > > 2.14 => "lincoln", > > ); > > > > #from eg http://www.perlfect.com/articles/sorting.shtml > > @key_array = sort {$a <=> $b} keys(%portName); > > > > print ("port\tname\n"); > > > > foreach $port (@key_array) { > > print ("$port\t$portName{$port}\n"); > > } > > ---end code snippet--- > > > > Ideally, my final output would look something like this: > > port name > > 1.1 smith > > 1.3 gunks > > 1.4 horsethief > > 1.10 tahquitz > > 1.12 carderock > > 2.1 seneca > > 2.2 newriva > > 2.14 lincoln > > > > Instead, I get this: > > port name > > 1.1 tahquitz > > 1.12 carderock > > 1.3 gunks > > 1.4 horsethief > > 2.1 seneca > > 2.14 lincoln > > 2.2 newriva > > > > I have two problems: > > 1. Obviously, the order isn't right. I thought the <=> operator would do > a > > numerical sort, but apparently that's just for integers? I'm not any > better > > off than if I just did a regular sort. > > 2. One of (1.1|1.10) goes missing; I thought maybe because the <=> > > evaluated them as equivalent, but it does this with the "cmp" operator as > > well. I tried quoting the keys, but that didn't help either. > > > > What am I missing? > > > > -gabrielle > > "I don't mind the rat race but I could do with a little more cheese." > > _______________________________________________ > > Pdx-pm-list mailing list > > Pdx-pm-list@mail.pm.org > > http://mail.pm.org/mailman/listinfo/pdx-pm-list > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From cp at onsitetech.com Tue Sep 17 14:50:23 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Tomorrow's meeting References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> <003201c25e6a$3e8fa1e0$0500a8c0@front06> <001f01c25e70$60e89ac0$b3bdfea9@isolde> Message-ID: <001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> Hi all, Regrettably, I have not yet heard back from the gentleman who was to do tomorrow's presentation. At the very least, we can still have our social meeting tomorrow at the Rose and Raindrop (http://nwbrewpage.com/orpubs/RoseRain.html). That starts at 6:00 PM and will be upstairs in the mezzanine. Just ask for the Perl Monger's meeting. The social meeting will last until we're durn good 'n ready to finish, as it looks like there will not be a technical presentation -- barring a surprise last minute email from the presenter. We can also use the time to go ahead chat about general Perl and programming issues, so if anyone has anything in particular that they would like to discuss, just bring along your questions and we'll see who can fumble the answer the fastest. -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From merlyn at stonehenge.com Tue Sep 17 15:15:24 2002 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Tomorrow's meeting In-Reply-To: <001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> <003201c25e6a$3e8fa1e0$0500a8c0@front06> <001f01c25e70$60e89ac0$b3bdfea9@isolde> <001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> Message-ID: <86sn08qso3.fsf@red.stonehenge.com> >>>>> "Curtis" == Curtis Poe writes: Curtis> The social meeting will last until we're durn good 'n ready to Curtis> finish, as it looks like there will not be a technical Curtis> presentation -- barring a surprise last minute email from the Curtis> presenter. As a backup plan, since I'm in town, and was planning on attending, I can hold a general "Perl Workshop Q&A" session. Just put your code for review on a web URL somewhere, or bring it on a CD or FlashMemory {grin}, and I'll take a look at it on the big screen in front of the room. Or if it's not about code, but about methodology, I'll show you what a few well-worded CPAN searches can bring, and maybe even write the code live on the screen so you can watch me at work. :) Any takers for 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 cp at onsitetech.com Tue Sep 17 15:28:04 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Tomorrow's meeting References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net><003201c25e6a$3e8fa1e0$0500a8c0@front06><001f01c25e70$60e89ac0$b3bdfea9@isolde><001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> <86sn08qso3.fsf@red.stonehenge.com> Message-ID: <002301c25e88$ba0072f0$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Randal L. Schwartz" > As a backup plan, since I'm in town, and was planning on attending, I > can hold a general "Perl Workshop Q&A" session. Just put your code > for review on a web URL somewhere, or bring it on a CD or FlashMemory > {grin}, and I'll take a look at it on the big screen in front of the > room. Or if it's not about code, but about methodology, I'll show you > what a few well-worded CPAN searches can bring, and maybe even write > the code live on the screen so you can watch me at work. :) > > Any takers for that? Hmm, I was kind of curious what you might think about the Ovidian Transform (http://www.perlmonks.org/index.pl?node_id=135353). It uses Inline::C to gain a 50% speed increase over that tired old Schwartzian thing ;) Seriously, I'm rather curious what you think about my CSV database validation program (http://www.perlmonks.org/index.pl?node_id=126212). I know a few things that I would likely change, but I'd like to know what someone of your caliber thinks of the code and what I can do better. Also, because things have been a wee bit chaotic here at work, I've had some trouble getting the chairs rented for this month. I'll find out later if we'll get them. We do have the mezzanine at the Rose and Raindrop reserved, so at least something went right. Of course, if we can't get the chairs, we can brag that we have a standing room only crowd :) (other options are welcome -- sorry for the late notice) -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From cp at onsitetech.com Tue Sep 17 15:36:25 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net><003201c25e6a$3e8fa1e0$0500a8c0@front06><001f01c25e70$60e89ac0$b3bdfea9@isolde><001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> <86sn08qso3.fsf@red.stonehenge.com> <002301c25e88$ba0072f0$1a01a8c0@ot.onsitetech.com> Message-ID: <003b01c25e89$e564e380$1a01a8c0@ot.onsitetech.com> Okay, just received confirmation that we will, in fact, have chairs here. Whew! -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From merlyn at stonehenge.com Tue Sep 17 16:34:59 2002 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! In-Reply-To: <003b01c25e89$e564e380$1a01a8c0@ot.onsitetech.com> References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> <003201c25e6a$3e8fa1e0$0500a8c0@front06> <001f01c25e70$60e89ac0$b3bdfea9@isolde> <001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> <86sn08qso3.fsf@red.stonehenge.com> <002301c25e88$ba0072f0$1a01a8c0@ot.onsitetech.com> <003b01c25e89$e564e380$1a01a8c0@ot.onsitetech.com> Message-ID: <86fzw8qozg.fsf@red.stonehenge.com> >>>>> "Curtis" == Curtis Poe writes: Curtis> Okay, just received confirmation that we will, in fact, have Curtis> chairs here. Whew! Darn, I wanted this to be a "SRO" audience too. :-) And now I find out I've got a last-minute out-of-town business trip. {sigh} So I won't be there after all. :( -- 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 mikeraz at PATCH.COM Tue Sep 17 17:04:02 2002 From: mikeraz at PATCH.COM (mikeraz@PATCH.COM) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! In-Reply-To: <86fzw8qozg.fsf@red.stonehenge.com>; from merlyn@stonehenge.com on Tue, Sep 17, 2002 at 02:34:59PM -0700 References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> <003201c25e6a$3e8fa1e0$0500a8c0@front06> <001f01c25e70$60e89ac0$b3bdfea9@isolde> <001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com> <86sn08qso3.fsf@red.stonehenge.com> <002301c25e88$ba0072f0$1a01a8c0@ot.onsitetech.com> <003b01c25e89$e564e380$1a01a8c0@ot.onsitetech.com> <86fzw8qozg.fsf@red.stonehenge.com> Message-ID: <20020917150402.B23152@patch.com> On Tue, Sep 17, 2002 at 02:34:59PM -0700, Randal L. Schwartz typed: > Darn, I wanted this to be a "SRO" audience too. :-) > > And now I find out I've got a last-minute out-of-town business trip. > {sigh} Un huh, sure, just because you can't get SRO... -- Michael Rasmussen aka mikeraz Be appropriate && Follow your curiosity http://www.patch.com/ http://wiki.patch.com/ http://blog.patch.com/sandbox/ The fortune cookie says: In the misfortune of our friends we find something that is not displeasing to us. -- La Rochefoucauld, "Maxims" From chromatic at wgz.org Tue Sep 17 17:46:13 2002 From: chromatic at wgz.org (chromatic) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! In-Reply-To: <20020917150402.B23152@patch.com> References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net> <86fzw8qozg.fsf@red.stonehenge.com> <20020917150402.B23152@patch.com> Message-ID: <200209171546.13974.chromatic@wgz.org> On Tuesday 17 September 2002 15:04, mikeraz@PATCH.COM wrote: > Un huh, sure, just because you can't get SRO... Or because he can't ask chromatic "What's the best way to test this?" or Allison "How's this handled in Perl 6?" KA for the STARS, -- c (the K is for Kwalitee) From cp at onsitetech.com Tue Sep 17 17:55:03 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! References: <45EDA71CFF25D411A2E400508B6FC52A04619068@orportexch1.internal.nextlink.net><003201c25e6a$3e8fa1e0$0500a8c0@front06><001f01c25e70$60e89ac0$b3bdfea9@isolde><001b01c25e83$76d93bb0$1a01a8c0@ot.onsitetech.com><86sn08qso3.fsf@red.stonehenge.com><002301c25e88$ba0072f0$1a01a8c0@ot.onsitetech.com><003b01c25e89$e564e380$1a01a8c0@ot.onsitetech.com> <86fzw8qozg.fsf@red.stonehenge.com> Message-ID: <007d01c25e9d$443f49f0$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Randal L. Schwartz" To: "Curtis Poe" Cc: Sent: Tuesday, September 17, 2002 2:34 PM Subject: Re: [Pdx-pm] We have chairs! > >>>>> "Curtis" == Curtis Poe writes: > > Curtis> Okay, just received confirmation that we will, in fact, have > Curtis> chairs here. Whew! > > Darn, I wanted this to be a "SRO" audience too. :-) > > And now I find out I've got a last-minute out-of-town business trip. > {sigh} > > So I won't be there after all. :( When it rains... Okay, we have the room at the Rose and Raindrop reserved and we have the chairs ordered. With all of the ducks in a row except for the head duck of a "presenter", I'm open for suggestions. I could give a quick "newbie" talk about good coding practices, but I don't have any slides, merely the text of an article that I was working on. I could also attempt a poor imitation of Randal and offer impromptu code reviews, but ya get what ya pay for. I'm also going to post a quick plea for ideas on Perlmonks. -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From cp at onsitetech.com Tue Sep 17 19:29:36 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! References: <007d01c25e9d$443f49f0$1a01a8c0@ot.onsitetech.com> <2493.66.167.49.108.1032307674.squirrel@www.joshheumann.com> Message-ID: <00b101c25eaa$798ab560$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Josh Heumann" To: Cc: Sent: Tuesday, September 17, 2002 5:07 PM Subject: Re: [Pdx-pm] We have chairs! > As a newbie to the list and an aspiring perl programmer, I for one would > like to see an imitation of Randal. Oh, and the talk about be good, too. I'm working like mad to throw together and quick power point presentation on good programming techniques. We'll see how it goes :) -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From mikeraz at PATCH.COM Tue Sep 17 19:57:37 2002 From: mikeraz at PATCH.COM (mikeraz@PATCH.COM) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! In-Reply-To: <00b101c25eaa$798ab560$1a01a8c0@ot.onsitetech.com>; from cp@onsitetech.com on Tue, Sep 17, 2002 at 05:29:36PM -0700 References: <007d01c25e9d$443f49f0$1a01a8c0@ot.onsitetech.com> <2493.66.167.49.108.1032307674.squirrel@www.joshheumann.com> <00b101c25eaa$798ab560$1a01a8c0@ot.onsitetech.com> Message-ID: <20020917175737.A24696@patch.com> On Tue, Sep 17, 2002 at 05:29:36PM -0700, Curtis Poe typed: > I'm working like mad to throw together and quick power point presentation on > good programming techniques. We'll see how it goes :) Power point? HTML!! This is a presentation of interest to those with the nagging feeling we're missing something. -- Michael Rasmussen aka mikeraz Be appropriate && Follow your curiosity http://www.patch.com/ http://wiki.patch.com/ http://blog.patch.com/sandbox/ The fortune cookie says: There is a time in the tides of men, Which, taken at its flood, leads on to success. On the other hand, don't count on it. - T. K. Lawson From cp at onsitetech.com Tue Sep 17 20:30:19 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] We have chairs! References: <007d01c25e9d$443f49f0$1a01a8c0@ot.onsitetech.com> <2493.66.167.49.108.1032307674.squirrel@www.joshheumann.com> <00b101c25eaa$798ab560$1a01a8c0@ot.onsitetech.com> <20020917175737.A24696@patch.com> Message-ID: <000d01c25eb2$f4d514b0$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: > Power point? HTML!! This is a presentation of interest to those with the > nagging feeling we're missing something. Heh. Already finished, converted to HTML, and hidden somewhere on my Web site (though not hidden very well). It's very sloppy, but it gets the point across. Cheers, Curtis "Ovid" Poe :) From jhoblitt at mysun.com Tue Sep 17 21:21:29 2002 From: jhoblitt at mysun.com (josh hoblitt) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Lex'n and Parse'n Message-ID: <3208631ea3.31ea332086@mysun.com> I was wondering if someone would be willing to give me a little off list hand holding? Instead of just using something like Parse::RecDecent I'd like to understand some of theory behind it as well. If your interested I'll email you with what exactly it is I'm up to. Any kind souls? Cheers, -Joshua Hoblitt -- jhoblitt@mysun.com From merlyn at stonehenge.com Tue Sep 17 21:46:38 2002 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Lex'n and Parse'n In-Reply-To: <3208631ea3.31ea332086@mysun.com> References: <3208631ea3.31ea332086@mysun.com> Message-ID: <864rcom2up.fsf@red.stonehenge.com> >>>>> "josh" == josh hoblitt writes: josh> I was wondering if someone would be willing to give me a little off list josh> hand holding? Instead of just using something like Parse::RecDecent I'd josh> like to understand some of theory behind it as well. If your interested josh> I'll email you with what exactly it is I'm up to. The O'Reilly "lex and yacc" book I'm told is quite a good tutorial on the subject. Sorry, I don't have one here (they didn't give me "one of everything" when I signed up, darn) to be able to verify that claim, but perhaps one of your friends has a copy. -- 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 kyle_hayes at speakeasy.net Tue Sep 17 23:15:50 2002 From: kyle_hayes at speakeasy.net (Kyle Hayes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Lex'n and Parse'n In-Reply-To: <864rcom2up.fsf@red.stonehenge.com> References: <3208631ea3.31ea332086@mysun.com> <864rcom2up.fsf@red.stonehenge.com> Message-ID: <200209172115.50455.kyle_hayes@speakeasy.net> On Tuesday 17 September 2002 19:46, Randal L. Schwartz wrote: > >>>>> "josh" == josh hoblitt writes: > > josh> I was wondering if someone would be willing to give me a little > off list > josh> hand holding? Instead of just using something like > Parse::RecDecent I'd > josh> like to understand some of theory behind it > as well. If your interested > josh> I'll email you with what exactly it > is I'm up to. > > The O'Reilly "lex and yacc" book I'm told is quite a good tutorial > on the subject. Sorry, I don't have one here (they didn't give > me "one of everything" when I signed up, darn) to be able to verify > that claim, but perhaps one of your friends has a copy. It's fairly good. Make sure you get a later edition. The earlier ones (only the first?) had a lot of bugs in the code and text. The book is very C oriented. I think that it isn't bad to show you what lex and yacc can do, but it doesn't tell you how to harness the power of Perl in that kind of context. Here's the bibliographic info: "lex & yacc", John R. Levine, Tony Mason, Doug Brown, O'Reilly and Associates, 1995, ISBN1-56592-000-7. My copy is the second edition with the printing history showing minor corrections in 1995 and an original printing in 1992. I think there might be a third edition, but I haven't checked Powell's to see. I very rarely see a used copy, so I suspect that most people feel that it's a "keeper". I'd love to chat about parsing etc. but I don't think I'm too far ahead of you! Best, Kyle From josh at joshheumann.com Tue Sep 17 19:07:54 2002 From: josh at joshheumann.com (=?iso-8859-1?Q?Josh_Heumann?=) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] =?iso-8859-1?Q?Re:_[Pdx-pm]_We_have_chairs!?= In-Reply-To: <007d01c25e9d$443f49f0$1a01a8c0@ot.onsitetech.com> References: <007d01c25e9d$443f49f0$1a01a8c0@ot.onsitetech.com> Message-ID: <2493.66.167.49.108.1032307674.squirrel@www.joshheumann.com> As a newbie to the list and an aspiring perl programmer, I for one would like to see an imitation of Randal. Oh, and the talk about be good, too. > Okay, we have the room at the Rose and Raindrop reserved and we have > the chairs ordered. With all of the ducks in a row except for the head > duck of a "presenter", I'm open for suggestions. I could give a quick > "newbie" talk about good coding practices, but I don't have any slides, > merely the text of an article that I was working on. > > I could also attempt a poor imitation of Randal and offer impromptu > code reviews, but ya get what ya pay for. I'm also going to post a > quick plea for ideas on Perlmonks. > > -- > Cheers, > Curtis Poe > Senior Programmer > ONSITE! Technology, Inc. > www.onsitetech.com > 503-233-1418 > > Taking e-Business and Internet Technology To The Extreme! > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list ________________________________ Geeks and nerds! We took a tour and it was cool: joshheumann.com From jon at manymoons.net Tue Sep 24 17:37:42 2002 From: jon at manymoons.net (Jon Jacob) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Need help with interview skills Message-ID: <1032907063.8943.68.camel@lana.manymoons.net> Its good to be back on the list after being off it for so long. After changing emails, I just neglected to get back on. Hey, I missed you guys :) I know this is a weird request, but I finally have a job interview after months of a dry spell. I am feeling very much out of practice, so I was wondering if there were anybody out there who might want to practice their interviewing skills. I am expecting the interview to be deeply technical with a white board and all. I would really appreciate the assistance, and to increase incentive I would gladly offer a beer to anyway who can see their way clear to helping out ;) From joe at joppegaard.com Tue Sep 24 18:36:54 2002 From: joe at joppegaard.com (Joe Oppegaard) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules Message-ID: Although this question would have been perfect for the presentation done by Curtis last time, I just started thinking about it. It seems like 75% of the software developers out there don't follow The Rules (or know why they are breaking them), at least this would be the assumption to make after reading books like The Pragmatic Programmer, The Practice of Programming, or just hearing people talk about their peers at work. As I've never had a job as a software developer, I don't know how true that assumption is. Is it one of those wonders of society where everyone Knows they are good, yet they also Know most everyone else is sub-par? (ie. driving). ___ Joe Oppegaard http://joppegaard.com GnuPG/PGP Information: Key: 1024D/272159F6 Keyserver: pgp.mit.edu By web: http://joppegaard.com/files/0x272159F6.asc From perl-pm at joshheumann.com Tue Sep 24 18:46:11 2002 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: References: Message-ID: <4139.66.167.52.133.1032911171.squirrel@www.joshheumann.com> > It seems like 75% of the software developers out there don't follow The > Rules (or know why they are breaking them), at least this would be the > assumption to make after reading books like The Pragmatic Programmer, > The Practice of Programming, or just hearing people talk about their > peers at work. I'm reading up on how to apply the Model/View/Controller theory to perl (cgi in particular), but outside of the perl chapter from the o'reilly mysql book, I can't find anything on it. The MVC is a really helpful way to organize things. Is anyone qualified to talk about it? Josh __________________________________ Goodbye to Kathy (or, A Weekend In Bend) photos - www.joshheumann.com From chromatic at wgz.org Tue Sep 24 18:44:05 2002 From: chromatic at wgz.org (chromatic) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: References: Message-ID: <200209241644.05214.chromatic@wgz.org> On Tuesday 24 September 2002 16:36, Joe Oppegaard wrote: > It seems like 75% of the software developers out there don't follow The > Rules (or know why they are breaking them), at least this would be the > assumption to make after reading books like The Pragmatic Programmer, The > Practice of Programming, or just hearing people talk about their peers at > work. > As I've never had a job as a software developer, I don't know how true that > assumption is. Is it one of those wonders of society where everyone Knows > they are good, yet they also Know most everyone else is sub-par? (ie. > driving). There does seem to be no small amount of egotism in software development. I have quite a bit myself. :) Part of the problem is that it's easy to do the wrong thing. A computer program is intangible enough that you can scrape by being inappropriately lazy. Another part of the problem is that writing a program seems like magic to people who don't do it. There are valid reasons to hate the "software development is like building a house" metaphors, but there's also a reason we use "architecture" to describe the way a system hangs together. Change has costs, even if all you're doing is flipping magnetic bits. Good luck finding people who read the rule books often, too, especially with languages that encourage hobbyists and don't require computer science degrees. This is not to say that there aren't a lot of lazy comp sci grads, or that there aren't a lot of people who read a lot of books and never learn. :) My answer? Lots of people are lazy and ignorant, just like in any profession. -- c From jkeroes at eli.net Tue Sep 24 18:59:57 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <4139.66.167.52.133.1032911171.squirrel@www.joshheumann.com> References: <4139.66.167.52.133.1032911171.squirrel@www.joshheumann.com> Message-ID: <20020924235957.GA983@eli.net> On (Tue, Sep 24 19:46), Josh Heumann wrote: > > It seems like 75% of the software developers out there don't follow The > > Rules (or know why they are breaking them) > > I'm reading up on how to apply the Model/View/Controller theory to perl > (cgi in particular) Sure, MVC is a useful pattern that provides some pretty clear lines where to cut your classes. I don't see why you couldn't implement your CGIs as a single-view MVC. It really depends on what you're trying to get out of the pattern. I've used them with multiple Views before, writing to CGI or command-line, per the user's wishes. That's just me. You could use multiple Models (i.e., datasets) or Controllers (e.g., polymorphism) just as easily. There a good implementation of an MVC in 'rezrov', a Perl Z-Code emulator that runs Zork and most of the other infocom games). viz. The Perl Journal #13, Spring 1999. You can get rezrov from http://www.users.voicenet.com/~mikeedmo/rezrov/ -Joshua PS If you want to borrow that TPC, it's your for the asking. From jon at manymoons.net Tue Sep 24 20:07:35 2002 From: jon at manymoons.net (Jon Jacob) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <20020924235957.GA983@eli.net> References: <4139.66.167.52.133.1032911171.squirrel@www.joshheumann.com> <20020924235957.GA983@eli.net> Message-ID: <1032916055.8865.87.camel@lana.manymoons.net> Having not really studied the MVC method of software development, but still interested in this discussion, I googled for MVC and Perl. I found one very interesting site, which gave some illumination on the subject: http://www.perl.com/pub/a/2001/10/17/etoys.html?page=4 (This was one among several, but this one specifically dealt with Perl.) Now, earlier their was a generalized statement about "The Rules". I am not a big fan of rules per se. I think there are guidelines, and some of the guidelines work in some cases and some in others. Sometimes, the best guideline choices are based on personalities of the team and some are based on project requirements and outlines. That is just my experience. The MVC system sounds interesting, but it is one of those things that makes me think that I have mostly being doing all along, maybe without knowing it. Now, I may not be clear on the complexities of MVC, but it does seem very straight forward. If I understand what it is saying, it recommends a granulation of components along the lines of separation of presentation (HTML in the case of CGI with templates), modeled by processing code, and then controlled by a system that takes the processing of the data and spits in out to the presentation part of the system. Again, I have not formally following the MVC guidelines, but that sounds to me like what it does in a nutshell. I can see how these would be good "rules" to follow, but I don't see anything revolutionary within that system. To me, this is how your write and develop code, but not how you create a system as a whole or how you get from soup to nuts. Am I expecting to much for this discussion? Maybe so, but too often prospective employers are asking how I handle things like QA and I have no answer because in web development situations there seems no stipulations for these sorts of things. What I would like to know is how QA and modelling done before and after the code is actually written. Too often, this is part of the software where things get confused and bogged down. From gcheong at acm.org Wed Sep 25 10:38:14 2002 From: gcheong at acm.org (Greg Cheong) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules References: <200209241644.05214.chromatic@wgz.org> Message-ID: <002e01c264a9$92320f00$b3bdfea9@isolde> > On Tuesday 24 September 2002 16:36, Joe Oppegaard wrote: > > > It seems like 75% of the software developers out there don't follow The > > Rules (or know why they are breaking them), at least this would be the > > assumption to make after reading books like The Pragmatic Programmer, The > > Practice of Programming, or just hearing people talk about their peers at > > work. > > > As I've never had a job as a software developer, I don't know how true that > > assumption is. Is it one of those wonders of society where everyone Knows > > they are good, yet they also Know most everyone else is sub-par? (ie. > > driving). > > There does seem to be no small amount of egotism in software development. I > have quite a bit myself. :) > > Part of the problem is that it's easy to do the wrong thing. A computer > program is intangible enough that you can scrape by being inappropriately > lazy. To this I would add that for any given problem there is usually more than one "right" way to do something (TMTOWTDI !) and choosing the solution involves tradeoffs. Choosing between the tradeoffs is where experience comes in. > Another part of the problem is that writing a program seems like magic to > people who don't do it. There are valid reasons to hate the "software > development is like building a house" metaphors, but there's also a reason we > use "architecture" to describe the way a system hangs together. Change has > costs, even if all you're doing is flipping magnetic bits. > > Good luck finding people who read the rule books often, too, especially with > languages that encourage hobbyists and don't require computer science > degrees. This is not to say that there aren't a lot of lazy comp sci grads, > or that there aren't a lot of people who read a lot of books and never learn. > :) True. But there is alway the case where good developers are forced to implement a "quick and dirty" solution because the users needed it yesterday. And sometimes quick and dirty is the correct choice. > My answer? Lots of people are lazy and ignorant, just like in any profession. Another reason I believe for the perception of there being so many bad developers is the lack of mentoring in our field. You wouldn't expect a doctor right out of med school to do open heart surgery on anybody, but people with little more than a B.S. in comp sci and oftentimes even less are being asked to construct systems that really require more experience under the guidance of someone who's been there. Unfortunately, there is the perception by managers that pairing a less experienced programmer with a senior developer and having one mentor the other is less efficient than the sink or swim method. I don't know if it helps when a methodology that promotes such pairing as good labels itself as eXtreme programming either...but then given the ego factor (Hey, we do eXtreme programming) it's probably a good thing. I don't know if my experience is unique, but I've been fortunate to have worked with people who seem to know and play be the rules at each place I've worked at. Yes, I've seen and heard some horror stories, even implemented some but by and large it's been the exception rather than the rule. Cheers, Greg From poec at yahoo.com Wed Sep 25 10:46:15 2002 From: poec at yahoo.com (Ovid) Date: Mon Aug 2 21:34:13 2004 Subject: Fwd: Re: [Pdx-pm] Software development and The Rules Message-ID: <20020925154615.69650.qmail@web40408.mail.yahoo.com> Somehow, I managed to reply to Joe without copying the group :( --- Ovid wrote: > --- Joe Oppegaard wrote: > > It seems like 75% of the software developers out there don't follow The Rules > > (or know why they are breaking them), at least this would be the assumption to > > make after reading books like The Pragmatic Programmer, The Practice of > > Programming, or just hearing people talk about their peers at work. > > > > As I've never had a job as a software developer, I don't know how true that > > assumption is. Is it one of those wonders of society where everyone Knows they > > are good, yet they also Know most everyone else is sub-par? (ie. driving). > > I met a software developer who admitted that she was a rotten programmer, but she's the only one > I've ever heard say that. Most programmers have this idea that because their software works, > they're good. Unfortunately, other considerations apply. > > For example, if it takes me three months to develop a work of software "art" that a competant > programmer can develop in a week, I'm not a cost-effective programmer. If my code is > unmaintainable (much of what my presentation was about), then I'm not a good programmer. If my > code assumes that its environment will never change, I'm probably a short-sighted programmer. > > However, it gets more subtle than that. I might be a great procedural programmer and assume > that > I will therefore be a great object-oriented programmer. Later, when I have my > Employee::Manager > and Employee::Programmer subclasses of Employee and wonder what to do when a manager is also a > programmer, I realize that I possibly screwed up somewhere (hint to OO programmers: subclass > nouns, not adjectives). > > Personally, I consider myself to be rather knowledgeable about Perl, but only a middling > programmer. However, I used to think I was a great programmer. It's only through constant > studying that I realized that I'm not as good as I thought :) We programmers, as chromatic > pointed out, can be a rather egotistical lot. When we can learn to be humble and say "I'm > wrong", > we can become better programmers. > > Incidentally, most programmers that I have encountered are awful. By being willing to learn > what > constitutes good programming, a person can definitely improve dramatically in relation to > others. Cheers, Curtis "Ovid" Poe ===== "Ovid" on http://www.perlmonks.org/ Someone asked me how to count to 10 in Perl: push@A,$_ for reverse q.e...q.n.;for(@A){$_=unpack(q|c|,$_);@a=split//; shift@a;shift@a if $a[$[]eq$[;$_=join q||,@a};print $_,$/for reverse @A __________________________________________________ Do you Yahoo!? New DSL Internet Access from SBC & Yahoo! http://sbc.yahoo.com From lemming at attbi.com Wed Sep 25 12:56:01 2002 From: lemming at attbi.com (lemming@attbi.com) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules Message-ID: <20020925175601.VKA15492.rwcrmhc53.attbi.com@rwcrwbc55> --- Ovid wrote: > --- Joe Oppegaard wrote: >> It seems like 75% of the software developers out >> there don't follow The Rules >> (or know why they are breaking them), at least this >> would be the assumption to make after reading books >> like The Pragmatic Programmer, The Practice of >> Programming, or just hearing people talk about their >> peers at work. There is some truth to that, but some of it is just that everyone has their own way of doing things. As someone else pointed out, a lot of managers don't really go for mentoring and just tell their programmers to get it done. There might be a coding standards document, but it's usually a horribly long obtuse piece of work that no one including the manager has even read. The worst program I ever had to look at was a SMTP program that was written by someone who had never dealt with SMTP before and it was his first programming project. Naturally, I was the one who inherited that code a couple years later. (We did find a quick and easy replacement for it...) >> As I've never had a job as a software developer, I >> don't know how true that assumption is. Is it one of >> those wonders of society where everyone Knows they >> are good, yet they also Know most everyone else is >> sub-par? (ie. driving). I've dealt with both. The ones who don't think they have anything to learn are the dangerous ones. > I met a software developer who admitted that she was > a rotten programmer, but she's the only one I've ever > heard say that. Most programmers have this idea that > because their software works, they're good. > Unfortunately, other considerations apply. Though good, I consider them experience lessons. > Incidentally, most programmers that I have > encountered are awful. By being willing to learn > what constitutes good programming, a person can > definitely improve dramatically in relation to > others. I agree. It's a balancing act as well between speed of coding, maintainability, personal style, and robustness. -Mark From dora.raymaker at xo.com Wed Sep 25 13:51:41 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D89C@orportexch1.internal.nextlink.net> -----Original Message----- From: lemming@attbi.com [mailto:lemming@attbi.com] Sent: Wednesday, September 25, 2002 10:56 AM Having just graduated with a CS degree (and there being fully entrenched in wanting to do things the "right way"), I'm interested to see the way that programmers are illustrated here. Programming has, following the popularity of the internet, been brought to the masses. This is a good thing, because a lot of cool things get written that us cs nerds wouldn't have thought of, and a lot of people became cs nerds despite their degrees in Art History or Philosophy. The downside is that it is easy to make something work and not think about the peripherals such as maintenance, readability (which hasn't been mentioned here and is a HUGE problem among perl programmers) and future addons, etc. Essays like Mythical Man Month and No Silver Bullet are standard reading in the cs world (although I had to opt to read them), and were revolutionary when they were published, but don't get read often enough to stem the rising tide of "poor" programming practices. Basically, everyone should read them. There are probably some others that I didn't mention, but those specifically. Okay, I'm done. __________________________________ Goodbye to Kathy (or, A Weekend In Bend) photos - www.joshheumann.com From jgoalby at hotmail.com Wed Sep 25 14:18:56 2002 From: jgoalby at hotmail.com (John Goalby) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules Message-ID: OK, its pretty obvious that a lot of programmers are awful. Rather than belabor that, what would people suggest that would fix it? I would also add "The Pragmatic Programmer" to the list of texts. Excellent book, just as good after the second read. John. >Having just graduated with a CS degree (and there being fully entrenched in >wanting to do things the "right way"), I'm interested to see the way that >programmers are illustrated here. > >Programming has, following the popularity of the internet, been brought to >the masses. This is a good thing, because a lot of cool things get written >that us cs nerds wouldn't have thought of, and a lot of people became cs >nerds despite their degrees in Art History or Philosophy. > >The downside is that it is easy to make something work and not think about >the peripherals such as maintenance, readability (which hasn't been >mentioned here and is a HUGE problem among perl programmers) and future >addons, etc. Essays like Mythical Man Month and No Silver Bullet are >standard reading in the cs world (although I had to opt to read them), and >were revolutionary when they were published, but don't get read often >enough to stem the rising tide of "poor" programming practices. > >Basically, everyone should read them. There are probably some others that >I didn't mention, but those specifically. > >Okay, I'm done. >__________________________________ >Goodbye to Kathy (or, A Weekend In >Bend) photos - www.joshheumann.com > >_______________________________________________ >Pdx-pm-list mailing list >Pdx-pm-list@mail.pm.org >http://mail.pm.org/mailman/listinfo/pdx-pm-list _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com From jkeroes at eli.net Wed Sep 25 15:04:08 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: References: Message-ID: <20020925200408.GE983@eli.net> On (Wed, Sep 25 12:18), John Goalby wrote: > OK, its pretty obvious that a lot of programmers are awful. Rather than > belabor that, what would people suggest that would fix it? > > I would also add "The Pragmatic Programmer" to the list of texts. > Excellent book, just as good after the second read. That's a great book. We bought six copies that we keep around the office. Also useful, but on a different level is "Programming Pearls" [1]. (n.b., "Pearls", not "Perls"). From jkeroes at eli.net Wed Sep 25 15:15:10 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Re: MVC Design Pattern [Was] Software development and The Rules In-Reply-To: <3289.64.105.67.109.1032984444.squirrel@www.joshheumann.com> References: <20020925192444.GD983@eli.net> <3289.64.105.67.109.1032984444.squirrel@www.joshheumann.com> Message-ID: <20020925201510.GG983@eli.net> > > If you really want to learn about this patten, I'd suggest searching > > for "Model View Controller" on google, and reading some SmallTalk > > introduction on the matter. Almost all of SmallTalk is MVC-oriented. > > Well, I used the MVC model in Java a lot in school, but applying it to perl > is the crux of the biscuit, as it were. Especially in a cgi scenario, > where it's really tempting to put everything in one file. Grr. Take a look at CGI::Application, that's what we've been turning to lately. It's not an MVC, it's a State Machine. The nice thing about using CGI::Application is that you subclass it. Being able to turn your CGIs into objects makes them... testable! Yay, testing. Oh, and you can also plug it into Mason or mod_perl if you're interested in that sort of thing. CGI::Application has hooks for HTML::Template, so you can make your subclass a combination Controller/View and the template file the Model. Given the plethora of HTML templating modules on CPAN, we can infer that this is a fairly common solution to the CGI data-abstraction problem. It really depends how complex you wish to make the project. I've found that it's not necessary to separate the View from the Controller for smallish projects. -Joshua From tex at off.org Wed Sep 25 15:34:23 2002 From: tex at off.org (Austin Schutz) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: <20020925200408.GE983@eli.net>; from jkeroes@eli.net on Wed, Sep 25, 2002 at 01:04:08PM -0700 References: <20020925200408.GE983@eli.net> Message-ID: <20020925133423.N2465@gblx.net> > For example: > > Q: What's the fastest, most space-efficient way to sort all > of Portland's 503 phone numbers? > for(@numbers) { s/[^\d]//g; } @sorted = sort { $a <=> $b }(@numbers); Oh, you meant fast and small for the computer. Does it matter? Most of the time optimal solutions are ones that are easy to write, unless you have a specific need for performance. Of course, there's still some point where you have to wonder. A modern pentium 4 processes what, 2.5 billion instructions per second? If it takes Windows two minutes to boot, how many of the billions of instructions were pure bloat? Austin From clapp at netscum.com Wed Sep 25 12:20:58 2002 From: clapp at netscum.com (Andrew S. Clapp) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Heh. Message-ID: <200209251720.g8PHKwF15728@meta.netscum.com> Friend of mine sent me this. -ASC change@to.protect.privacy ~/scratch/mandelbrot >> perl mand.pl ,,,,,,,,,,,::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::: ,,,,,,,,,:::::::::;;;;;;;;;;;;;;;;;;;;;;======+iRV+++====;;;;;;::::::::::::::::: ,,,,,,,,::::::;;;;;;;;;;;;;;;;;;;;;;========+++itVXYYRi======;;;;;;::::::::::::: ,,,,,,:::::;;;;;;;;;;;;;;;;;;;;;;=========++++ttIR VIt+++=====;;;;;;;:::::::::: ,,,,,::::;;;;;;;;;;;;;;;;;;;;==========+++iitIX ti++++====;;;;;;;:::::::: ,,,,:::;;;;;;;;;;;;;;;;;;;=========++ittttttIYX VIItiiiii++==;;;;;;;:::::: ,,,::;;;;;;;;;;;;;;;;;;======+++++iit R RY XX Y++=;;;;;;;;:::: ,,::;;;;;;;;;;;;;;;;===+++++++++iiitIVB Mti++=;;;;;;;;::: ,,:;;;;;;;;;;;====+XtiiiiiiiiiittIYM RIti+==;;;;;;;;:: ,:;;;;;=======+++iiI XVVYV VYYIIYYB t+===;;;;;;;;: ,;;========++++++ttIY MRB Mi+===;;;;;;;;; ,========+++iiiIRYYX t++====;;;;;;;; ,++iitYttttIIIVXM Yti++====;;;;;;;; ,++iitYttttIIIVXM Yti++====;;;;;;;; ,========+++iiiIRYYX t++====;;;;;;;; ,;;========++++++ttIY MRB Mi+===;;;;;;;;; ,:;;;;;=======+++iiI XVVYV VYYIIYYB t+===;;;;;;;;: ,,:;;;;;;;;;;;====+XtiiiiiiiiiittIYM RIti+==;;;;;;;;:: ,,::;;;;;;;;;;;;;;;;===+++++++++iiitIVB Mti++=;;;;;;;;::: ,,,::;;;;;;;;;;;;;;;;;;======+++++iit R RY XX Y++=;;;;;;;;:::: ,,,,:::;;;;;;;;;;;;;;;;;;;=========++ittttttIYX VIItiiiii++==;;;;;;;:::::: ,,,,,::::;;;;;;;;;;;;;;;;;;;;==========+++iitIX ti++++====;;;;;;;:::::::: ,,,,,,:::::;;;;;;;;;;;;;;;;;;;;;;=========++++ttIR VIt+++=====;;;;;;;:::::::::: ,,,,,,,,::::::;;;;;;;;;;;;;;;;;;;;;;========+++itVXYYRi======;;;;;;::::::::::::: ,,,,,,,,,:::::::::;;;;;;;;;;;;;;;;;;;;;;======+iRV+++====;;;;;;::::::::::::::::: changed@to.protect.privacy ~/scratch/mandelbrot >> cat mand.pl $Y=-1.2;for(0..24){$X=-2;for(0..79){($r,$i)=(0,0);for(0..15){$n=$_;$r=($x=$ r)*$x-($y=$i)*$y+$X;$i=2*$x*$y+$Y;$x*$x+$y*$y>4&&last}print unpack("\@$n a" ,".,:;=+itIYVXRBM ");$X+=3/80}$Y+=2.4/25} -ASC Andrew S. Clapp - - Geekin' Geekin' Geekin' rat: "Hmmm, wonder what bob just changed in dont_touch.c..." rat: % lastdiff dont_touch.c rat: "Yup, that completely sucks! Where's my flamethrower..." bob: "Hi rat, what's that ... Yeeaarrrrrrghhh!" From tex at off.org Wed Sep 25 16:20:25 2002 From: tex at off.org (Austin Schutz) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: <20020925133423.N2465@gblx.net>; from tex@off.org on Wed, Sep 25, 2002 at 01:34:23PM -0700 References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> Message-ID: <20020925142025.Q2465@gblx.net> On Wed, Sep 25, 2002 at 01:34:23PM -0700, Austin Schutz wrote: > > For example: > > > > Q: What's the fastest, most space-efficient way to sort all > > of Portland's 503 phone numbers? > > > > for(@numbers) { > s/[^\d]//g; > } > > @sorted = sort { $a <=> $b }(@numbers); > > Oh, you meant fast and small for the computer. Does it matter? > Most of the time optimal solutions are ones that are easy to > write, unless you have a specific need for performance. > > Of course, there's still some point where you have to wonder. > A modern pentium 4 processes what, 2.5 billion instructions per second? > If it takes Windows two minutes to boot, how many of the billions of > instructions were pure bloat? > Btw, since we're discussing "the rules", one point that might be made is that the rules tend to change over time. A few years ago it might have been nutty to just slurp the phone numbers for a large city into an array. Now with ram being cheap, why not? Same with the language in general. Additions like our() and qr// have (and will) change standard practice. Old code definitely doesn't age like wine. Well, not my code anyway. :-) Austin From josh at joshheumann.com Wed Sep 25 15:44:04 2002 From: josh at joshheumann.com (Josh Heumann) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Re: MVC Design Pattern [Was] Software development and The Rules In-Reply-To: <20020925201510.GG983@eli.net> References: <20020925201510.GG983@eli.net> Message-ID: <3377.64.105.67.109.1032986644.squirrel@www.joshheumann.com> > It really depends how complex you wish to make the project. I've found > that it's not necessary to separate the View from the Controller for > smallish projects. How does CGI::Application scale? What if I have a small project that could balloon at some point in the future? __________________________________ Goodbye to Kathy (or, A Weekend In Bend) photos - www.joshheumann.com From jkeroes at eli.net Wed Sep 25 17:03:26 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: <20020925133423.N2465@gblx.net> References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> Message-ID: <20020925220326.GJ983@eli.net> Nope, that's not it. For one thing, you've just read 1_000_000 numbers into memory, that's 7 bytes * 1_000_000 of space of the disk. -Joshua On (Wed, Sep 25 13:34), Austin Schutz wrote: > > For example: > > > > Q: What's the fastest, most space-efficient way to sort all > > of Portland's 503 phone numbers? > > > > for(@numbers) { > s/[^\d]//g; > } > > @sorted = sort { $a <=> $b }(@numbers); > > Oh, you meant fast and small for the computer. Does it matter? > Most of the time optimal solutions are ones that are easy to > write, unless you have a specific need for performance. > > Of course, there's still some point where you have to wonder. > A modern pentium 4 processes what, 2.5 billion instructions per second? > If it takes Windows two minutes to boot, how many of the billions of > instructions were pure bloat? > > Austin > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From cp at onsitetech.com Wed Sep 25 18:03:15 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> Message-ID: <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Joshua Keroes" > Nope, that's not it. For one thing, you've just read 1_000_000 > numbers into memory, that's 7 bytes * 1_000_000 of space of the > disk. > > -Joshua Whoops! We're talking Perl here :) I don't have hard numbers, but I estimate that a simple scalar in Perl has at least 12 bytes: 4 for the pointer, 4 for the reference count, 3 for the flags and 1 (?) for the type; see perlguts for more info. Abigail has stated that there is actually 24 bytes of overhead per scalar (http://www.perlmonks.org/index.pl?node_id=190458 -- any Perl internals gurus care to illuminate me on what I missed?). As a result, if Abigail's figure is correct, that's 24_000_000 bytes plus 7_000_000 bytes, for a total of 31_000_000 bytes of memory for one million phone numbers. Cheers, Curtis From jkeroes at eli.net Wed Sep 25 18:10:38 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> Message-ID: <20020925231038.GK983@eli.net> On (Wed, Sep 25 16:03), Curtis Poe wrote: > ----- Original Message ----- > From: "Joshua Keroes" > > > Nope, that's not it. For one thing, you've just read 1_000_000 > > numbers into memory, that's 7 bytes * 1_000_000 of space of the > > disk. > > > > -Joshua > > Whoops! We're talking Perl here :) I don't have hard numbers, but I > estimate that a simple scalar in Perl has at least 12 bytes: 4 for the > pointer, 4 for the reference count, 3 for the flags and 1 (?) for the type; > see perlguts for more info. Abigail has stated that there is actually 24 > bytes of overhead per scalar > (http://www.perlmonks.org/index.pl?node_id=190458 -- any Perl internals > gurus care to illuminate me on what I missed?). > > As a result, if Abigail's figure is correct, that's 24_000_000 bytes plus > 7_000_000 bytes, for a total of 31_000_000 bytes of memory for one million > phone numbers. Given Unicode these days, it may even be twice that. So the point stands, there is a solution to this problem that is much better than allocating 20-30 MB of RAM. -J From m_pm_pdx at wickline.org Thu Sep 26 09:44:16 2002 From: m_pm_pdx at wickline.org (m_pm_pdx@wickline.org) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] efficient sort (Was: Software development and The Rules) Message-ID: <3D931D41.A997BC78@wickline.org> > Q: What's the fastest, most space-efficient way to > sort all of Portland's 503 phone numbers? get the drumb and highhat ready (or the paddle)... A1: reuturn an empty list ("Oh, you didn't mean Portland Maine?") A2: very carefully sorted in exact order of input ("Hey, people write tied hash modules for this so it's got to be a valuable feature, right?") A3: in numerical order, outputing an ordered sequence including *some* values which might not be valid phone numbers at the time the list is generated ("Oh, we can't add to the list?") ok, you can smack me now :) -matt From tex at off.org Thu Sep 26 15:12:30 2002 From: tex at off.org (Austin Schutz) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: <20020925231038.GK983@eli.net>; from jkeroes@eli.net on Wed, Sep 25, 2002 at 04:10:38PM -0700 References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> <20020925231038.GK983@eli.net> Message-ID: <20020926131230.S2465@gblx.net> On Wed, Sep 25, 2002 at 04:10:38PM -0700, Joshua Keroes wrote: > On (Wed, Sep 25 16:03), Curtis Poe wrote: > > ----- Original Message ----- > > From: "Joshua Keroes" > > > > > Nope, that's not it. For one thing, you've just read 1_000_000 > > > numbers into memory, that's 7 bytes * 1_000_000 of space of the > > > disk. > > > > > > -Joshua > > > > Whoops! We're talking Perl here :) I don't have hard numbers, but I > > estimate that a simple scalar in Perl has at least 12 bytes: 4 for the > > pointer, 4 for the reference count, 3 for the flags and 1 (?) for the type; > > see perlguts for more info. Abigail has stated that there is actually 24 > > bytes of overhead per scalar > > (http://www.perlmonks.org/index.pl?node_id=190458 -- any Perl internals > > gurus care to illuminate me on what I missed?). > > > > As a result, if Abigail's figure is correct, that's 24_000_000 bytes plus > > 7_000_000 bytes, for a total of 31_000_000 bytes of memory for one million > > phone numbers. > > Given Unicode these days, it may even be twice that. So the point stands, > there is a solution to this problem that is much better than allocating > 20-30 MB of RAM. > My three year old computer has 256 megs of ram with a gig of swap. If you asked something like 'how do I sort every phone number in the entire U.S.?', perhaps that's a different question. Maybe then I would care about memory usage or processing time a little more. Depends on the application. Most of the time I will have the numbers sorted letting the computer do most of the thinking for me before a smarter person will have programmed a more clever way of doing it. By and large a computer can do practically anything I have need of doing without having to resort to smarts. That's the beauty of a sloppy but effective language like perl on a modern computer. By sloppy I refer to the relatively freeform syntax of the language, as compared with very structured languages such as java, etc. I'm not suggesting programming for performance is without merit. There are times when you have such a tremendous dataset or a need to do very fast data processing where it's critical to have the computer use optimal algorithms. It has been my experience that this is the exception, and not the rule. If you're writing a device driver, for example, you generally want the code to be compact and as efficient as possible - and most likely not Perl. ;-) One of the reasons Inline::C is so cool is that you can take a program which is too slow/inefficient, and give it a big boost in places that are particularly slow. If you had to run the phone number sorter 20 times a minute that might be a better option than the quick and dirty pure perl version. Do you need to sort all the numbers in the portland area 20 times a minute? Austin From jkeroes at eli.net Thu Sep 26 16:02:35 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <20020926131230.S2465@gblx.net> References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> <20020925231038.GK983@eli.net> <20020926131230.S2465@gblx.net> Message-ID: <20020926210235.GQ983@eli.net> On (Thu, Sep 26 13:12), Austin Schutz wrote: > If you asked something like 'how do I sort every phone number in the > entire U.S.?', perhaps that's a different question. Maybe then I would > care about memory usage or processing time a little more. Depends on the > application. [snip] So, consider the problem in that light then. My proposed solution to the problem is extensible, as many elegant computer science solutions tend to be. I used the local areacode to add that local PDX flavor we love so well. I'm benchmarking the "obvious" Perl solution to the one from Programming Pearls for both 7 digit numbers as well as 10 digit numbers. The beauty of the solution is that the size of the numbers doesn't matter. You may have to work a little harder to properly represent big numbers but the theory is the same. > I'm not suggesting programming for performance is without merit. There > are times when you have such a tremendous dataset or a need to do very fast > data processing where it's critical to have the computer use optimal > algorithms. It has been my experience that this is the exception, and not the > rule. [snip] > > Do you need to sort all the numbers in the portland area 20 times a > minute? Do I need to sort Portland's numbers 20x a minute? Of course not. It's a puzzle; it's a game; it's a poser; it's a stumper. The question was handed to you and the others to make you think and to [hopefully] make us better programmers as a whole. Let me tell you a joke I heard recently: A guy walks into a bar with a monkey. The monkey walks up to the pool table and eats one of the balls. The bartender says, "Why did he do that?" The guy says, "Oh he"ll eat anything." A couple of days later, the guy brings the monkey into the same bar, and the monkey picks up a peanut and shoves it up is ass, then takes it out and eats it. The bartender says, "Why did he do that?" The guy says, "Oh he"ll still eat anything, but ever since he ate that pool ball he checks it for size first." I don't know about you, but I've never seen a monkey in a bar, much less one that eats pool balls. That's still not going to stop me from telling it at parties, it's a funny joke and I think I'm a [marginally] funnier person for the retelling. See the point? Just because it's a silly situation that isn't likely to occur in your life or mine doesn't mean we can't take the lesson elsewhere. We can extend the same point to elementary school word problems. Hate em? I sure did. Why the heck would two trains be on the same track traveling at 90 mph and 120 mph at one another? Sounds like a bad movie plot to me. Nevertheless, learning to figure out problems like that has helped me in two fashions. The obvious one first: I learned basic math. The more intangible and far more important: I learned how to learn. We can both go on solving problems the same way we always have. There is a time and a place for everything. Am I optimizing something that doesn't have to be optimized? Possibly. I'll benchmark it and then we can all find out. Nevertheless, when a similar problem comes along though, you'll know the answer, see the pros and cons, and be able to decide if you want to choose the usual solution or this one. Being able to make that choice makes you more valuable. -Joshua PS Anyone intersted in a game of pool? From cp at onsitetech.com Thu Sep 26 16:32:02 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> <20020925231038.GK983@eli.net> <20020926131230.S2465@gblx.net> <20020926210235.GQ983@eli.net> Message-ID: <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Joshua Keroes" > PS Anyone intersted in a game of pool? I'm usually up for a game of pool. However, I am fresh out of peanuts. As for sorting the list, you mentioned something along the lines of "the most space-efficient" way". How are you defining space efficient? Do you mean memory efficient? My initial thought for the problem would be to use a merge sort via the File::Sort module, but since that creates temp files, perhaps that's not the most "space-efficient". Cheers, Curtis From chromatic at wgz.org Thu Sep 26 16:46:15 2002 From: chromatic at wgz.org (chromatic) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> Message-ID: <200209261446.15610.chromatic@wgz.org> On Thursday 26 September 2002 14:32, Curtis Poe wrote: > As for sorting the list, you mentioned something along the lines of "the > most space-efficient" way". > > How are you defining space efficient? Do you mean memory efficient? My > initial thought for the problem would be to use a merge sort via the > File::Sort module, but since that creates temp files, perhaps that's not > the most "space-efficient". I believe I can make the right answer a little clearer. The nature of the data is pretty simple. Not only are there ten possible values for each digit, but there are probably fewer than a thousand valid prefixes. Instead of storing each digit as a character (multiple bytes in a Unicode world), you can pack them into a smaller format. I'd guess that three bytes apiece should do it, with some back of the envelope math. A radix sort might be nice, too, but that's just a guess. :) -- c From jkeroes at eli.net Thu Sep 26 17:19:16 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <200209261446.15610.chromatic@wgz.org> References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> Message-ID: <20020926221916.GT983@eli.net> On (Thu, Sep 26 14:46), chromatic wrote: > On Thursday 26 September 2002 14:32, Curtis Poe wrote: > > > As for sorting the list, you mentioned something along the lines of "the > > most space-efficient" way". > > > > How are you defining space efficient? Do you mean memory efficient? My > > initial thought for the problem would be to use a merge sort via the > > File::Sort module, but since that creates temp files, perhaps that's not > > the most "space-efficient". > > I believe I can make the right answer a little clearer. The nature of the > data is pretty simple. Not only are there ten possible values for each > digit, but there are probably fewer than a thousand valid prefixes. > > Instead of storing each digit as a character (multiple bytes in a Unicode > world), you can pack them into a smaller format. I'd guess that three bytes > apiece should do it, with some back of the envelope math. To answer your first question, yes, I'm defining "space" to mean "memory". Believe it or not, you can do even better than three bytes per digit. You're getting warm. -J From cp at onsitetech.com Thu Sep 26 17:44:58 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> <20020926221916.GT983@eli.net> Message-ID: <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Joshua Keroes" > To answer your first question, yes, I'm defining "space" to mean "memory". > > Believe it or not, you can do even better than three bytes per digit. You're > getting warm. > > -J In that case, since you specified only 503 area codes, you can simply drop them (I'm assuming that chromatic was implying the same thing and that Joshua actually meant "three bytes per phone number"). There are only X number of prefixes, so if there are less than 512 of them, you can represent them with only 9 bits and the final 4 digits can be represented with 14 bits, so that would be 1 bit less than three bytes per phone number. ?? Cheers, Curtis From dora.raymaker at xo.com Thu Sep 26 18:54:32 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] reading/good programming group proposal Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> There are three of us on this elist who all work at the same company and were inspired recently by posts here and elsewhere to go pick up copies of _The Pragmatic Programmer_. We're thinking of getting together to discuss the book and good programming practices periodically. However, the discussion would be more exciting if there were more people involved than just the three of us, as well as, in the words of Mark (TGI) "it would be great to have someone smarter than us there." :-) So, just shooting this out to see if there's interest... anyone wanna do an informal, maybe every-other-week-type-thing, get-together to discuss _The Pragmatic Programmer_ in particular and good programming practices in general? Lovely down-town location? nudge, nudge, wink, wink??? -D. From pooldavid at msn.com Thu Sep 26 19:05:55 2002 From: pooldavid at msn.com (David Pool) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> <20020925231038.GK983@eli.net> <20020926131230.S2465@gblx.net> <20020926210235.GQ983@eli.net> Message-ID: <046e01c265b9$a65f3e10$7780e53f@ralph> ----- Original Message ----- From: "Joshua Keroes" > PS Anyone intersted in a game of pool? I'd be up for a game. But where's the best place to play? :-David From jkeroes at eli.net Thu Sep 26 19:07:32 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> <20020926221916.GT983@eli.net> <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> Message-ID: <20020927000732.GU983@eli.net> I have benchmarks, but I can't coax B::TerseSize to give me the size of memory in use. (Help, anyone?) Nevertheless, I can make some guesses about how much memory is in use: Memory usage: What did we decide was the array memory usage before? 30 MB or something? This solution uses 122K + Perl overhead, maybe 130K all told. (!) That's a few orders of magnitude better. I don't think I'd want to consider testing this on all of the telephone numbers in the US, let alone the world. If we allow for all possible numbers, it's 1000x the size of the 7 digit set, 30 GB. Yikes! Do you have 30 GB of RAM? Even is we wanted to use swap, our computer would need quite a few GB or RAM. Yikes! By comparison, this solution would use 122 MB of memory, something possible on most of our computers. Speed: I've tested seven digit numbers only, with two datasets, first filling our million numbers 1/3 full and then 2/3 full. I'm surprised to see better performance on the denser set. I would have assumed that with fewer elements we'd have fewer operations and therefore more speed. Wrong. As we can see from the benchmarks, there was no speed gain. Either I screwed up or Perl is great (which we already know). I'll may have to eat my words. If someone figures out the solution, we can discuss why I thought this would have been different. 'hash' is a hash-based solution. I wanted to use an array, but the hash guarantees unique numbers. 'mine' is the TOP-ZEEKRET solution. Benchmarks: Benchmark: timing 100000 iterations of object initialization: hash 333K: 32 wallclock secs (28.19 usr + 1.54 sys = 29.73 CPU) @ 3363.61/s (n=100000) hash 666K: 29 wallclock secs (23.41 usr + 1.29 sys = 24.70 CPU) @ 4048.58/s (n=100000) mine 333K: 28 wallclock secs (22.73 usr + 1.29 sys = 24.02 CPU) @ 4163.20/s (n=100000) mine 666K: 27 wallclock secs (23.11 usr + 1.64 sys = 24.75 CPU) @ 4040.40/s (n=100000) Benchmark: timing 100000 iterations of sorting: hash 333K: 48 wallclock secs (44.18 usr + 0.00 sys = 44.18 CPU) @ 2263.47/s (n=100000) hash 666K: 48 wallclock secs (44.09 usr + 0.00 sys = 44.09 CPU) @ 2268.09/s (n=100000) mine 333K: 48 wallclock secs (43.95 usr + 0.00 sys = 43.95 CPU) @ 2275.31/s (n=100000) mine 666K: 48 wallclock secs (44.00 usr + 0.00 sys = 44.00 CPU) @ 2272.73/s (n=100000) -Joshua PS I'll post the Programming Pearls implementation tomorrow if nobody gets it first. From jkeroes at eli.net Thu Sep 26 19:10:32 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> References: <20020925200408.GE983@eli.net> <20020925133423.N2465@gblx.net> <20020925220326.GJ983@eli.net> <006c01c264e7$bc477da0$1a01a8c0@ot.onsitetech.com> <20020925231038.GK983@eli.net> <20020926131230.S2465@gblx.net> <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> Message-ID: <20020927001032.GV983@eli.net> > > PS Anyone intersted in a game of pool? > > I'm usually up for a game of pool. However, I am fresh out of peanuts. You got a cell phone or something? I don't think I have your number(s). -J From tkil at scrye.com Thu Sep 26 19:13:52 2002 From: tkil at scrye.com (Tkil) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] RE: [Pdx-pm] Software development and The Rules In-Reply-To: <20020925200408.GE983@eli.net> References: <20020925200408.GE983@eli.net> Message-ID: >>>>> "JK" == Joshua Keroes writes: JK> Q: What's the fastest, most space-efficient way to sort all JK> of Portland's 503 phone numbers? Odd, I would have thought Portland to have at least 600 phone numbers. :) It's probably obvious, but I haven't seen anyone point out that these two criteria ("fastest", probably meaning time-efficient, and "most space-efficient") are often at odds with each other, even in the abstract (let alone what happens when you consider the tiered memory model that our modern machines actually have [1]). Anyone who remembers the big, ah, discussions that would occur on #perl whenever someone asked "what's the best way to do X?" The problem, of course, is that you can't answer that question without its context. In this case, we'd need to know much time costs, how much memory costs, and try to find the minimum in the tradeoff. We also aren't using those terms very precisely: what space are we trying to save (e.g., disk v. memory typically)? What time metric are we trying to minimize (execution, authoring, maintaining)? In this case, there are all sorts of optimizations you can apply. But it's also a bit of a trick question. Management (or whoever is paying the bills) doesn't care for the absolute fastest or smallest solution; rather, they care about feasibility ("can it be done") and economy ("can we do it cheaply / quickly enough to make money off it"). Stupid optimizations: 1. Less RAM: decimal digits easily fit in four bits, so you can fit a 7-digit value into a 32-bit integer. Even a 10-digit number fits into a pretty short string with this encoding (although it won't fit into a 32-bit unsigned value in the raw, sadly.) 2. Less CPU Time: no need to convert to numeric: if you compare raw strings (or compressed as above), the fact that USA phone numbers are constant-length means that string comparison will do the right thing. 3. Less Programmer Time: use 'sort' on the command line. 4. Less CPU time: use radix sort. 5. Less Programmer Time: use a database. This is notable because it's even odds that these numbers are already in a database, which most likely already has an in-order index on these numbers. 6. Less RAM: sort small segments of the list, then merge them. 7. Less CPU time (but on more CPUs): bin by first digits, dispatch to parallel CPUs, merge sorted result lists. 8. Less CPU time, Less Programmer time, longer Wall-Clock time: wait 6 months, buy a new CPU for same money, CPU-bound tasks will finish 20% faster with no further effort on the programmer's part. And so on. What's most important to you? t. [1] Tiered memory: registers, L1 cache, L2 cache, maybe L3, then main RAM, maybe remote memory [think NUMA], then disk, then tape. That last isn't as perverse as it sounds; there is a long history of using merge sort with tapes, and programming tasks where you want to minimize the number of tape swaps, number of times a bit of tape is scanned, all sorts of crazy stuff. From cp at onsitetech.com Thu Sep 26 19:33:20 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:13 2004 Subject: [Pdx-pm] reading/good programming group proposal References: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> Message-ID: <00bb01c265bd$7bb94940$1a01a8c0@ot.onsitetech.com> ----- Original Message ----- From: "Raymaker, Dora" > There are three of us on this elist who all work at the same company and > were inspired recently by posts here and elsewhere to go pick up copies of > _The Pragmatic Programmer_. We're thinking of getting together to discuss > the book and good programming practices periodically. However, the > discussion would be more exciting if there were more people involved than > just the three of us, as well as, in the words of Mark (TGI) "it would be > great to have someone smarter than us there." :-) > > So, just shooting this out to see if there's interest... anyone wanna do an > informal, maybe every-other-week-type-thing, get-together to discuss _The > Pragmatic Programmer_ in particular and good programming practices in > general? Lovely down-town location? nudge, nudge, wink, wink??? I'd be interested in something like that on a very informal basis, but with a couple of notes: 1. I'm probably not smarter than anyone there (see last line, paragraph 1). 2. I have managed to tremendously overburden myself with professional and social obligations, so I don't have a huge amount of free time for regular commitment. Also, I was asked off list about my presentation on this topic. You can find it at http://www.easystreet.com/~ovid/presentation/. Unfortunately, Power Point exports an Internet Explorer only presentation, so if you have a different browser, you probably can't read it. If anyone can point me to a nice PowerPoint2AnythingElse converter, that would be great. Regarding the presentation, I was rushed, rushed, rushed. My main presenter developed a stomach flu and Randal had to flee at the last minute, so I threw together the presentation in a little over an hour. It has typos (how embarrassing to misspell "embarrass" on the first slide :) and, without the talk, some of the slides will seem confusing. Also, I didn't know Power Point, so you'll have to forgive the ugly graphics. I couldn't figure out how to get rid of 'em! Cheers, Curtis From tex at off.org Thu Sep 26 23:10:31 2002 From: tex at off.org (Austin Schutz) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <20020927000732.GU983@eli.net>; from jkeroes@eli.net on Thu, Sep 26, 2002 at 05:07:32PM -0700 References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> <20020926221916.GT983@eli.net> <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> <20020927000732.GU983@eli.net> Message-ID: <20020926211031.A17381@gblx.net> On Thu, Sep 26, 2002 at 05:07:32PM -0700, Joshua Keroes wrote: > I have benchmarks, but I can't coax B::TerseSize to give me the size of > memory in use. (Help, anyone?) Nevertheless, I can make some guesses > about how much memory is in use: > > Memory usage: > > What did we decide was the array memory usage before? 30 MB or > something? This solution uses 122K + Perl overhead, maybe 130K > all told. (!) That's a few orders of magnitude better. > At 14 bits/number * 1000000 phone numbers you are still at a couple megs of data, unless you are doing some sort of internal compression or have figured a way to squeeze each number into a single bit. You're still a couple order of magnitude smaller given my test (below). > I don't think I'd want to consider testing this on all of the > telephone numbers in the US, let alone the world. If we allow > for all possible numbers, it's 1000x the size of the 7 digit set, > 30 GB. Yikes! Do you have 30 GB of RAM? Even is we wanted to > use swap, our computer would need quite a few GB or RAM. Yikes! You're storing the numbers somewhere, right? foreach $area_code sort { $a <=> $b } (@area_codes) { open( AC, "numbers/$area_code" ) || die "can't open $area_code file, $!"; @numbers = ; chomp @numbers; @sorted = sort { $a <=> $b } (@numbers); ... } > I've tested seven digit numbers only, with two datasets, first > filling our million numbers 1/3 full and then 2/3 full. I'm > surprised to see better performance on the denser set. I would > have assumed that with fewer elements we'd have fewer operations > and therefore more speed. Wrong. > > As we can see from the benchmarks, there was no speed gain. > Either I screwed up or Perl is great (which we already know). > I'll may have to eat my words. If someone figures out the > solution, we can discuss why I thought this would have been > different. > Beats me, but perl is supposed to use pretty brainy sort methods (qsort maybe?). I'm sure if you did bitwise stuff in C using a good sort method you could get a faster result. > 'hash' is a hash-based solution. I wanted to use an array, > but the hash guarantees unique numbers. 'mine' is the > TOP-ZEEKRET solution. > The 'dumb' method for sorting a million 10 digit random numbers took 12 seconds on my 600Mhz PIII PC (running Linux, natch). That's the sort time only. YMMV, of course. It swallowed a full 136 megs of ram (according to top) while doing the calculations. It looked as if 50% of that (or more) was used by perl during the sort. Almost as bad as some (unnamed) web browsers. One interesting effect was that if I just did sort @randoms w/out assigning the result to a variable the script executed almost instantaneously. It looks like perl knew the result wouldn't get used and so skipped over it. Pretty smart! Austin From jkeroes at eli.net Fri Sep 27 00:30:00 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <20020926211031.A17381@gblx.net> References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> <20020926221916.GT983@eli.net> <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> <20020927000732.GU983@eli.net> <20020926211031.A17381@gblx.net> Message-ID: <20020927053000.GA28192@eli.net> On (Thu, Sep 26 21:10), Austin Schutz wrote: > On Thu, Sep 26, 2002 at 05:07:32PM -0700, Joshua Keroes wrote: > > I have benchmarks, but I can't coax B::TerseSize to give me the size of > > memory in use. (Help, anyone?) Nevertheless, I can make some guesses > > about how much memory is in use: > > > > Memory usage: > > > > What did we decide was the array memory usage before? 30 MB or > > something? This solution uses 122K + Perl overhead, maybe 130K > > all told. (!) That's a few orders of magnitude better. > > > > At 14 bits/number * 1000000 phone numbers you are still at a couple > megs of data, unless you are doing some sort of internal compression or have > figured a way to squeeze each number into a single bit. You're still a couple > order of magnitude smaller given my test (below). Even less than 14 bits. Much less than 14 bits. > > I don't think I'd want to consider testing this on all of the > > telephone numbers in the US, let alone the world. If we allow > > for all possible numbers, it's 1000x the size of the 7 digit set, > > 30 GB. Yikes! Do you have 30 GB of RAM? Even is we wanted to > > use swap, our computer would need quite a few GB or RAM. Yikes! > > You're storing the numbers somewhere, right? > > foreach $area_code sort { $a <=> $b } (@area_codes) { > open( AC, "numbers/$area_code" ) || die "can't open $area_code file, $!"; > @numbers = ; > chomp @numbers; > @sorted = sort { $a <=> $b } (@numbers); > ... > } That would be cheating! :-D > > I've tested seven digit numbers only, with two datasets, first > > filling our million numbers 1/3 full and then 2/3 full. I'm > > surprised to see better performance on the denser set. I would > > have assumed that with fewer elements we'd have fewer operations > > and therefore more speed. Wrong. > > > > As we can see from the benchmarks, there was no speed gain. > > Either I screwed up or Perl is great (which we already know). > > I'll may have to eat my words. If someone figures out the > > solution, we can discuss why I thought this would have been > > different. > > > > Beats me, but perl is supposed to use pretty brainy sort methods > (qsort maybe?). I'm sure if you did bitwise stuff in C using a good sort > method you could get a faster result. Now, you're getting hot! -J From tex at off.org Fri Sep 27 00:59:53 2002 From: tex at off.org (Austin Schutz) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <20020927053000.GA28192@eli.net>; from jkeroes@eli.net on Thu, Sep 26, 2002 at 10:30:00PM -0700 References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> <20020926221916.GT983@eli.net> <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> <20020927000732.GU983@eli.net> <20020926211031.A17381@gblx.net> <20020927053000.GA28192@eli.net> Message-ID: <20020926225953.C17381@gblx.net> On Thu, Sep 26, 2002 at 10:30:00PM -0700, Joshua Keroes wrote: > On (Thu, Sep 26 21:10), Austin Schutz wrote: > > On Thu, Sep 26, 2002 at 05:07:32PM -0700, Joshua Keroes wrote: > > > I have benchmarks, but I can't coax B::TerseSize to give me the size of > > > memory in use. (Help, anyone?) Nevertheless, I can make some guesses > > > about how much memory is in use: > > > > > > Memory usage: > > > > > > What did we decide was the array memory usage before? 30 MB or > > > something? This solution uses 122K + Perl overhead, maybe 130K > > > all told. (!) That's a few orders of magnitude better. > > > > > > > At 14 bits/number * 1000000 phone numbers you are still at a couple > > megs of data, unless you are doing some sort of internal compression or have > > figured a way to squeeze each number into a single bit. You're still a couple > > order of magnitude smaller given my test (below). > > Even less than 14 bits. Much less than 14 bits. > Sounds like a binary tree. > > > > Beats me, but perl is supposed to use pretty brainy sort methods > > (qsort maybe?). I'm sure if you did bitwise stuff in C using a good sort > > method you could get a faster result. > > Now, you're getting hot! > Are you doing the actual code in perl? C seems like it's a lot faster for iterative algorithms. Not sure why that is. Austin From perl-pm at joshheumann.com Fri Sep 27 02:43:29 2002 From: perl-pm at joshheumann.com (Josh Heumann) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal In-Reply-To: <00bb01c265bd$7bb94940$1a01a8c0@ot.onsitetech.com> References: <00bb01c265bd$7bb94940$1a01a8c0@ot.onsitetech.com> Message-ID: <1233.64.105.43.33.1033112609.squirrel@www.joshheumann.com> >> So, just shooting this out to see if there's interest... anyone wanna >> do an >> informal, maybe every-other-week-type-thing, get-together to discuss >> _The Pragmatic Programmer_ in particular and good programming >> practices in general? Lovely down-town location? nudge, nudge, wink, >> wink??? I am also interested with two strikingly similar caveats: 1. I am most definitely not smarter than anyone, and 2. I don't have a copy of the book yet. Powells has it for $38, but bookpool has it for $28, which is far more attractive to an unemployed person. Of course, then it would take a while to get here, and you would all be done with it before I had cracked a page. Can we set a start date before the first meeting is set? __________________________________ Goodbye to Kathy (or, A Weekend In Bend) photos - www.joshheumann.com From mikeraz at PATCH.COM Fri Sep 27 08:22:20 2002 From: mikeraz at PATCH.COM (mikeraz@PATCH.COM) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal In-Reply-To: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net>; from dora.raymaker@xo.com on Thu, Sep 26, 2002 at 06:54:32PM -0500 References: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> Message-ID: <20020927062220.B13932@patch.com> I'm interested. Though I need to go get a copy of the book. Sorry I can't contribute by necessarily being smarter than anyone else. I'll try though. :) On Thu, Sep 26, 2002 at 06:54:32PM -0500, Raymaker, Dora typed: > were inspired recently by posts here and elsewhere to go pick up copies of > _The Pragmatic Programmer_. We're thinking of getting together to discuss > the book and good programming practices periodically. However, the > discussion would be more exciting if there were more people involved than > just the three of us, as well as, in the words of Mark (TGI) "it would be > great to have someone smarter than us there." :-) -- Michael Rasmussen aka mikeraz Be appropriate && Follow your curiosity http://www.patch.com/ http://wiki.patch.com/ http://blog.patch.com/sandbox/ The fortune cookie says: "Language shapes the way we think, and determines what we can think about." -- B. L. Whorf From jkeroes at eli.net Fri Sep 27 10:28:07 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Software development and The Rules In-Reply-To: <20020926225953.C17381@gblx.net> References: <20020926210235.GQ983@eli.net> <008201c265a4$27655730$1a01a8c0@ot.onsitetech.com> <200209261446.15610.chromatic@wgz.org> <20020926221916.GT983@eli.net> <009e01c265ae$5bd49ad0$1a01a8c0@ot.onsitetech.com> <20020927000732.GU983@eli.net> <20020926211031.A17381@gblx.net> <20020927053000.GA28192@eli.net> <20020926225953.C17381@gblx.net> Message-ID: <20020927152807.GE28192@eli.net> On (Thu, Sep 26 22:59), Austin Schutz wrote: > On Thu, Sep 26, 2002 at 10:30:00PM -0700, Joshua Keroes wrote: > > On (Thu, Sep 26 21:10), Austin Schutz wrote: > > > On Thu, Sep 26, 2002 at 05:07:32PM -0700, Joshua Keroes wrote: > > Sounds like a binary tree. Simpler. > > > I'm sure if you did bitwise stuff in C using a good sort > > > method you could get a faster result. > > > > Now, you're getting hot! > > > Are you doing the actual code in perl? C seems like it's a lot faster > for iterative algorithms. Not sure why that is. I'm using one CPAN module which happens to be written in C. It may not be necessary, but I always get confused playing with the related builtin funcs. -Joshua From cp at onsitetech.com Fri Sep 27 10:32:22 2002 From: cp at onsitetech.com (Curtis Poe) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal References: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> <20020927062220.B13932@patch.com> Message-ID: <001301c2663b$19bfd0a0$1a01a8c0@ot.onsitetech.com> To everyone interested in an informal discussion group regarding good programming practices: the book's not necessary. Sure, reading good information on the subject can be a benefit and it's always great to have as a long-term resource, but it's still quite possible for me to rap your knuckles about your variable variable names without you having a book at your side :) (variable variable names was not a typo) -- Cheers, Curtis Poe Senior Programmer ONSITE! Technology, Inc. www.onsitetech.com 503-233-1418 Taking e-Business and Internet Technology To The Extreme! From jgoalby at hotmail.com Fri Sep 27 11:54:51 2002 From: jgoalby at hotmail.com (John Goalby) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal Message-ID: I too am interested. It really is an excellent book. I also know of at least one other person that would be interested. John. >I'm interested. Though I need to go get a copy of the book. >Sorry I can't contribute by necessarily being smarter than anyone >else. I'll try though. :) > >On Thu, Sep 26, 2002 at 06:54:32PM -0500, Raymaker, Dora typed: > > were inspired recently by posts here and elsewhere to go pick up copies >of > > _The Pragmatic Programmer_. We're thinking of getting together to >discuss > > the book and good programming practices periodically. However, the > > discussion would be more exciting if there were more people involved >than > > just the three of us, as well as, in the words of Mark (TGI) "it would >be > > great to have someone smarter than us there." :-) > >-- > Michael Rasmussen aka mikeraz > Be appropriate && Follow your curiosity > http://www.patch.com/ http://wiki.patch.com/ > http://blog.patch.com/sandbox/ > > The fortune cookie says: >"Language shapes the way we think, and determines what we can think about." >-- B. L. Whorf >_______________________________________________ >Pdx-pm-list mailing list >Pdx-pm-list@mail.pm.org >http://mail.pm.org/mailman/listinfo/pdx-pm-list _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx From lemming at attbi.com Fri Sep 27 12:42:55 2002 From: lemming at attbi.com (lemming@attbi.com) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal Message-ID: <20020927174256.MJCH5955.rwcrmhc51.attbi.com@rwcrwbc70> Count me in as another interested party that hasn't yet read the book. (Or if I have, it's been a while...) -Mark From dora.raymaker at xo.com Fri Sep 27 13:50:23 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] zoinks! programming technique meeting Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8C0@orportexch1.internal.nextlink.net> Wow, y'all are as crazy as me; I didn't really expect so many people to be interested! :-) So this is what I'm thinking: 1. we meet once a month at 6pm maybe? 2. I'm gonna ask my boss about the possibility of using a conference room @ my work which is on the corner of Broadway & Washington downtown... 3. The chapters in _Pragmatic Programmer_ are short; we could conceivably read one out loud (hence no need to buy the book) and use it as a discussion point for the rest of the time. There are fun exercises at the end of each chapter to further stimulate discussion and work on technique. what do you think? -D. From steven_brown at hp.com Fri Sep 27 14:16:53 2002 From: steven_brown at hp.com (BROWN,STEVEN K (HP-Vancouver,ex1)) Date: Mon Aug 2 21:34:14 2004 Subject: FW: [Pdx-pm] zoinks! programming technique meeting Message-ID: <77261E830267D411BD4D00902740AC250B522E23@xvan01.vcd.hp.com> I would like to be there. When is the first one? ========================================= __ ?????????? / /\???? ????????? / /? \?????Steven K Brown ? __???? /_/ /\ \????Firmware Technician ?/_/\? __\ \ \_\ \ 04MS08A ?\ \ \/ /\\ \ \/ /???18110 SE 34th Street ? \ \ \/? \\ \? /?? ?Vancouver, WA 98683 ?? \ \? /\ \\ \ \????TN: (360) 212-4432 \ \ \ \ \\ \ \???steven.brown@hp.com ???? \ \ \_\/ \ \ \ ????? \ \ \??? \_\/? ?????? \_\/???????? ???????????????????? ? i? n? v? e? n? t ========================================= https://ecardfile.com/id/steven_brown -----Original Message----- From: Raymaker, Dora [mailto:dora.raymaker@xo.com] Sent: Friday, September 27, 2002 11:50 AM To: 'pdx-pm-list@pm.org' Subject: [Pdx-pm] zoinks! programming technique meeting Wow, y'all are as crazy as me; I didn't really expect so many people to be interested! :-) So this is what I'm thinking: 1. we meet once a month at 6pm maybe? 2. I'm gonna ask my boss about the possibility of using a conference room @ my work which is on the corner of Broadway & Washington downtown... 3. The chapters in _Pragmatic Programmer_ are short; we could conceivably read one out loud (hence no need to buy the book) and use it as a discussion point for the rest of the time. There are fun exercises at the end of each chapter to further stimulate discussion and work on technique. what do you think? -D. _______________________________________________ Pdx-pm-list mailing list Pdx-pm-list@mail.pm.org http://mail.pm.org/mailman/listinfo/pdx-pm-list From jon at manymoons.net Fri Sep 27 15:20:03 2002 From: jon at manymoons.net (Jon Jacob) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Bug in Net::SSLeay? Message-ID: <1033158003.1619.38.camel@lana.manymoons.net> I have posted this to Perl Monks, but I thought I would try here as well as I am pretty desperate. The following code gives me a segfault. I suspect that it is from Net::SSL.pm, and it definitely is related to the https url bec if I use a http it works fine. Any help is greatly appreciated. Here is the code: use lib qw(/usr/local/lib/perl5/site_perl/5.6.1/ /usr/local/lib/perl5/site_perl/5.6.1/i686-linux); use LWP; use HTTP::Cookies; my $browser = LWP::UserAgent->new; my $cookie_locale = "cookies.lwp"; $browser->agent("Jonzilla/666"); $browser->cookie_jar( HTTP::Cookies->new( 'file' => $cookie_locale, 'autosave' => 1, )); &sign_in; sub sign_in { my $result; my $gb_num = 10; my $email = "xxxxxxx"; my $password = "xxxxxxxx"; my $url ="https://www.amazon.com/exec/obidos/flex-sign-in-done/103-9886259-8125402"; my $response = $browser->post( $url, [ 'email' => "$email", 'action' => 'sign-in checked', 'next-page' =>'recs/instant-recs-register-secure.html', 'password' => $password, ], ); my $request = new HTTP::Request 'GET' => $url; $result = $browser->request($request); if ($result->is_success) { print $result->as_string; } else { print "Error: " . $result->status_line . "\n"; } } From mark_swayne at mac.com Fri Sep 27 15:27:12 2002 From: mark_swayne at mac.com (mark_swayne@mac.com) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] zoinks! programming technique meeting In-Reply-To: <45EDA71CFF25D411A2E400508B6FC52A0A53D8C0@orportexch1.internal.nextlink.net> Message-ID: <814D840B-D257-11D6-B90F-000A2792192A@mac.com> Dora, You are the programmer's Oprah! So I see a couple of approaches being discussed here: 1. Traditional reading group: Everybody buys, borrows the book and reads bits of it and then shows up to talk about it. 2. Read aloud reading group: Many copies of book around, best if you can read ahead of time, but we will read and discuss bits in class. 3. General programming geekout with time for discussions on techniques, code reviews, etc. Something like Programmers Anonymous. Hi, my name's Mark, and I'm a programmer. "Hi, Mark!" It started with Logo when I was just a child, I spent hours drawing stuff with the turtle on my Apple II, then I found out that I could use Logo to make sounds.... Advantages and disadvantages to each suggestion: 1. + tight focus, people have time to think about the material beforehand, improved potential for deeper discussions - people don't do their homework, how many will show up without doing the reading, and yet talk on and on about it? - Expensive, got to buy lots of books. 2. - less time efficient than 1. Time spent reading insteading of discussing. + at least everone will be exposed to the material. 3. + code reviews would be nice - If we focus on Perl only, it will be redundant with PM - No obvious focus for any given week. We run into the problem of digging up a presenter each week. Other ideas: How many people is a reasonable group. My seminar experience is that smaller groups are better. Perhaps we will want to split up into smaller groups for discussion and then return to discuss highlights of the small group discussions. Do we want to invite folks from other groups, like CHIFOO or the local LUG? A little diversity might help us keep from focusing too tightly on Perl, and keep a broader view on the field of *programming*. The guy at Powell's Tech seemed interested in the idea of a geek reading group (Dora and I were discussing this idea in line while we bought our copies of TPP). Perhaps we could meet there. This would work well if we plan on buying lots of copies of some book every couple months. I bet we could even arrange a discount for group members. Cheers, --Mark, aka TGI On Friday, September 27, 2002, at 11:50 AM, Raymaker, Dora wrote: > Wow, y'all are as crazy as me; I didn't really expect so many people to > be > interested! :-) > > So this is what I'm thinking: > > 1. we meet once a month at 6pm maybe? > > 2. I'm gonna ask my boss about the possibility of using a conference > room @ > my work which is on the corner of Broadway & Washington downtown... > > 3. The chapters in _Pragmatic Programmer_ are short; we could > conceivably > read one out loud (hence no need to buy the book) and use it as a > discussion > point for the rest of the time. There are fun exercises at the end of > each > chapter to further stimulate discussion and work on technique. > > what do you think? > > -D. > > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list From dora.raymaker at xo.com Fri Sep 27 16:03:21 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] programming technique meeting clarification Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8CB@orportexch1.internal.nextlink.net> Mark>You are the programmer's Oprah! (I think I'm scared of that...) Okay, to stop being so obtuse, this is what I'm actually thinking: Each meeting will have the following structure: 1. Programming technique TOPIC - provided at first by the sections in the book 2. Reading of the relevant topic section - so "doing homework" isn't required, and classist issues are avoided 3. Moderated discussion - you wanna say something about the topic, raise your hand, get yr name on a list, and argue it all out. What is good about this technique? What is bad? When should it be used? Have you used it? What would you do different? stuff like that. I've run moderated discussions using this format for a similar group of individualistic, opinionated folks, and it works really well. 4. Practical exercises - do the challenge in the book, or have some code you brought in to illustrate a good or bad technique, possibly do code reviews which consist of: What is elegant about this piece of code? What is yucky? And WHY for both answers. I would like this group to be NO MORE THAN 20 PEOPLE. I would like to talk about programming in general, but when it comes down to practical exercises focus mainly on Perl (else my head may explode any you'll all get covered in goo). The topic of programming theory & practice is infinite, so I really want to keep these constraints on it. I've somewhat hesitated to lay it out like this for fear of sounding fascist :-) If someone else wants to organize a large reading group at Powell's, go for it (& I'll probably show up!), but that's not quite was I was after. After hearing this rant, anyone still interested? ;-) -D. (p.s. if we decide to continue w/this, we may want to start another elist) From perl-pm at joshheumann.com Fri Sep 27 16:38:53 2002 From: perl-pm at joshheumann.com (=?iso-8859-1?Q?Josh_Heumann?=) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] =?iso-8859-1?Q?Re:_[Pdx-pm]_zoinks!_programming_technique_meeting?= In-Reply-To: <814D840B-D257-11D6-B90F-000A2792192A@mac.com> References: <814D840B-D257-11D6-B90F-000A2792192A@mac.com> Message-ID: <33134.66.167.52.194.1033162733.squirrel@www.joshheumann.com> > Dora, > You are the programmer's Oprah! I like this concept. Dora, I don't know you, but you should do this. Really. I'm good with all of the approaches, I just want to be involved. I'm interested in the idea of getting together with a bunch of people who are smarter than me and talking and learning stuff together. __________________________________ Goodbye to Kathy (or, A Weekend In Bend) photos - www.joshheumann.com From MartinS at tntsoftware.com Fri Sep 27 15:15:58 2002 From: MartinS at tntsoftware.com (Martin Schneider) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] zoinks! programming technique meeting Message-ID: Sounds great. Time permitting, I could use much help in this area. If you are interested in a headcount, please add 1. -- Thank you, Martin Schneider -----Original Message----- From: Raymaker, Dora [mailto:dora.raymaker@xo.com] Sent: Friday, September 27, 2002 11:50 AM To: 'pdx-pm-list@pm.org' Subject: [Pdx-pm] zoinks! programming technique meeting Wow, y'all are as crazy as me; I didn't really expect so many people to be interested! :-) So this is what I'm thinking: 1. we meet once a month at 6pm maybe? 2. I'm gonna ask my boss about the possibility of using a conference room @ my work which is on the corner of Broadway & Washington downtown... 3. The chapters in _Pragmatic Programmer_ are short; we could conceivably read one out loud (hence no need to buy the book) and use it as a discussion point for the rest of the time. There are fun exercises at the end of each chapter to further stimulate discussion and work on technique. what do you think? -D. _______________________________________________ Pdx-pm-list mailing list Pdx-pm-list@mail.pm.org http://mail.pm.org/mailman/listinfo/pdx-pm-list From gabrielle.roth at xo.com Fri Sep 27 16:53:41 2002 From: gabrielle.roth at xo.com (Roth, Gabrielle) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] programming technique meeting clarification Message-ID: <45EDA71CFF25D411A2E400508B6FC52A046190C3@orportexch1.internal.nextlink.net> >4. Practical exercises - do the challenge in the book, or have >some code you >brought in to illustrate a good or bad technique, possibly do >code reviews >which consist of: What is elegant about this piece of code? >What is yucky? >And WHY for both answers. I need code reviews badly. Especially the elegant vs yucky part. >If someone else wants to organize a large reading group at >Powell's, go for >it (& I'll probably show up!), but that's not quite was I was >after. After >hearing this rant, anyone still interested? ;-) You just described exactly what I'd assumed you were talking about yesterday, so count me in. gabrielle From dora.raymaker at xo.com Fri Sep 27 16:54:31 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] FW: programming technique meeting clarification Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8CE@orportexch1.internal.nextlink.net> Mark>You are the programmer's Oprah! (I think I'm scared of that...) Okay, to stop being so obtuse, this is what I'm actually thinking: Each meeting will have the following structure: 1. Programming technique TOPIC - provided at first by the sections in the book 2. Reading of the relevant topic section - so "doing homework" isn't required, and classist issues are avoided 3. Moderated discussion - you wanna say something about the topic, raise your hand, get yr name on a list, and argue it all out. What is good about this technique? What is bad? When should it be used? Have you used it? What would you do different? stuff like that. I've run moderated discussions using this format for a similar group of individualistic, opinionated folks, and it works really well. 4. Practical exercises - do the challenge in the book, or have some code you brought in to illustrate a good or bad technique, possibly do code reviews which consist of: What is elegant about this piece of code? What is yucky? And WHY for both answers. I would like this group to be NO MORE THAN 20 PEOPLE. I would like to talk about programming in general, but when it comes down to practical exercises focus mainly on Perl (else my head may explode any you'll all get covered in goo). The topic of programming theory & practice is infinite, so I really want to keep these constraints on it. I've somewhat hesitated to lay it out like this for fear of sounding fascist :-) If someone else wants to organize a large reading group at Powell's, go for it (& I'll probably show up!), but that's not quite was I was after. After hearing this rant, anyone still interested? ;-) -D. (p.s. if we decide to continue w/this, we may want to start another elist) From bprew at logiccloud.com Fri Sep 27 17:26:49 2002 From: bprew at logiccloud.com (Benjamin Prew) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal In-Reply-To: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> References: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> Message-ID: <1033165610.1223.3.camel@laptop> I hate to be a "me too" poster, but I would be up for it as well. In addition, the lovely downtown location sounds like a real winner :). On Thu, 2002-09-26 at 16:54, Raymaker, Dora wrote: > general? Lovely down-town location? nudge, nudge, wink, wink??? > -- Ben http://www.logiccloud.com bprew (at) logiccloud.com From jgoalby at hotmail.com Fri Sep 27 17:32:07 2002 From: jgoalby at hotmail.com (John Goalby) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] programming technique meeting clarification Message-ID: All I would like to suggest another possibility: That one person takes the current chapter/topic and creates a presentation. I would volunteer to start this if people like the idea. Not only does this disseminate information but also gives people experience presenting information. I would expect an open and interactive presentation, so nothing too formal. Thoughts? John. >Mark>You are the programmer's Oprah! >(I think I'm scared of that...) > >Okay, to stop being so obtuse, this is what I'm actually thinking: > >Each meeting will have the following structure: > >1. Programming technique TOPIC - provided at first by the sections in the >book > >2. Reading of the relevant topic section - so "doing homework" isn't >required, and classist issues are avoided > >3. Moderated discussion - you wanna say something about the topic, raise >your hand, get yr name on a list, and argue it all out. What is good about >this technique? What is bad? When should it be used? Have you used it? >What would you do different? stuff like that. I've run moderated >discussions using this format for a similar group of individualistic, >opinionated folks, and it works really well. > >4. Practical exercises - do the challenge in the book, or have some code >you >brought in to illustrate a good or bad technique, possibly do code reviews >which consist of: What is elegant about this piece of code? What is >yucky? >And WHY for both answers. > >I would like this group to be NO MORE THAN 20 PEOPLE. I would like to talk >about programming in general, but when it comes down to practical exercises >focus mainly on Perl (else my head may explode any you'll all get covered >in >goo). > >The topic of programming theory & practice is infinite, so I really want to >keep these constraints on it. I've somewhat hesitated to lay it out like >this for fear of sounding fascist :-) > >If someone else wants to organize a large reading group at Powell's, go for >it (& I'll probably show up!), but that's not quite was I was after. After >hearing this rant, anyone still interested? ;-) > >-D. >(p.s. if we decide to continue w/this, we may want to start another elist) >_______________________________________________ >Pdx-pm-list mailing list >Pdx-pm-list@mail.pm.org >http://mail.pm.org/mailman/listinfo/pdx-pm-list _________________________________________________________________ Join the world’s largest e-mail service with MSN Hotmail. http://www.hotmail.com From dora.raymaker at xo.com Fri Sep 27 17:35:49 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:14 2004 Subject: FW: [Pdx-pm] programming technique meeting clarification Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8D2@orportexch1.internal.nextlink.net> John>That one person takes the current chapter/topic and creates a presentation. John>I would volunteer to start this if people like the idea. Not only does this John>disseminate information but also gives people experience presenting John>information. John>I would expect an open and interactive presentation, so nothing too formal. This could work too. We could try both ways and see which we like best. My main concern is keeping the topic very focused, and providing non-intimidating space & impetus for discussion and dialogue within that topic. -D. From merlyn at stonehenge.com Fri Sep 27 18:04:51 2002 From: merlyn at stonehenge.com (Randal L. Schwartz) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] programming technique meeting clarification In-Reply-To: <45EDA71CFF25D411A2E400508B6FC52A046190C3@orportexch1.internal.nextlink.net> References: <45EDA71CFF25D411A2E400508B6FC52A046190C3@orportexch1.internal.nextlink.net> Message-ID: <868z1ndofg.fsf@red.stonehenge.com> >>>>> "Roth," == Roth, Gabrielle writes: Roth,> I need code reviews badly. Especially the elegant vs yucky part. And if it's Perl, I'm happy to do them. -- 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 gabrielle.roth at xo.com Fri Sep 27 18:24:00 2002 From: gabrielle.roth at xo.com (Roth, Gabrielle) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] programming technique meeting clarification Message-ID: <45EDA71CFF25D411A2E400508B6FC52A046190C8@orportexch1.internal.nextlink.net> >>>>>> "Roth," == Roth, Gabrielle writes: > >Roth,> I need code reviews badly. Especially the elegant vs >yucky part. > >And if it's Perl, I'm happy to do them. Is there a sliding pay scale? eg, the harder you laugh, the less it costs? ;) -gabrielle "It's been lovely, but I must scream now." From jkeroes at eli.net Fri Sep 27 18:53:02 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] [SOLUTION] Telephone number sorting In-Reply-To: References: <20020925200408.GE983@eli.net> Message-ID: <20020927235302.GM28192@eli.net> > Q: What's the fastest, most space-efficient way to sort all > of Portland's 503 phone numbers? A: Use a bit vector. To allocate enough space for all 10,000,000 numbers, allocate 10,000,000 bits. [1] To signify that a telephone number is in use, turn the bit on. e.g. to indicate that the number 411 is in use, turn the 411th bit on. e.g. To indicate that telephone number 555-1234 is in use, turn the 5,551,234th bit on. This makes sorting very easy: we don't *have* to sort anything, we just iterate through all of the bits, printing the index if the bit is turned on. I implemented this with Bit::Vector, a C-Perl hybrid module. You can play with the code, I'll put it up for grabs at http://ua.sez.hellyeah.org/perl/ -Joshua [1] Actually, the computer will take a little bit more, to make it align with the computer's word-byte boundary. From sparksc at hlyw.com Fri Sep 27 18:47:31 2002 From: sparksc at hlyw.com (Chris Sparks) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] programming technique meeting clarification Message-ID: >>> Randal L. Schwartz 09/27/02 04:04PM >>> >>>>> "Roth," == Roth, Gabrielle writes: >>>>Roth,> I need code reviews badly. Especially the elegant vs yucky part. >>And if it's Perl, I'm happy to do them. I'm too scared to have my code review, knowing that it would not pass even a review by my self. :( Sparky From dadinportland at yahoo.com Fri Sep 27 18:52:20 2002 From: dadinportland at yahoo.com (Garrett Moffitt) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] zoinks! programming technique meeting In-Reply-To: <45EDA71CFF25D411A2E400508B6FC52A0A53D8C0@orportexch1.internal.nextlink.net> Message-ID: <20020927235220.43122.qmail@web14703.mail.yahoo.com> Time permitting, I'd show up. I'd even do my best to re-arrange me schedule to be there. --- "Raymaker, Dora" wrote: > Wow, y'all are as crazy as me; I didn't really > expect so many people to be > interested! :-) > > So this is what I'm thinking: > > 1. we meet once a month at 6pm maybe? > > 2. I'm gonna ask my boss about the possibility of > using a conference room @ > my work which is on the corner of Broadway & > Washington downtown... > > 3. The chapters in _Pragmatic Programmer_ are short; > we could conceivably > read one out loud (hence no need to buy the book) > and use it as a discussion > point for the rest of the time. There are fun > exercises at the end of each > chapter to further stimulate discussion and work on > technique. > > what do you think? > > -D. > > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list __________________________________________________ Do you Yahoo!? New DSL Internet Access from SBC & Yahoo! http://sbc.yahoo.com From mikeraz at PATCH.COM Fri Sep 27 19:38:29 2002 From: mikeraz at PATCH.COM (mikeraz@PATCH.COM) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] [SOLUTION] Telephone number sorting In-Reply-To: <20020927235302.GM28192@eli.net>; from jkeroes@eli.net on Fri, Sep 27, 2002 at 04:53:02PM -0700 References: <20020925200408.GE983@eli.net> <20020927235302.GM28192@eli.net> Message-ID: <20020927173829.A19244@patch.com> On Fri, Sep 27, 2002 at 04:53:02PM -0700, Joshua Keroes typed: > > Q: What's the fastest, most space-efficient way to sort all > > of Portland's 503 phone numbers? > > A: Use a bit vector. To allocate enough space for all > 10,000,000 numbers, allocate 10,000,000 bits. [1] > > To signify that a telephone number is in use, turn the bit on. > > e.g. to indicate that the number 411 is in use, turn the 411th bit on. Did I miss the begining of this thread or is that solution unrelated to the problem description? -- Michael Rasmussen aka mikeraz Be appropriate && Follow your curiosity http://www.patch.com/ http://wiki.patch.com/ http://blog.patch.com/sandbox/ The fortune cookie says: Q: How did you get into artificial intelligence? A: Seemed logical -- I didn't have any real intelligence. From jkeroes at eli.net Fri Sep 27 20:02:57 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] [SOLUTION] Telephone number sorting In-Reply-To: <20020927235302.GM28192@eli.net> References: <20020925200408.GE983@eli.net> <20020927235302.GM28192@eli.net> Message-ID: <20020928010257.GP28192@eli.net> It's uploaded now: http://ua.sez.hellyeah.org/perl/sort_phone_numbers.pl -J From jkeroes at eli.net Fri Sep 27 20:15:23 2002 From: jkeroes at eli.net (Joshua Keroes) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] [SOLUTION] Telephone number sorting In-Reply-To: <20020927173829.A19244@patch.com> References: <20020925200408.GE983@eli.net> <20020927235302.GM28192@eli.net> <20020927173829.A19244@patch.com> Message-ID: <20020928011523.GQ28192@eli.net> On (Fri, Sep 27 17:38), mikeraz@PATCH.COM wrote: > On Fri, Sep 27, 2002 at 04:53:02PM -0700, Joshua Keroes typed: > > > Q: What's the fastest, most space-efficient way to sort all > > > of Portland's 503 phone numbers? > > > > A: Use a bit vector. To allocate enough space for all > > 10,000,000 numbers, allocate 10,000,000 bits. [1] > > > > To signify that a telephone number is in use, turn the bit on. > > > > e.g. to indicate that the number 411 is in use, turn the 411th bit on. > > Did I miss the begining of this thread or is that solution > unrelated to the problem description? Must be the latter. The Q: at the top is from the original email. -J From tmac at easystreet.com Fri Sep 27 20:26:47 2002 From: tmac at easystreet.com (Tim McIntyre) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] reading/good programming group proposal References: <45EDA71CFF25D411A2E400508B6FC52A0A53D8B6@orportexch1.internal.nextlink.net> Message-ID: <00a201c2668e$1d233130$6501a8c0@tim> This is my first posting so hello all. Sounds like a fantastic idea. I have never read the book or any book like it but I'm always ready to throw in my 2 cents. I hope I will be able to make it. I have been trying to make it to the pm meetings for about 6 months now but have always had something else going on. Won't be much to do pretty soon here when it starts getting dark before 6 though. I also may be able to provide an alternative lovely downtown (eastside) location. Near Onsite. It would only be comfy for a dozen or so though. Can I bring beer ??? Best, Tim McIntyre ----- Original Message ----- From: "Raymaker, Dora" To: Sent: Thursday, September 26, 2002 4:54 PM Subject: [Pdx-pm] reading/good programming group proposal > There are three of us on this elist who all work at the same company and > were inspired recently by posts here and elsewhere to go pick up copies of > _The Pragmatic Programmer_. We're thinking of getting together to discuss > the book and good programming practices periodically. However, the > discussion would be more exciting if there were more people involved than > just the three of us, as well as, in the words of Mark (TGI) "it would be > great to have someone smarter than us there." :-) > > So, just shooting this out to see if there's interest... anyone wanna do an > informal, maybe every-other-week-type-thing, get-together to discuss _The > Pragmatic Programmer_ in particular and good programming practices in > general? Lovely down-town location? nudge, nudge, wink, wink??? > > -D. > > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list@mail.pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > From perl-pm at joshheumann.com Sun Sep 29 21:43:45 2002 From: perl-pm at joshheumann.com (=?iso-8859-1?Q?Josh_Heumann?=) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] =?iso-8859-1?Q?Reading_group?= In-Reply-To: <00a201c2668e$1d233130$6501a8c0@tim> References: <00a201c2668e$1d233130$6501a8c0@tim> Message-ID: <1368.64.105.43.253.1033353825.squirrel@www.joshheumann.com> >> There are three of us on this elist who all work at the same company >> and were inspired recently by posts here and elsewhere to go pick up >> copies of _The Pragmatic Programmer_. We're thinking of getting >> together to discuss the book and good programming practices >> periodically. However, the discussion would be more exciting if there >> were more people involved than just the three of us, as well as, in >> the words of Mark (TGI) "it would be great to have someone smarter >> than us there." :-) >> >> So, just shooting this out to see if there's interest... anyone wanna >> do > an >> informal, maybe every-other-week-type-thing, get-together to discuss >> _The Pragmatic Programmer_ in particular and good programming >> practices in general? Lovely down-town location? nudge, nudge, wink, >> wink??? Maybe the answer to this is floating around but hasn't gotten to me in that way that some emails tend to come in not the right order, but: What was the final decision on the meeting? Just to clarify, when/where/do we have to have the first chapter read before the meeting? Josh __________________________________ Goodbye to Kathy (or, A Weekend In Bend) photos - www.joshheumann.com From jgoalby at hotmail.com Sun Sep 29 22:31:18 2002 From: jgoalby at hotmail.com (John Goalby) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Reading group Message-ID: > >> There are three of us on this elist who all work at the same company > >> and were inspired recently by posts here and elsewhere to go pick up > >> copies of _The Pragmatic Programmer_. We're thinking of getting > >> together to discuss the book and good programming practices > >> periodically. However, the discussion would be more exciting if there > >> were more people involved than just the three of us, as well as, in > >> the words of Mark (TGI) "it would be great to have someone smarter > >> than us there." :-) > >> > >> So, just shooting this out to see if there's interest... anyone wanna > >> do > > an > >> informal, maybe every-other-week-type-thing, get-together to discuss > >> _The Pragmatic Programmer_ in particular and good programming > >> practices in general? Lovely down-town location? nudge, nudge, wink, > >> wink??? > >Maybe the answer to this is floating around but hasn't gotten to me in that >way that some emails tend to come in not the right order, but: What was the >final decision on the meeting? Just to clarify, when/where/do we have to >have the first chapter read before the meeting? > >Josh >__________________________________ >Goodbye to Kathy (or, A Weekend In >Bend) photos - www.joshheumann.com I don't think anything was decided so far. I did email the authors of the book and got a response from Andy. He said they have a page on their wiki for something like this: http://www.pragmaticprogrammer.com/cgi-local/pragprog?PragmaticPractitioners I added a section to the wiki for the portland group. This will give us some space. Everyone should feel free to add to the portland page. They also have a mailing list (that is shared with other pragmatics in other areas which I think is good) but I have tried twice to subscribe with no response. Not sure if its automatic or not. Once we have our own list we can move to it and stop being off topic ;-) John. _________________________________________________________________ Chat with friends online, try MSN Messenger: http://messenger.msn.com From dora.raymaker at xo.com Mon Sep 30 02:53:51 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:14 2004 Subject: [Pdx-pm] Reading group Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8D8@orportexch1.internal.nextlink.net> Josh>Maybe the answer to this is floating around but hasn't gotten to me in that Josh>way that some emails tend to come in not the right order, but: What was the Josh>final decision on the meeting? Just to clarify, when/where/do we have to Josh>have the first chapter read before the meeting? Hi Josh, all: I'm waiting (hopefully monday am) to hear back from my work people about use of the conference room. It's got a computer & overhead projector, so I hope they say yes. The date/place to be decided based on what happens with the room & whether I need to look elsewhere for a space. Unfortunately, if we use my company's conference room, you cannot bring beer :-) Time will probably be 6 or 6:30. You won't need to read the first chaper before the meeting. We'll read the first section or so out loud, discuss, do the exercises, see if we like that format for future meetings. There's been an offer to do it more presentation-style than forum-style too, so we may try that instead either the first or second time & see which approach we like best. Would someone volunteer to set up an elist so we can move this discussion off pdx-pm? That'd be really cool; I've too many other things going on right now. (like that I'm supposed to be doing paying-job work at this very moment for a software relase on monday, and have managed to procrastinate all the way till 1am on Sunday, blah...) -Dora From dora.raymaker at xo.com Mon Sep 30 16:17:14 2002 From: dora.raymaker at xo.com (Raymaker, Dora) Date: Mon Aug 2 21:34:14 2004 Subject: FW: [Pdx-pm] Reading group Message-ID: <45EDA71CFF25D411A2E400508B6FC52A0A53D8E1@orportexch1.internal.nextlink.net> -----Original Message----- From: Raymaker, Dora Sent: Monday, September 30, 2002 12:54 AM To: pdx-pm-list@pm.org Subject: RE: [Pdx-pm] Reading group Josh>Maybe the answer to this is floating around but hasn't gotten to me in that Josh>way that some emails tend to come in not the right order, but: What was the Josh>final decision on the meeting? Just to clarify, when/where/do we have to Josh>have the first chapter read before the meeting? Hi Josh, all: I'm waiting (hopefully monday am) to hear back from my work people about use of the conference room. It's got a computer & overhead projector, so I hope they say yes. The date/place to be decided based on what happens with the room & whether I need to look elsewhere for a space. Unfortunately, if we use my company's conference room, you cannot bring beer :-) Time will probably be 6 or 6:30. You won't need to read the first chaper before the meeting. We'll read the first section or so out loud, discuss, do the exercises, see if we like that format for future meetings. There's been an offer to do it more presentation-style than forum-style too, so we may try that instead either the first or second time & see which approach we like best. Would someone volunteer to set up an elist so we can move this discussion off pdx-pm? That'd be really cool; I've too many other things going on right now. (like that I'm supposed to be doing paying-job work at this very moment for a software relase on monday, and have managed to procrastinate all the way till 1am on Sunday, blah...) -Dora