From japh at cos.agilent.com Wed May 1 16:40:36 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Perl lunch this Thursday References: <200204302207.g3UM7GMl028005@leo.pcisys.net> <018701c1f098$6f3cb7f0$80441d82@TC5570P> Message-ID: <006301c1f158$d533c380$93471d82@TC5570P> Ken wrote: > There is a Subway, Le Peep (not fast, probably not cheap) and a > bagel place in the same shopping center. There is a Chipotle > just up GoG Blvd from them. I'll add another suggestion: Dragon Island, 4153 Centennial Blvd, 278-9388 It's walking distance -- and the closest. I've eaten there. It's a Chinese buffet for $5.25. That's enough to make it my first choice. Second choice: Schlotzsky's (not in yellow pages, but next door to Ruby Tuesday's) Third choice: Chipotle (also not in yellow pages, but also next door to Ruby Tuesday's) I'm including the whole list according to Yahoo! Yellow Pages, sorted by distance, to encourage discussion. In the interest of rewarding suggestions, though, I'm going to assume that Ken's first choice is Subway. Since he replied first, we'll go with his location if we don't get other input before 5:00 TODAY. Does that make sense? Let me recap. Reply NOW or we're going to Subway. (I'm still hoping my case for Dragon Island convinces at least one other reply. :-) <>< Tim P.S. I'm blind-copying Agilent's local Perl book study group. They don't get a vote unless they join the Perl Mongers list, though. :-) ------ Le Peep, 260-6905, 4423 Centennial Blvd, 0.2 miles Subway Sandwiches & Salads, 528-6262, 4435 Centennial Blvd, 0.2 miles Taco Express, 272-4101, 4450 Centennial Blvd, 0.2 miles New Garden, 268-0602, 1355 Garden Of The Gods Rd, 0.3 miles Ruby Tuesday, 590-1332, 1340 Garden Of The Gods Rd, 0.3 miles Mollica's Italian Market, 598-1088, 985 Garden Of The Gods Rd # A, 0.4 miles Marigold Cafe & Bakery, 599-4776, 4605 Centennial Blvd, 0.4 miles Sonic Drive-In, 522-0766, 868 Garden Of The Gods Rd, 0.5 miles Souper Salad Restaurant, 277-0687, 808 Garden Of The Gods Rd, 0.5 miles Cafe Giovanna, 264-0893, 773 Garden Of The Gods Rd, 0.7 miles Sien Sien Chinese Restaurant, 598-6988, 765 Garden Of The Gods Rd, 0.7 miles Wendy's, 594-6080, 705 Garden Of The Gods Rd, 0.7 miles La Baguette, 599-0686, 4440 N Chestnut St, 0.7 miles Quizno's Classic Subs, 598-4119, 615 Garden Of The Gods Rd, 0.8 miles Bamboo Court Restaurant, 599-7383, 4935 Centennial Blvd, 0.8 miles Cascabels Cantina & Grille, 599-9248, 4935 Centennial Blvd, 0.8 miles Black Eyed Pea Restaurant, 548-9417, 503 Garden Of The Gods Rd, 0.9 miles Applebee's Neighborhood Grill, 265-6605, 501 Garden Of The Gods Rd, 0.9 miles From japh at cos.agilent.com Wed May 1 18:37:40 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Perl lunch tomorrow Message-ID: <008e01c1f169$2fece940$93471d82@TC5570P> WHAT: monthly Pikes Peak Perl Mongers lunch WHERE: Dragon Island, 4153 Centennial Blvd, 278-9388 WHEN: tomorrow (Thursday, 5/2) at 11:30 WHY: food & geekly conversation <>< Tim 719.590.5570 (w) 719.651.0116 (cell) From japh at cos.agilent.com Thu May 2 09:49:59 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Perl lunch TODAY Message-ID: <001401c1f1e8$a2c746c0$80441d82@TC5570P> WHAT: monthly Pikes Peak Perl Mongers lunch WHERE: Dragon Island, 4153 Centennial Blvd, 278-9388 WHEN: today (Thursday, 5/2) at 11:30 WHY: food & geekly conversation Bonus activity: after lunch, all who wish to pay their last respects to the McKinzey-White bookstore will make a pilgrimage. <>< Tim 719.590.5570 (w) 719.651.0116 (cell) From pwdrhound at pcisys.net Thu May 2 10:38:23 2002 From: pwdrhound at pcisys.net (pwdrhound@pcisys.net) Date: Thu Aug 5 00:18:11 2004 Subject: Perl lunch TODAY Message-ID: <200205021638.g42GcKMW019687@leo.pcisys.net> > WHAT: monthly Pikes Peak Perl Mongers lunch > WHERE: Dragon Island, 4153 Centennial Blvd, 278-9388 > WHEN: today (Thursday, 5/2) at 11:30 > WHY: food & geekly conversation I'll be there! Greg Walters --------------------------------------------- This message was sent using Endymion MailMan. http://www.endymion.com/products/mailman/ From japh at cos.agilent.com Thu May 9 11:04:36 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Fw: Newsletter from O'Reilly UG Program, May 7 Message-ID: <001c01c1f773$381aba60$80441d82@TC5570P> From:"Marsee Henon" marsee@oreilly.com Subject:Newsletter from O'Reilly UG Program, May 7 O'Reilly User Group Program NEWSLETTER May 7, 2002 HIGHLIGHTS THIS WEEK: NEWS: -Weakening Google and other O'Reilly Network Weblogs -Flash MX: Building an Address Book -Using Jini to Build a Catastrophe-Resistant System -Indefatigable TicTacToe Contest -O'Reilly Network Launches macdevcenter.com -Steve Jobs and the History of Cocoa, Part One CONFERENCE NEWS -We are pleased to announce our first Mac OS X Conference -Free Exhibit hall passes still available for the O'Reilly Emerging Technology Conference, May 13-16, 2002 BOOK NEWS: -Managing & Using MySQL, 2nd Edition -Learning the Korn Shell, 2nd Edition -Windows XP in a Nutshell -VB.NET Language in a Nutshell, 2nd Edition -C# & VB.NET Conversion Pocket Reference -Perl & XML -Java Enterprise in a Nutshell, 2nd Edition ANNOUNCEMENTS FROM YOUR PEERS -Boca Raton Computer Society, Inc. ================================================ NEWS FROM O'REILLY & BEYOND ================================================ Spread the word to your members.... ------------------------------- GENERAL NEWS ------------------------------- WEAKENING GOOGLE by David Sims Google's top result for "Michael Eisner" is Tim O'Reilly's blog. Is that a good thing? http://www.oreillynet.com/pub/wlg/1376 See all the O'Reilly Network Weblogs at: http://www.oreillynet.com/weblogs/ --------------------- FLASH --------------------- FLASH MX: BUILDING AN ADDRESS BOOK Colin Moock shows you how to create an address-book application using Flash MX's new Flash UI Components, in this article on Macromedia's Flash Development Center. Colin is the author of "ActionScript: The Definitive Guide." http://macromedia.com/desdev/mx/flash/articles/addressbook.html "ActionScript: The Definitive Guide: Mastering Flash Programming" Order Number: 8520 http://www.oreilly.com/catalog/actscript/ --------------------- JAVA --------------------- USING JINI TO BUILD A CATASTROPHE-RESISTANT SYSTEM September 11 caught the IT departments of several firms without timely backups. To the author, the tragedy made clear the need for self-healing, distributed systems that could survive the unthinkable. The article describes such a system, based on Sun's Rio technology. http://www.onjava.com/pub/a/onjava/2002/05/01/911proof.html INDEFATIGABLE TICTACTOE CONTEST O'Reilly is sponsoring a contest on "Focus on Java" at About.com http://java.about.com/ Contest Details: http://java.about.com/library/contests/bl-tttcontest.htm --------------------- MAC --------------------- O'REILLY NETWORK LAUNCHES MACDEVCENTER.COM macdevcenter.com is a new web site for Mac OS X professionals. The heart of it is a rich collection of tutorials on Mac OS X, covering the OS and the key technologies that work with its BSD Unix core. Topics include the Terminal application, AppleScript, QuickTime, Cocoa, Java, Aqua, and Apache. The site also features news and regular columns from Mac experts such as David Pogue, Simson Garfinkel, James Duncan Davidson, and Kevin Hemenway. http://www.macdevcenter.com The macdevcenter.com staff also produces a bi-weekly Mac OS X email newsletter. To subscribe, go to http://www.oreillynet.com/cs/user/home STEVE JOBS AND THE HISTORY OF COCOA, PART ONE In this first part of a two-part series, Simson Garfinkel and Michael Mahoney explain why Cocoa and Mac OS X aren't nearly as revolutionary as they are evolutionary-and still in the process of refinement. The story begins with Apple's genesis in the 1970s and takes you through key events up through 1993, when NeXTSTEP began to flounder. In Part Two (Friday, May 10), Simson and Michael pick up the story with the Star Trek project and bring you to the current iteration of Mac OS X. http://www.oreillynet.com/pub/a/mac/2002/05/03/cocoa_history_one.html "Building Cocoa Applications: A Step-by-Step Guide" Order Number: 2351 http://www.oreilly.com/catalog/buildcocoa/index.html ================================================ CONFERENCE NEWS ================================================ WE ARE PLEASED TO ANNOUNCE OUR FIRST MAC OS X CONFERENCE The first O'Reilly Mac OS X Conference will be held September 30-October 3, 2002 in Santa Clara, CA. We will explore how Apple's completely rebuilt operating system is creating fertile ground for Mac users, *nix programmers, and Java developers alike. Registration opens in June. http://conferences.oreillynet.com/macosx2002/ Join our mailing list to receive the latest information about all O'Reilly conferences. http://conferences.oreilly.com/form.html FREE EXHIBIT HALL PASSES.... for the O'Reilly Emerging Technology Conference, May 13-16, 2002 Westin Santa Clara, Santa Clara, CA For more information or to register: http://conferences.oreilly.com/etcon/ ================================================ BOOK NEWS ================================================ REVIEW COPIES ARE AVAILABLE, email me for a copy. If you need your books by a certain date, please allow at least three weeks for shipping. Please send me copies of your newsletters. Don't forget, your members get 20% off any O'Reilly book they purchase direct from O'Reilly. Just use code DSUG when ordering. Press releases are available on our press page: http://press.oreilly.com/ MANAGING & USING MYSQL, 2ND EDITION Order Number: 2114 MySQL is a popular and robust open source database product that supports key subsets of SQL on both Linux and Unix systems. MySQL is free for nonprofit use and costs a small amount for commercial use. Unlike commercial databases, MySQL is affordable and easy to use. This book includes introductions to SQL and to relational database theory. If you plan to use MySQL to build web sites or other Linux or Unix applications, this book teaches you to do that, and it will remain useful as a reference once you understand the basics. Ample tutorial material and examples are included throughout. http://www.oreilly.com/catalog/msql2/ Chapter 13, "Java," is available online: http://www.oreilly.com/catalog/msql2/chapter/ch13.html LEARNING THE KORN SHELL, 2ND EDITION Order Number: 1959 The Korn shell is an interactive command and scripting language for accessing Unix and other computer systems. As a complete and high-level programming language in itself, it's been a favorite since it was developed in the mid 1980s by David G. Korn at AT&T Bell Laboratories. Knowing how to use it is an essential skill for serious Unix users. "Learning the Korn Shell" shows you how to use the Korn shell as a user interface and as a programming environment. http://www.oreilly.com/catalog/korn2/ WINDOWS XP IN A NUTSHELL Order Number: 2491 This compact and comprehensive book systematically unveils what resolute users of the new Windows XP operating system will find interesting and useful, with little-known details, utility programs, and configuration settings all captured in a consistent reference format. http://www.oreilly.com/catalog/winxpnut/ Chapter 4, "Windows XP Applications and Tools," is available online: http://www.oreilly.com/catalog/winxpnut/chapter/ch04.html Chapter 7, "Networking," is available online: http://www.oreilly.com/catalog/winxpnut/chapter/ch07.html C# & VB.NET CONVERSION POCKET REFERENCE Order Number: 3196 Though most programmers use two or more languages, they usually have a mastery of one. Although Microsoft has advertised that the .NET runtime is language agnostic and that C# and Visual Basic .NET are so close that switching between the two is really quite easy, that's only true up to a point. Some of the differences are obvious, but others are very subtle. "C# & VB.NET Conversion Pocket Reference" helps you easily make the switch from one language to another. http://www.oreilly.com/catalog/csharpvbpr/ The Table of Contents is available online: http://www.oreilly.com/catalog/csharpvbpr/toc.html VB.NET LANGUAGE IN A NUTSHELL, 2ND EDITION Order Number: 3080 With the release of the Microsoft .NET platform comes a new version of Visual Basic dramatically unlike its predecessors. So extensive are the changes, in fact, that some VB programmers argue that Visual Basic .NET is an entirely new programming language. In the updated second edition of this popular book, you will find complete documentation for the Visual Basic .NET language. http://oreilly.com/catalog/vbdotnetnut2/ Chapter 8, "Attributes," is available online: http://www.oreilly.com/catalog/vbdotnetnut2/chapter/ch08.html PERL & XML Order Number: 205X XML is a text-based markup language that has taken the programming world by storm. More powerful than HTML yet less demanding than SGML, XML has proven itself to be flexible and resilient. XML is the perfect tool for formatting documents with even the smallest bit of complexity, from Web pages to legal contracts to books. However, XML has also proven itself to be indispensable for organizing and conveying other sorts of data as well, thus its central role in web services like SOAP and XML-RPC. As the Perl programming language was tailor-made for manipulating text, few people have disputed the fact that Perl and XML are perfectly suited for one another. The only question has been what's the best way to do it. That's where this book comes in. http://www.oreilly.com/catalog/perlxml/ Chapter 3, "XML Basics: Reading and Writing," is available online: http://www.oreilly.com/catalog/perlxml/chapter/ch03.html JAVA ENTERPRISE IN A NUTSHELL, 2ND EDITION Order Number: 1525 Completely revised and updated for the new 2.0 version of Sun Microsystems Java Enterprise Edition software, "Java Enterprise in a Nutshell 2nd Edition" covers all of the J2EE APIs, including RMI, Java IDL, JDBC, JNDI, Java Servlet, and Enterprise JavaBeans, with a fast-paced tutorial and compact reference on each technology. Then "Java Enterprise in a Nutshell" goes even further, providing a classic O'Reilly-style quick reference for all of the classes in the various packages that comprise the Enterprise APIs--covering the core enterprise APIs as well as numerous standard extensions. http://www.oreilly.com/catalog/jentnut2/ Chapter 2, "JDBC," is available online: http://www.oreilly.com/catalog/jentnut2/chapter/ch02.html ================================================ ANNOUNCEMENTS FROM YOUR PEERS ================================================ Florida- BOCA RATON COMPUTER SOCIETY, INC. Will hold their next General Meeting Wednesday May 15, 2002 at 6:30 P.M South County Civic Center, 16700 Jog Road in Delray Beach For more information see: http://www.brcs.org/ Until next week, Marsee From hierophant at pcisys.net Fri May 10 13:11:29 2002 From: hierophant at pcisys.net (Keary Suska) Date: Thu Aug 5 00:18:11 2004 Subject: flock() Race Condiiton? Message-ID: Is anyone aware of a possible flock() race condition that could cause two processes vying for a lock to effectively lock each other out, and at the same time, lock out any access to that file? I am trying to debug a rather mysterious problem where a parallel processing system just hangs for some reason. On another note, is anyone familiar with using the Perl debug module. I would like to be able to send a process a signal that kicks on non-interactive debugging which outputs to a file. The conditions of this problem I am trying to uncover can only be tested in a multi-process mode, which makes it very difficult to do interactively. Also being able to kick on debugging and tie it to the current tty would also be great. I believe all this is possible, but I can't quite figure out how it is done from the Camel book. Keary Suska Esoteritech, Inc. "Leveraging Open Source for a better Internet" From cmiltonperl at yahoo.com Fri May 10 13:36:12 2002 From: cmiltonperl at yahoo.com (Christopher Milton) Date: Thu Aug 5 00:18:11 2004 Subject: flock() Race Condiiton? In-Reply-To: Message-ID: <20020510183612.63218.qmail@web20804.mail.yahoo.com> --- Keary Suska wrote: > Is anyone aware of a possible flock() race condition that could cause two > processes vying for a lock to effectively lock each other out, and at the > same time, lock out any access to that file? I am trying to debug a rather > mysterious problem where a parallel processing system just hangs for some > reason. According to 'perldoc perlfunc': Two potentially non-obvious but traditional flock semantics are that it waits indefinitely until the lock is granted, and that its locks merely advisory. Such discretionary locks are more flexible, but offer fewer guarantees. This means that files locked with flock() may be modified by programs that do not also use flock(). __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Mother's Day is May 12th! http://shopping.yahoo.com From hierophant at pcisys.net Fri May 10 14:08:32 2002 From: hierophant at pcisys.net (Keary Suska) Date: Thu Aug 5 00:18:11 2004 Subject: flock() Race Condiiton? In-Reply-To: <20020510183612.63218.qmail@web20804.mail.yahoo.com> Message-ID: on 5/10/02 12:36 PM, cmiltonperl@yahoo.com purportedly said: >> Is anyone aware of a possible flock() race condition that could cause two >> processes vying for a lock to effectively lock each other out, and at the >> same time, lock out any access to that file? I am trying to debug a rather >> mysterious problem where a parallel processing system just hangs for some >> reason. > > According to 'perldoc perlfunc': > Two potentially non-obvious but traditional flock > semantics are that it waits indefinitely until the > lock is granted, and that its locks merely > advisory. Such discretionary locks are more > flexible, but offer fewer guarantees. This means > that files locked with flock() may be modified by > programs that do not also use flock(). Yes, however, all of my processes use flock(). The issue is that for some reason, all of the processes seemingly hang at the same time, and all of them are accessing the same files. I did not mean to say that no process could access the file(s), that is, they can as long as they don't use flock(). Also, if there is no race condition, the first request for a lock should be granted, and all others should wait for the lock to be released. As far as I can tell, there is no reason that the lock shouldn't be released after being granted (no apparent infinite loop conditions, or premature subroutine exits). What I am wondering is if it is possible that two or more processes request a lock simultaneously, and both receive a current locked condition, so they wait, but the system establishes the lock, so all other processes are forced to wait as well, indefinitely. This is why I would like to be able to kick on the debugger while the process is running, so I can see what is going on. Keary Suska Esoteritech, Inc. "Leveraging Open Source for a better Internet" From cmiltonperl at yahoo.com Fri May 10 14:27:54 2002 From: cmiltonperl at yahoo.com (Christopher Milton) Date: Thu Aug 5 00:18:11 2004 Subject: flock() Race Condiiton? In-Reply-To: Message-ID: <20020510192754.29473.qmail@web20806.mail.yahoo.com> --- Keary Suska wrote: > on 5/10/02 12:36 PM, cmiltonperl@yahoo.com purportedly said: > >> Is anyone aware of a possible flock() race condition that could cause two > >> processes vying for a lock to effectively lock each other out, and at the > >> same time, lock out any access to that file? I am trying to debug a rather > >> mysterious problem where a parallel processing system just hangs for some > >> reason. > > > > According to 'perldoc perlfunc': > > Two potentially non-obvious but traditional flock > > semantics are that it waits indefinitely until the > > lock is granted, and that its locks merely > > advisory. Such discretionary locks are more > > flexible, but offer fewer guarantees. This means > > that files locked with flock() may be modified by > > programs that do not also use flock(). > > Yes, however, all of my processes use flock(). The issue is that for some > reason, all of the processes seemingly hang at the same time, and all of > them are accessing the same files. I did not mean to say that no process > could access the file(s), that is, they can as long as they don't use > flock(). > > Also, if there is no race condition, the first request for a lock should be > granted, and all others should wait for the lock to be released. As far as I > can tell, there is no reason that the lock shouldn't be released after being > granted (no apparent infinite loop conditions, or premature subroutine > exits). What I am wondering is if it is possible that two or more processes > request a lock simultaneously, and both receive a current locked condition, > so they wait, but the system establishes the lock, so all other processes > are forced to wait as well, indefinitely. The quote I posted says your processes will wait indefinitely until the lock is _granted_. There seems to a possibility to my mind that they could all be waiting for each other to relinquish the lock... depending on the implementation. See 'perldoc perlfunc'. > This is why I would like to be able to kick on the debugger while the > process is running, so I can see what is going on. Check out debug modules on CPAN. Read the docs through http://search.cpan.org/ __________________________________________________ Do You Yahoo!? Yahoo! Shopping - Mother's Day is May 12th! http://shopping.yahoo.com From japh at cos.agilent.com Fri May 10 15:20:49 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: anyone know cjohnston? Message-ID: <007401c1f860$2d100ce0$80441d82@TC5570P> Mail to cjohnston@rockstardevelopment.com has been bouncing, so I removed that address from the list today. Does anyone know the person using this address? If so, please pass this message on... Thanks, Tim ><> From Robert.L.Harris at rdlg.net Thu May 16 17:11:48 2002 From: Robert.L.Harris at rdlg.net (Robert L. Harris) Date: Thu Aug 5 00:18:11 2004 Subject: Make perl fragile? Message-ID: <20020516221148.GA28511@rdlg.net> I've got a nice script running. It sorts through about 500Megs of data and puts out about 30 relevant lines. It's doing exactly what I want. The problem is I think there is an error in the input data. I keep getting this: -------------------------------------- Loading Initial Data Use of uninitialized value in pattern match (m//) at ./SortData.pl line 50, line 1230370 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. -------------------------------------- I'd rather not try and edit this file and go to line 1230370. Is there a way to tell perl to execute a function (dump some information) and exit when it see's an error like this? :wq! --------------------------------------------------------------------------- Robert L. Harris | Micros~1 : Senior System Engineer | For when quality, reliability at RnD Consulting | and security just aren't \_ that important! DISCLAIMER: These are MY OPINIONS ALONE. I speak for no-one else. FYI: perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' From nagler at bivio.biz Thu May 16 22:06:43 2002 From: nagler at bivio.biz (Rob Nagler) Date: Thu Aug 5 00:18:11 2004 Subject: Make perl fragile? In-Reply-To: <20020516221148.GA28511@rdlg.net> References: <20020516221148.GA28511@rdlg.net> Message-ID: <15588.29635.389000.434902@gargle.gargle.HOWL> Robert L. Harris writes: > I'd rather not try and edit this file and go to line 1230370. Is there > a way to tell perl to execute a function (dump some information) and > exit when it see's an error like this? use Carp (); local($SIG{__WARN__}) = \&Carp::confess; Rob From japh at cos.agilent.com Fri May 17 16:05:12 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Fw: Manning Releases Web Development with Apache and Perl Message-ID: <00d401c1fde6$895c5680$80441d82@TC5570P> Date: Fri, 17 May 2002 15:49:22 -0400 From: "Helen Trimes" hetr@manning.com Subject: Manning Releases Web Development with Apache and Perl Attention PikesPeak.pm Members --- Manning Publications announces the release of: Web Development with Apache and Perl By Theo Petersen To learn more about this book and find out how to get a free copy for your group, please read ... Greenwich, Connecticut, May 2002 -- Web Development with Apache and Perl teaches web developers how to easily build a site with features like message forums, chat, session management, custom preferences and other features. More than a programming book, it covers a wide spectrum of practical issues and how to handle them such as when to use a database, what information needs to be secure (and how to secure it), and how to keep traffic from crippling a website. It teaches the empowering use of ready-made modules so developers do not have to reinvent the wheel. It even teaches how to successfully advocate the use of Open Source tools in the corporate environment. What's Inside Web Development with Apache and Perl * CGI and mod_perl programming * mod_ssl, mod_rewrite and other Apache modules * Using DBI with databases * HTML::Mason and Template Toolkit for embedded scripting * User login and session management * Performance and system monitoring tools * Growth planning and disaster recovery * Sample layouts for community, corporate and e-commerce sites. About the Author A web developer committed to Open Source tools, Theo Petersen has spent many years collecting experiences from other developers and evaluating web development languages, add-ons and techniques to create a best-of-breed toolkit for web applications. This book is the result. Theo lives in Denver, Colorado and would be happy to do a presentation on his book to nearby Perl Monger groups. About Manning Publications Co. Manning Publications Co. is a well respected, growing computer book publisher with a reputation for high quality books written in a clear style. For each of its books, Manning makes available to its readers online discussion forums where they can pose questions to the authors. To get access to the author of Web Development with Apache and Perl go to www.manning.com/petersen. Here you will also find the book's table of contents, sample chapters and other contents. This book is now available in retail stores. Manning's User Group Program Manning supports the grassroots efforts of the User Group community. A goal of Manning's User Group Program is to foster relationships with technical communities that--in addition to meeting regularly--troubleshoot, write book reviews, and share knowledge through newsletters or Web sites. Manning will provide a free book for presentation at meetings, for group libraries or for door prizes in exchange for a written published review. If your group is willing to write and publish a review, please contact Helen Trimes at hetr@manning.com. Reviews should be published in print or online within sixty days of receipt of the free book at your group's website, in a newsletter, a newsgroup, at an online bookstore, or at another relevant public forum. When requesting a free review copy, please include your plans for posting the book review as well as your shipping address. Web Development with Apache and Perl by Theo Petersen ISBN 1930110-06-5 Softbound, 432 pages, $44.95 Ebook, 1.6 MB pdf, $13.50 Manning Publications Co. ~ 209 Bruce Park Avenue ~ Greenwich, CT 06830 From japh at cos.agilent.com Fri May 17 16:27:57 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Manning Releases Web Development with Apache and Perl References: <00d401c1fde6$895c5680$80441d82@TC5570P> Message-ID: <016b01c1fde9$b7514b10$80441d82@TC5570P> > If your group is willing to write and publish a review, please contact Helen > Trimes at hetr@manning.com... I'll be glad to request the book on behalf of the PPPM if I can get someone to agree to do the review. I'll publish it at our Web site. Any volunteers? <>< Tim From japh at cos.agilent.com Fri May 17 16:29:33 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Web site designer wanted Message-ID: <016f01c1fde9$effe6b00$80441d82@TC5570P> While I'm thinking about it, does anyone have any ideas for how to freshen up our Web site? I just finished redesigning www.christthekinganglican.org. But I'm all designed out. I'm looking for a motivated volunteer to update the look of http://pikes-peak.pm.org. www.pm.org is a full-featured Apache server. We can even run CGI scripts. Ideas? <>< Tim From timc+pppm at divide.net Sat May 18 13:23:04 2002 From: timc+pppm at divide.net (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Fw: Newsletter from O'Reilly UG Program, May 17 Message-ID: <000e01c1fe99$0e27df30$cd4e2ed0@TC5570P> Date: Fri, 17 May 2002 20:53:20 -0700 (PDT) From: "Marsee Henon" Subject: Newsletter from O'Reilly UG Program, May 17 O'Reilly User Group Program NEWSLETTER May 17, 2002 HIGHLIGHTS THIS WEEK: NEWS: -Tapping the Alpha Geek Noosphere with EtherPEG -Building Wireless Web Clients, Part 2 -Why Data Binding Matters -Harnessing XML with Custom Tags or ColdFusion Components -A Batch Job to Add New User IDs -Jaguar Preview is Stunning -iPhoto Tips -Web Services for Bioinformatics UPCOMING EVENTS -Simson Garfinkel at Softpro Books in Burlington, MA -Rob Flickenger will be presenting Wireless Community Networks -Usenix Annual Technical Conference-Come to the O'Reilly booth and meet our authors! CONFERENCE NEWS -Be a Sponsor at OSCON -O'Reilly Mac OS X Conference BOOK NEWS: -Mac OS X Pocket Reference: A User's Guide to Mac OS X -Windows XP Home Edition: The Missing Manual ================================================ NEWS FROM O'REILLY & BEYOND ================================================ Spread the word to your members.... ------------------------------- GENERAL NEWS ------------------------------- TAPPING THE ALPHA GEEK NOOSPHERE WITH ETHERPEG "So there I was at ETech, sitting in the back of the Emergence discussion, listening to Rael Dornfest, Cory Doctorow, Clay Shirky, and other extraordinary blogging minds thought about the blogging world...If only there were some way of getting into the collective stream-of-consciousness of the crowd, to gauge their actual reactions to what was really going on up on stage..." Read the rest of Rob Flickenger's weblog: http://www.oreillynet.com/1414.html For more about Rob see "Upcoming Events" further on in this newsletter. --------------------- JAVA --------------------- BUILDING WIRELESS WEB CLIENTS, PART 2 Get Amazon book info from wireless devices by Kim Topley. http://www.onjava.com/pub/a/onjava/2002/05/15/j2me2.html J2ME in a Nutshell Order Number: 253x http://www.oreilly.com/catalog/j2meanut/ WHY DATA BINDING MATTERS Brett McLaughlin offers five examples of how data binding can save you considerable time and energy. http://www.onjava.com/pub/a/onjava/2002/05/15/databind.html Java & XML Data Binding Order Number: 2785 http://www.oreilly.com/catalog/javaxmldatabind/ --------------------- COLDFUSION --------------------- HARNESSING XML WITH CUSTOM TAGS OR COLDFUSION COMPONENTS Rob Brooks-Bilson shows how to use ColdFusion MX's Components and its XML parsing capabilities in this article from Macromedia's Application Development Center. Rob is the author of Programming ColdFusion. http://www.macromedia.com/desdev/mx/coldfusion/articles/custom_cf_tag.html Programming ColdFusion Order Number: 6986 http://www.oreilly.com/catalog/coldfusion/index.html --------------------- LINUX --------------------- A BATCH JOB TO ADD NEW USER IDS Arnold Robbins shows a script to automate adding many user IDs at once. http://linux.oreillynet.com/pub/a/linux/2002/05/09/uid.html Learning the Korn Shell, 2nd Edition, By Arnold Robbins Order Number: 1959 http://www.oreilly.com/catalog/korn2/ --------------------- MAC --------------------- JAGUAR PREVIEW IS STUNNING By now you may have heard some of the announcements at the 2002 WWDC conference in San Jose, Calif., but here's a detailed overview of just about everything Steve Jobs covered in his keynote address where he introduced Apple developers to Mac OS X 10.2, code named Jaguar. http://www.macdevcenter.com/pub/a/mac/2002/05/09/wwdc_overview.html IPHOTO TIPS Pro photographer and Mac enthusiast Derrick Story shows you how to get the most out of iPhoto keeping you up to date with the latest plug-ins available for Apple's breakthrough digital imaging application. http://www.macdevcenter.com/pub/a/mac/collections/iphoto.html --------------------- WEB SERVICES --------------------- WEB SERVICES FOR BIOINFORMATICS Ethan Cerami explores two bioinformatic Web Services you can try out today--XEMBL and BQS--and shows code examples of how the interfaces work. http://www.oreillynet.com/pub/a/webservices/2002/05/14/biows.html --------------------------------------------------- UPCOMING EVENTS WITH O'REILLY AUTHORS --------------------------------------------------- SIMSON GARFINKEL ON BUILDING COCOA APPLICATIONS AT SOFTPRO BOOKS BURLINGTON, MA Wednesday, May 22--6:30 PM In this 45-minute talk, Simson Garfinkel, coauthor of the upcoming book "Building Cocoa Applications: A Step-by-Step Guide" will discuss the history and future of the Mac OS X operating system, and will show how you too can use Mac OS X to build graphical applications faster than you ever thought possible. Softpro Books 112 Mall Road Burlington, MA 01803For more information see: http://www.softpro.com/events.html Open Invitation to SIGS and User Groups: Softpro is happy to host your group. We have space to accomodate up to 30 people in Burlington and up to 12 in Marlborough. Reserve a time by writing to events@softpro.com. For more on information or articles by Simson Garfinkel see: http://www.oreillynet.com/cs/catalog/view/au/355?x-t=book.view Building Cocoa Applications: A Step-by-Step Guide Order Number: 2351 http://www.oreilly.com/catalog/buildcocoa/ ROB FLICKENGER WILL BE PRESENTING WIRELESS COMMUNITY NETWORKS Golden Gate Computer Society, San Rafael, CA June 3, 2002 Call the Golden Gate Computer Society information hotline at (415) 454-5556 or see http://www.ggcs.org/thismonth.html Building Wireless Community Networks Order Number: 2041 http://www.oreilly.com/catalog/wirelesscommnet/ For more information or articles by Rob Flickenger see: http://www.oreillynet.com/pub/au/80 USENIX ANNUAL TECHNICAL CONFERENCE-- COME TO THE O'REILLY BOOTH AND MEET OUR AUTHORS! Monterey, CA Thursday, June 13th at 6:00 pm Booth # 409/411 Don't miss presentations by authors David N. Blank-Edelman (Perl for System Administration), Ian Darwin (Java Cookbook), Craig Hunt (TCP/IP Network Administration), and Cricket Liu (DNS and BIND, DNS on Windows NT, and DNS on Windows 2000). http://www.usenix.org/events/usenix02/ For more O'Reilly events see: http://events.oreilly.com/ ================================================ CONFERENCE NEWS ================================================ BE A SPONSOR AT OSCON The O'Reilly Open Source Convention is slated for July 22-26, 2002 at the Sheraton San Diego Hotel and Marina. If you are interested in exhibiting or sponsoring the convention, telephone Andrew Calvo at 707-827-7176, or email andrewc@oreilly.com. http://conferences.oreillynet.com/os2002/oscon_sponsor_pkt.pdf O'REILLY MAC OS X CONFERENCE The first O'Reilly Mac OS X Conference, September 30-October 3, 2002, in Santa Clara, CA, explores how Apple's completely rebuilt operating system is creating fertile ground for Mac users, *nix programmers, and Java developers alike. Registration opens June 2002. http://conferences.oreillynet.com/macosx2002/ ================================================ BOOK NEWS ================================================ REVIEW COPIES ARE AVAILABLE, email me for a copy. If you need your books by a certain date, please allow at least three weeks for shipping. Please send me copies of your newsletters. Don't forget, your members get 20% off any O'Reilly book they purchase direct from O'Reilly. Just use code DSUG when ordering. Press releases are available on our press page: http://press.oreilly.com/ MAC OS X POCKET REFERENCE A USER'S GUIDE TO MAC OS X Order Number: 3463 Apple's new operating system, Mac OS X, is reaching a critical mass. Its sleek Aqua interface, combined with a powerful BSD Unix core, bring usability and stability to a new level. As companies start to migrate to Mac OS X from earlier versions of the Mac OS and from other flavors of Unix, IT managers are looking for a quick reference guide to get users started quickly; this Pocket Reference is that guide. http://www.oreilly.com/catalog/macosxpr/ WINDOWS XP HOME EDITION: THE MISSING MANUAL Order Number: 2602 Windows XP is the latest, most reliable, and best-looking version of the worlds most widely used operating system. But one major failing of Windows remains unaddressed in the XP edition: It comes without a single page of printed instructions. http://www.oreilly.com/catalog/windowsxptmm/ Chapter 2, "The Desktop and Start Menu," is available in PDF format: http://www.oreilly.com/catalog/windowsxptmm/chapter/index.html Until next week, Marsee From Robert.L.Harris at rdlg.net Mon May 20 15:31:00 2002 From: Robert.L.Harris at rdlg.net (Robert L. Harris) Date: Thu Aug 5 00:18:11 2004 Subject: perl+expect Message-ID: <20020520203100.GA23217@rdlg.net> I need to write a script that in 1 instance will wait for a prompt and then give the answer, kinda like a login prompt. I want to do this in perl but I'm not sure how to do this. I've heard there is a way to make an expect-ish type of call from within perl. Anyone know how? :wq! --------------------------------------------------------------------------- Robert L. Harris | Micros~1 : Senior System Engineer | For when quality, reliability at RnD Consulting | and security just aren't \_ that important! DISCLAIMER: These are MY OPINIONS ALONE. I speak for no-one else. FYI: perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' From cmiltonperl at yahoo.com Mon May 20 15:42:01 2002 From: cmiltonperl at yahoo.com (Christopher Milton) Date: Thu Aug 5 00:18:11 2004 Subject: perl+expect In-Reply-To: <20020520203100.GA23217@rdlg.net> Message-ID: <20020520204201.66607.qmail@web20807.mail.yahoo.com> --- "Robert L. Harris" wrote: > > > I need to write a script that in 1 instance will wait for a prompt and > then give the answer, kinda like a login prompt. I want to do this in > perl but I'm not sure how to do this. I've heard there is a way to make > an expect-ish type of call from within perl. Anyone know how? http://search.cpan.org/search?dist=Expect __________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com From Robert.L.Harris at rdlg.net Tue May 21 11:05:17 2002 From: Robert.L.Harris at rdlg.net (Robert L. Harris) Date: Thu Aug 5 00:18:11 2004 Subject: Expect part2 Message-ID: <20020521160517.GD13116@rdlg.net> Many thanks for everyone who told me to search for expect. One day that'll stick in my long term memory and I'll look before I open my mouth. Is anyone actually using this? I've got a working piece of code that's behaving a bit wierd. Basically I'm trying to go through a list of servers, ssh to each and run a command, then sort the output. The loop works fine of course but something in my expect logic is flawed: $exp->expect($timeout, [ 'password: ', sub { $spawn_ok = 1; $fh=shift; print $fh "$passwd\n"; exp_continue; } ], [ 'you sure you want to continue connecting', sub { $fh=shift; $fh->send("yes\n"); exp_continue; } ], [ timeout => sub { die "No login.\n"; } ], '-re', qr'[#>:] $', #' wait for shell prompt, then exit expect ); When I connect to a host that doesn't have the key set up I want to put it in the known_hosts and continue. It's a relatively small, very secure environment so this isn't a security concern at this pint. At anyrate though I see the output to my screen and it just sits waiting for "yes" to be sent. Any ideas off the top of your heads? At lunch I'm going for an expect book. The expect sourceforge page isn't very helpful at the moment. :wq! --------------------------------------------------------------------------- Robert L. Harris | Micros~1 : Senior System Engineer | For when quality, reliability at RnD Consulting | and security just aren't \_ that important! DISCLAIMER: These are MY OPINIONS ALONE. I speak for no-one else. FYI: perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' From japh at cos.agilent.com Mon May 27 17:32:40 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: new book review on PPPM Web Message-ID: <006801c205ce$6a826ed0$9381b88d@TC5570P> See http://pikes-peak.pm.org/reviews/index.html for the review of Data Munging with Perl that Bob Gattis finished last week. While you're there, poke around our little Web site and let me know what you think of the new design. <>< Tim From Robert.L.Harris at rdlg.net Wed May 29 12:32:35 2002 From: Robert.L.Harris at rdlg.net (Robert L. Harris) Date: Thu Aug 5 00:18:11 2004 Subject: Odd match? Message-ID: <20020529173235.GN15345@rdlg.net> I'm trying to rip through some data. Unfortunately there are some corrupt lines that contain some odd control characters which screw up the output. They can be simply thrown out without consequence. Whats the best way to do a next on anyline that contains something other than: A-Z, a-z, 0-9, ()`'_ The last set of 4 throws out using \w or \W. ? :wq! --------------------------------------------------------------------------- Robert L. Harris | Micros~1 : Senior System Engineer | For when quality, reliability at RnD Consulting | and security just aren't \_ that important! DISCLAIMER: These are MY OPINIONS ALONE. I speak for no-one else. FYI: perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' From Robert.L.Harris at rdlg.net Wed May 29 14:42:20 2002 From: Robert.L.Harris at rdlg.net (Robert L. Harris) Date: Thu Aug 5 00:18:11 2004 Subject: SUMMARY: Odd match? In-Reply-To: <3.0.6.32.20020529120300.008e6780@pop.mcit.com> References: <20020529173235.GN15345@rdlg.net> <3.0.6.32.20020529120300.008e6780@pop.mcit.com> Message-ID: <20020529194220.GP15345@rdlg.net> I'm posting a summary as I received afew "please tell me what you find" type requests. I tried both of these. At first I went with the RegEx match. This works great as I have a known number of valid characters and a lot of unknowns. In addition I did 2 time runs to see the difference. This is against a 74Meg text file with miscelaneous garbage lines strewn about. Yes it could be faster however this is actually doing a number of other things with the data at the same time so it's not just a read and throw out. RegEx: #Loading Initial Data #Done # 93.02s real 92.05s user 1.01s system TR: #Loading Initial Data #Done # 92.67s real 91.80s user 0.87s system It is faster but not significanly for this file. I should have a multi-gig file coming my way soon so it might make a difference worth remembering. Many thanks. Thus spake David R. Waddell (dave.waddell@wcom.com): > Date: Wed, 29 May 2002 12:03:00 -0600 > From: "David R. Waddell" > Subject: Re: Odd match? > To: "Robert L. Harris" > X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.6 (32) > > I've heard that tr/// is faster than regular expression matching. However, > I'm not sure which of these is more efficient in this case since > you would think the deletion step would add to the processing time > of the tr and it is going to process the entire line even when > it has already encountered a single non-valid character. Which > is faster might depend on the data. > > regular expression: > unless ( m/^[A-Za-z0-9\_\(\)\'\`]+$/){next LINE} > > tr: > if(tr/A-Za-z0-9\_\(\)\'\`//dc){next LINE} > > tr will return the number of characters deleted. c takes the complement > of the character set). > At 11:32 AM 5/29/02 -0600, you wrote: > > > > > >I'm trying to rip through some data. Unfortunately there are some > >corrupt lines that contain some odd control characters which screw up > >the output. They can be simply thrown out without consequence. Whats > >the best way to do a next on anyline that contains something other > >than: > > > >A-Z, a-z, 0-9, ()`'_ > > > >The last set of 4 throws out using \w or \W. > > > >? > > > > > >:wq! > >--------------------------------------------------------------------------- > >Robert L. Harris | Micros~1 : > >Senior System Engineer | For when quality, reliability > > at RnD Consulting | and security just aren't > > \_ that important! > >DISCLAIMER: > > These are MY OPINIONS ALONE. I speak for no-one else. > >FYI: > > perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' > > > > :wq! --------------------------------------------------------------------------- Robert L. Harris | Micros~1 : Senior System Engineer | For when quality, reliability at RnD Consulting | and security just aren't \_ that important! DISCLAIMER: These are MY OPINIONS ALONE. I speak for no-one else. FYI: perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' From japh at cos.agilent.com Wed May 29 14:43:18 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Manning Releases Web Development with Apache and Perl References: <00d401c1fde6$895c5680$80441d82@TC5570P> <016b01c1fde9$b7514b10$80441d82@TC5570P> Message-ID: <00ad01c20749$156012a0$80441d82@TC5570P> > If your group is willing to write and publish a review, please > contact Helen Trimes at hetr@manning.com. Reviews should be > published in print or online within sixty days of receipt of > the free book at your group's website, in a newsletter, a > newsgroup, at an online bookstore, or at another relevant > public forum. When requesting a free review copy, please > include your plans for posting the book review as well as your > shipping address. Now that our Web site is updated and has a place for book reviews, I'm putting out another request for a volunteer to write a review. Go ahead and write directly to Helen. Just copy me on the message. And realize that the book becomes the property of the PPPM library. <>< Tim P.S. I added PPPM library contents to our Web today. From japh at cephas.cos.agilent.com Thu May 30 04:12:36 2002 From: japh at cephas.cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: kewl JavaScript trick Message-ID: <002101c207ba$24859180$ca4e2ed0@TC5570P> FYI, I updated our Web site to take advantage of simulated balloon hints on links. Visit http://pikes-peak.pm.org/news.htm for an example. Hover over the menu items and watch the little windows pop up. Visit http://pikes-peak.pm.org/balloonHint.htm to see how it's done. Now I really should get some sleep... :-) <>< Tim From japh at cos.agilent.com Thu May 30 15:59:36 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Fw: Graphics Programming with Perl Book for Perl Mongers Message-ID: <002401c2081c$e8ea2240$80441d82@TC5570P> [Same deal as with the other Manning book. Volunteer to review the book on behalf of the PPPM and you'll be the first one to get to read the free copy. <>< tbc] Date:Wed, 29 May 2002 17:56:40 -0400 From: "Helen Trimes" hetr@manning.com Attention PikesPeak.pm Members --- Manning Publications announces the release of: Graphics Programming with Perl By Martien Verbruggen To learn more about this book and find out how to get a free copy for your group, please read more ... Greenwich, Connecticut, May 2002 - Graphics Programming with Perl is a guide to the graphics and imaging modules and tools available to the Perl programmer. It covers subjects ranging from drawing pictures and dynamic graphics for web pages to rendering three-dimensional scenes and manipulating individual image pixels. The text is liberally illustrated with example code and programs that show how to achieve common, and sometimes not so common, graphics programming tasks. For the even less common tasks, the book shows developers how to write their own modules. What's Inside - * How to create charts and graphs * Serving graphics content to the WWW with CGI * How to modularize your graphics code, and re-use it * Code to manipulate image pixels (and how to do it fast) * How to work with text in graphics * A complete reference for Image::Magick * Usable examples on adding watermarks to images, creating thumbnails, dynamic web pages with charts, building convolution filters; a web photo album, 3D animation with OpenGL and Renderman About the Author - A developer, architect and systems administrator, Martien Verbruggen is the author of the GD::Graph charting module and the GD::Text modules. He is a regular contributor to the Perl Usenet groups. Martien lives in Sydney, Australia, with his wife and daughter. About Manning Publications Co. Manning Publications Co. is a respected, growing computer book publisher with a reputation for clear writing and high quality technical content. For each of its books Manning makes available to its readers an online discussion forum where they can pose questions to the author. To get access to the author of Graphics Programming with Perl, go to www.manning.com/verbruggen. Here you will also find the book's table of contents, sample chapters and other contents. This book will be available in retail stores in early June 2002. Manning's User Group Program Manning supports the grassroots efforts of the User Group community. A goal of Manning's User Group Program is to foster relationships with technical communities that--in addition to meeting regularly--troubleshoot, write book reviews, and share knowledge through newsletters or Web sites. Manning will provide a free book for presentation at meetings, for group libraries or for door prizes in exchange for a written published review. If your group is willing to write and publish a review, please contact Helen Trimes at hetr@manning.com. Reviews should be published in print or online within sixty days of receipt of the free book at your group's website, in a newsletter, a newsgroup, at an online bookstore, or at another relevant public forum. When requesting a free review copy, please include your plans for posting the book review as well as your shipping address. Graphics Programming with Perl ISBN 1930110-022 By Martien Verbruggen Softbound, 328 pages, $39.95 Ebook, 2.5 MB pdf, $13.50 Publicity Contact: Helen Trimes hetr@manning.com Manning Publications Co. ~ 209 Bruce Park Avenue ~ Greenwich, CT 06830 From japh at cos.agilent.com Thu May 30 16:01:14 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: Fw: [ANNOUNCE] Damian Conway & brian d foy in Chicago, IL, 19-23 Aug Message-ID: <002c01c2081d$23218bb0$80441d82@TC5570P> Date: Thu, 30 May 2002 06:04:19 UT Subject: [ANNOUNCE] Damian Conway & brian d foy in Chicago, IL, 19-23 Aug From: lembark@wrkhors.com Aside: helps if I add the attachments... This is going out to the North American PM group Tsars. I'd appreciate it if you could forward this to the local PM's -- or anyone else who might be interested. Damaian Conway and brian d foy will be teaching in Chicago, IL during the week of 19-23 Aug, 2002. Damian will be offering Data Munging with Perl, Advanced OO Perl, and Practical Parsing with Perl; brian d foy will cover an introduction to mod_perl with a pre-class session for anyone wanting help getting mod_perl and apache running on their own machine. The course notes for everything are attached. Data Munging, OO Perl, and Learning mod_perl are all two day classes; Practical Parsing is one day (See the schedule below). Pricing for all of the classes is US$375/day with a 10% discount for payment by 15-July or 3+ people paying on the same invoice. Payments can be made by check or Purchase Order; PO's will be presented for payment Mon, 19-Aug so that the checks are here by the time Damian heads out of town. The $375/day covers attendance, course materials (several hundred pages of it for most classes), various caffeine sources, and finger food at the breaks. The classes will be taught in Chicago's loop. The exact location will depend on the response. We are currently hoping to fill the the United Stadium now that the Bulls season is over, but the Club Quarters downtown is the most likely. In any case rooms will be available well in advance. Damian will also be giving a free talk on Extreme Perl Monday night at the regular Chicago Perl Monger's meeting in the Chicago Loop. Schedule Aug Damian Conway brian d foy 19 Mon Data Munging (day 1) 20 Tue Data Munging (day 2) Installing mod_perl (evening) 21 Wed Adv. OO Perl (day 1) Learning mod_perl (day 1) 22 Thu Adv. OO Perl (day 2) Learning mod_perl (day 2) 23 Fri Parsing (1 day only) Please direct all inquiries to: mailto:lembark@wrkhors.com Steven Lembark Workhorse Computing 2930 W. Palmer Chicago, IL 60647 +1 800 762 1582 (voice) +1 305 832 0998 (efax) thanx. Title: Data Munging Length: 2 days (8 x 1.5-hour sessions) Variant: Also available in a 1-day version Presenter: Dr Damian Conway School of Computer Science and Software Engineering, Monash University, AUSTRALIA Target audience: Novice perl programmers who are familiar with simple I/O and variables, and who want to a deeper insight into the techniques of Perl's "core business": extraction, manipulation, and reporting of data. What attendees will learn: This tutorial will show you how to use a range of standard Perl features and numerous CPAN modules to read in, decipher, process, and reformat ASCII text data. You will learn: * how regular expressions work, and how to make them work better for you, * how to balance nested brackets and match delimiters without a complex regular expression, * how to recognize and process common text formats like CSV and various tagged mark-up notations, * how to use grammar-based parsing to extract text with complex structure, * how to preprocess archived text formats like (g)zip, tar, uuencoding, MIME, and binary formats, * how to handle ambiguity and errors when processing text, * how to convert your processed data back into readable text, in either fixed or floating formats * how to extract, process, and generate simple natural language data, Tutorial outline: Part 1: Extraction * Getting at the data in the first place - Un(g)zipping, untarring, uudecoding, demiming - Compress::Zlib - Archive::Tar - Convert::UU - MIME tools - Cheating with $/ - Handling file inclusions * Regular expressions - How they work - How they're used (m//, s///, split, grep) - How to build them (easily) - Common regexps and Regexp::Common * Some useful modules for decoding particular formats - Text::CSV_XS for comma separated values - Text::Balanced for delimiters, brackets, code, and tags - POD::Text and Pod::Tree for Plain Ol' Documentation - HTML::TreeBuilder for HTML - unpack and vec for binary formats * Grammar-based parsing - Theory and principles - When it's needed (and when it's not) - Introduction to the Parse::RecDescent module Part 2: Manipulation * Simple transformations - m// and s/// revisited - Text::Tabs - Text::Autoformat * Fuzzy processing - String::Approx and String::EditDistance - Text::Soundex and Text::DoubleMetaphone * Grammar-based transformations * Natural language * Lingua::EN::Inflect * Lingua::EN::Infinitive * Lingua::Conjugation Part 3: Generation * printf and sprintf * Fixed-format interpolation - Perl formats - Text::Wrap - Text::Autoformat::form() * Free-form interpolation - Interpolation - Data::Locations - Text::Template * Grammatical (recursive ascent) text generation Part 4: Putting it all together Presenter biography: Damian Conway holds a Ph.D. in Computer Science and is a Research Fellow with the School of Computer Science and Software Engineering at Monash University, Melbourne, Australia. He is the author of numerous well-known modules including: Class::Contract, Text::Autoformat, Parse::RecDescent, Text::Balanced, Lingua::EN::Inflect, Class::Multimethods, Switch, Quantum::Superpositions, NEXT, Filter::Simple, Attribute::Handlers, Inline::Files, and Coy (all available from your local CPAN mirror). Damian was the winner of the 1998, 1999, and 2000 Larry Wall Awards for Practical Utility. He is a member of the technical committee for The Perl Conference, a columnist for The Perl Journal, and author of the book "Object Oriented Perl". In 2001 Damian received the first "YAS Perl Development Grant" and has spent the year working on projects for the betterment of Perl. Title: Advanced Object-Oriented Perl Length: 2 days (8 x 1.5-hour sessions) Variant: Also available in a 1-day version Presenter: Dr Damian Conway School of Computer Science and Software Engineering, Monash University, AUSTRALIA Target audience: Perl programmers who have a basic familiarity with simple hash-based OO Perl. What attendees will learn: This tutorial will show you how to build on the basic object-oriented Perl techniques you already know and unlock more of the power of Perl's OO capabilities. You will learn: * how to use pseudo-hashes and the standard fields.pm and base.pm modules; * how (and when) to bless arrays and scalars; * three different ways to implement data hiding for Perl objects (including the Tie::SecureHash module); * how Perl implements inheritance and polymorphism (and how you can change the rules of either); * how to simulate scalars, arrays, hashes, and typeglobs using ties; * the features (and traps) of operator overloading in Perl; * two easy ways to build complete classes (semi-)automatically; * how to do design-by-contract programming in OO Perl (using the Class::Contract module); * two ways to do generic programming in Perl; * how to use the Class::Classless module to build OO programs without classes; * how to use multiple dispatch (an advanced form of polymorphism ) to implement event-driven class hierarchies for simulation and GUI applications. Tutorial outline: * Review of Perl OO basics - packages, references, blessing - the three rules * Non-hash-based objects - arrays as objects - scalars as objects * Pseudo-hashes - what they are, how to use them as objects - the fields.pm module - compile-time type checking * Automating class construction and DBC programming - Class::Struct - design-by-contract with Class::Contract * Inheritance - revision of concepts - how they work in Perl - @ISA, isa(), can(), SUPER * Polymorphism - When and how to use it - Variations on the theme * Encapsulation - the pros and cons of data hiding - encapsulation via closures - encapsulation via scalars - encapsulation via the Tie::SecureHash module * Inheritance revisited - tricks with inherited constructors and destructors - abstract methods - attribute collisions - inheritance and pseudohashes: the base.pm module * Ties - simulating implementing scalars, arrays, hashes, typeglobs - scalar example (a maximizing scalar) - hash example (a case-insensitive hash) - Examples: an optimizing scalar; an approximate hash * Operator overloading - overview and limitations of mechanism - overloading operations, conversions, and constants - problems with references * Grafting other OO models onto Perl - classless programming with Class::Classless * Generic programming - Why you don't need it in Perl - How to do it anyway - Examples: generic lists; generic trees * Multiple dispatch - when regular polymorphism isn't enough - cascaded polymorphism - table driven dispatch - Class::Multimethods Presenter biography: Damian Conway holds a Ph.D. in Computer Science and is a Research Fellow with the School of Computer Science and Software Engineering at Monash University, Melbourne, Australia. He is the author of numerous well-known modules including: Class::Contract, Text::Autoformat, Parse::RecDescent, Text::Balanced, Lingua::EN::Inflect, Class::Multimethods, Switch, Quantum::Superpositions, NEXT, Filter::Simple, Attribute::Handlers, Inline::Files, and Coy (all available from your local CPAN mirror). Damian was the winner of the 1998, 1999, and 2000 Larry Wall Awards for Practical Utility. He is a member of the technical committee for The Perl Conference, a columnist for The Perl Journal, and author of the book "Object Oriented Perl". In 2001 Damian received the first "YAS Perl Development Grant" and has spent the year working on projects for the betterment of Perl. Title: Practical Parsing with Parse::RecDescent Length: 1 day (4 x 1.5-hour sessions) Variants: * Also available in a half-day version. * Often combined with "Advanced Parsing with Parse::RecDescent" Presenter: Dr Damian Conway School of Computer Science and Software Engineering, Monash University, AUSTRALIA Target audience: Perl programmers who are familiar with simple regular expressions and the use of modules. The techniques presented are not restricted to the applications mentioned below, and will be useful to anyone who needs to process structured input of any kind. What attendees will learn: This tutorial will show you how to use a range of standard Perl features and several CPAN modules (in particular, Parse::RecDescent) to decipher and process a variety of complex data and command formats. It's a practical introduction to the techniques of grammar-based recursive-descent parsing. You will learn: * how to design and build parsers to process Apache configuration files and log data, * how to process structured expressions (e.g. search engine queries), * how to balance nested brackets and match delimiters without a regular expression, * how to fold, spindle and mutilate the comments in a C program, * how to allow embedded Perl code in your own data format or command language, * how convert natural language queries into SQL. There'll even be some useful stuff, like how to write a program that does stand-up comedy. Tutorial outline: * A brief history of parsing - grammars, rules, recursive descent, etc. * Implementing parsers - top-down vs bottom-up approaches * Useful tools - Text::Balanced, Parse::Yapp, perl-byacc, Parse::RecDescent * Simple parsing - Parsing delimited text, parsing Perl subsets * Parsing data - Parsing Apache log files - optional subrules, list parsing - run-time parser generation * Parsing input - The Text::Query modules - OO parsing - operator precedence, lists, look-ahead, rejections, etc. * Parsing code - parsing C and C++ - stateful grammars - porting yacc grammars (including left-recursion) - self-extending parsers, committing rules, deferred actions - grammar precompilation * Parsing natural language - generating SQL queries for natural language input - synthetic stand-up via reciprocal parsers Presenter biography: Damian Conway holds a Ph.D. in Computer Science and is a Research Fellow with the School of Computer Science and Software Engineering at Monash University, Melbourne, Australia. He is the author of numerous well-known modules including: Class::Contract, Text::Autoformat, Parse::RecDescent, Text::Balanced, Lingua::EN::Inflect, Class::Multimethods, Switch, Quantum::Superpositions, NEXT, Filter::Simple, Attribute::Handlers, Inline::Files, and Coy (all available from your local CPAN mirror). Damian was the winner of the 1998, 1999, and 2000 Larry Wall Awards for Practical Utility. He is a member of the technical committee for The Perl Conference, a columnist for The Perl Journal, and author of the book "Object Oriented Perl". In 2001 Damian received the first "YAS Perl Development Grant" and has spent the year working on projects for the betterment of Perl. Learning mod_perl Course Outline brian d foy "Learning mod_perl" introduces the student to programming the Apache API with Perl, including custom handlers, database persistence, and post-request actions. The students will be able to try new things during class time and get immediate feedback. Students should be comfortable with object-oriented notation in Perl to use the mod_perl API. Students should have "Writing Apache Modules with Perl and C" by Lincoln Stein & Doug MacEachern and the quick reference card that comes with it. Pre-class mod_perl installation help will be available (details to follow). ===Day One=== 1. Setting up mod_perl - download - compile - install - test 2. Migrating CGI scripts to Apache::Registry - quick and dirty speed ups 3. The Apache request cycle - reading the request - interpreting the request - responding to the request - post request actions 4. mod_perl handlers / Apache API - HTTP responses - accessing Apache data structures 5. A URL translation handler - mapping URLs to resources - redirection 6. Apache::DBI - database persistence ===Day Two=== 7. Content Handlers 8. Stacked Handlers - headers and footers 9. Access handlers 10. Authentication & Authorization handlers 11. Apache sections - dynamic configuration 12. Post request phases - logging - post request processing 13. Miscellaneous topics - adding headers - passing notes - modules on CPAN -- From japh at cos.agilent.com Thu May 30 16:31:48 2002 From: japh at cos.agilent.com (Tim Chambers) Date: Thu Aug 5 00:18:11 2004 Subject: kewl JavaScript trick References: <5.1.1.2.2.20020530082611.0247c9e0@postal.atmel.com> <5.1.1.2.2.20020530135726.024ac1b0@postal.atmel.com> Message-ID: <004c01c20821$678e57c0$80441d82@TC5570P> Well, I guess there's such a thing as trying to be too fancy. The trick doesn't work well with Opera 6.01, and, as Jopa already relayed, it crashes konqueror 2.2.2 on freebsd 4.5. I'm leaning toward ripping all the JavaScript out of the Web site. I have a lead on a Web designer (or at least a Perl technology to use). More as things develop... <>< Tim