From twists at gmail.com Sun Feb 1 10:41:10 2009 From: twists at gmail.com (Joshua ben Jore) Date: Sun, 1 Feb 2009 10:41:10 -0800 Subject: SPUG: version numbers and MakeMaker In-Reply-To: <20090130225849.GA8173@greengrey.org> References: <20090130225849.GA8173@greengrey.org> Message-ID: On Fri, Jan 30, 2009 at 2:58 PM, Ryan Corder wrote: > On Fri, Jan 30, 2009 at 02:01:37PM -0800, Joshua ben Jore wrote: > | > VERSION => '0.1.2', > > [snip] > > | FWIW, you never want to use multi-dot version numbers in perl. It's > | possible and version.pm goes to some effort to heal the past but > | there's no point in re-inventing badness. > > use version; our $VERSION = qv("0.1.2"); > > On one line, just like that -- this is an "Extended Version" as documented > in 'perldoc version'. The documentation does state neither Module::Build nor > ExtUtils::MakeMaker completely handles version objects natively, then again I > use Module::Install as my build-system. > > Damian Conway goes into detail on why you need to do it this way and why it > needs to be on one line in chapter 17 of /Perl Best Practices/. I just read > the chapter last night, otherwise I wouldn't be replying to this thread :) It's ok. Just be aware that many things in Perl Best Practices are not best practices. It's a good place to start from but you'll need to evaluate whether its really a good idea or not. With mutli-dot versions, the simplest problem is how to sort the these couple versions 1.10.0, 1.2.0. In perl, the best practice really is to just assign a very simple single dotted string to $VERSION and to from the very beginning of your versions, insist on a set number of digits in each part. If you once wrote '0.01', then you will always write in x.xx form and never drop "redundant" zeros off the end. $VERSION = '0.01'; $VERSION = '1.10'; $VERSION = '2.00'; $VERSION = '2.04'; but not: $VERSION = '0.01'; $VERSION = '1.1'; $VERSION = '2'; $VERSION = '2.04'; Josh From kirbyk+spug at gmail.com Thu Feb 5 16:05:12 2009 From: kirbyk+spug at gmail.com (Kirby Krueger (SPUG)) Date: Thu, 5 Feb 2009 16:05:12 -0800 Subject: SPUG: Perl, the web, and receipt printers? Message-ID: <9da725910902051605m63d2fc3dj8028fccfbf287bbc@mail.gmail.com> Does anyone have any experience with receipt printers? And in particular using them from a web application? My web foo is utterly failing me. Everyone wants to sell you a complete Point of Sale System. I found Epson's documentation, but it was nearly a thousand pages and was ... not as clear as one would expect a bloated, thousand page document to be. What I really want to know is: * Are these just printers with a very strange printer size? And as such, I can just very carefully format a web page and tell javascript to load the window in the background, print, and close it, and call it good? OR * Are these strange devices that require some sort of specialized software or middleware? And if so, are there any that someone's written a Perl module to interface with? And if anyone has experience with a particular model, that'd be interesting (to me) too. (Well, not really, I can't imagine a circumstance where receipt printers would actually be interesting.) Sorry to go slightly astray from basic perl questions. Sometimes in life, non-technical people seem to get the idea that the person who knows some technical thing is instantly an expert on all technical things and ask questions that you don't even have the basic framework of understanding to answer, and they need to know how you'll get it done, like, now. :/ I'm pretty sure the answer is "It's easy, just get one and I'll have it working in half a day" or "Forget it, it'll take a month of development time to get it working", but I can't for the life of me figure out which one of those it is. Thanks for any help! -- Kirby -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill at celestial.com Thu Feb 5 17:07:17 2009 From: bill at celestial.com (Bill Campbell) Date: Thu, 5 Feb 2009 17:07:17 -0800 Subject: SPUG: Perl, the web, and receipt printers? In-Reply-To: <9da725910902051605m63d2fc3dj8028fccfbf287bbc@mail.gmail.com> References: <9da725910902051605m63d2fc3dj8028fccfbf287bbc@mail.gmail.com> Message-ID: <20090206010717.GA11756@ayn.mi.celestial.com> On Thu, Feb 05, 2009, Kirby Krueger (SPUG) wrote: >Does anyone have any experience with receipt printers? And in particular >using them from a web application? > >My web foo is utterly failing me. Everyone wants to sell you a complete >Point of Sale System. I found Epson's documentation, but it was nearly a >thousand pages and was ... not as clear as one would expect a bloated, >thousand page document to be. We have always used Okidata matrix printers in our POS applications which have been very reliable, and haven't changed much in years. Pitney Bowes makes some interesting printers for printing on brochures with postal bar codes, and take straight ascii input. I have not used any of the little thermal (or whatever) printers that do the small receipts such as one gets from a gas pump. Anything that takes straight ascii text on a normal interface should work without much difficulty. Bill -- INTERNET: bill at celestial.com Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way Voice: (206) 236-1676 Mercer Island, WA 98040-0820 Fax: (206) 232-9186 To say that UNIX is doomed is pretty rabid, OS/2 will certainly play a role, but you don't build a hundred million instructions per second multiprocessor micro and then try to run it on OS/2. I mean, get serious. -- William Zachmann, International Data Corp From ryanc at greengrey.org Mon Feb 9 14:25:56 2009 From: ryanc at greengrey.org (Ryan Corder) Date: Mon, 9 Feb 2009 14:25:56 -0800 Subject: SPUG: wiki defaced? Message-ID: <20090209222556.GA29733@greengrey.org> Seems a plethora of useless links has appeared: http://wiki.seattleperl.org/index.php/Main_Page -- Ryan Corder || () ASCII ribbon campaign || /\ against HTML email http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x1CB59D69 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From mail.spammagnet at gmail.com Mon Feb 9 14:59:16 2009 From: mail.spammagnet at gmail.com (BenRifkah Bergsten-Buret) Date: Mon, 9 Feb 2009 14:59:16 -0800 Subject: SPUG: wiki defaced? In-Reply-To: <20090209222556.GA29733@greengrey.org> References: <20090209222556.GA29733@greengrey.org> Message-ID: Yeah, The got us all over as evidenced by the recent changes: http://wiki.seattleperl.org/index.php/Special:Recentchanges It looks like a bunch are pointing to www10.atpages.jp as well as some going to **.yakkel.com* I'd be willing to undo some of these if MediaWiki doesn't have some built in utilities to roll back changes within a date range. -- Ben On Mon, Feb 9, 2009 at 2:25 PM, Ryan Corder wrote: > > Seems a plethora of useless links has appeared: > > http://wiki.seattleperl.org/index.php/Main_Page > > > -- > Ryan Corder || () ASCII ribbon campaign > || /\ against HTML email > http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x1CB59D69 > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ > -------------- next part -------------- An HTML attachment was scrubbed... URL: From iheffner at gmail.com Mon Feb 9 23:00:04 2009 From: iheffner at gmail.com (Ivan Heffner) Date: Mon, 9 Feb 2009 23:00:04 -0800 Subject: SPUG: Wiki defacement Message-ID: If someone has rights to block users, I would say OloraCrelc should be banned as that "user" went on a three-week SPAM rampage in January and appears to be in the midst of another one. I've just cleaned up a couple of pages that were freshly spammed after Andy cleaned them up earlier. Ivan From MichaelRWolf at att.net Wed Feb 11 12:06:31 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 11 Feb 2009 13:06:31 -0700 Subject: SPUG: script directory for Module::Build Message-ID: I'd like to include a script (or two) with a module, much like ack(1) in App::Ack. Unfortunately, App::Ack uses ExtUtils:MakeMaker; I'd like to use Module::Build. I can't figure out how to specify the Perl (and non-Perl) scripts to the Module::Build->new() inside Build.PL. Any pointers other than the source code (hairy) and (incomplete) POD? I'm looking for a complete list of the keys to the new() method (e.g. module_name, license, dist_author, requires...). Thanks... -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From cmeyer at helvella.org Thu Feb 12 08:52:06 2009 From: cmeyer at helvella.org (Colin Meyer) Date: Thu, 12 Feb 2009 08:52:06 -0800 Subject: SPUG: February 2009 Seattle Perl Users Group Meeting Message-ID: <20090212165206.GA23399@infula.helvella.org> February 2009 Seattle Perl Users Group (SPUG) Meeting ==================================================== Topic: Making Heat Maps With Perl Speaker: Trevor Hall Meeting Date: Tuesday, 16 February 2009 Meeting Time: 6:30 - 8:30 p.m. Location: Marchex - 4th & Pine Cost: Admission is free and open to the public Info: http://seattleperl.org/ ==================================================== Tuesday, February 16, is the next meeting of the THE SEATTLE PERL USERS GROUP. This month's talk features the exciting adventures of making eye-popping heat maps using the Perls and the edge-of-your-seat development experience that brought Image::Heatmap (not yet released) to the internets for downloading over the File Transfer Protocol [editor: may also be available by http]. In other words, I will tell you how I made this: http://trevor.bluecorral.com/spug/heat/ and what caused me to lose more hair over making it. Free pizza and beer will be provided I hope. About Trevor "You can just use this: http://goldenguru.com/team/trevor.html as I hate talking about myself." Pre-Meeting ================ If you are so inclined, please come to the pre-meeting at the Elephant & Castle pub on 5th & Union. We'll be there from 5-6:19PM. Meeting Location ================ Pizza and Beer will be provided at the meeting. Marchex 413 Pine St, Suite 500 Seattle, WA 98101 The building is just south of Westlake Center. Enter on 4th Avenue, near Pine street. The entry is near the Dog In The Park hotdog stand. http://www.baylis.org/static/marchex.png Due to all of the shopping around us there is plenty of parking available in garages, but it can be hard to find street parking in the evening. See you there! From cmeyer at helvella.org Thu Feb 12 09:07:33 2009 From: cmeyer at helvella.org (Colin Meyer) Date: Thu, 12 Feb 2009 09:07:33 -0800 Subject: SPUG: February 2009 Seattle Perl Users Group Meeting In-Reply-To: <20090212165206.GA23399@infula.helvella.org> References: <20090212165206.GA23399@infula.helvella.org> Message-ID: <20090212170733.GB23399@infula.helvella.org> Please note that the contact number has changed to: 425 533 2964 -Colin. On Thu, Feb 12, 2009 at 08:52:06AM -0800, Colin Meyer wrote: > February 2009 Seattle Perl Users Group (SPUG) Meeting > ==================================================== > > Topic: Making Heat Maps With Perl > Speaker: Trevor Hall > Meeting Date: Tuesday, 16 February 2009 > Meeting Time: 6:30 - 8:30 p.m. > Location: Marchex - 4th & Pine > > Cost: Admission is free and open to the public > Info: http://seattleperl.org/ > > ==================================================== > > Tuesday, February 16, is the next meeting of the THE SEATTLE > PERL USERS GROUP. From cmeyer at helvella.org Thu Feb 12 09:09:43 2009 From: cmeyer at helvella.org (Colin Meyer) Date: Thu, 12 Feb 2009 09:09:43 -0800 Subject: SPUG: February 2009 Seattle Perl Users Group Meeting In-Reply-To: <20090212170733.GB23399@infula.helvella.org> References: <20090212165206.GA23399@infula.helvella.org> <20090212170733.GB23399@infula.helvella.org> Message-ID: <20090212170943.GC23399@infula.helvella.org> Dora pointed out that I got the date wrong. It's Tuseday, the 17th. -Colin. On Thu, Feb 12, 2009 at 09:07:33AM -0800, Colin Meyer wrote: > Please note that the contact number has changed to: > > 425 533 2964 > > -Colin. > > On Thu, Feb 12, 2009 at 08:52:06AM -0800, Colin Meyer wrote: > > February 2009 Seattle Perl Users Group (SPUG) Meeting > > ==================================================== > > > > Topic: Making Heat Maps With Perl > > Speaker: Trevor Hall > > Meeting Date: Tuesday, 16 February 2009 ^^ 17 > > Meeting Time: 6:30 - 8:30 p.m. > > Location: Marchex - 4th & Pine > > > > Cost: Admission is free and open to the public > > Info: http://seattleperl.org/ > > > > ==================================================== > > > > Tuesday, February 16, is the next meeting of the THE SEATTLE ^^ 17 > > PERL USERS GROUP. > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ From prattipam at hotmail.com Thu Feb 12 11:41:50 2009 From: prattipam at hotmail.com (M Prattipam) Date: Thu, 12 Feb 2009 19:41:50 +0000 Subject: SPUG: How to pass object to a webservice method Message-ID: Hi, Im using SOAP::Lite to create a SOAP client, and I need to create an object which has its structure defined in a WSDL file.Is there a way to do this automagically using their provided WSDL file which does have the XML definition for the object i need), or will Ineed to use something like SOAP::Data to build this object manually?I know how to pass parameters to a webservice method, but not sure on how to pass object. Below is the code I have to pass parameters.. push @args, SOAP::Data->type("$targetNamespace:$type" => $arg);$soap->outputxml(1);my $response = eval "\$soap->$method(\@args)"; Can I still use SOAP::Data to pass object and if so, how??? Thanks much,Prattipam _________________________________________________________________ Windows Live?: E-mail. Chat. Share. Get more ways to connect. http://windowslive.com/howitworks?ocid=TXT_TAGLM_WL_t2_allup_howitworks_022009 -------------- next part -------------- An HTML attachment was scrubbed... URL: From MichaelRWolf at att.net Thu Feb 12 22:07:43 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Thu, 12 Feb 2009 23:07:43 -0700 Subject: SPUG: wiki defaced? In-Reply-To: <20090209222556.GA29733@greengrey.org> References: <20090209222556.GA29733@greengrey.org> Message-ID: <7561C7AD-25FA-453C-B51C-16920E4C80D6@att.net> On Feb 9, 2009, at 3:25 PM, Ryan Corder wrote: > > Seems a plethora of useless links has appeared: > > http://wiki.seattleperl.org/index.php/Main_Page Please forgive my severe honesty, but the plethora of useless links was hidden by the dearth of useful links. To wit, the most recent meeting announcement is over a year old. I *do* appreciate those who removed the defacing, but there's still opportunity for refacing (or up-facing, or righ-facing, or new- facing). Anyone up to the task? Let's bring up the refacing at the "new business" section of next week's meeting. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From hallta at gmail.com Tue Feb 17 23:16:00 2009 From: hallta at gmail.com (Trevor Hall) Date: Tue, 17 Feb 2009 23:16:00 -0800 Subject: SPUG: Tonight's slides online, Wiki updated Message-ID: <389a8ad70902172316l6298b88cnafe882ee49b15a0@mail.gmail.com> We chatted a bit tonight about keeping the Wiki up to date with recent talks and general activity. It looks like Colin's been doing a good job with keeping the 'current events' page up to date (amongst others), but I didn't find an archive of past talks. So, through the magic of UGC, I made one: http://wiki.seattleperl.org/index.php/Recent_Talks It's not linked anywhere in the site as I don't seem to have the necessary permissions to edit the side-bar or home page (maybe someone who does have perms can do it for me), but is an easy spot to keep good resources available. Maybe we simply ask each speaker to update the page once their done? In any event, my slides are online if anyone is interested. They're linked here: http://wiki.seattleperl.org/index.php/Talks_02172009 (also linked from the previously mentioned page). - Trev -------------- next part -------------- An HTML attachment was scrubbed... URL: From spug at magnadev.com Wed Feb 18 08:45:26 2009 From: spug at magnadev.com (Ron Pero) Date: Wed, 18 Feb 2009 08:45:26 -0800 Subject: SPUG: Tonight's slides online, Wiki updated In-Reply-To: <389a8ad70902172316l6298b88cnafe882ee49b15a0@mail.gmail.com> References: <389a8ad70902172316l6298b88cnafe882ee49b15a0@mail.gmail.com> Message-ID: <499C3B26.9090701@magnadev.com> Hey, that is one GREAT slideshow. Several LOL moments. I'm going to show it to my PowerPoint expert friend as an example of an excellent stand-alone presentation. And I appreciate seeing it since it is so rare I can make it to a SPUG meeting. Ron Trevor Hall wrote: > > We chatted a bit tonight about keeping the Wiki up to date with recent > talks and general activity. It looks like Colin's been doing a good job > with keeping the 'current events' page up to date (amongst others), but > I didn't find an archive of past talks. So, through the magic of UGC, I > made one: > > http://wiki.seattleperl.org/index.php/Recent_Talks > > It's not linked anywhere in the site as I don't seem to have the > necessary permissions to edit the side-bar or home page (maybe someone > who does have perms can do it for me), but is an easy spot to keep good > resources available. Maybe we simply ask each speaker to update the > page once their done? > > In any event, my slides are online if anyone is interested. They're > linked here: http://wiki.seattleperl.org/index.php/Talks_02172009 (also > linked from the previously mentioned page). > > - Trev > > > ------------------------------------------------------------------------ > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ From bill at celestial.com Thu Feb 19 09:51:42 2009 From: bill at celestial.com (Bill Campbell) Date: Thu, 19 Feb 2009 09:51:42 -0800 Subject: SPUG: Apple security update may cause problems with perl Message-ID: <20090219175142.GA20423@ayn.mi.celestial.com> I thought this might be of interest: http://arstechnica.com/apple/news/2009/02/latest-apple-security-update-causes-issues-with-tweaked-perl.ars Bill -- INTERNET: bill at celestial.com Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way Voice: (206) 236-1676 Mercer Island, WA 98040-0820 Fax: (206) 232-9186 The demands of the majority are always greater than taxation alone can provide and thats where the FED comes in. The value of the dollar has depreciated 97% since the creation of the FED. From jjzabkar at gmail.com Thu Feb 19 10:18:48 2009 From: jjzabkar at gmail.com (JJ Zabkar) Date: Thu, 19 Feb 2009 10:18:48 -0800 Subject: SPUG: Debugging Question regarding Perl via Eclipse/EPIC Message-ID: <6f6d63d20902191018t37765c30qc5aa31502648e96b@mail.gmail.com> Hello, I am an Eclipse/EPIC user. In 'Debug' mode, my console shows the standard -d debugging output, but the "variables" tab doesn't show the variable names/values. For those familiar with this IDE, do you have any suggestions on how to get this to work? I just want to see my variable names/values. *My IDE info: * I've been using Eclipse 3.3.2 with EPIC 0.6.21. I have PadWalker 1.7 per EPIC's requirements [ epic-ide.org]. My Perl environment is 5.8.7 ActivePerl on a win32 platform, but I am also experiencing this issue on my Mac OSX (10.4) and Solaris development workstations. Take care... -JJ Zabkar -------------- next part -------------- An HTML attachment was scrubbed... URL: From bill at celestial.com Thu Feb 19 09:51:42 2009 From: bill at celestial.com (Bill Campbell) Date: Thu, 19 Feb 2009 09:51:42 -0800 Subject: SPUG: Apple security update may cause problems with perl Message-ID: <20090219175142.GA20423@ayn.mi.celestial.com> I thought this might be of interest: http://arstechnica.com/apple/news/2009/02/latest-apple-security-update-causes-issues-with-tweaked-perl.ars Bill -- INTERNET: bill at celestial.com Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way Voice: (206) 236-1676 Mercer Island, WA 98040-0820 Fax: (206) 232-9186 The demands of the majority are always greater than taxation alone can provide and thats where the FED comes in. The value of the dollar has depreciated 97% since the creation of the FED. From schuh at farmdale.com Thu Feb 19 19:25:39 2009 From: schuh at farmdale.com (Mike Schuh) Date: Thu, 19 Feb 2009 19:25:39 -0800 (PST) Subject: SPUG: Perl DBIsam modules? Message-ID: Hi, Does anyone know of any Perl tools (in the flavor of DBI) for reading DBIsam databases? The files in question were created by software written in Delphi. Searching CPAN for 'DBIsam' returns nothing, and googling for 'perl dbisam' isn't much better. I've started to (and have made good progress on) reverse engineer the file formats, but I'm sure there's a better way. Thanks. -- Mike Schuh - Seattle, Washington USA http://www.farmdale.com From michaelrwolf at att.net Fri Feb 20 11:17:06 2009 From: michaelrwolf at att.net (Michael R. Wolf) Date: Fri, 20 Feb 2009 11:17:06 -0800 Subject: SPUG: Fwd: Extended Tableau Trial Now Available References: Message-ID: SPUG, I had originally composed this message as a personal message to Trevor and Gryphon, but thought it may be interesting to "data mungers" like you... like me. The letter is a bit of a product endorsement, and a bit of my perspective on how primitive our data analysis tools and processes are. (To wit, all the Perl that needed to be hand tweaked for Trevor to produce his heat map, and the limitations of not being able to do what-if-anaysis on it after the fact. Not a criticism of him or his code, just an observation on the state-of-the-art/practice.) If it appears too much like a crass product endorsement, please hit your delete key now. I mean it to be a helpful pointer to a great tool, albeit one that's relatively expensive by Open Source standards (though an EXCELLENT value). Gryphon, Trevor, Here's a promo for the company I mentioned the other night at SPUG. I got a trial a few months ago, and had a great time doing the what-if- analysis that can be so easy with this tool. Saying that it's "Excel on steroids" is missing the point. It's not a *better* Excel, it's a better metaphor for working with your data. Even if you don't end up using it for the heatmap customer, it may be a good analysis tool to have in your belt (or set of services). There are lots of geocoding applications built in. Since they're a Fremont company, you can see some good Seattle data in some of their free videos online, even without getting a trial. And who knows. Maybe it's worth your while to play with it, become a data rock star, and get a following of heatmap groupies. Michael P.S. I first noticed this company at PS SIGCHI (pssigchi.org), where I was on the board for about 3 years. SIGCHI => Special Interest Group in Computer Human Interaction (a SIG of the ACM). Their graphical interface is awesome. It takes some getting used to, but only because we've been held as slaves in the kind of Perl we saw at SPUG or the kind of VB we need to know in order to work with Excel. Without those terribly restraining computer languages, we're free to use our natural visual analyzing abilities to interact with the *data* instead of the *programs* that transform the data. Tableau has gone to great lengths to take many "visual data analysis and design patterns" out of the programmer's head, encapsulating them (laziness- fashion) into a tool that we can re-use. Using it really had me realize that soooo much of what we saw this week at SPUG (and what I've done so many times over the years) is such digital ditch digging that we never really get to step back from the implementation to see the vision. P.P.S. OK. Enough.... Can you tell I'm hooked? If you bang it around, please let me know what you think. Begin forwarded message: > From: Tableau Software > Date: February 20, 2009 8:21:49 AM PST > To: michaelrwolf at att.net > Subject: Extended Tableau Trial Now Available > Reply-To: Tableau Software > > If your email program has trouble displaying this email, view it as > a web page + > > > > Free Your Inner Data Rockstar > > Hi Michael, > > An extended Tableau Desktop trial is now available. > > The longer evaluation is part of our Data Rockstar Viz Challenge. > The extra time provides an opportunity to master Tableau prior to > the March 2nd challenge kick-off. > > start your extended trial now > Download the award-winning Tableau and get started in minutes. Your > evaluation includes training and support. > > > > Best regards, > > The Tableau Software Team > 206.633.3400 x543 > > P.S. - Here is a new report from our director of visual analysis > that examines the power (and limits) of human perception, and how we > can use data to tell stories. The paper may spark some ideas for > your viz challenge submission. > > > > > Viz Challenge > > > > > > > Achieve Rockstar Status > On March 2nd data will be made available to slice and dice with > Tableau. Enter your best viz in the Data Rockstar Viz Challenge. > > Check out the viz challenge + > > > > Amazing Things > See 18 amazing things you can > do with data. > > Watch videos + > > > > Visual Examples > Check out some fantastic examples > of well-done visualizations. Interact > with the data using Tableau Desktop. > > Be inspired + > > > . > > > > Copyright ? 2009 Tableau Software All Rights Reserved > 400 North 34th Street, Suite 200 Seattle, WA 98103 > If you want to unsubscribe from similar email communications, click > here. > If you want to unsubscribe from all future Tableau Software email > communications, click here. > > Privacy Policy > > > -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net -------------- next part -------------- An HTML attachment was scrubbed... URL: From michaelrwolf at att.net Fri Feb 20 12:24:06 2009 From: michaelrwolf at att.net (Michael R. Wolf) Date: Fri, 20 Feb 2009 12:24:06 -0800 Subject: SPUG: Fwd: Extended Tableau Trial Now Available In-Reply-To: <5d8729f00902201150u2f5d7c82ya57ce307000093a2@mail.gmail.com> References: <5d8729f00902201150u2f5d7c82ya57ce307000093a2@mail.gmail.com> Message-ID: <46DF9F1D-CC50-47A3-B286-13FB24E20175@att.net> On Feb 20, 2009, at 11:50 AM, Ted Larson Freeman wrote: > Thanks, Michael. I hadn't heard of this product before. > > There are many reasons that people who do data analysis for a living > choose a tool that was designed for that purpose. Perl is simply not > in that product space. As just one example, the R environment has > become a standard in the statistics community because it provides both > a powerful programming language and excellent graphics. Creating heat > maps is simple in R. There's a LOT to be said for "the right tool for the job". Boy is it hard to know all the tools to pick the right one!!! While at AT&T Bell Labs, I used S, the precursor to both S-Plus (a commercial tool provided by a Seattle company - see insightful.com) and R (the Open Source act-alike). I used S to create topo maps of my floors as support for a homeowner warranty claim against a builder for his negligence. (Because the topo maps were of a *floor*, they should have been trivial. They were not!!!) It was a great tool for doing some analysis, and ultimately printing some nice perspective maps to show why folks tripped in certain spots where poor construction techniques had created ridges, valleys, and "speed bumps". Michael P.S. The founders of Tableau Software hail from Stanford. It was a research project similar to Google -- similar time frame and "right down the hall". The tool has some good academic/entrapeneural provenance. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From michaelrwolf at att.net Fri Feb 20 15:44:39 2009 From: michaelrwolf at att.net (Michael R. Wolf) Date: Fri, 20 Feb 2009 15:44:39 -0800 Subject: SPUG: Fwd: Extended Tableau Trial Now Available In-Reply-To: <5d8729f00902201234x4623268wb2eeb7bd59f38989@mail.gmail.com> References: <5d8729f00902201150u2f5d7c82ya57ce307000093a2@mail.gmail.com> <46DF9F1D-CC50-47A3-B286-13FB24E20175@att.net> <5d8729f00902201234x4623268wb2eeb7bd59f38989@mail.gmail.com> Message-ID: <924AAB68-FBBD-46FB-93F4-C0BF894EE185@att.net> On Feb 20, 2009, at 12:34 PM, Ted Larson Freeman wrote: > ... choosing assembly language to write a web services framework. "Programming graphics in X is like finding the square root of Pi using Roman numerals" -- Henry Spencer (heavy contributer to the pre- Al Gore internet, and the C regex library used by perl(1)) "Real programmers can write assembly code in any language." -- Larry Wall -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From freeman at stanfordalumni.org Fri Feb 20 11:54:24 2009 From: freeman at stanfordalumni.org (Ted Larson Freeman) Date: Fri, 20 Feb 2009 11:54:24 -0800 Subject: SPUG: Fwd: Extended Tableau Trial Now Available In-Reply-To: References: Message-ID: <5d8729f00902201154p39d3b8e5oa64281913462bda7@mail.gmail.com> Thanks, Michael. I hadn't heard of this product before. There are many reasons that people who do data analysis for a living choose a tool that was designed for that purpose. Perl is simply not in that product space. As just one example, the R environment has become a standard in the statistics community because it provides both a powerful programming language and excellent graphics. Creating heat maps is simple in R. Try it yourself. It'll take you about 5 minutes. 1. Install R: http://www.r-project.org/ 2. Copy and paste the example code from the bottom of this page into the R console: http://sekhon.berkeley.edu/stats/html/heatmap.html (there are several distinct examples there--if you copy the code line by line you'll see how it works.) Ted On Fri, Feb 20, 2009 at 11:17 AM, Michael R. Wolf wrote: > SPUG, > I had originally composed this message as a personal message to Trevor and > Gryphon, but thought it may be interesting to "data mungers" like you... > like me. > The letter is a bit of a product endorsement, and a bit of my perspective on > how primitive our data analysis tools and processes are. (To wit, all the > Perl that needed to be hand tweaked for Trevor to produce his heat map, and > the limitations of not being able to do what-if-anaysis on it after the > fact. Not a criticism of him or his code, just an observation on the > state-of-the-art/practice.) > If it appears too much like a crass product endorsement, please hit your > delete key now. I mean it to be a helpful pointer to a great tool, albeit > one that's relatively expensive by Open Source standards (though an > EXCELLENT value). > > Gryphon, > Trevor, > > Here's a promo for the company I mentioned the other night at SPUG. I got a > trial a few months ago, and had a great time doing the what-if-analysis that > can be so easy with this tool. Saying that it's "Excel on steroids" is > missing the point. It's not a *better* Excel, it's a better metaphor for > working with your data. Even if you don't end up using it for the heatmap > customer, it may be a good analysis tool to have in your belt (or set of > services). There are lots of geocoding applications built in. Since > they're a Fremont company, you can see some good Seattle data in some of > their free videos online, even without getting a trial. > And who knows. Maybe it's worth your while to play with it, become a data > rock star, and get a following of heatmap groupies. > > Michael > P.S. I first noticed this company at PS SIGCHI (pssigchi.org), where I was > on the board for about 3 years. SIGCHI => Special Interest Group in > Computer Human Interaction (a SIG of the ACM). Their graphical interface is > awesome. It takes some getting used to, but only because we've been held as > slaves in the kind of Perl we saw at SPUG or the kind of VB we need to know > in order to work with Excel. Without those terribly restraining computer > languages, we're free to use our natural visual analyzing abilities to > interact with the *data* instead of the *programs* that transform the data. > Tableau has gone to great lengths to take many "visual data analysis and > design patterns" out of the programmer's head, encapsulating them > (laziness-fashion) into a tool that we can re-use. Using it really had me > realize that soooo much of what we saw this week at SPUG (and what I've done > so many times over the years) is such digital ditch digging that we never > really get to step back from the implementation to see the vision. > P.P.S. OK. Enough.... Can you tell I'm hooked? If you bang it around, > please let me know what you think. > > Begin forwarded message: > > From: Tableau Software > Date: February 20, 2009 8:21:49 AM PST > To: michaelrwolf at att.net > Subject: Extended Tableau Trial Now Available > Reply-To: Tableau Software > > If your email program has trouble displaying this email, view it as a web > page + > > Free Your Inner Data Rockstar > Hi Michael, > > An extended Tableau Desktop trial is now available. > > The longer evaluation is part of our Data Rockstar Viz Challenge. The extra > time provides an opportunity to master Tableau prior to the March 2nd > challenge kick-off. > > start your extended trial now > Download the award-winning Tableau and get started in minutes. Your > evaluation includes training and support. > > > Best regards, > > The Tableau Software Team > 206.633.3400 x543 > > P.S. - Here is a new report from our director of visual analysis that > examines the power (and limits) of human perception, and how we can use data > to tell stories. The paper may spark some ideas for your viz challenge > submission. > > > > > > Viz Challenge > > > > > > > > > > > Achieve Rockstar Status > On March 2nd data will be made available to slice and dice with Tableau. > Enter your best viz in the Data Rockstar Viz Challenge. > Check out the viz challenge + > > > > Amazing Things > See 18 amazing things you can > do with data. > Watch videos + > > > > Visual Examples > Check out some fantastic examples > of well-done visualizations. Interact > with the data using Tableau Desktop. > Be inspired + > > > > > . > > > Copyright (c) 2009 Tableau Software All Rights Reserved > 400 North 34th Street, Suite 200 Seattle, WA 98103 > > If you want to unsubscribe from similar email communications, click here. > If you want to unsubscribe from all future Tableau Software email > communications, click here. > > Privacy Policy > > > -- > Michael R. Wolf > All mammals learn by playing! > MichaelRWolf at att.net > > > > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ > From freeman at stanfordalumni.org Fri Feb 20 12:34:13 2009 From: freeman at stanfordalumni.org (Ted Larson Freeman) Date: Fri, 20 Feb 2009 12:34:13 -0800 Subject: SPUG: Fwd: Extended Tableau Trial Now Available In-Reply-To: <46DF9F1D-CC50-47A3-B286-13FB24E20175@att.net> References: <5d8729f00902201150u2f5d7c82ya57ce307000093a2@mail.gmail.com> <46DF9F1D-CC50-47A3-B286-13FB24E20175@att.net> Message-ID: <5d8729f00902201234x4623268wb2eeb7bd59f38989@mail.gmail.com> Absolutely. Choosing Perl for data analysis tasks such as making heat maps would be like choosing assembly language to write a web services framework. Ted On Fri, Feb 20, 2009 at 12:24 PM, Michael R. Wolf wrote: > > On Feb 20, 2009, at 11:50 AM, Ted Larson Freeman wrote: > >> Thanks, Michael. I hadn't heard of this product before. >> >> There are many reasons that people who do data analysis for a living >> choose a tool that was designed for that purpose. Perl is simply not >> in that product space. As just one example, the R environment has >> become a standard in the statistics community because it provides both >> a powerful programming language and excellent graphics. Creating heat >> maps is simple in R. > > > There's a LOT to be said for "the right tool for the job". Boy is it hard > to know all the tools to pick the right one!!! > > While at AT&T Bell Labs, I used S, the precursor to both S-Plus (a > commercial tool provided by a Seattle company - see insightful.com) and R > (the Open Source act-alike). I used S to create topo maps of my floors as > support for a homeowner warranty claim against a builder for his negligence. > (Because the topo maps were of a *floor*, they should have been trivial. > They were not!!!) It was a great tool for doing some analysis, and > ultimately printing some nice perspective maps to show why folks tripped in > certain spots where poor construction techniques had created ridges, > valleys, and "speed bumps". > > Michael > > P.S. The founders of Tableau Software hail from Stanford. It was a > research project similar to Google -- similar time frame and "right down the > hall". The tool has some good academic/entrapeneural provenance. > > -- > Michael R. Wolf > All mammals learn by playing! > MichaelRWolf at att.net > > > > > > > From michaelrwolf at att.net Fri Feb 20 16:00:57 2009 From: michaelrwolf at att.net (Michael R. Wolf) Date: Fri, 20 Feb 2009 16:00:57 -0800 Subject: SPUG: Fwd: Extended Tableau Trial Now Available In-Reply-To: <5d8729f00902201234x4623268wb2eeb7bd59f38989@mail.gmail.com> References: <5d8729f00902201150u2f5d7c82ya57ce307000093a2@mail.gmail.com> <46DF9F1D-CC50-47A3-B286-13FB24E20175@att.net> <5d8729f00902201234x4623268wb2eeb7bd59f38989@mail.gmail.com> Message-ID: <6E98336E-418D-4710-A0B1-92F75DB612FD@att.net> On Feb 20, 2009, at 12:34 PM, Ted Larson Freeman wrote: > Absolutely. Choosing Perl for data analysis tasks such as making heat > maps would be like choosing assembly language to write a web services > framework. Agreed. And as was said at the meeting (therefore not posted to the list)... the client expressly did *not* want data analysis. They only wanted one "pretty picture" for the marketing department. Given the one-off nature of the project, Perl was chosen for its familiarity to the programmer and group (not for its (lack of) general-purpose data analysis). Michael P.S. Thanks for posting a pointer to some R heatmap code. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From amitsett at gmail.com Tue Feb 24 15:45:13 2009 From: amitsett at gmail.com (Amit Sett) Date: Tue, 24 Feb 2009 15:45:13 -0800 Subject: SPUG: Regexp::Assemble question Message-ID: <4d8419da0902241545m383980f5s1b817bb3df692642@mail.gmail.com> I had written some Perl code to go through thousands of files and match for errors contained in a hash shown in brown (see *Old code* section). I disliked this approach because I didnt want to alter the core program everytime I added or removed search strings/expressions. My goal is to read the list of strings from a text file and create the same hash using a loop as shown in blue (see *New code* section). The problem with this approach is that attempts to print the values for any keys of this hash are unsuccessful and show up as blanks. I ran it through a debugger and saw this instead with the help of Padwalker: $erl_hash HASH(0xa541e88)=... ArithmeticException CODE(0xa5493a8) ArrayStoreException CODE(0xa549a88) I was expecting to see something more like this: $erl_hash HASH(0xa541e88)=... ArithmeticException sub {return ArithmeticException} ArrayStoreException sub {return ArrayStoreException} Any help would be appreciated. I can share the entire program if need be. Regards, Amit *Old code* # Create the Hash for matching Errors my $exception_match = { 'ArithmeticException' => sub {return "ArithmeticException"}, 'ArrayStoreException' => sub {return "ArrayStoreException"}, }; #Error Matching Section my $match_err = Regexp::Assemble->new( track => 1 )->add( keys %$exception_match ); my %error_counter = (); #This hash stores the total count of all errors foreach my $filename (@logFile_list) { # First Determine if we need to use DBM to handle file parsing my $filesize = stat($filename)->size; $Logger->debug("File name is $filename\tFile Size is $filesize"); # Next Determine if file is gzip compressed my $gzipTest = qx(file $filename); if($gzipTest =~ m/gzip/i) { open(MYINPUTFILE, "<:gzip", "$filename") or $Logger->logdie("Error opening file: $!"); } else { open(MYINPUTFILE, "<$filename") or $Logger->logdie("Error opening file: $!"); } # This section sends a message to the log file and STDOUT if an exception is caught my $lines = 0; while( ) { $lines++; chomp; if( $match_err->match($_) ) { my ($exception_name) = $exception_match->{ $match_err->matched }( $match_err->mvar() ); $Logger->debug("Exception was found: $exception_name\tin file: $filename at line: $lines"); $error_counter{$filename}{$exception_name}++; #Logic for counting the various types of errors } } } *New code* #This section of code reads the err file and saves the key-value pairs in a hash for easy retrieval my $erl_hash = {}; my $erl_file = $ini_hash{'error_list_file'}; open(FILE, "<", $erl_file) or die "Can't open $erl_file: $!\n"; while (my $erl_file_line = ) { chomp $erl_file_line; if (($erl_file_line !~ m/^[\s]*#/gi) && ($erl_file_line !~ m/^[\s]*$/gi )) { $erl_file_line =~ m/^[\s]*([\w\S]+)[\s]*$/gi; $erl_hash->{$1} = sub {return $1}; print "Added key: ",$1,"\tCorresponding value: ",$erl_hash->{$1},"\n"; } } #Dumper (%{$erl_hash}); #Error Matching Section my $match_err = Regexp::Assemble->new( track => 1 )->add( keys %$erl_hash ); my %error_counter = (); #This hash stores the total count of all errors foreach my $filename (@logFile_list) { # First Determine if we need to use DBM to handle file parsing my $filesize = stat($filename)->size; $Logger->debug("File name is $filename\tFile Size is $filesize"); # Next Determine if file is gzip compressed my $gzipTest = qx(file $filename); if($gzipTest =~ m/gzip/i) { open(MYINPUTFILE, "<:gzip", "$filename") or $Logger->logdie("Error opening file: $!"); } else { open(MYINPUTFILE, "<$filename") or $Logger->logdie("Error opening file: $!"); } # This section sends a message to the log file and STDOUT if an exception is caught my $lines = 0; while( ) { $lines++; chomp; if( $match_err->match($_) ) { my ($exception_name) = $erl_hash->{ $match_err->matched }( $match_err->mvar() ); $Logger->debug("Exception was found: $exception_name\tin file: $filename at line: $lines"); $error_counter{$filename}{$exception_name}++; #Logic for counting the various types of errors } } } -------------- next part -------------- An HTML attachment was scrubbed... URL: From jwkrahn at shaw.ca Tue Feb 24 18:08:42 2009 From: jwkrahn at shaw.ca (John W. Krahn) Date: Tue, 24 Feb 2009 18:08:42 -0800 Subject: SPUG: Regexp::Assemble question In-Reply-To: <4d8419da0902241545m383980f5s1b817bb3df692642@mail.gmail.com> References: <4d8419da0902241545m383980f5s1b817bb3df692642@mail.gmail.com> Message-ID: <49A4A82A.7010607@shaw.ca> Amit Sett wrote: > I had written some Perl code to go through thousands of files and match for > errors contained in a hash shown in brown (see *Old code* section). I Emails do not have colours, they are just plain text. > disliked this approach because I didnt want to alter the core program > everytime I added or removed search strings/expressions. My goal is to read > the list of strings from a text file and create the same hash using a loop > as shown in blue (see *New code* section). > > The problem with this approach is that attempts to print the values for any > keys of this hash are unsuccessful and show up as blanks. I ran it through a > debugger and saw this instead with the help of Padwalker: > > $erl_hash HASH(0xa541e88)=... > ArithmeticException CODE(0xa5493a8) > ArrayStoreException CODE(0xa549a88) > > I was expecting to see something more like this: > $erl_hash HASH(0xa541e88)=... > ArithmeticException sub {return ArithmeticException} > ArrayStoreException sub {return ArrayStoreException} > > Any help would be appreciated. I can share the entire program if need be. > > Regards, > Amit > > > > *Old code* > # Create the Hash for matching Errors > my $exception_match = { > 'ArithmeticException' => sub {return "ArithmeticException"}, > 'ArrayStoreException' => sub {return "ArrayStoreException"}, > }; Is this your actual code? If so, you don't need the subroutines at all, you just need the keys. And why use a hash reference instead of a hash? my %exception_match = ( ArithmeticException => undef, ArrayStoreException => undef, ); Or perhaps: my %exception_match = map { $_ => undef } qw/ArithmeticException ArrayStoreException/; > #Error Matching Section > my $match_err = Regexp::Assemble->new( track => 1 )->add( keys > %$exception_match ); > > my %error_counter = (); #This hash stores the > total count of all errors > > foreach my $filename (@logFile_list) { > # First Determine if we need to use DBM to handle file parsing > my $filesize = stat($filename)->size; Or just: my $filesize = -s $filename; > $Logger->debug("File name is $filename\tFile Size is $filesize"); > > # Next Determine if file is gzip compressed > my $gzipTest = qx(file $filename); > if($gzipTest =~ m/gzip/i) { > open(MYINPUTFILE, "<:gzip", "$filename") or $Logger->logdie("Error > opening file: $!"); > } else { > open(MYINPUTFILE, "<$filename") or $Logger->logdie("Error opening > file: $!"); > } Why all the duplicate code? my $mode = qx(file $filename) =~ /gzip/i ? '<:gzip' : '<'; open MYINPUTFILE, $mode, $filename or $Logger->logdie( "Error opening file: $!" ); > # This section sends a message to the log file and STDOUT if an exception is > caught > my $lines = 0; No need for this variable as Perl provides the $. built-in variable that keeps track of the current line number. > while( ) > { > $lines++; > chomp; > if( $match_err->match($_) ) > { > my ($exception_name) = $exception_match->{ $match_err->matched > }( $match_err->mvar() ); You pass $match_err->mvar() to the subroutine but you don't actually use it in the subroutine. If you used my suggestion above then this line would be: exists $exception_match{ $match_err->matched } and my $exception_name = $match_err->matched; > $Logger->debug("Exception was found: $exception_name\tin file: > $filename at line: $lines"); With the built-in $. variable: $Logger->debug( "Exception was found: $exception_name\tin file: $filename at line: $." ); > $error_counter{$filename}{$exception_name}++; > #Logic for counting the various types of errors > } > > } > } > > > *New code* > #This section of code reads the err file and saves the key-value pairs in a > hash for easy retrieval > my $erl_hash = {}; Why not just use a hash instead of a hash reference? > my $erl_file = $ini_hash{'error_list_file'}; > > open(FILE, "<", $erl_file) or die "Can't open $erl_file: $!\n"; > > while (my $erl_file_line = ) > { > chomp $erl_file_line; > if (($erl_file_line !~ m/^[\s]*#/gi) && ($erl_file_line !~ You are using the ^ beginning of string anchor so the /g option makes no sense as there is only one beginning of string. You are using the /i option but the \s character class and the # character are not affected by it so it is superfluous. So that regular expression should be: $erl_file_line !~ /^\s*#/ > m/^[\s]*$/gi )) Same here. > { > $erl_file_line =~ m/^[\s]*([\w\S]+)[\s]*$/gi; The \w character class is a subset of the \S character class (and the comments above also apply) so that regular expression should be: $erl_file_line =~ /^\s*(\S+)\s*$/; > $erl_hash->{$1} = sub {return $1}; You should *never* use the numerical variables unless the pattern matched successfully. if ( $erl_file_line =~ /^\s*(\S+?)\s*$/ ) { $erl_hash->{ $1 } = sub { return $1 }; } > print "Added key: ",$1,"\tCorresponding value: > ",$erl_hash->{$1},"\n"; > } > } John -- Those people who think they know everything are a great annoyance to those of us who do. -- Isaac Asimov From andrew at sweger.net Wed Feb 25 08:55:13 2009 From: andrew at sweger.net (Andrew Sweger) Date: Wed, 25 Feb 2009 08:55:13 -0800 (PST) Subject: SPUG: Regexp::Assemble question In-Reply-To: <49A4A82A.7010607@shaw.ca> Message-ID: On Tue, 24 Feb 2009, John W. Krahn wrote: > Emails do not have colours, they are just plain text. Mine doesn't. But I know some do. Regardless, Amit's intent was still understood. > Is this your actual code? If so, you don't need the subroutines at all, > you just need the keys. And why use a hash reference instead of a hash? Your tone suggests that all Perl programmers should use it in the same way (your's aparently). Where I come from, Perl is spoken by people of every skill level; from baby-perl-talk to uber-l33t-golpher-perl. If the code works, it works. Style and convention mostly become a matter of teamwork. This list is about learning and sharing Perl. I suspect you might not have realized this (considering your reply to Amit and your previous reply to this list). > Why all the duplicate code? > > my $mode = qx(file $filename) =~ /gzip/i ? '<:gzip' : '<'; > open MYINPUTFILE, $mode, $filename or $Logger->logdie( "Error > opening file: $!" ); Again, TIMTOWTDI. > No need for this variable as Perl provides the $. built-in variable that > keeps track of the current line number. Maybe so, but $lines is a lot more obvious than $. when it comes time to review or update the code. Perhaps $INPUT_LINE_NUMBER (via English.pm) could be even more obvious (and mean *exactly* the same thing as $., whereas $lines could actually mean something slightly different!). > Those people who think they know everything are a great > annoyance to those of us who do. -- Isaac Asimov Wow. Again? Let me put it simply: knock it off. If you want to bash people about how they write Perl, go hang out on Usenet or some obscure IRC channel. It's not welcome here. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. From mark.mertel at yahoo.com Wed Feb 25 09:20:47 2009 From: mark.mertel at yahoo.com (Mark Mertel) Date: Wed, 25 Feb 2009 09:20:47 -0800 (PST) Subject: SPUG: Regexp::Assemble question In-Reply-To: References: Message-ID: <516620.98902.qm@web50111.mail.re2.yahoo.com> Mr. Sweger, I'm no expert, but it seems to me that Mr. Krahn's comments are all perfectly valid, and I can detect no ill intent, or?slander?towards the original poster. His are the types of comments to be expected during a professional code review. Were these directed at code I had written, I would?welcome them?rather than take them personally. ?--- Mark Mertel ________________________________ From: Andrew Sweger To: John W. Krahn Cc: SPUG Sent: Wednesday, February 25, 2009 8:55:13 AM Subject: Re: SPUG: Regexp::Assemble question On Tue, 24 Feb 2009, John W. Krahn wrote: > Emails do not have colours, they are just plain text. Mine doesn't. But I know some do. Regardless, Amit's intent was still understood. > Is this your actual code?? If so, you don't need the subroutines at all, > you just need the keys.? And why use a hash reference instead of a hash? Your tone suggests that all Perl programmers should use it in the same way (your's aparently). Where I come from, Perl is spoken by people of every skill level; from baby-perl-talk to uber-l33t-golpher-perl. If the code works, it works. Style and convention mostly become a matter of teamwork. This list is about learning and sharing Perl. I suspect you might not have realized this (considering your reply to Amit and your previous reply to this list). > Why all the duplicate code? > >? ? ? my $mode = qx(file $filename) =~ /gzip/i ? '<:gzip' : '<'; >? ? ? open MYINPUTFILE, $mode, $filename or $Logger->logdie( "Error > opening file: $!" ); Again, TIMTOWTDI. > No need for this variable as Perl provides the $. built-in variable that > keeps track of the current line number. Maybe so, but $lines is a lot more obvious than $. when it comes time to review or update the code. Perhaps $INPUT_LINE_NUMBER (via English.pm) could be even more obvious (and mean *exactly* the same thing as $., whereas $lines could actually mean something slightly different!). > Those people who think they know everything are a great > annoyance to those of us who do.? ? ? ? -- Isaac Asimov Wow. Again? Let me put it simply: knock it off. If you want to bash people about how they write Perl, go hang out on Usenet or some obscure IRC channel. It's not welcome here. -- Andrew B. Sweger -- The great thing about multitasking is that several ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? things can go wrong at once. _____________________________________________________________ Seattle Perl Users Group Mailing List ? ? POST TO: spug-list at pm.org SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list ? ? MEETINGS: 3rd Tuesdays ? ? WEB PAGE: http://seattleperl.org/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From rick.croote at philips.com Wed Feb 25 12:48:52 2009 From: rick.croote at philips.com (Croote, Rick) Date: Wed, 25 Feb 2009 21:48:52 +0100 Subject: SPUG: Regexp::Assemble question In-Reply-To: <516620.98902.qm@web50111.mail.re2.yahoo.com> References: <516620.98902.qm@web50111.mail.re2.yahoo.com> Message-ID: <6A00D845EC61DF46810F2D5BCB5F6E044E65AC02B0@NLCLUEXM06.connect1.local> I agree with Mark in that I found John's technical review to be excellent. I did get a sense of tone, it would have better without the color comment in emails, and it took me awhile to get past that tone to review the rest of his comments honestly. I do see the color in my email. As always, we would all probably have written this differently, as Andrew stated, but John was bringing home a point that is typically a pet peeve of mine, code duplication, which in this case was kind of minor, but is all too often seen at much larger scales. BTW, I do not know anyone other than I have met Andrew and have nothing but respect for what he has done for this group for years. We are seeing a lot of "tone", in these few messages, and the scary part is that we all too often cannot read the actual "tone" in email. Thanks, Rick Croote Software Development Engineer Philips Healthcare - Ultrasound R&D Work: 425.487.7834 Mobile: 425.346.6246 E-mail: rick.croote at philips.com From: spug-list-bounces+rick.croote=philips.com at pm.org [mailto:spug-list-bounces+rick.croote=philips.com at pm.org] On Behalf Of Mark Mertel Sent: 2009 Feb 25 9:21 AM To: Andrew Sweger Cc: spug-list at mail.pm.org Subject: Re: SPUG: Regexp::Assemble question Mr. Sweger, I'm no expert, but it seems to me that Mr. Krahn's comments are all perfectly valid, and I can detect no ill intent, or slander towards the original poster. His are the types of comments to be expected during a professional code review. Were these directed at code I had written, I would welcome them rather than take them personally. --- Mark Mertel ________________________________ From: Andrew Sweger To: John W. Krahn Cc: SPUG Sent: Wednesday, February 25, 2009 8:55:13 AM Subject: Re: SPUG: Regexp::Assemble question On Tue, 24 Feb 2009, John W. Krahn wrote: > Emails do not have colours, they are just plain text. Mine doesn't. But I know some do. Regardless, Amit's intent was still understood. > Is this your actual code? If so, you don't need the subroutines at all, > you just need the keys. And why use a hash reference instead of a hash? Your tone suggests that all Perl programmers should use it in the same way (your's aparently). Where I come from, Perl is spoken by people of every skill level; from baby-perl-talk to uber-l33t-golpher-perl. If the code works, it works. Style and convention mostly become a matter of teamwork. This list is about learning and sharing Perl. I suspect you might not have realized this (considering your reply to Amit and your previous reply to this list). > Why all the duplicate code? > > my $mode = qx(file $filename) =~ /gzip/i ? '<:gzip' : '<'; > open MYINPUTFILE, $mode, $filename or $Logger->logdie( "Error > opening file: $!" ); Again, TIMTOWTDI. > No need for this variable as Perl provides the $. built-in variable that > keeps track of the current line number. Maybe so, but $lines is a lot more obvious than $. when it comes time to review or update the code. Perhaps $INPUT_LINE_NUMBER (via English.pm) could be even more obvious (and mean *exactly* the same thing as $., whereas $lines could actually mean something slightly different!). > Those people who think they know everything are a great > annoyance to those of us who do. -- Isaac Asimov Wow. Again? Let me put it simply: knock it off. If you want to bash people about how they write Perl, go hang out on Usenet or some obscure IRC channel. It's not welcome here. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. _____________________________________________________________ Seattle Perl Users Group Mailing List POST TO: spug-list at pm.org SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list MEETINGS: 3rd Tuesdays WEB PAGE: http://seattleperl.org/ ________________________________ The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message. -------------- next part -------------- An HTML attachment was scrubbed... URL: From MichaelRWolf at att.net Wed Feb 25 12:55:49 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 25 Feb 2009 12:55:49 -0800 Subject: SPUG: Regexp::Assemble question In-Reply-To: <516620.98902.qm@web50111.mail.re2.yahoo.com> References: <516620.98902.qm@web50111.mail.re2.yahoo.com> Message-ID: On Feb 25, 2009, at 9:20 AM, Mark Mertel wrote: > Mr. Sweger, > > I'm no expert, but it seems to me that Mr. Krahn's comments are all > perfectly valid, and I can detect no ill intent, or slander towards > the original poster. His are the types of comments to be expected > during a professional code review. Were these directed at code I had > written, I would welcome them rather than take them personally. I'm somewhere in the middle. Having read the OP twice, I now read it as ambiguous. It could either be subtly hostile, or detachedly factual. On the first reading, I thought to myself, "How annoying. Entirely correct, but annoyingly offputting", and agreed (privately) with Andy for defending this list as a "safe haven" for asking questions. Upon reading Mark's comments, I reread the OP and could see another interpretation: just facts and opinions devoid of a personal attack. Unfortunately, that leaves me agreeing with Mark *and* Andy. I guess my $0.02 would, therefore, be something we all know -- it's difficult to infer tone from emails, so err on the side of humility, sensitivity, and creating the kind of "community rewrite" that Larry suggested we should be doing. We need to make sure that the uber-l33t (as in misspelled "lete", short for elite -- a word I had to look up) make a safe place for newbies to progress through baby Perl to full fluency. We don't want to scare them away to another language community. That would be a loss for us and for them. Thanks, *ALL*, for being a community enough to encourage questions, answer them, and ensure a safe place for those conversations.... -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From MichaelRWolf at att.net Wed Feb 25 13:04:24 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 25 Feb 2009 13:04:24 -0800 Subject: SPUG: Regexp::Assemble question In-Reply-To: <6A00D845EC61DF46810F2D5BCB5F6E044E65AC02B0@NLCLUEXM06.connect1.local> References: <516620.98902.qm@web50111.mail.re2.yahoo.com> <6A00D845EC61DF46810F2D5BCB5F6E044E65AC02B0@NLCLUEXM06.connect1.local> Message-ID: <1C083A44-D3AC-44C9-94CD-46393C1A04CD@att.net> On Feb 25, 2009, at 12:48 PM, Croote, Rick wrote: > As always, we would all probably have written this differently, as > Andrew stated, but John was bringing home a point that is typically > a pet peeve of mine, code duplication, which in this case was kind > of minor, but is all too often seen at much larger scales. Anyone read "Refactoring" by Martin Fowler? I enjoyed it a decade ago when I first read it. I occasionally pick it up, and play with a chapter (or two) as a mental game of "Twister". It's great to see two pieces of code that do identical things with the constant part factored into one location and the variable part factored into another location. I recently heard someone mention a new (for me) acronym: DRY - Don't Repeat Yourself It's a great mantra for designing classes, refactoring code, and even technical writing. It's also a good "red flag" for me. If I find myself repeating something, it's often a signal that I'm heading down a path that's not as maintainable as it could be. Thanks... P.S. Anyone know of refactoring editors that work? If so, what languages are they good at? Any pointers to Perl-language ones? I'd heard that some of the upcoming features of the language would lend themselves toward better Perl editors (code folding, refactoring) since it would get away from the age-old constraint of "Only perl(1) parses Perl". Having an API to the Perl parser should open up a lot of great code analysis tools. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From amitsett at gmail.com Wed Feb 25 13:19:49 2009 From: amitsett at gmail.com (Amit Sett) Date: Wed, 25 Feb 2009 13:19:49 -0800 Subject: SPUG: Regexp::Assemble question In-Reply-To: References: <516620.98902.qm@web50111.mail.re2.yahoo.com> Message-ID: <4d8419da0902251319w45f69838wb0206ad012f8ab65@mail.gmail.com> Thanks for the help. I will try incorporating the suggestions into the code and let you know how it goes. I am a hardware engineer with limited programming skills and as such would expect to make a lot of errors that drive experienced programmers crazy. Oh well, at least I try to learn from them. Regards, Amit On Feb 25, 2009, at 12:55 PM, "Michael R. Wolf" wrote: > > On Feb 25, 2009, at 9:20 AM, Mark Mertel wrote: > >> Mr. Sweger, >> >> I'm no expert, but it seems to me that Mr. Krahn's comments are all >> perfectly valid, and I can detect no ill intent, or slander towards >> the original poster. His are the types of comments to be expected >> during a professional code review. Were these directed at code I >> had written, I would welcome them rather than take them personally. > > I'm somewhere in the middle. Having read the OP twice, I now read > it as ambiguous. It could either be subtly hostile, or detachedly > factual. > > On the first reading, I thought to myself, "How annoying. Entirely > correct, but annoyingly offputting", and agreed (privately) with > Andy for defending this list as a "safe haven" for asking questions. > > Upon reading Mark's comments, I reread the OP and could see another > interpretation: just facts and opinions devoid of a personal attack. > > Unfortunately, that leaves me agreeing with Mark *and* Andy. > > I guess my $0.02 would, therefore, be something we all know -- it's > difficult to infer tone from emails, so err on the side of humility, > sensitivity, and creating the kind of "community rewrite" that Larry > suggested we should be doing. We need to make sure that the uber- > l33t (as in misspelled "lete", short for elite -- a word I had to > look up) make a safe place for newbies to progress through baby Perl > to full fluency. We don't want to scare them away to another > language community. That would be a loss for us and for them. > > Thanks, *ALL*, for being a community enough to encourage questions, > answer them, and ensure a safe place for those conversations.... > > > -- > Michael R. Wolf > All mammals learn by playing! > MichaelRWolf at att.net > > > > > _____________________________________________________________ > Seattle Perl Users Group Mailing List > POST TO: spug-list at pm.org > SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list > MEETINGS: 3rd Tuesdays > WEB PAGE: http://seattleperl.org/ From MichaelRWolf at att.net Wed Feb 25 22:37:16 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Wed, 25 Feb 2009 22:37:16 -0800 Subject: SPUG: Open Source Bridge -- June 17-19 in Portland Message-ID: I just learned that there will be *an* Open Source conference in Portland. No, not OSCON; that's *The* Open Source Conference, and it's back to San Diego this year. There's *another* conference coming together. Grass roots. Small. Inexpensive. It's tagline is "The conference for open source citizens". It sounds more like a political/social conference than a technical one. Complementary, if you will. Check it out. Submit a paper. Participate. Anyone already heard of it? Care to share what you know of the buzz? -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From frank.carroll at wamu.net Thu Feb 26 11:30:50 2009 From: frank.carroll at wamu.net (Carroll, Frank) Date: Thu, 26 Feb 2009 11:30:50 -0800 Subject: SPUG: Regexp::Assemble question In-Reply-To: <516620.98902.qm@web50111.mail.re2.yahoo.com> References: <516620.98902.qm@web50111.mail.re2.yahoo.com> Message-ID: <38417F406637E043AB37B94D6587806D067503EA@exmsea002.us.wamu.net> Looking at some of John W. Krahn's past comments, the tone is sometimes very clear. One of my favorites: > I am new to this community.I have question regarding Pattern Matching > in Perl. In English, when you ask a question, you end the sentence with a question mark. For example: How do you ask a question? I'm no Asimov, but I don't see the original poster asking a question in the above exchange. I agree with Andrew on all of his points. This list should welcome questions and dialogue from all levels of expertise. People shouldn't hesitate to post because they're worried about experiencing "The Wrath of Krahn". :-) ________________________________ From: spug-list-bounces+frank.carroll=wamu.net at pm.org [mailto:spug-list-bounces+frank.carroll=wamu.net at pm.org] On Behalf Of Mark Mertel Sent: Wednesday, February 25, 2009 9:21 AM To: Andrew Sweger Cc: spug-list at mail.pm.org Subject: Re: SPUG: Regexp::Assemble question Mr. Sweger, I'm no expert, but it seems to me that Mr. Krahn's comments are all perfectly valid, and I can detect no ill intent, or slander towards the original poster. His are the types of comments to be expected during a professional code review. Were these directed at code I had written, I would welcome them rather than take them personally. --- Mark Mertel ________________________________ From: Andrew Sweger To: John W. Krahn Cc: SPUG Sent: Wednesday, February 25, 2009 8:55:13 AM Subject: Re: SPUG: Regexp::Assemble question On Tue, 24 Feb 2009, John W. Krahn wrote: > Emails do not have colours, they are just plain text. Mine doesn't. But I know some do. Regardless, Amit's intent was still understood. > Is this your actual code? If so, you don't need the subroutines at all, > you just need the keys. And why use a hash reference instead of a hash? Your tone suggests that all Perl programmers should use it in the same way (your's aparently). Where I come from, Perl is spoken by people of every skill level; from baby-perl-talk to uber-l33t-golpher-perl. If the code works, it works. Style and convention mostly become a matter of teamwork. This list is about learning and sharing Perl. I suspect you might not have realized this (considering your reply to Amit and your previous reply to this list). > Why all the duplicate code? > > my $mode = qx(file $filename) =~ /gzip/i ? '<:gzip' : '<'; > open MYINPUTFILE, $mode, $filename or $Logger->logdie( "Error > opening file: $!" ); Again, TIMTOWTDI. > No need for this variable as Perl provides the $. built-in variable that > keeps track of the current line number. Maybe so, but $lines is a lot more obvious than $. when it comes time to review or update the code. Perhaps $INPUT_LINE_NUMBER (via English.pm ) could be even more obvious (and mean *exactly* the same thing as $., whereas $lines could actually mean something slightly different!). > Those people who think they know everything are a great > annoyance to those of us who do. -- Isaac Asimov Wow. Again? Let me put it simply: knock it off. If you want to bash people about how they write Perl, go hang out on Usenet or some obscure IRC channel. It's not welcome here. -- Andrew B. Sweger -- The great thing about multitasking is that several things can go wrong at once. _____________________________________________________________ Seattle Perl Users Group Mailing List POST TO: spug-list at pm.org SUBSCRIPTION: http://mail.pm.org/mailman/listinfo/spug-list MEETINGS: 3rd Tuesdays WEB PAGE: http://seattleperl.org/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jarich at perltraining.com.au Thu Feb 26 14:17:07 2009 From: jarich at perltraining.com.au (Jacinta Richardson) Date: Fri, 27 Feb 2009 09:17:07 +1100 Subject: SPUG: Open Source Bridge -- June 17-19 in Portland In-Reply-To: References: Message-ID: <49A714E3.9030709@perltraining.com.au> Michael R. Wolf wrote: > Anyone already heard of it? Care to share what you know of the buzz? The rumours I've heard is that it's being put on by a bunch of people who were very sad that OSCON chose to move away from Portland this year; and who felt it important to still have an open source event there anyway. I was under the impression that it was going to be scheduled more time-proximate to OSCON, which would have been awesome for me, but it certainly sounds like it'll be a fun event. J -- ("`-''-/").___..--''"`-._ | Jacinta Richardson | `6_ 6 ) `-. ( ).`-.__.`) | Perl Training Australia | (_Y_.)' ._ ) `._ `. ``-..-' | +61 3 9354 6001 | _..`--'_..-_/ /--'_.' ,' | contact at perltraining.com.au | (il),-'' (li),' ((!.-' | www.perltraining.com.au | From bill at celestial.com Thu Feb 26 15:04:24 2009 From: bill at celestial.com (Bill Campbell) Date: Thu, 26 Feb 2009 15:04:24 -0800 Subject: SPUG: Open Source Bridge -- June 17-19 in Portland In-Reply-To: <49A714E3.9030709@perltraining.com.au> References: <49A714E3.9030709@perltraining.com.au> Message-ID: <20090226230424.GA15027@ayn.mi.celestial.com> On Fri, Feb 27, 2009, Jacinta Richardson wrote: >Michael R. Wolf wrote: > >> Anyone already heard of it? Care to share what you know of the buzz? >The rumours I've heard is that it's being put on by a bunch of people who >were very sad that OSCON chose to move away from Portland this year; and >who felt it important to still have an open source event there anyway. >I was under the impression that it was going to be scheduled more time- >proximate to OSCON, which would have been awesome for me, but it certainly >sounds like it'll be a fun event. Here's a link: http://opensourcebridge.org/ Bill -- INTERNET: bill at celestial.com Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way Voice: (206) 236-1676 Mercer Island, WA 98040-0820 Fax: (206) 232-9186 Everybody is ignorant, only on different subjects. Will Rogers From ryanc at greengrey.org Thu Feb 26 15:35:37 2009 From: ryanc at greengrey.org (Ryan Corder) Date: Thu, 26 Feb 2009 15:35:37 -0800 Subject: SPUG: Open Source Bridge -- June 17-19 in Portland In-Reply-To: References: Message-ID: <20090226233537.GB24749@greengrey.org> On Wed, Feb 25, 2009 at 10:37:16PM -0800, Michael R. Wolf wrote: > , and it's back to San Diego this year. San Jose. I've never been to San Jose, but I can't imagine it will be as walkable as Portland. Even those places people gathered in Portland during OSCON that weren't walkable were still within reach of the light rail. I'm curious to see what will be close to the convention this year in San Jose. I surely don't want to have to take take non-mass transit. -- Ryan Corder || () ASCII ribbon campaign || /\ against HTML email http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x1CB59D69 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From MichaelRWolf at att.net Thu Feb 26 15:42:29 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Thu, 26 Feb 2009 15:42:29 -0800 Subject: SPUG: Open Source Bridge -- June 17-19 in Portland In-Reply-To: <20090226230424.GA15027@ayn.mi.celestial.com> References: <49A714E3.9030709@perltraining.com.au> <20090226230424.GA15027@ayn.mi.celestial.com> Message-ID: On Feb 26, 2009, at 3:04 PM, Bill Campbell wrote: > > > Here's a link: > > http://opensourcebridge.org/ Oops. I forgot the second half of the cut/paste operation.... Thanks. -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net From MichaelRWolf at att.net Thu Feb 26 15:56:00 2009 From: MichaelRWolf at att.net (Michael R. Wolf) Date: Thu, 26 Feb 2009 15:56:00 -0800 Subject: SPUG: Open Source Bridge -- June 17-19 in Portland In-Reply-To: <20090226233537.GB24749@greengrey.org> References: <20090226233537.GB24749@greengrey.org> Message-ID: On Feb 26, 2009, at 3:35 PM, Ryan Corder wrote: > On Wed, Feb 25, 2009 at 10:37:16PM -0800, Michael R. Wolf wrote: >> , and it's back to San Diego this year. > > San Jose. > Oops. Thanks for the correction. I had stored: $location_of{OSCON} =~ /San .* California/x; I really *do* think in regular expressions. Does anyone else? It often happens with names. > I've never been to San Jose, but I can't imagine it will be as > walkable as Portland. It's no walkablet. It's California. I teach classes 1/4 mile from the airport, but cannot walk there!!! (Well, I did once, but not twice.) I love that I can walk across the street from SEA to meet a ride at a hotel restaurant instead of waiting at the curb while they wait in traffic. It's not really California's fault. The state grew up during our national intoxication with making services so inaccessible that we needed cars to solve the poor urban planning. I overstate. There is a good light rail. You can get from SJC via connector bus to the light rail, then into downtown San Jose. Once downtown, it's fairly easy to walk or bus to the convention center. P.S. Check out WalkScore.com, created by a small group of social minded folks in the U District, but with national data. My Ballard location is 97. I love that! http://walkscore.com/get-score.php?street=98107&go=Go http://walkscore.com/get-score.php?street=san+jose+ca&go=Go The top 10 rankings include Seattle (#6) and Portland (#10), but not San Jose. http://walkscore.com/rankings/ -- Michael R. Wolf All mammals learn by playing! MichaelRWolf at att.net