From george at metaart.org Tue Mar 1 12:47:31 2005 From: george at metaart.org (George Woolley) Date: Tue Mar 1 12:29:52 2005 Subject: [oak perl] A Simple Problem Message-ID: <200503011247.31850.george@metaart.org> Given one or more numbers in @numbers, how would you go about setting $total to the sum of @numbers. [This is a problem from another Perl group.] From george at metaart.org Tue Mar 1 12:48:44 2005 From: george at metaart.org (George Woolley) Date: Tue Mar 1 12:30:06 2005 Subject: [oak perl] Write a Review? Message-ID: <200503011248.44240.george@metaart.org> Anyone up for writing a review? That would be cool! The reviews page on our site contains some info on this. (See cut & paste from it below my "signature".) If you have questions about reviews, please feel free to ask * at a meeting * by personal email * on the list cut & paste from start of http://www.metaart.org/opug/reviews/reviews.html ................................................... You are invited and encouraged to write reviews that are in some way related to Perl. Your review could be of a book, an article, a class, a product or perhaps you have something else in mind. The subject of the book (or whatever) could also vary widely. There is no required format for reviews. If you wish to write a review of a specific O'Reilly book or Apress book, likely a free review copy can be provided. In writing a review of a book, you may find one of the following helpful: * [link to] O'Reilly Book Review Guidelines * [link to] Suggestions for Writing Apress Book Reviews From kester at gmail.com Tue Mar 1 12:42:40 2005 From: kester at gmail.com (Kester Allen) Date: Tue Mar 1 12:43:16 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <200503011247.31850.george@metaart.org> References: <200503011247.31850.george@metaart.org> Message-ID: <55adb31905030112424059f6c9@mail.gmail.com> I like the module solution: use List::Util qw/sum/ @numbers = qw/3 9 12 1 2/; $tot = sum ( @numbers ); print $tot; On Tue, 1 Mar 2005 12:47:31 -0800, George Woolley wrote: > Given one or more numbers in @numbers, > how would you go about setting $total > to the sum of @numbers. > [This is a problem from another Perl group.] > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > From david at fetter.org Tue Mar 1 12:48:54 2005 From: david at fetter.org (David Fetter) Date: Tue Mar 1 12:49:03 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <200503011247.31850.george@metaart.org> References: <200503011247.31850.george@metaart.org> Message-ID: <20050301204854.GA24018@fetter.org> On Tue, Mar 01, 2005 at 12:47:31PM -0800, George Woolley wrote: > Given one or more numbers in @numbers, > how would you go about setting $total > to the sum of @numbers. my $total = 0; map {$total += $_} @numbers; Cheers, D -- David Fetter david@fetter.org http://fetter.org/ phone: +1 510 893 6100 mobile: +1 415 235 3778 Remember to vote! From mtheo at amural.com Tue Mar 1 12:54:04 2005 From: mtheo at amural.com (Mark Theodoropoulos) Date: Tue Mar 1 12:54:17 2005 Subject: [oak perl] Vaguely Perl-related job In-Reply-To: <20050223195659.GB88235@ethics-gradient.nog.net> References: <20050223195659.GB88235@ethics-gradient.nog.net> Message-ID: <6.2.1.2.0.20050301124716.02571520@localhost> >We're looking to hire someone in my group. The position is half >technical, half managerial. > > http://www.craigslist.org/pen/sof/60873910.html > >IIRC at our last meeting, mtheo (?) said something about searching >for a job, possibly with Perl and SQL involved. Here's a lead. > >Oh, if you're not mtheo, you can respond too. :-) Yikes, looks like a missed a week's worth of messages there. That might be a clue as to my fit with the "timely manner" requirements of the job. Or any job. Half technical and half assed is more my speed. Anyway, I remember the job-search comment, but 'tweren't me -- much as I love Perl, and can stomach SQL. -- producer / classics without walls the anti-warhorse zone / www.amural.com kusf 90.3fm / san francisco From david at fetter.org Tue Mar 1 15:28:19 2005 From: david at fetter.org (David Fetter) Date: Tue Mar 1 15:28:33 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <55adb31905030112424059f6c9@mail.gmail.com> References: <200503011247.31850.george@metaart.org> <55adb31905030112424059f6c9@mail.gmail.com> Message-ID: <20050301232819.GB24018@fetter.org> On Tue, Mar 01, 2005 at 12:42:40PM -0800, Kester Allen wrote: > I like the module solution: > > use List::Util qw/sum/ > @numbers = qw/3 9 12 1 2/; > $tot = sum ( @numbers ); > print $tot; That's neat, and easy to read, besides :) Cheers, D -- David Fetter david@fetter.org http://fetter.org/ phone: +1 510 893 6100 mobile: +1 415 235 3778 Remember to vote! From mark at bincomputing.com Tue Mar 1 18:05:15 2005 From: mark at bincomputing.com (Mark Bole) Date: Tue Mar 1 18:05:27 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <20050301232819.GB24018@fetter.org> References: <200503011247.31850.george@metaart.org> <55adb31905030112424059f6c9@mail.gmail.com> <20050301232819.GB24018@fetter.org> Message-ID: <42251F5B.6070006@bincomputing.com> David Fetter wrote: >On Tue, Mar 01, 2005 at 12:42:40PM -0800, Kester Allen wrote: > > >>I like the module solution: >> >>use List::Util qw/sum/ >>@numbers = qw/3 9 12 1 2/; >>$tot = sum ( @numbers ); >>print $tot; >> >> > >That's neat, and easy to read, besides :) > >Cheers, >D > > Agreed! It seems that the two best solutions (as I would call them) bubbled up to the top immediately. I liked one because it was built-in, and the other because the language was more set-oriented. It got me thinking about the following excerpt from the List::Util man page, and how the comment "nice to have in the perl core, but..." isn't really a big problem with Perl (because it's so easily extensible, unlike the proprietary languages I work with). "List::Util contains a selection of subroutines that people have expressed would be nice to have in the perl core, but the usage would not really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful." Under the following listing http://cpan.uwinnipeg.ca/htdocs/Scalar-List-Utils/List/Util.html#suggested_additions it took me a while to understand the precedence of the "for" and "&&", as well as to remember that "foreach" is just a synonym for "for". -- Mark Bole http://www.bincomputing.com 925-287-0366 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/oakland/attachments/20050301/c5d0cb32/attachment.htm From mark at bincomputing.com Tue Mar 1 18:07:06 2005 From: mark at bincomputing.com (Mark Bole) Date: Tue Mar 1 18:07:19 2005 Subject: [oak perl] Vaguely Perl-related job In-Reply-To: <6.2.1.2.0.20050301124716.02571520@localhost> References: <20050223195659.GB88235@ethics-gradient.nog.net> <6.2.1.2.0.20050301124716.02571520@localhost> Message-ID: <42251FCA.2040905@bincomputing.com> Mark Theodoropoulos wrote: > >> We're looking to hire someone in my group. The position is half >> technical, half managerial. >> >> http://www.craigslist.org/pen/sof/60873910.html >> >> IIRC at our last meeting, mtheo (?) said something about searching >> for a job, possibly with Perl and SQL involved. Here's a lead. >> >> Oh, if you're not mtheo, you can respond too. :-) > > > Yikes, looks like a missed a week's worth of messages there. That > might be a clue as to my fit with the "timely manner" requirements of > the job. Or any job. Half technical and half assed is more my speed. > Anyway, I remember the job-search comment, but 'tweren't me -- much > as I love Perl, and can stomach SQL. > > > > I think that might have been me since I mentioned Oracle and Perl in my introducton. I have replied off-line to Tony Monroe. -- Mark Bole http://www.bincomputing.com 925-287-0366 From zed.lopez at gmail.com Wed Mar 2 21:59:47 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Wed Mar 2 22:00:29 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <20050301204854.GA24018@fetter.org> References: <200503011247.31850.george@metaart.org> <20050301204854.GA24018@fetter.org> Message-ID: <83a996de050302215930328971@mail.gmail.com> > my $total = 0; > map {$total += $_} @numbers; I prefer avoiding map in a void context, and would go for: $total += $_ for @numbers; Before 5.8.1, there was more point to this distinction: map built a list that you were just discarding. Now the compiler is smart enough that map in a void context doesn't build the list, so there's no efficiency issue. I still find the for version more readable. I probably wouldn't use List::Util just for this, but if I were already using it for, say, max or min, then I'd use sum. From george at metaart.org Thu Mar 3 18:34:40 2005 From: george at metaart.org (George Woolley) Date: Thu Mar 3 18:16:08 2005 Subject: [oak perl] Fwd: Newsletter from O'Reilly UG Program, March 3 Message-ID: <200503031834.40830.george@metaart.org> ---------- Forwarded Message ---------- Subject: Newsletter from O'Reilly UG Program, March 3 Date: Thursday 03 March 2005 5:03 pm From: Marsee Henon ... ================================================================ O'Reilly News for User Group Members March 3, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Jakarta Struts Cookbook -Apple I Replica Creation -Programming Flash Communication Server -The Linux Enterprise Cluster -Programming C#, 4th Edition -Pragmatic Version Control Using Subversion -PC Hardware Buyer's Guide -Game Coding Complete, Second Ed. -Office 2004 for Macintosh: The Missing Manual -Linux in a Windows World ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -Bonnie Biafore ("Online Investing Hacks") San Francisco Investors' Forum, San Ramon, CA--March 5 -O'Reilly at PhotoShop World, Las Vegas, NV--March 9 -Steve Bass ("PC Annoyances") on the Radio with ComputerAmerica March 7, April 4, May 2, and June 6 -Steve Bass ("PC Annoyances") on "AirTalk with Larry Mantle," KPCC (89.3FM), Pasadena, CA--March 15 -Greg Kroah-Hartman, ("Linux Device Drivers, 3rd Ed."), Powell's Technical Bookstore, Portland, OR--April 16 ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Register for the 2005 O'Reilly Emerging Technology Conference, San Diego, CA--March 14-17 -Register for the 2005 MySQL Users Conference, Santa Clara, CA--April 18-21 ---------------------------------------------------------------- News ---------------------------------------------------------------- -How Paris Got Hacked? -SafariU Revolutionizes the Textbook -Remixing Culture: An Interview with Lawrence Lessig -O'Reilly Learning Lab: $200 Instant Rebate -MAKE Subscriptions Available -Trouble in the Kernel, VMware, and PostgreSQL -Building the PostgreSQL BuildFarm -Display Your Favorite Album Artwork in iTunes -Build an iTunes Remote Control -Mac Books in Newsweek -Understanding Administrative Templates -Data Binding in ASP.NET 2.0 -A Look at Commons Chain: The New Java Framework -Aspect-Oriented Annotations -Rid Yourself of Digital Media Annoyances -Build a Simple MP3 Player for Your Site -Actions for Photoshop Elements 3 -Yahoo! Web Services -Not the Usual Suspects: Recruiting Usability Test Participants -Logs, Browsers and Statistics: The Decline of Internet Explorer 5 ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 20% off any O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***Jakarta Struts Cookbook Publisher: O'Reilly ISBN: 059600771X "Jakarta Struts Cookbook" is an amazing collection of code solutions to common--and uncommon--problems encountered when building web applications with the Struts Framework. With solutions to real-world problems, this look-up reference is perfect for independent developers, large development teams, and everyone in between who wishes to use the Struts Framework to its fullest potential. Plus, it is completely up-to-date with the latest versions of Framework, so readers can be sure the information is viable. http://www.oreilly.com/catalog/jakartastrutsckbk/index.html Chapter 14, "Tiles and Other Presentation Approaches," is available online: http://www.oreilly.com/catalog/jakartastrutsckbk/chapter/index.html ***Apple I Replica Creation Back to the Garage Publisher: Syngress ISBN: 193183640X Computers like the Apple I are incredibly simple machines. Even if you have no experience with electronics, this book will teach you how to build your own replica of the Apple I, show you how to program it yourself, and introduce you to exciting ways to expand your Apple I to control lights, motors, and more. http://www.oreilly.com/catalog/193183640X/index.html ***Programming Flash Communication Server Publisher: O'Reilly ISBN: 0596005040 "Programming Flash Communication Server" not only explains how to use the pre-built FCS components to construct a simple application, it also explains the architecture so that developers can program custom components to make even more advanced applications. In addition, the book explains how to truly optimize performance and talks about considerations for networked applications as well as the media issues pertaining to FCS. http://www.oreilly.com/catalog/progflashcs/index.html Chapter 1, "Introducing the Flash Communication Server," is available online: http://www.oreilly.com/catalog/progflashcs/chapter/index.html ***The Linux Enterprise Cluster Publisher: No Starch Press ISBN: 1593270364 "The Linux Enterprise Cluster" is a practical guide for building and installing an enterprise-class cluster for mission critical applications using commodity hardware and open source software. Includes information on how to build a high-availability server pair using the Heartbeat package, how to use the Linux Virtual Server load balancing software, how to configure a reliable printing system, and how to build a job scheduling system with no single point of failure. http://www.oreilly.com/catalog/1593270364/index.html ***Programming C#, 4th Edition Publisher: O'Reilly ISBN: 0596006993 Aimed at experienced programmers and web developers, this fourth edition of the top-selling C# book focuses on the features and programming patterns that are new to C# and fundamental to the programming of web services and applications on Microsoft's .NET platform. This edition has also been updated to reflect the C# ISO standard as well as changes in Microsoft's implementation of the language. http://www.oreilly.com/catalog/progcsharp4/index.html Chapter 12, "Delegates and Events," is available online: http://www.oreilly.com/catalog/progcsharp4/chapter/index.html ***Pragmatic Version Control Using Subversion Publisher: Pragmatic Bookshelf ISBN: 0974514063 Half of all project teams in the U.S. don't use any version control at all, and many others experience problems. Version control is the lifeblood of software projects, but it doesn't have to be complicated or time consuming. This recipe-based book covers the theory behind version control and shows how it can help developers become more efficient, work better as a team, and keep on top of software complexity. http://www.oreilly.com/catalog/0974514063/index.html ***PC Hardware Buyer's Guide Publisher: O'Reilly ISBN: 0596009380 This handy guide is the ideal shopping companion for people who wish to build their own desktop computer. Loaded with valuable information, the "PC Hardware Buyer's Guide" helps you choose which parts are best for you by linking compatibility and performance with your own particular profile. This book features a component overview, valuable rules of thumb, and a quick-lookup reference chart with recommended brands and models. http://www.oreilly.com/catalog/pccbg/index.html ***Game Coding Complete, Second Ed. Publisher: Paraglyph Press ISBN: 1932111913 "Game Coding Complete, Second Ed." is the essential hands-on guide to developing commercial quality games written by master game programmer Mike McShaffry. This must-have second edition has been expanded from the bestselling first edition to include the absolute latest in exciting new techniques in game interface design programming, game audio development, game scripting, 3D programming, and game engine technology. http://www.oreilly.com/catalog/1932111913/index.html ***Office 2004 for Macintosh: The Missing Manual Publisher: O'Reilly ISBN: 0596008201 Whether you're an Office beginner eager to understand the applications in the suite or a longtime Office user looking for power-user techniques and detailed coverage of what's new in Office 2004, this book delivers everything you need to master all four Office 2004 programs for Mac--Word, Excel, PowerPoint, and Entourage. According to Microsoft, the average Office user taps into less than 15 percent of the suite's features. Get 100 percent out of Office 2004 by getting the Missing Manual. http://www.oreilly.com/catalog/officemactmm/index.html ***Linux in a Windows World Publisher: O'Reilly ISBN: 0596007582 An invaluable companion for any system administrator interested in integrating Linux into their Windows environment, this book takes an in-depth look at exactly how Linux can be brought into an organization that's currently based on Microsoft Windows systems. Featuring a litany of insider tips and techniques, "Linux in a Windows World" dispenses all the practical advice you need to migrate to this revolutionary open source software. http://www.oreilly.com/catalog/linuxwinworld/index.html Chapter 7, "Using NT Domains for Linux Authentication," is available online: http://www.oreilly.com/catalog/linuxwinworld/chapter/index.html ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***Bonnie Biafore ("Online Investing Hacks"), San Francisco Investors' Forum, San Ramon, CA--March 5 Bonnie will be teaching a workshop at this event. SBC Center, San Ramon, CA http://www.better-investing.org/chapter/sanfran/ ***O'Reilly at PhotoShop World, Las Vegas, NV--March 9 Come by and say hi and check out our latest Digital Media books at our booth (#220). Mandalay Bay Resort, Las Vegas, NV. http://www.photoshopworld.com/ ***Steve Bass ("PC Annoyances") on the Radio with ComputerAmerica March 7, April 4, May 2, and June 6 He will be on the radio from 7:00-8:00pm (PST) Call in during the show! The number is 866-606-8255. To listen to the show live, go to: http://www.computeramerica.com/listen.htm To chat while Steve's on the air, go to: http://www.computeramerica.com/interact.htm Check for a local station here on "Business Talk Radio": http://snipurl.com/computeramerica3 ***Steve Bass ("PC Annoyances") on "AirTalk with Larry Mantle," KPCC (89.3FM), Pasadena, CA--March 15 Click "Listen Live" to hear the show 11:00am through 12:00pm (PST): http://www.kpcc.org ***Greg Kroah-Hartman, ("Linux Device Drivers, 3rd Ed"), Powell's Technical Bookstore, Portland, OR--April 16 Come on by and listen to Greg talk about his new book. Saturday, April 16th at 1:00pm Powell's Technical Books 33 NW Park Avenue Portland, OR 97209 USA http://www.powells.com/technicalbooks ================================================ Conference News ================================================ ***2005 O'Reilly Emerging Technology Conference, San Diego, CA--March 14-17 This year's conference theme is "Remix," which infuses ETech's roll-up-your-sleeves tutorials, to-the-point plenary presentations, and real world focused breakout sessions. Come to ETech and discover how applications and hardware are being deconstructed and recombined in unexpected ways. Learn how users and customers are influencing new interfaces, devices, business models, and services. For all the scoop on tutorials, featured speakers, and conference events, check out: http://conferences.oreillynet.com/etech/ User group members use code DSUG when you register, and receive 20% off the registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/et2005/create/ord_et05 ***Register for the 2005 MySQL Users Conference, Santa Clara, CA--April 18-21 The MySQL Users Conference, co-presented by O'Reilly Media and MySQL AB, brings together experts, users, and industry leaders with unique MySQL insights, offering attendees a detailed look into new features in MySQL 5.0, sessions and workshops designed to teach best practices, and exposure to new open source technologies. For more information, go to: http://www.mysqluc.com/ User Group members who register before Febuary 28, 2005 get a double discount. Use code DSUG when you register, and receive 20% off the early registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/mysqluc2005/create/ord_mysql05 ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***How Paris Got Hacked? Like many online service providers, T-Mobile requires users to answer a "secret question" if they forget their passwords. For Paris Hilton's account, the secret question was "What is your favorite pet's name?" By correctly providing the well-known answer, any internet user could change Hilton's password and freely access her account. http://www.macdevcenter.com/pub/a/mac/2005/01/01/paris.html ***SafariU Revolutionizes the Textbook With SafariU, you can you create and publish your own textbook, selecting exactly the book chapters, sections, or articles you need from the impressive Safari database. SafariU costs you nothing to use and offers your students more focused course content at less cost. Sign up now, get a jump on your summer and fall course prep, and your first custom textbook could be ready to print before spring break. Visit SafariU to view a video demo and sign up for access. http://academic.oreilly.com/safariu-more.csp ***Remixing Culture: An Interview with Lawrence Lessig What do you get when you mix P2P, inexpensive digital input devices, open source software, easy editing tools, and reasonably affordable bandwidth? Potentially, you get what Lawrence Lessig calls remix culture, which he explains in this extensive interview. http://www.oreillynet.com/pub/a/policy/2005/02/24/lessig.html The concept of remixing culture is also the topic of his keynote at O'Reilly's upcoming Emerging Technology Conference, March 14-17 in San Diego. http://conferences.oreillynet.com/etech/ ***O'Reilly Learning Lab: $200 Instant Rebate Learning programming languages and development techniques has never been easier. Using your web browser and Useractive's Learning Sandbox technology, the Learning Lab gives you hands-on, online training in a creative environment. This month, receive a $200 instant rebate (and a Certificate from the University of Illinois Office of Continuing Education upon course completion) when you enroll in any Certificate Series. http://www.oreilly.com/redirector.csp?link=UACert&type=news ***MAKE Subscriptions Available The annual subscription price for four issues is $34.95. When you subscribe with this link, you'll get a free issue--the first one plus four more for $34.95. So subscribe for yourself or friends with this great offer for charter subscribers: five volumes for the cost of four. Subscribe at: https://www.pubservice.com/MK/Subnew.aspx?PC=MK&PK=M5ZUGLA The MAKE blog is available at: http://www.makezine.com/blog/ --------------------- Open Source --------------------- ***Trouble in the Kernel, VMware, and PostgreSQL Noel Davis looks at problems in the Linux kernel, VMware, PostgreSQL, Squid, MySQL, mailman, Apple OSX HFS+, movemail with GNU Emacs or XEmancs, KStars, typespeed, awstats, and synaesthesia. http://www.linuxdevcenter.com/pub/a/linux/2005/02/28/security_alerts.html ***Building the PostgreSQL BuildFarm Managing a cross-platform open source project is difficult; how do you test on all the platforms you support? Leverage the time and resources of your users! Andrew Dunstan took a tip from the Samba team and recently set up a build farm for the PostgreSQL project to report build successes and failures from interested users. Here's how he did it. http://www.onlamp.com/pub/a/onlamp/2005/02/24/pg_buildfarm.html --------------------- Mac --------------------- ***Display Your Favorite Album Artwork in iTunes Love your iPod but miss the album art? In iTunes 4, you can associate an album's artwork with a song so it can be displayed while you play the song. Wei-Meng Lee shows you how to use two free programs, Clutter and art4iTunes.com, to simplify the task. For more tricks and tips on using your iPod photo, check out Wei-Meng's latest eDoc, All About Your iPod Photo. http://www.macdevcenter.com/pub/a/mac/2005/02/22/albumart.html ***Build an iTunes Remote Control AirPort Express is great for streaming music from your Mac, except when you have to change tracks from another room. There are commercial solutions available, but here's a great evening project using your web-enabled cell phone and the power of Mac OS X. http://www.macdevcenter.com/pub/a/mac/2005/03/01/itunes_remote.html ***Mac Books in Newsweek No Starch's "The Cult of Mac" and O'Reilly's "Revolution in the Valley" were mentioned in Newsweek's Quick Read, February 21 Issue. http://www.msnbc.msn.com/id/6934650/site/newsweek/ "The Cult of Mac" http://www.oreilly.com/catalog/1886411832/index.html "Revolution in the Valley" http://www.oreilly.com/catalog/revolution/ --------------------- Windows/.NET --------------------- ***Understanding Administrative Templates Administrative templates are a key management component of Group Policy on Windows 2000, Windows XP, and Windows Server 2003. Mitch Tulloch, author of "Windows Server Hacks," shows you how they work and how to use them. http://www.windowsdevcenter.com/pub/a/windows/2005/03/01/Admin_templates..htm l ***Data Binding in ASP.NET 2.0 Not only has Microsoft made radical changes in how data binding is done between ASP.NET 1.x and 2.0, but it has also created significant differences between how it is done in Windows Forms and ASP.NET in 2.0. This keeps life interesting (Jesse Liberty says, gnashing his teeth). In this new column, he dives into data binding in the new Web Forms. http://www.ondotnet.com/pub/a/dotnet/2005/02/22/liberty.html --------------------- Java --------------------- ***A Look at Commons Chain: The New Java Framework In part one of a two-part series, Bill Siggelkow covers the basics of Chain, a promising new framework from the Jakarta Commons subproject that lets you integrate Chain into the Struts build process. In part two, Bill will cover how Chain is being applied to Struts and other projects. Bill is the author of O'Reilly's "Jakarta Struts Cookbook." http://www.onjava.com/pub/a/onjava/2005/03/02/commonchains.html ***Aspect-Oriented Annotations Aspect-Oriented Programming (AOP) and attributes are two leading-edge programming concepts, each with typical applications. By combining them, using attributes to indicate where AOP code should execute, you can effectively declare new Java syntax. Bill Burke introduces this new technique. http://www.onjava.com/pub/a/onjava/2004/08/25/aoa.html --------------------- Digital Media --------------------- ***Rid Yourself of Digital Media Annoyances Sometimes those little quirks in your favorite digital media toys can take all the fun out of playing. Preston Gralla offers a baker's dozen fixes to MP3, iTunes, and QuickTime annoyances, so you can get back to the fun. Preston is the author of "Internet Annoyances." http://www.windowsdevcenter.com/pub/a/windows/2005/02/22/internetannoy.html ***Build a Simple MP3 Player for Your Site You don???t have to monkey with Flash, redundant windows, or unpredictable plugins to deliver smart-looking audio playback for your visitors. With this sneaky bit of JavaScript, you can generate pop-up music players on the fly. http://digitalmedia.oreilly.com/2005/02/23/mp3_embed.html ***Actions for Photoshop Elements 3 Want to automate a complicated artistic effect, like making a photo look like a watercolor, or adding a 3-D frame? Photoshop Elements 3 makes these tasks easy with actions. Barbara Brundage, author of "Photoshop Elements 3: The Missing Manual," shows you how to write, install, and troubleshoot actions in Elements 3, for the Mac or Windows. http://digitalmedia.oreilly.com/2005/02/23/PSelement3.html --------------------- Web --------------------- ***Yahoo! Web Services Paul Bausch takes a look at the new Yahoo! Web Services interface and shows how to tap into the API with a sample application. http://www.oreillynet.com/pub/a/network/2005/02/28/yahoo.html ***Not the Usual Suspects: Recruiting Usability Test Participants Isn't usability testing a simple matter of getting pals or colleagues to look over a site in exchange for free pizza? No, it's not... Liz explains how easy it is to gather suitable, site-relevant test participants using a number of possible sampling techniques. http://www.sitepoint.com/article/usability-test-participants ***Logs, Browsers and Statistics: The Decline of Internet Explorer 5 Individual site logs on browser usage lie, contends Alex Walker. He says a larger sample size is necessary for data and decision making. http://www.sitepoint.com/blog-post-view.php?id=226319 ================================================ From Your Peers =============================================== Don't forget to check out the O'Reilly UG wiki to see what user groups across the globe are up to: http://wiki.oreillynet.com/usergroups/index.cgi Until next time-- Marsee ------------------------------------------------------- From tony+s+d414ac at nog.net Fri Mar 4 14:51:31 2005 From: tony+s+d414ac at nog.net (Tony Monroe) Date: Fri Mar 4 14:51:48 2005 Subject: [oak perl] POE presentation slides Message-ID: <20050304225131.GA44873@ethics-gradient.nog.net> If you want the slides I'll be using in my presentation in our next meeting, you can pick them up at: ftp://ftp.nog.net/pub/tony/pm/poe_slides.zip The first slide is index.html. See you Tuesday! -- tony -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://mail.pm.org/pipermail/oakland/attachments/20050304/c401b79e/attachment.bin From george at metaart.org Fri Mar 4 17:32:55 2005 From: george at metaart.org (George Woolley) Date: Fri Mar 4 17:14:08 2005 Subject: [oak perl] POE presentation slides In-Reply-To: <20050304225131.GA44873@ethics-gradient.nog.net> References: <20050304225131.GA44873@ethics-gradient.nog.net> Message-ID: <200503041732.55413.george@metaart.org> Tony, Thanks! It is very cool when there are notes or code to go along with a presentation. :) Even better when there are both. :) :) Even better when they are available ahead of time. :) :) :) Again, thanks!!! George On Friday 04 March 2005 2:51 pm, Tony Monroe wrote: > If you want the slides I'll be using in my presentation in our next > meeting, you can pick them up at: > > ftp://ftp.nog.net/pub/tony/pm/poe_slides.zip > > The first slide is index.html. > > See you Tuesday! > > -- tony From george at metaart.org Mon Mar 7 09:11:39 2005 From: george at metaart.org (George Woolley) Date: Mon Mar 7 08:52:43 2005 Subject: [oak perl] Oakland.pm Meeting: Tue. Mar. 8 Message-ID: <200503070911.39152.george@metaart.org> Thanks for the many responses. I'm looking forward to seeing a number of you tomorrow evening (Tuesday). George ------------------------------ cut & paste from http://www.metaart.org/opug/ ------------------------------- Next meeting * when: Tue. Mar. 8 at 7:30-9:30pm (on 2nd Tuesdays since Dec. 2002) * where: Connie's Cantina 3340 Grand Ave., Oakland CA * directions: [link to] directions and ascii map * special guest: Janet Crosbie (Apress User Group Program) * topic: POE * activities: o introductions o giveaways o talk by Tony Monroe o eat Mexican food o ... * who: open to anyone interested. * how much: no fee for our meetings. However, it would be kool if you got something to eat and/or drink. * RSVP: if you want to be sure to have a seat at the Oakland.pm table. --------- Note --------- * Presentation slides at: ftp://ftp.nog.net/pub/tony/pm/poe_slides.zip From george at metaart.org Mon Mar 7 22:19:33 2005 From: george at metaart.org (George Woolley) Date: Mon Mar 7 22:00:36 2005 Subject: [oak perl] A Simple Problem Message-ID: <200503072219.33615.george@metaart.org> What would be a good way to change all instances of a specified character in a specified file to a specified character? From zed.lopez at gmail.com Mon Mar 7 23:48:30 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Mon Mar 7 23:48:43 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <200503072219.33615.george@metaart.org> References: <200503072219.33615.george@metaart.org> Message-ID: <83a996de05030723483b875418@mail.gmail.com> to change 'x' to 'q': perl -pi.bak -e 's/x/q/g' filename leaves a backup of the original in filename.bak On Mon, 7 Mar 2005 22:19:33 -0800, George Woolley wrote: > What would be a good way to change > all instances of a specified character in a specified file > to a specified character? From george at metaart.org Tue Mar 8 00:48:47 2005 From: george at metaart.org (George Woolley) Date: Tue Mar 8 00:29:46 2005 Subject: [oak perl] Meja er em Pumulu. Message-ID: <200503080048.47970.george@metaart.org> You heard it here first. Well, most of you did. But what does it mean? Your mission, should you accept it, is to determine that -- and report your findings to this list. A hint: Your mission could be easier if you've been involved with Oakland.pm for a while. From santranyc at yahoo.com Tue Mar 8 04:38:47 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Tue Mar 8 04:38:30 2005 Subject: [oak perl] my operator question Message-ID: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> Following up on Zed's answer to George's "simple problem," why does this work: my @numbers = qw(1 4 6); $total += $_ for @numbers; print $total; but not this: use strict; my @numbers = qw(1 4 6); my $total = 0; $total += $_ for @numbers; print $total; [Global symbol "$total" requires explicit package name at test line 3. Global symbol "$total" requires explicit package name at test line 4.] and adding "my" this way doesn't work either: use strict; my @numbers = qw(1 4 6); my $total += $_ for @numbers; print $total; [it prints nothing] --Sandy Santra From jseidel at edpci.com Tue Mar 8 08:08:34 2005 From: jseidel at edpci.com (Jon Seidel, CMC) Date: Tue Mar 8 08:08:52 2005 Subject: [oak perl] my operator question In-Reply-To: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> References: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> Message-ID: <52189.63.192.200.250.1110298114.squirrel@63.192.200.250> I'm guessing it has something to do with the "for numbers" construct actually expecting an array context...? Good question...jon > Following up on Zed's answer to George's "simple problem," > > why does this work: > > my @numbers = qw(1 4 6); > $total += $_ for @numbers; > print $total; > > but not this: > > use strict; > my @numbers = qw(1 4 6); > my $total = 0; > $total += $_ for @numbers; > print $total; > > [Global symbol "$total" requires explicit package name at test line 3. > Global symbol "$total" requires explicit package name at test line 4.] > > and adding "my" this way doesn't work either: > > use strict; > my @numbers = qw(1 4 6); > my $total += $_ for @numbers; > print $total; > > [it prints nothing] > > --Sandy Santra > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Connecting Business and Technology Jon Seidel, CMC +1-510-530-6314 EDP Consulting, Inc. www.edpci.com CMC (Certified Management Consultant) is a certification mark awarded by the Institute of Management Consultants USA and represents evidence of the highest standards of consulting and adherence to the ethical canons of the profession. Less than 1% of all consultants have achieved this level of performance. See www.imcusa.org/hireacmc.acgi. From zed.lopez at gmail.com Tue Mar 8 09:52:29 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Tue Mar 8 09:52:37 2005 Subject: [oak perl] my operator question In-Reply-To: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> References: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> Message-ID: <83a996de05030809525038c081@mail.gmail.com> On Tue, 08 Mar 2005 07:38:47 -0500, Sandy Santra wrote: > why does this work: > but not this: > > use strict; > my @numbers = qw(1 4 6); > my $total = 0; > $total += $_ for @numbers; > print $total; > > [Global symbol "$total" requires explicit package name at test line 3. > Global symbol "$total" requires explicit package name at test line 4.] It works for me on Perl 5.8.5 on Fedora Core 3. > and adding "my" this way doesn't work either: > > use strict; > my @numbers = qw(1 4 6); > my $total += $_ for @numbers; > print $total; You shouldn't do end-of-line modifiers (if, unless, while, for) with my statement. You're using a new, undef'd $total each time through the for loop. And it's undef after the loop, too. It seems to be the equivalent of: my @numbers = qw(1 4 6); my $total; for (@numbers) { my $total; $total += $_; } print $total; That is, while you do succeed in declaring a lexically scoped varable named $total in the main program, it's as if there were a different lexically scoped variable named $total for the purposes of the for loop. Zed From zed.lopez at gmail.com Tue Mar 8 10:00:54 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Tue Mar 8 10:01:42 2005 Subject: [oak perl] my operator question In-Reply-To: <83a996de05030809525038c081@mail.gmail.com> References: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> <83a996de05030809525038c081@mail.gmail.com> Message-ID: <83a996de0503081000732e3fca@mail.gmail.com> On Tue, 8 Mar 2005 09:52:29 -0800, Zed Lopez wrote: > You shouldn't do end-of-line modifiers (if, unless, while, for) with > my statement. You're using a new, undef'd $total each time through the > for loop. And it's undef after the loop, too. It seems to be the > equivalent of: > > my @numbers = qw(1 4 6); > my $total; > for (@numbers) { > my $total; > $total += $_; > } > print $total; Oops. I contradicted myself there -- if it's equivalent to the latter, it's not the case that you're using a new, undef'd $total each time through the for loop. I really don't know what Perl might be doing inside that for loop; I only know the external behavior. Anyone have a clue what's _really_ happening? From sfink at reactrix.com Tue Mar 8 11:07:41 2005 From: sfink at reactrix.com (Steve Fink) Date: Tue Mar 8 11:07:52 2005 Subject: [oak perl] my operator question In-Reply-To: <83a996de0503081000732e3fca@mail.gmail.com> References: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> <83a996de05030809525038c081@mail.gmail.com> <83a996de0503081000732e3fca@mail.gmail.com> Message-ID: <422DF7FD.5040609@reactrix.com> Zed Lopez wrote: > On Tue, 8 Mar 2005 09:52:29 -0800, Zed Lopez wrote: > >>You shouldn't do end-of-line modifiers (if, unless, while, for) with >>my statement. You're using a new, undef'd $total each time through the >>for loop. And it's undef after the loop, too. It seems to be the >>equivalent of: >> >>my @numbers = qw(1 4 6); >>my $total; >>for (@numbers) { >> my $total; >> $total += $_; >>} >>print $total; > > > Oops. I contradicted myself there -- if it's equivalent to the latter, > it's not the case that you're using a new, undef'd $total each time > through the for loop. I really don't know what Perl might be doing > inside that for loop; I only know the external behavior. Why not? It seems like your description was correct. The inner $total is lexically scoped to the for block, so it starts out undef, gets assigned to undef plus each of the numbers (equiv to the number), then goes out of scope and is forgotten before the next iteration. It's confusing that it's the same $total during each iteration, but the value gets reset. Still, that's what I would expect from: for (1..3) { print "Iteration $_\n"; if (42 > 0) { my $x; $x += $_; print "Yow!\n" if $x > 3; } } I wouldn't expect that to print "Yow!", since $x really shouldn't survive outside of that if statement. The exact translation of the original would actually be for (@numbers) { my $total += $_; } as can be seen with perl -MO=Deparse -e 'my $total += $_ for (1..3)' but I think it's the same. The confusing bit is that the variable really is the same: perl -le 'for (1..3) { my $x; print \$x; }' Hmm... so what does this do? perl -le 'for (1..3) { if (1) { my $x; my $y = \$x; $$y += $_; print "$y=$$y" } }' I guess that means that the value really is reset at runtime when the 'my' is encountered? Yes, it sounds like it, from reading through perlsub, when it talks about 'my' having both compile-time and runtime effects. From santranyc at yahoo.com Tue Mar 8 12:29:20 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Tue Mar 8 12:29:06 2005 Subject: [oak perl] operator question--still confused Message-ID: <5.1.0.14.2.20050308152309.02605200@pop.mail.yahoo.com> Thanks for the responses, folks. That was a lot of good info...unfortunately over my head somewhat. My problem doesn't involve a loop, merely understanding how "use strict" and "my" are supposed to work together. I may have copied my examples incorrectly (sorry!), so they are set forth again here below. I started out with: my @numbers = qw(1 4 6); $total += $_ for @numbers; print $total; which worked, producing a value of "11" to my DOS window. Then I decided to add "use strict;" at the beginning: use strict; my @numbers = qw(1 4 6); $total += $_ for @numbers; print $total; That gave me errors, asking me to explicitly define $total (I assume with "my"). But when I run the following, I get nothing (no return of the value and no error messages): use strict; my @numbers = qw(1 4 6); my $total += $_ for @numbers; print $total; I can't figure out why my first example works, whereas my third doesn't. I figure this is just something simple I'm missing. --Sandy Santra From george at metaart.org Tue Mar 8 13:15:02 2005 From: george at metaart.org (George Woolley) Date: Tue Mar 8 12:56:03 2005 Subject: [oak perl] Fwd: Apress User Group Newsletter - Q1, 2005 Message-ID: <200503081315.02648.george@metaart.org> ---------- Forwarded Message ---------- Subject: Apress User Group Newsletter - Q1, 2005 Date: Tuesday 08 March 2005 11:48 am From: "Apress Newsletter" ... +++++++++++++++++++++++++++++++++++++++ Apress User Group Newsletter 2005 Quarter 1, Issue 1 +++++++++++++++++++++++++++++++++++++++ Sections: 1. Getting Apress Books into Your Hands 2. Events and Happenings 3. The Latest Apress Books ? Hot Off the Press 4. Forthcoming Books ? Spring Releases 5. Upcoming Tradeshows *************************************** 1. Getting Apress Books into Your Hands The Apress publishing plan is in full swing for 2005, with many more excellent titles emerging in the coming months. Our book review program is going strong, and we are running promotions and specials to get more Apress books into your hands: - We encourage you to write and post reviews of Apress books. For more information about writing reviews, please visit http://www.apress.com/userGroups/writeareview.html. - We are now hosting a User Group Membership Drive?when you refer a new group to register on Apress.com, let me know after the group registers, and you?ll get a FREE BOOK! You may direct new groups to register at http://www.apress.com/userGroups/, and you can notify me about the sign-up at janet@apress.com. - In March and April 2005, we are running the Apress Expert?s Choice Rebate. Buy one book and you?ll get $10 back; buy two books and you?ll get $20 back. Additional details are available at http://www.apress.com/marchrebate/. - Apress has partnered with Barnes and Noble to offer you a 30% discount on selected Beginning series titles. This is a great opportunity to acquire the preparation you need. Please visit http://apress.com/discount/barnesandnoble for more information. *************************************** 2. Events and Happenings Apress likes to sponsor group meetings and conferences. Please let us know about your upcoming special events so we can get involved. We can support the event by donating books, Apress logos, laminated signs, and T-shirts. We welcome creative new ideas for Apress to sponsor your group?s next event! This month, Apress is hosting an informal ?Meet Joel Spolsky? event. If you?re near the San Francisco Bay Area, please join us on Friday, March 18, 2005, at 933 Parker St. near the Apress offices in Berkeley, California, at 6:00 p.m. for pizza, beer, and Joel Spolsky himself. Stop by and bring your friends, too?this is a wonderful networking opportunity. You can rub elbows with other Apress authors and techies, plus meet the Apress staff. Ablog, the Apress weblog, boasts some cool new additions. Open source editor Jason Gilmore has started a new interview series on Ablog entitled ?Five Questions for . . .?. Jason has already interviewed brian d. foy, founder and publisher of ?The Perl Review,? and Daniel Lopez Ridruejo, creator of Comanche, BitRock, and many other well-known Apache projects. Read these interviews and more at http://blogs.apress.com. You can also subscribe to the Ablog RSS feed at http://blogs.apress.com/index.rdf. *************************************** 3. The Latest Apress Books ? Hot Off the Press Beginning VB .NET 1.1 Databases: From Novice to Professional By Dan Maharry Published February 2005 ISBN: 1-59059-358-8 632 pp. $ 49.99 http://www.apress.com/book/bookDisplay.html?bID=291 Beginning SUSE Linux: From Novice to Professional By Keir Thomas Published February 2005 ISBN: 1-59059-458-4 544 pp. $39.99 http://www.apress.com/book/bookDisplay.html?bID=407 Honeypots for Windows By Roger A. Grimes Published February 2005 ISBN: 1-59059-335-9 424 pp. $39.99 http://www.apress.com/book/bookDisplay.html?bID=281 *************************************** 4. Forthcoming Books ? Spring Releases Beginning Relational Data Modeling, Second Edition By Sharon Allen and Evan Terry To Publish: March 2005 ISBN: 1-59059-463-0 550 pp. $49.99 http://www.apress.com/book/bookDisplay.html?bID=404 Pro Perl By Peter Wainwright To Publish: March 2005 ISBN: 1-59059-438-X 1064 pp. $59.99 http://www.apress.com/book/bookDisplay.html?bID=392 Beginning Visual Web Programming in VB .NET: From Novice to Professional By Daniel Cazzulino et al. To Publish: March 2005 ISBN: 1-59059-359-6 648 pp. $39.99 http://www.apress.com/book/bookDisplay.html?bID=292 *************************************** 5. Upcoming Tradeshows Apress will be exhibiting at the following shows this spring. If you are there, stop by and say hi! DevConnections Orlando, FL March 20?23, 2005 http://www.devconnections.com/ FlashInTheCan Toronto, Canada April 9?11, 2005 http://www.fitc.ca/ MySQL Users Conference Santa Clara, CA April 18?21, 2005 http://mysqluc.com/ IOUG Orlando, FL May 1?5, 2005 http://www.ioug.org/live2005/ *************************************** We do not send unsolicited newsletters. You received this because you registered a user group at www.apress.com. To be removed from the Apress user group newsletter mailing list, e-mail us at opt-out@apress.com with the subject line REMOVE. For all other requests, please do not reply to this e-mail. Instead, e-mail info@apress.com and we?ll get back to you regarding your query. Apress - The Expert's Voice(TM) 2560 Ninth St, Suite 219 Berkeley, CA 94710 510-549-5930 ------------------------------------------------------- From zed.lopez at gmail.com Tue Mar 8 14:10:58 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Tue Mar 8 14:11:09 2005 Subject: [oak perl] operator question--still confused In-Reply-To: <5.1.0.14.2.20050308152309.02605200@pop.mail.yahoo.com> References: <5.1.0.14.2.20050308152309.02605200@pop.mail.yahoo.com> Message-ID: <83a996de0503081410329e6677@mail.gmail.com> You might like to take another pass through Coping With Scoping. http://perl.plover.com/FAQs/Namespaces.html > My problem doesn't involve a loop, merely understanding how "use strict" > and "my" are supposed to work together. I may have copied my examples > incorrectly (sorry!), so they are set forth again here below. I started > out with: > > my @numbers = qw(1 4 6); > $total += $_ for @numbers; > print $total; Here, $total is a package variable (implicitly in the main:: package.) Without using strict, Perl will let you make up new package variables whenever you feel like it. (This is a feature for one-liners, but not for anything longer than a few lines, which is why Perl people are so avid about recommending using strict.) > which worked, producing a value of "11" to my DOS window. Then I decided > to add "use strict;" at the beginning: > > use strict; > my @numbers = qw(1 4 6); > $total += $_ for @numbers; > print $total; > > That gave me errors, asking me to explicitly define $total (I assume with > "my"). But when I run the following, I get nothing (no return of the value > and no error messages): That's a big part of the point of strict: now you can't just make up package variables on the fly. You can predeclare them with 'use vars', or you can use lexical variables (declared with 'my') instead. > use strict; > my @numbers = qw(1 4 6); > my $total += $_ for @numbers; > print $total; > > I can't figure out why my first example works, whereas my third doesn't. I > figure this is just something simple I'm missing. The reason this fails _is_ about the for loop, as Steve and I discussed. $total is undef again after the for loop; you shouldn't use end-of-line modifiers like 'for' after 'my' statements. This works: use strict; my @numbers = qw(1 4 6); my $total = 0; $total += $_ for @numbers; print $total; From tony+s+d414ac at nog.net Tue Mar 8 16:55:25 2005 From: tony+s+d414ac at nog.net (Tony Monroe) Date: Tue Mar 8 16:55:43 2005 Subject: [oak perl] Updated: POE presentation slides Message-ID: <20050309005525.GA68993@ethics-gradient.nog.net> A couple minor tweaks were made today. If you want to get the slides in HTML format for your own benefit, take a look at: ftp://ftp.nog.net/pub/tony/pm/poe_slides.zip As before, index.html is the first slide. George tells me we're going to have good attendance tonight. I hope that public speaking class I took in high school pays off. :-) -- tony -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://mail.pm.org/pipermail/oakland/attachments/20050308/87e8f7eb/attachment.bin From santranyc at yahoo.com Wed Mar 9 10:59:13 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Wed Mar 9 10:58:58 2005 Subject: [oak perl] operator question--still confused In-Reply-To: <83a996de0503081410329e6677@mail.gmail.com> References: <5.1.0.14.2.20050308152309.02605200@pop.mail.yahoo.com> <5.1.0.14.2.20050308152309.02605200@pop.mail.yahoo.com> Message-ID: <5.1.0.14.2.20050309135706.026a94a0@pop.mail.yahoo.com> At 02:10 PM 3/8/05 -0800, you wrote: >You might like to take another pass through Coping With Scoping. > >http://perl.plover.com/FAQs/Namespaces.html Thanks, Zed. I reread your, Jon's and Steve's emails again last night at work and they started to make more sense. Thank you all for replying. --Sandy From tony+s+d414ac at nog.net Wed Mar 9 11:50:03 2005 From: tony+s+d414ac at nog.net (Tony Monroe) Date: Wed Mar 9 11:50:28 2005 Subject: [oak perl] POE presentation slides Message-ID: <20050309183122.GA74417@ethics-gradient.nog.net> As promised, I have made my presentation slides and notes available for public download: ftp://ftp.nog.net/pub/tony/pm/poe_slides.zip Inside the ZIP file are the HTML and PDF slides, as well as the source files from which I built them. And a README just in case you need it. :-) I'm available for POE questions, if you have them. -- tony -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://mail.pm.org/pipermail/oakland/attachments/20050309/8e39cfe6/attachment.bin From george at metaart.org Wed Mar 9 18:27:55 2005 From: george at metaart.org (George Woolley) Date: Wed Mar 9 18:08:49 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <200503080048.47970.george@metaart.org> References: <200503080048.47970.george@metaart.org> Message-ID: <200503091827.55636.george@metaart.org> Hm, no response. Perhaps more hints are in order. George Hint #1: The Perl program to convert the underlying English message to "Meja er em Pumulu" is very simple. Hint #2: "You heard it first here." When? Around the middle of February. Hint #3: Mike, Belden: Where are you when I need you? (I do intend this as a hint.) Hint #4: Chiriqui. =========================== On Tuesday 08 March 2005 12:48 am, George Woolley wrote: > You heard it here first. > Well, most of you did. > > But what does it mean? > Your mission, should you accept it, > is to determine that > -- and report your findings to this list. > > A hint: Your mission could be easier > if you've been involved with Oakland.pm for a while. > > _______________________________________________ From george at metaart.org Wed Mar 9 21:54:03 2005 From: george at metaart.org (George Woolley) Date: Wed Mar 9 21:34:58 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <200503091827.55636.george@metaart.org> References: <200503080048.47970.george@metaart.org> <200503091827.55636.george@metaart.org> Message-ID: <200503092154.03250.george@metaart.org> Mike Lewis sent me the answer. He didn't post it on the mailing list, apparently, because he feels he had an unfair advantage. He hadn't noticed the first posting. The above is, as well as being true, another clue. Anyone else? George On Wednesday 09 March 2005 6:27 pm, George Woolley wrote: > Hm, no response. > Perhaps more hints are in order. > George > > Hint #1: The Perl program > to convert the underlying English message > to "Meja er em Pumulu" is very simple. > > Hint #2: "You heard it first here." > When? Around the middle of February. > > Hint #3: Mike, Belden: > Where are you when I need you? > (I do intend this as a hint.) > > Hint #4: Chiriqui. > > > =========================== > > On Tuesday 08 March 2005 12:48 am, George Woolley wrote: > > You heard it here first. > > Well, most of you did. > > > > But what does it mean? > > Your mission, should you accept it, > > is to determine that > > -- and report your findings to this list. > > > > A hint: Your mission could be easier > > if you've been involved with Oakland.pm for a while. > > > > _______________________________________________ > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland From mark at bincomputing.com Thu Mar 10 08:14:37 2005 From: mark at bincomputing.com (Mark Bole) Date: Thu Mar 10 08:14:50 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <200503092154.03250.george@metaart.org> References: <200503080048.47970.george@metaart.org> <200503091827.55636.george@metaart.org> <200503092154.03250.george@metaart.org> Message-ID: <4230726D.9040405@bincomputing.com> George Woolley wrote: >Mike Lewis sent me the answer. >He didn't post it on the mailing list, >apparently, because he feels >he had an unfair advantage. >He hadn't noticed the first posting. > >The above is, as well as being true, >another clue. > >Anyone else? >George > > > > Well, I don't know if it's simple... couldn't figure out how to do it in fewer lines. Here's a program to generate the converted string (I haven't shown the original string in case someone is still trying to guess). @v1 = @v = qw(a e i o u); unshift(@v1, pop(@v1)); @c1 = @c = 'a'..'z'; unshift(@c1, pop(@c1)); $left = join('', @v, @c); $right = join('', @v1, @c1); while (<>) { eval "tr/$left/$right/"; print; } -- Mark Bole http://www.bincomputing.com 925-287-0366 From mark at bincomputing.com Thu Mar 10 08:23:27 2005 From: mark at bincomputing.com (Mark Bole) Date: Thu Mar 10 08:23:39 2005 Subject: [oak perl] operator question--still confused In-Reply-To: <83a996de0503081410329e6677@mail.gmail.com> References: <5.1.0.14.2.20050308152309.02605200@pop.mail.yahoo.com> <83a996de0503081410329e6677@mail.gmail.com> Message-ID: <4230747F.3030207@bincomputing.com> Zed Lopez wrote: >You might like to take another pass through Coping With Scoping. > >http://perl.plover.com/FAQs/Namespaces.html >[...] > >The reason this fails _is_ about the for loop, as Steve and I >discussed. $total is undef again after the for loop; you shouldn't use >end-of-line modifiers like 'for' after 'my' statements. > >This works: > >use strict; >my @numbers = qw(1 4 6); >my $total = 0; >$total += $_ for @numbers; >print $total; > > > > This is why, as a matter of style, I don't like using "for" as an end-of-line modifier. As the camel book says under the section "Maintainer Efficiency", * Use foreach to mean foreach * Parenthesize for clarity I would write the code as follows to help make the block scope explicit: use strict; my @numbers = qw(1 4 6); my $total; foreach (@numbers) { $total += $_; } print $total; -- Mark Bole http://www.bincomputing.com 925-287-0366 From mark at bincomputing.com Thu Mar 10 08:34:26 2005 From: mark at bincomputing.com (Mark Bole) Date: Thu Mar 10 08:34:34 2005 Subject: [oak perl] my operator question In-Reply-To: <422DF7FD.5040609@reactrix.com> References: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> <83a996de05030809525038c081@mail.gmail.com> <83a996de0503081000732e3fca@mail.gmail.com> <422DF7FD.5040609@reactrix.com> Message-ID: <42307712.1050305@bincomputing.com> Steve Fink wrote: > Zed Lopez wrote: > >> On Tue, 8 Mar 2005 09:52:29 -0800, Zed Lopez >> wrote: >> >>> You shouldn't do end-of-line modifiers (if, unless, while, for) with >>> my statement. >> > > Sorry for the redundancy, I read the other thread first and replied, before reading this thread. Actually, in the camel book, "for (foreach)" is not even documented as a legal statement modifier, only "if", "unless", "while" and "until". -Mark B, From zed.lopez at gmail.com Thu Mar 10 13:15:56 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Thu Mar 10 13:16:17 2005 Subject: [oak perl] my operator question In-Reply-To: <20050309005525.GA68993@ethics-gradient.nog.net> References: <20050309005525.GA68993@ethics-gradient.nog.net> Message-ID: <83a996de05031013156bbeca7f@mail.gmail.com> Mark Bole wrote: >Actually, in the camel book, "for (foreach)" is not even documented as a >legal statement modifier, only "if", "unless", "while" and "until". True for 2d edition, not for 3d: ch. 4 section 1 Simple Statements Any simple statement may optionally be followed by a single modifier, just before the terminating semicolon (or block ending). The possible modifiers are: if EXPR unless EXPR while EXPR until EXPR foreach LIST The if and unless modifiers work pretty much as they do in English: $trash->take('out') if $you_love_me; shutup() unless $you_want_me_to_leave; The while and until modifiers evaluate repeatedly. As you might expect, a while modifier keeps executing the expression as long as its expression remains true, and an until modifier keeps executing only as long as it remains false: $expression++ while -e "$file$expression"; kiss('me') until $I_die; The foreach modifier (also spelled for) evaluates once for each element in its LIST, with $_ aliased to the current element: s/java/perl/ for @resumes; print "field: $_\n" foreach split /:/, $dataline; From zed.lopez at gmail.com Thu Mar 10 14:09:13 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Thu Mar 10 14:09:22 2005 Subject: [oak perl] A Simple Problem Message-ID: <83a996de050310140952af6512@mail.gmail.com> Mark Bole wrote: >It got me thinking about the following excerpt from the List::Util man >page, and how the comment "nice to have in the perl core, but..." isn't >really a big problem with Perl (because it's so easily extensible, >unlike the proprietary languages I work with). List::Util is core as of 5.8. http://perldoc.perldrunks.org/perl58delta.html#New-Modules-and-Pragmata >"List::Util contains a selection of subroutines that people have >expressed would be nice to have in the perl core, but the usage would >not really be high enough to warrant the use of a keyword, and the size >so small such that being individual extensions would be wasteful." > http://cpan.uwinnipeg.ca/htdocs/Scalar-List-Utils/List/Util.html#suggested_additions CPAN has three different versions of "the things missing from List::Util", for things with even smaller values of usage-frequency and difficulty-to-implement-manually (I haven't used them, myself.) List::Any http://search.cpan.org/~vparseval/List-Any-0.03/lib/List/Any.pm List::MoreUtils http://search.cpan.org/~vparseval/List-MoreUtils-0.09/lib/List/MoreUtils.pm List::MoreUtil http://search.cpan.org/~roode/List-MoreUtil-0.01/MoreUtil.pm From mark at bincomputing.com Thu Mar 10 16:23:07 2005 From: mark at bincomputing.com (Mark Bole) Date: Thu Mar 10 16:23:25 2005 Subject: [oak perl] A Simple Problem In-Reply-To: <83a996de050310140952af6512@mail.gmail.com> References: <83a996de050310140952af6512@mail.gmail.com> Message-ID: <4230E4EB.50302@bincomputing.com> Zed Lopez wrote: >Mark Bole wrote: > > >>[...] >> >> > >List::Util is core as of 5.8. > >http://perldoc.perldrunks.org/perl58delta.html#New-Modules-and-Pragmata > > > Thanks, I think I read the release notes once about 3 years ago and never went back again. . I knew there was a reason I subscribed to this list! ;-) I didn't realize some of the other modules were standard as well (such as Digest::MD5) because they always seem to get updated when I install Bundle::CPAN shortly after a creating a fresh Perl installation in my environment, which falsely led me to think they weren't already included in the base distribution. [...] -- Mark Bole http://www.bincomputing.com 925-287-0366 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/oakland/attachments/20050310/cd44795e/attachment.htm From george at metaart.org Thu Mar 10 18:53:30 2005 From: george at metaart.org (George Woolley) Date: Thu Mar 10 18:34:21 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <200503092154.03250.george@metaart.org> References: <200503080048.47970.george@metaart.org> <200503091827.55636.george@metaart.org> <200503092154.03250.george@metaart.org> Message-ID: <200503101853.30427.george@metaart.org> Three people that I know of solved the puzzle. The solution was "Mike is in Panama." * Mike Lewis solved it first late Wednesday evening. As he pointed out to me, he did have an advantage. * Paul Gerken also sent me the solution even later Wednesday evening. He included a simple program for doing the transformation. * On Thursday (today), Mark Bole posted to this list a program for doing the transformation. His program is less simple than Paul's but it is IMO more general and encourages testing. Congratulations and thanks to Mike, Paul and Mark. =========================== On Wednesday 09 March 2005 9:54 pm, George Woolley wrote: > Mike Lewis sent me the answer. > He didn't post it on the mailing list, > apparently, because he feels > he had an unfair advantage. > He hadn't noticed the first posting. > > The above is, as well as being true, > another clue. > > Anyone else? > George > > On Wednesday 09 March 2005 6:27 pm, George Woolley wrote: > > Hm, no response. > > Perhaps more hints are in order. > > George > > > > Hint #1: The Perl program > > to convert the underlying English message > > to "Meja er em Pumulu" is very simple. > > > > Hint #2: "You heard it first here." > > When? Around the middle of February. > > > > Hint #3: Mike, Belden: > > Where are you when I need you? > > (I do intend this as a hint.) > > > > Hint #4: Chiriqui. > > > > > > =========================== > > > > On Tuesday 08 March 2005 12:48 am, George Woolley wrote: > > > You heard it here first. > > > Well, most of you did. > > > > > > But what does it mean? > > > Your mission, should you accept it, > > > is to determine that > > > -- and report your findings to this list. > > > > > > A hint: Your mission could be easier > > > if you've been involved with Oakland.pm for a while. > > > > > > _______________________________________________ From cajun at cajuninc.com Thu Mar 10 23:02:40 2005 From: cajun at cajuninc.com (M. Lewis) Date: Thu Mar 10 21:02:42 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <200503101853.30427.george@metaart.org> References: <200503080048.47970.george@metaart.org> <200503091827.55636.george@metaart.org> <200503092154.03250.george@metaart.org> <200503101853.30427.george@metaart.org> Message-ID: <42314290.9070208@cajuninc.com> Mike had an unfair advantage. Therefore, Paul and Mark should split the $100 prize you offered George. George Woolley wrote: > Three people that I know of solved the puzzle. > The solution was "Mike is in Panama." > > * Mike Lewis solved it first late Wednesday evening. > As he pointed out to me, > he did have an advantage. > * Paul Gerken also sent me the solution > even later Wednesday evening. > He included a simple program > for doing the transformation. > * On Thursday (today), > Mark Bole posted to this list > a program for doing the transformation. > His program is less simple than Paul's > but it is IMO more general and encourages testing. > > Congratulations and thanks to Mike, Paul and Mark. > > =========================== > On Wednesday 09 March 2005 9:54 pm, George Woolley wrote: > >>Mike Lewis sent me the answer. >>He didn't post it on the mailing list, >>apparently, because he feels >>he had an unfair advantage. >>He hadn't noticed the first posting. >> >>The above is, as well as being true, >>another clue. >> >>Anyone else? >>George >> >>On Wednesday 09 March 2005 6:27 pm, George Woolley wrote: >> >>>Hm, no response. >>>Perhaps more hints are in order. >>>George >>> >>>Hint #1: The Perl program >>>to convert the underlying English message >>>to "Meja er em Pumulu" is very simple. >>> >>>Hint #2: "You heard it first here." >>>When? Around the middle of February. >>> >>>Hint #3: Mike, Belden: >>>Where are you when I need you? >>>(I do intend this as a hint.) >>> >>>Hint #4: Chiriqui. >>> >>> >>>=========================== >>> >>>On Tuesday 08 March 2005 12:48 am, George Woolley wrote: >>> >>>>You heard it here first. >>>>Well, most of you did. >>>> >>>>But what does it mean? >>>>Your mission, should you accept it, >>>>is to determine that >>>>-- and report your findings to this list. >>>> >>>>A hint: Your mission could be easier >>>>if you've been involved with Oakland.pm for a while. >>>> >>>>_______________________________________________ > > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > > From george at metaart.org Thu Mar 10 21:59:13 2005 From: george at metaart.org (George Woolley) Date: Thu Mar 10 21:40:08 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <42314290.9070208@cajuninc.com> References: <200503080048.47970.george@metaart.org> <200503101853.30427.george@metaart.org> <42314290.9070208@cajuninc.com> Message-ID: <200503102159.13796.george@metaart.org> I agree with Mike's assessment that he had an unfair advantage. I would note, however, that (1) Life is not always fair. (2) There were some good reasons that reflect well on him why he had an unfair advantage. Since I neither recall offering a $100 prize nor find any record of my doing so, I'll seek a different interpretation of Mike's post. The only way I'm able to make sense out of the post is to have "you" refer to Mike. Unusual, but keep in mind, Mike uses Perl; such people have strange psyches. I'm not sure why he offered me a $100 prize. But if he wishes instead to split it between Paul and Mark that's fine with me. They deserve it. If you don't buy my interpretation of Mike's post, I suggest reading the fine print of the document that has to be signed to get the prize. There are little details there such as agreeing * to sacrifice your first born * to turn over all your worldly posessions including (gasp) any gmail accounts you have On Thursday 10 March 2005 11:02 pm, M. Lewis wrote: > Mike had an unfair advantage. Therefore, Paul and Mark should split the > $100 prize you offered George. > > George Woolley wrote: > > Three people that I know of solved the puzzle. > > The solution was "Mike is in Panama." > > > > * Mike Lewis solved it first late Wednesday evening. > > As he pointed out to me, > > he did have an advantage. > > * Paul Gerken also sent me the solution > > even later Wednesday evening. > > He included a simple program > > for doing the transformation. > > * On Thursday (today), > > Mark Bole posted to this list > > a program for doing the transformation. > > His program is less simple than Paul's > > but it is IMO more general and encourages testing. > > > > Congratulations and thanks to Mike, Paul and Mark. > > > > =========================== > > > > On Wednesday 09 March 2005 9:54 pm, George Woolley wrote: > >>Mike Lewis sent me the answer. > >>He didn't post it on the mailing list, > >>apparently, because he feels > >>he had an unfair advantage. > >>He hadn't noticed the first posting. > >> > >>The above is, as well as being true, > >>another clue. > >> > >>Anyone else? > >>George > >> > >>On Wednesday 09 March 2005 6:27 pm, George Woolley wrote: > >>>Hm, no response. > >>>Perhaps more hints are in order. > >>>George > >>> > >>>Hint #1: The Perl program > >>>to convert the underlying English message > >>>to "Meja er em Pumulu" is very simple. > >>> > >>>Hint #2: "You heard it first here." > >>>When? Around the middle of February. > >>> > >>>Hint #3: Mike, Belden: > >>>Where are you when I need you? > >>>(I do intend this as a hint.) > >>> > >>>Hint #4: Chiriqui. > >>> > >>> > >>>=========================== > >>> > >>>On Tuesday 08 March 2005 12:48 am, George Woolley wrote: > >>>>You heard it here first. > >>>>Well, most of you did. > >>>> > >>>>But what does it mean? > >>>>Your mission, should you accept it, > >>>>is to determine that > >>>>-- and report your findings to this list. > >>>> > >>>>A hint: Your mission could be easier > >>>>if you've been involved with Oakland.pm for a while. > >>>> > >>>>_______________________________________________ > > > > _______________________________________________ > > Oakland mailing list > > Oakland@pm.org > > http://mail.pm.org/mailman/listinfo/oakland > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland From cajun at cajuninc.com Thu Mar 10 23:58:36 2005 From: cajun at cajuninc.com (M. Lewis) Date: Thu Mar 10 21:58:39 2005 Subject: [oak perl] Meja er em Pumulu. In-Reply-To: <200503102159.13796.george@metaart.org> References: <200503080048.47970.george@metaart.org> <200503101853.30427.george@metaart.org> <42314290.9070208@cajuninc.com> <200503102159.13796.george@metaart.org> Message-ID: <42314FAC.1060406@cajuninc.com> Somehow I had the feeling George would misinterpret who was actually offering the prize money for HIS puzzle. I hear we get forgetful.... well nevermind. However, being the good sport that I would like to think that I am, I have turned on my front porch light, and I will be waiting for Paul and Mark to stop by at whatever time is convenient (I'm usually up very late) and pick up their prize. NOTE: Please call first, I might be running low on cerveza.... M George Woolley wrote: > I agree with Mike's assessment that he had an unfair advantage. > I would note, however, that > (1) Life is not always fair. > (2) There were some good reasons > that reflect well on him > why he had an unfair advantage. > > Since I neither recall offering a $100 prize > nor find any record of my doing so, > I'll seek a different interpretation of Mike's post. > > The only way I'm able to make sense out of the post > is to have "you" refer to Mike. > Unusual, but keep in mind, Mike uses Perl; > such people have strange psyches. > I'm not sure why he offered me a $100 prize. > But if he wishes instead to split it between Paul and Mark > that's fine with me. > They deserve it. > > If you don't buy my interpretation of Mike's post, > I suggest reading the fine print > of the document that has to be signed to get the prize. > There are little details there such as agreeing > * to sacrifice your first born > * to turn over all your worldly posessions > including (gasp) any gmail accounts you have > > > On Thursday 10 March 2005 11:02 pm, M. Lewis wrote: > >>Mike had an unfair advantage. Therefore, Paul and Mark should split the >>$100 prize you offered George. >> >>George Woolley wrote: >> >>>Three people that I know of solved the puzzle. >>>The solution was "Mike is in Panama." >>> >>>* Mike Lewis solved it first late Wednesday evening. >>> As he pointed out to me, >>> he did have an advantage. >>>* Paul Gerken also sent me the solution >>> even later Wednesday evening. >>> He included a simple program >>> for doing the transformation. >>>* On Thursday (today), >>> Mark Bole posted to this list >>> a program for doing the transformation. >>> His program is less simple than Paul's >>> but it is IMO more general and encourages testing. >>> >>>Congratulations and thanks to Mike, Paul and Mark. >>> >>>=========================== >>> >>>On Wednesday 09 March 2005 9:54 pm, George Woolley wrote: >>> >>>>Mike Lewis sent me the answer. >>>>He didn't post it on the mailing list, >>>>apparently, because he feels >>>>he had an unfair advantage. >>>>He hadn't noticed the first posting. >>>> >>>>The above is, as well as being true, >>>>another clue. >>>> >>>>Anyone else? >>>>George >>>> >>>>On Wednesday 09 March 2005 6:27 pm, George Woolley wrote: >>>> >>>>>Hm, no response. >>>>>Perhaps more hints are in order. >>>>>George >>>>> >>>>>Hint #1: The Perl program >>>>>to convert the underlying English message >>>>>to "Meja er em Pumulu" is very simple. >>>>> >>>>>Hint #2: "You heard it first here." >>>>>When? Around the middle of February. >>>>> >>>>>Hint #3: Mike, Belden: >>>>>Where are you when I need you? >>>>>(I do intend this as a hint.) >>>>> >>>>>Hint #4: Chiriqui. >>>>> >>>>> >>>>>=========================== >>>>> >>>>>On Tuesday 08 March 2005 12:48 am, George Woolley wrote: >>>>> >>>>>>You heard it here first. >>>>>>Well, most of you did. >>>>>> >>>>>>But what does it mean? >>>>>>Your mission, should you accept it, >>>>>>is to determine that >>>>>>-- and report your findings to this list. >>>>>> >>>>>>A hint: Your mission could be easier >>>>>>if you've been involved with Oakland.pm for a while. >>>>>> >>>>>>_______________________________________________ >>> >>>_______________________________________________ >>>Oakland mailing list >>>Oakland@pm.org >>>http://mail.pm.org/mailman/listinfo/oakland >> >>_______________________________________________ >>Oakland mailing list >>Oakland@pm.org >>http://mail.pm.org/mailman/listinfo/oakland > > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > > From george at metaart.org Fri Mar 11 19:13:26 2005 From: george at metaart.org (George Woolley) Date: Fri Mar 11 18:54:18 2005 Subject: [oak perl] April Meeting + Request for Speakers Message-ID: <200503111911.58286.george@metaart.org> Currently, there is just one speaker signed up for the April meeting. We could use several more. No talk is too short. The one talk already scheduled compares Perl/Python/Ruby. The theme for the meeting is "Dynamic Languages". Even if you have an off-theme talk, that would be helpful. Let me know if you can do some kind of talk. George cut & paste from http://www.metaart.org/opug/ ........................................ Next meeting * when: Tue. Apr. 12 at 7:30-9:30pm (on 2nd Tuesdays since Dec. 2002) * where: Connie's Cantina 3340 Grand Ave., Oakland CA * directions: [link to] directions and ascii map * theme: Dynamic Languages * activities: o introductions o giveaways o talks on the theme + Stephen Kolupaev: Perl/Python/Ruby + ... o eat Mexican food o ... * who: open to anyone interested. * how much: no fee for our meetings. However, it would be kool if you got something to eat and/or drink. * RSVP: if you want to be sure to have a seat at the Oakland.pm table. Definitions: In this context": * "Dynamic Language" means a high level, dynamically typed language. E.g. CommonLisp, Perl, Python, Ruby, Smalltalk but not: C, C++, Java. * "Dynamically typed" means type checking is mostly at run time. Aside: Let me know if there is something amiss in these definitions including the examples. From joshnjillwait at yahoo.com Sat Mar 12 10:46:40 2005 From: joshnjillwait at yahoo.com (Joshua Wait) Date: Sat Mar 12 10:46:51 2005 Subject: [oak perl] Re: my operator question In-Reply-To: <20050308190753.09EE3177D1@x6.develooper.com> Message-ID: <20050312184640.27800.qmail@web53701.mail.yahoo.com> Great discussion of the my operator! The example given 'my $total += $_ for @numbers;" reminds me of why I write what I call "idiotic perl" instead of idiomatic perl. I don't mean that perl is idiotic, instead, I mean me, the programmer, is idiotic! I write perl in the most obvious straightforward manner so that the problem is clear and I won't forget what I was trying to do later. So I would have written it like so in the first place: use strict; my @numbers = qw(1 4 6); my $total = 0; foreach (@numbers) { $total += $_; } print $total; This approach isn't necessarily faster or better, I just like my code to be painfully obvious. --JOSHUA ---------------- Message: 7 Date: Tue, 08 Mar 2005 07:38:47 -0500 From: Sandy Santra Subject: [oak perl] my operator question To: Oakland Perl Message-ID: <5.1.0.14.2.20050308073513.025be230@pop.mail.yahoo.com> Content-Type: text/plain; charset=us-ascii; format=flowed Following up on Zed's answer to George's "simple problem," why does this work: my @numbers = qw(1 4 6); $total += $_ for @numbers; print $total; but not this: use strict; my @numbers = qw(1 4 6); my $total = 0; $total += $_ for @numbers; print $total; [Global symbol "$total" requires explicit package name at test line 3. Global symbol "$total" requires explicit package name at test line 4.] and adding "my" this way doesn't work either: use strict; my @numbers = qw(1 4 6); my $total += $_ for @numbers; print $total; [it prints nothing] --Sandy Santra ------------------------------ Message: 8 Date: Tue, 8 Mar 2005 08:08:34 -0800 (PST) From: "Jon Seidel, CMC" Subject: Re: [oak perl] my operator question To: "Oakland Perl Mongers" Message-ID: <52189.63.192.200.250.1110298114.squirrel@63.192.200.250> Content-Type: text/plain;charset=iso-8859-1 I'm guessing it has something to do with the "for numbers" construct actually expecting an array context...? Good question...jon > Following up on Zed's answer to George's "simple problem," > > why does this work: > > my @numbers = qw(1 4 6); > $total += $_ for @numbers; > print $total; > > but not this: > > use strict; > my @numbers = qw(1 4 6); > my $total = 0; > $total += $_ for @numbers; > print $total; > > [Global symbol "$total" requires explicit package name at test line 3. > Global symbol "$total" requires explicit package name at test line 4.] > > and adding "my" this way doesn't work either: > > use strict; > my @numbers = qw(1 4 6); > my $total += $_ for @numbers; > print $total; > > [it prints nothing] > > --Sandy Santra > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Connecting Business and Technology Jon Seidel, CMC +1-510-530-6314 EDP Consulting, Inc. www.edpci.com CMC (Certified Management Consultant) is a certification mark awarded by the Institute of Management Consultants USA and represents evidence of the highest standards of consulting and adherence to the ethical canons of the profession. Less than 1% of all consultants have achieved this level of performance. See www.imcusa.org/hireacmc.acgi. ------------------------------ Message: 9 Date: Tue, 8 Mar 2005 09:52:29 -0800 From: Zed Lopez Subject: Re: [oak perl] my operator question To: Oakland Perl Mongers Message-ID: <83a996de05030809525038c081@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII On Tue, 08 Mar 2005 07:38:47 -0500, Sandy Santra wrote: > why does this work: > but not this: > > use strict; > my @numbers = qw(1 4 6); > my $total = 0; > $total += $_ for @numbers; > print $total; > > [Global symbol "$total" requires explicit package name at test line 3. > Global symbol "$total" requires explicit package name at test line 4.] It works for me on Perl 5.8.5 on Fedora Core 3. > and adding "my" this way doesn't work either: > > use strict; > my @numbers = qw(1 4 6); > my $total += $_ for @numbers; > print $total; You shouldn't do end-of-line modifiers (if, unless, while, for) with my statement. You're using a new, undef'd $total each time through the for loop. And it's undef after the loop, too. It seems to be the equivalent of: my @numbers = qw(1 4 6); my $total; for (@numbers) { my $total; $total += $_; } print $total; That is, while you do succeed in declaring a lexically scoped varable named $total in the main program, it's as if there were a different lexically scoped variable named $total for the purposes of the for loop. Zed ------------------------------ Message: 10 Date: Tue, 8 Mar 2005 10:00:54 -0800 From: Zed Lopez Subject: Re: [oak perl] my operator question To: Oakland Perl Mongers Message-ID: <83a996de0503081000732e3fca@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII On Tue, 8 Mar 2005 09:52:29 -0800, Zed Lopez wrote: > You shouldn't do end-of-line modifiers (if, unless, while, for) with > my statement. You're using a new, undef'd $total each time through the > for loop. And it's undef after the loop, too. It seems to be the > equivalent of: > > my @numbers = qw(1 4 6); > my $total; > for (@numbers) { > my $total; > $total += $_; > } > print $total; Oops. I contradicted myself there -- if it's equivalent to the latter, it's not the case that you're using a new, undef'd $total each time through the for loop. I really don't know what Perl might be doing inside that for loop; I only know the external behavior. Anyone have a clue what's _really_ happening? ------------------------------ Message: 11 Date: Tue, 08 Mar 2005 11:07:41 -0800 From: Steve Fink Subject: Re: [oak perl] my operator question To: Zed Lopez , Oakland Perl Mongers Message-ID: <422DF7FD.5040609@reactrix.com> Content-Type: text/plain; charset=us-ascii; format=flowed Zed Lopez wrote: > On Tue, 8 Mar 2005 09:52:29 -0800, Zed Lopez wrote: > >>You shouldn't do end-of-line modifiers (if, unless, while, for) with >>my statement. You're using a new, undef'd $total each time through the >>for loop. And it's undef after the loop, too. It seems to be the >>equivalent of: >> >>my @numbers = qw(1 4 6); >>my $total; >>for (@numbers) { >> my $total; >> $total += $_; >>} >>print $total; > > > Oops. I contradicted myself there -- if it's equivalent to the latter, > it's not the case that you're using a new, undef'd $total each time > through the for loop. I really don't know what Perl might be doing > inside that for loop; I only know the external behavior. Why not? It seems like your description was correct. The inner $total is lexically scoped to the for block, so it starts out undef, gets assigned to undef plus each of the numbers (equiv to the number), then goes out of scope and is forgotten before the next iteration. It's confusing that it's the same $total during each iteration, but the value gets reset. Still, that's what I would expect from: for (1..3) { print "Iteration $_\n"; if (42 > 0) { my $x; $x += $_; print "Yow!\n" if $x > 3; } } I wouldn't expect that to print "Yow!", since $x really shouldn't survive outside of that if statement. The exact translation of the original would actually be for (@numbers) { my $total += $_; } as can be seen with perl -MO=Deparse -e 'my $total += $_ for (1..3)' but I think it's the same. The confusing bit is that the variable really is the same: perl -le 'for (1..3) { my $x; print \$x; }' Hmm... so what does this do? perl -le 'for (1..3) { if (1) { my $x; my $y = \$x; $$y += $_; print "$y=$$y" } }' I guess that means that the value really is reset at runtime when the 'my' is encountered? Yes, it sounds like it, from reading through perlsub, when it talks about 'my' having both compile-time and runtime effects. --------------------- ArcSource Consulting "Providing Computer Support in the San Francisco Bay Area" http://www.arcsource.net __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ From jseidel at edpci.com Tue Mar 15 07:38:18 2005 From: jseidel at edpci.com (Jon Seidel, CMC) Date: Tue Mar 15 07:38:30 2005 Subject: [oak perl] [Fwd: [cgiapp] JOB: Senior Perl contractor] Message-ID: <58892.63.192.200.250.1110901098.squirrel@www.linuxis.net> ---------------------------- Original Message ---------------------------- Subject: [cgiapp] JOB: Senior Perl contractor From: "Jesse Erlbaum" Date: Tue, March 15, 2005 3:46 am To: cgiapp@lists.erlbaum.net -------------------------------------------------------------------------- Hi All -- We're looking for two very skilled Perl contractors to come on board for a project for a couple months. Unsurprisingly, the required skills are: * Perl, minimum 5 years * Object oriented programming, in Perl * CGI::Application * HTML::Template * MySQL / SQL * CVS * Linux Desired skills: * Familiarity with Krang CMS * Familiarity with publishing industry. This is an ON-SITE assignment. (Once the project is underway, partial telecommuting is possible.) Please -- if you don't live within commuting distance of New York City right now, don't send me a resume. Please email me a cover letter (with desired hourly rate) and your CV/resume. Thanks, -Jesse- -- Jesse Erlbaum The Erlbaum Group jesse@erlbaum.net Phone: 212-684-6161 Fax: 212-684-6226 --------------------------------------------------------------------- Web Archive: http://www.mail-archive.com/cgiapp@lists.erlbaum.net/ http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2 To unsubscribe, e-mail: cgiapp-unsubscribe@lists.erlbaum.net For additional commands, e-mail: cgiapp-help@lists.erlbaum.net -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Connecting Business and Technology Jon Seidel, CMC +1-510-530-6314 EDP Consulting, Inc. www.edpci.com CMC (Certified Management Consultant) is a certification mark awarded by the Institute of Management Consultants USA and represents evidence of the highest standards of consulting and adherence to the ethical canons of the profession. Less than 1% of all consultants have achieved this level of performance. See www.imcusa.org/hireacmc.acgi. From cajun at cajuninc.com Tue Mar 15 12:19:41 2005 From: cajun at cajuninc.com (M. Lewis) Date: Tue Mar 15 12:19:39 2005 Subject: [oak perl] RedHat Mag. Perl article Message-ID: <4237435D.3010400@cajuninc.com> This is a write up on using Perl from the command line that is in this months RedHat Magazine. I thought this might be of help to some. http://www.redhat.com/magazine/005mar05/features/perl/ M From george at metaart.org Thu Mar 17 18:41:34 2005 From: george at metaart.org (George Woolley) Date: Thu Mar 17 18:22:13 2005 Subject: [oak perl] Fwd: Newsletter from O'Reilly UG Program, March 17 Message-ID: <200503171841.34268.george@metaart.org> ---------- Forwarded Message ---------- Subject: Newsletter from O'Reilly UG Program, March 17 Date: Thursday 17 March 2005 3:43 pm From: Marsee Henon ... ================================================================ O'Reilly News for User Group Members March 17, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Aggressive Network Self-Defense -IPv6 Network Administration -Windows XP Hacks, 2nd Edition -QuickBooks 2005: The Missing Manual -Outlook 2003 Personal Trainer -Intrusion Prevention and Active Response -Python Pocket Reference, 3rd Edition -Word 2003 Personal Trainer -Learning Windows Server 2003 -Cyber Spying -MAKE Magazine ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -Tom Stafford and Matt Webb ("Mind Hacks"), Foyles Bookshop, London, UK--March 23 -Bonnie Biafore ("QuickBooks: The Missing Manual" & "Online Investing Hacks"), EduFest, Denver, CO--March 26 -Bonnie Biafore, the AAII Denver Chapter Meeting, Denver, CO--April 4 ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Register for the 2005 MySQL Users Conference, Santa Clara, CA--April 18-21 -Where 2.0 Conference Debut ---------------------------------------------------------------- News ---------------------------------------------------------------- -From the Labs: ETech 2005 -The SafariU Revolution: An Interview with Professor Kent Sandoe -No Starch Titles Included in MIT Review Article -O'Reilly Learning Lab: $200 Instant Rebate -MAKE Subscriptions Available -Secure Batch Email with UUCP and SSH -Subversion UI Shootout -Building Connected Embedded Systems -Closed Source PHP -Getting Things Done with Your Mac -Exploring the Mac OS X Firewall -Inside StYNCies -Receive Podcasts Using Your PC -Enhanced Text Input in Windows Forms 2.0 -Go Wireless -Building Modular Applications with Seppia -Reducing Upgrade Risk with Aspect Oriented Programming -High Tech Hybrid: The Casio EX-P505 Digital Camera -Doc Wiley: Master of the 30-Hour Album -Customizing GMail with Grease Monkey -Why Consistency is Critical ---------------------------------------------------------------- From Your Peers ---------------------------------------------------------------- -Powered by Detroit Flash/ColdFusion Conference, Detroit, MI--April 9-10 ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 20% off any O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***Aggressive Network Self-Defense ISBN: 1931836205 Publisher: Syngress The name says it all. This is the first book to analyze the technical, legal, and financial ramifications of revolutionary and controversial network strike-back and active defense techniques. The authors reveal tightly guarded secrets to expose your online attackers and provide valuable information for finding and prosecuting criminal hackers. Learn how to identify, target, and nullify your adversaries through expert techniques and real-life examples. http://www.oreilly.com/catalog/1931836205/ ***IPv6 Network Administration Publisher: O'Reilly ISBN: 0596009348 This essential guide explains what works, what doesn't, and most of all, what's practical about IPv6. A must-have for network administrators looking to fix their network's scalability and management problems, this book also covers other IPv6 benefits, such as routing, integrated auto-configuration, quality-of-services, enhanced mobility, and end-to-end security. http://www.oreilly.com/catalog/ipv6na/ Chapter 5, "Installation and Configuration," is available online: http://www.oreilly.com/catalog/ipv6na/chapter/index.html ***Windows XP Hacks, 2nd Edition Publisher: O'Reilly ISBN: 0596009186 "Windows XP Hacks, 2nd Edition" is an ideal all-in-one resource for XP beginners as well as experienced power users. Now completely revised and updated to cover Service Pack 2 (SP2), the second edition of this bestseller breaks down the new SP2 features, including IE pop-up blocker, Windows Firewall, and the new wireless client. You'll also find timesaving hacks for security, file distribution, digital media, web browsing, and more. http://www.oreilly.com/catalog/winxphks2/ Hack 36, "Surf Anonymously Without a Trace," is available online along with 9 others hacks: http://www.oreilly.com/catalog/winxphks2/chapter/index.html ***QuickBooks 2005: The Missing Manual Publisher: O'Reilly ISBN: 0596009011 "QuickBooks 2005: The Missing Manual" is a comprehensive guide that examines everything the QuickBooks Pro Windows edition has to offer, from invoices and inventory to assets and accounts payable. By covering details in a friendly and lighthearted way, the book explains when and why a feature is useful and then offers indispensable, relevant advice. Each page provides insightful tips and tricks to help readers become more efficient, sophisticated users no matter what the extent of their existing knowledge. http://www.oreilly.com/catalog/quickbookstmm/ ***Outlook 2003 Personal Trainer Publisher: O'Reilly ISBN: 0596009356 This fully illustrated book takes a modular approach to learning, allowing you to start with the fundamentals and then work your way up to advanced topics--at your own pace. Designed to address both beginners and experts, this handy reference is written in a non-technical style that you're bound to find engaging and informative. The companion CD tutorial guides you through each lesson interactively. http://www.oreilly.com/catalog/outlookpt/ Chapter 8, "Advanced E-Mail Features," is available online: http://www.oreilly.com/catalog/outlookpt/chapter/index.html ***Intrusion Prevention and Active Response Publisher: Syngress ISBN: 193226647X This is the first book-length work that specifically concentrates on the concept, implementation, and implications of intrusion prevention and active response. The authors establish a common understanding of the terminology and then compare the many approaches to intrusion prevention. In short, this book serves as a reference for next-generation IDS technology that provides active response and intrusion prevention functions both at the network and host levels. http://www.oreilly.com/catalog/193226647X/ ***Python Pocket Reference, 3rd Edition Publisher: O'Reilly ISBN: 0596009402 With its convenient, quick-reference format, this book is the perfect on-the-job reference that delivers need-to-know information at the flip of a page. This third edition has been refreshed to cover Python 2.4 and also includes an easy-lookup index to help developers find answers fast. The "Python Pocket Reference, 3rd Edition" serves as the perfect companion to "Learning Python" and "Programming Python." http://www.oreilly.com/catalog/pythonpr3/index.html ***Word 2003 Personal Trainer Publisher: O'Reilly ISBN: 0596009364 As the most complete and engaging tutorial available for Word, this invaluable guide details all of the latest advancements to Word 2003, featuring sections on templates, WordArt, charts, and drawings, plus advanced topics like how to perform mail merges and create web pages. To best guide learning, this Personal Trainer includes detailed diagrams, dozens of task-oriented lessons, and a fully interactive training simulation CD--everything you need to become a Word pro. http://www.oreilly.com/catalog/wordpt/index.html Chapter 8, "Performing a Mail Merge," is available online: http://www.oreilly.com/catalog/wordpt/chapter/index.html ***Learning Windows Server 2003 Publisher: O'Reilly ISBN: 0596006241 "Windows Server 2003" is the right server for a world dominated by enterprise networks and web-based server applications, but getting this server up and running is a formidable task. Our no-fluff guide gives you exactly what you need for installing, configuring, securing, and managing Server 2003, and offers hands-on advice for planning, implementing, and growing Windows networks without trying to teach you how to be a system administrator. http://www.oreilly.com/catalog/lwinsvr2003/index.html Chapter 10, "Windows Terminal Services," is available online: http://www.oreilly.com/catalog/lwinsvr2003/chapter/index.html ***Cyber Spying Publisher: Syngress ISBN: 1931836418 Have you ever wondered about that friend your spouse emails, or who they spend hours chatting online with? Are you curious about what your children are doing online, who they meet, and what they talk about? Do you worry about them finding drugs and other illegal items online, and wonder what they look at? This book shows you how to monitor and analyze your family's online behavior. http://www.oreilly.com/catalog/1931836418/index.html ***MAKE Subscriptions Available The annual subscription price for four issues is $34.95. When you subscribe with this link, you'll get a free issue--the first one plus four more for $34.95. So subscribe for yourself or friends with this great offer for charter subscribers: five volumes for the cost of four. Subscribe at: https://www.pubservice.com/MK/Subnew.aspx?PC=MK&PK=M5ZUGLA The MAKE blog is available at: http://www.makezine.com/blog/ ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***Tom Stafford and Matt Webb ("Mind Hacks"), Foyles Bookshop, London, UK--March 23 Spend a mind boggling evening with "Mind Hacks" authors Tom Stafford and Matt Webb, who will demonstrate happiness, and optical tricks to see how the brain responds. In the process, you'll learn a little bit more about how this fearsomely complex organ works. No previous neuroscience experience necessary! Please bring a pen--and your brain--if you'd like to play along. The fun begins at 6:30 p.m. Tickets are 4 pounds (redeemable on the purchase of any O'Reilly title that evening), and can be booked by calling 0870 4202777, visiting Foyle's site, or dropping by the shop. 113-119 Charing Cross Road, London, UK http://www.foyles.co.uk/foyles/events.asp ***Bonnie Biafore ("QuickBooks: The Missing Manual" & "Online Investing Hacks"), EduFest, Denver, CO--March 26 Bonnie is a featured speaker at the NAIC Rocky Mountain Chapter EduFest. http://www.better-investing.org/chapter/denver/events/7571 ***Bonnie Biafore, AAII Denver Chapter Meeting, Denver, CO--April 4 Bonnie discusses online investing with members of the Denver Chapter of the American Association of Individual Investors. http://www.aaii.com/loclchap/aaiichap/denver/ ================================================ Conference News ================================================ ***Register for the 2005 MySQL Users Conference, Santa Clara, CA-- April 18-21 The MySQL Users Conference, co-presented by O'Reilly Media and MySQL AB, brings together experts, users, and industry leaders with unique MySQL insights, offering attendees a detailed look into new features in MySQL 5.0, sessions and workshops designed to teach best practices, and exposure to new open source technologies. For more information, go to: http://www.mysqluc.com/ Use code DSUG when you register, and receive 20% off the registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/mysqluc2005/create/ord_mysql05 ***Where 2.0 Conference Debut Join us at the first O'Reilly Where 2.0 Conference June 29-30 in San Francisco. Explore the emerging consumer and enterprise ecosystems around location-aware technologies--like GPS, RFID, WLAN, cellular networks, and networked sensors--that enable an ever-growing array of capabilities from local search and mapping to enterprise integration and commercial applications. Registration opens in April. http://conferences.oreillynet.com/where/ To receive up-to-date conference news and information, sign up for the conference newsletter on oreilly.com. ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***From the Labs: ETech 2005 On the opening day of O'Reilly's Emerging Technology Conference, attendees got a preview of projects that may or may not ever be released as full scale products from Microsoft, Yahoo!, and Google. http://www.oreillynet.com/pub/a/network/2005/03/16/etech_2.html For more ETech coverage: http://www.oreillynet.com/et2005/ ***The SafariU Revolution: An Interview with Professor Kent Sandoe Professor Kent Sandoe of the Information Systems Department of Chico State University wanted to produce a textbook on information security for his Systems Management course this semester, but at the last minute, those plans fell through. He turned to SafariU, O???Reilly???s new web-based platform for creating, publishing, and sharing textbooks. Read about his experience in this interview. http://www.oreilly.com/news/safariusandoe.html Visit SafariU for a video demo http://academic.oreilly.com/safariu-more.csp ***No Starch Titles Included in MIT Review Article "Hack License," by Simson Garfinkel ("Database Nation"), includes No Starch's "Hacking: The Art of Exploitation" and "Hacking the XBox." http://www.technologyreview.com/articles/05/03/issue/review_hack.asp ***O'Reilly Learning Lab: $200 Instant Rebate Learning programming languages and development techniques has never been easier. Using your web browser and Useractive's Learning Sandbox technology, the Learning Lab gives you hands-on, online training in a creative environment. This month, receive a $200 instant rebate (and a Certificate from the University of Illinois Office of Continuing Education upon course completion) when you enroll in any Certificate Series. http://www.oreilly.com/redirector.csp?link=UACert&type=news --------------------- Open Source --------------------- ***Secure Batch Email with UUCP and SSH Not everyone has reliable, always-on Internet access. For some, reliability has to come through software, not hardware. Fortunately, protocols designed to work around slow and unreliable networks still work. Christophe Prevotaux demonstrates how to set up FreeBSD, Postfix, and SSH to send and receive email via UUCP. http://www.onlamp.com/pub/a/bsd/2005/03/10/uucpmail.html ***Subversion UI Shootout As Subversion continues to take over from CVS, more advanced interfaces have started to appear. How do they compare to each other? How do they compare to the svn CLI tool? Jeremy Jones puts svn, RapidSVN, and TortoiseSVN though their paces and draws out UI principles along the way. http://www.onlamp.com/pub/a/onlamp/2005/03/10/svn_uis.html ***Building Connected Embedded Systems Embedded systems aren't all Linux; microcontrollers still dominate the scene. Erstwhile hardware hackers, rejoice! The tools for programming microcontrollers work just fine under Linux. George Belotsky starts a series on embedded development by demonstrating what you have to do to make Hello World run. http://www.onlamp.com/pub/a/onlamp/2005/03/10/microcontrollers.html ***Closed Source PHP A look at the many different options PHP Developers have for protecting their source code from prying eyes when creating commercial PHP Applications. http://www.sitepoint.com/blog-post-view.php?id=238739 --------------------- Mac --------------------- ***Getting Things Done with Your Mac Even the most savvy Mac user can have problems staying organized. A number of tips for using a Mac to help organize your life are available from 43 Folders and other sources. This article takes a look at them with the help of Merlin Mann himself. http://www.macdevcenter.com/pub/a/mac/2005/03/08/productivity.html ***Exploring the Mac OS X Firewall Like so many tools built in to Mac OS X, the firewall just works. But what's really going on inside it? Peter Hickman explains why the firewall works so well, and then takes you inside and shows you how to fiddle with things. In the end, he returns you safely to the default settings. http://www.macdevcenter.com/pub/a/mac/2005/03/15/firewall.html ***Inside StYNCies Stickies is one of the handiest little apps out there. It's been bundled with Apple's operating systems for ages, but Apple hasn't yet taken advantage of the new possibilities for it. This first installment of a two-part series works through building a partial implementation of StYNCies, a neat little utility that synchronizes your Stickies to your iPod and/or iDisk. http://www.macdevcenter.com/pub/a/mac/2005/03/11/cocoa.html --------------------- Windows/.NET --------------------- ***Receive Podcasts Using Your PC Receiving podcasts using free software, your PC, and a portable music player is a snap. Jake Ludington shows you how to do it in a few easy steps. http://www.windowsdevcenter.com/pub/a/windows/2005/03/15/podcasting_pc.html ***Enhanced Text Input in Windows Forms 2.0 Visual Studio 2005 provides enhanced controls for managing data input in Whidbey. In this new column by Jesse Liberty, he discusses the advanced WinForms Text Input control. http://www.ondotnet.com/pub/a/dotnet/2005/03/14/liberty.html ***Go Wireless Here's an excerpt from "Windows XP Annoyances for Geeks, 2nd Edition," that shows you how to set up a simple wireless network, connect that network to the Internet, connect your wireless devices to other people's wireless networks, and prevent others from sneaking onto your network. All without wires, and the most amazing thing is that it actually works. http://www.windowsdevcenter.com/pub/a/windows/excerpt/winxpannoy2_ch07_05/ind ex.html --------------------- Java --------------------- ***Building Modular Applications with Seppia Isn't object-oriented programming supposed to be about code reuse? The Seppia framework encourages reuse by allowing you to combine functionality collected in multiple .jar files, stitching the behavior together with JavaScript. Lorenzo Puccetti has an introduction to this interesting framework. http://www.onjava.com/pub/a/onjava/2005/03/16/seppia.html ***Reducing Upgrade Risk with Aspect Oriented Programming Upgrading code in the field is usually frowned upon, if not prohibited outright, because of the risk and expense of pushing code changes through a release cycle. But could you just insert the tiny bit of code you need with AOP? Stephen B. Morris looks at how careful design and separation of responsibilities can make this less risky. http://www.onjava.com/pub/a/onjava/2005/03/16/aop-mgmt.html --------------------- Digital Media --------------------- ***High Tech Hybrid: the Casio EX-P505 Digital Camera The Casio EX-P505 is a smart-looking, 5-megapixel camera that fits in the palm of your hand. It captures full-frame, full-motion digital movies with ease, and it's packed with creative features sure to stir the imagination of fun-loving photographers. Derrick Story helps you decide if this is a high-tech toy or a real photographic tool. http://digitalmedia.oreilly.com/2005/03/09/casio_p505.html ***Doc Wiley: Master of the 30-Hour Album Pro Tools wiz Doc Wiley combines studio psychology and cutting-edge technology to coax the best performances out of artists ranging from U2 to Whitney Houston. Here are some of his favorite approaches. http://digitalmedia.oreilly.com/2005/03/16/doc.html --------------------- Web --------------------- ***Customizing Gmail with Grease Monkey Learn about using Firefox Extensions to customize Gmail, or any other web site you visit, thanks to the power of the Document Object Model and JavaScript. http://www.sitepoint.com/blog-post-view.php?id=239170 ***Why Consistency is Critical Consistency is the cornerstone of a positive user experience. But consistency means more than simply putting your nav at the top left, your search on the right. Gerry explores consistency, explaining what it is, why it's important, and the areas where consistency counts. http://www.sitepoint.com/article/why-consistency-is-critical ================================================ From Your Peers =============================================== ***Powered by Detroit Flash/ColdFusion Conference, Detroit, MI-- April 9-10 The conference will feature expert speakers on Flash, ColdFusion, Flex, Dreamweaver, and more, with emphasis on development of Rich Internet Applications. Participants will engage in two days of cutting-edge seminars, talks, and discussions on the latest web development tools and techniques, while also enjoying the company of like-minded professionals. The event features Macromedia's Greg Rewis and Ben Forta as keynote speakers, and other top experts, including Kevin Hoyt, Michael Dinowitz, Hal Helms, Simon Horwith, Jeffry Houser, Charlie Arthart, Shlomy Gantz and Alexandru Costin. http://poweredbydetroit.org/ Don't forget to check out the O'Reilly UG wiki to see what user groups across the globe are up to: http://wiki.oreillynet.com/usergroups/index.cgi Until next time-- Marsee ------------------------------------------------------- From george at metaart.org Thu Mar 17 19:26:13 2005 From: george at metaart.org (George Woolley) Date: Thu Mar 17 19:06:40 2005 Subject: [oak perl] Review of "iBook Fan Book" Message-ID: <200503171926.13873.george@metaart.org> There's a draft of a review "iBook Fan Book" on the Oakland.pm site. It's at http://www.metaart.org/opug/reviews/ibkfanbk.html Let me know if you have questions, comments, etc. George From santranyc at yahoo.com Fri Mar 18 08:10:22 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Fri Mar 18 08:10:05 2005 Subject: [oak perl] The mysterious "undef" Message-ID: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> I keep seeing "undef" mentioned in the llama book. I've tried to define a variable as not having a value, theoretically being "undef," but when I use the print command, I never see "undef" print to my screen; nothing prints at all. I wanted to learn the different between a zero value and undef because the llama book keeps saying there is one. Is this a pointless issue to pursue? Clarification greatly appreciated. Thanks. From kester at gmail.com Fri Mar 18 09:22:49 2005 From: kester at gmail.com (Kester Allen) Date: Fri Mar 18 09:22:56 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> References: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> Message-ID: <55adb31905031809223ffb132c@mail.gmail.com> Hi Sandy-- Here's a quickie example of a way to detect undef-- test for it with "defined", and then print something based on the result of that: $x = undef; print "x is undef\n" if not defined $x; $y = 0; print "y is defined\n" if defined $y" One place I run into undef frequently is in subroutines optional arguments. I.e. if you called a sub like: sub test { my ( $x, $y, $z ) = @_; } with "test( 1, 2)", $x would be 1, $y would be 2, and $z would be undef (not zero). perldoc -f defined has some good text on this. --Kester On Fri, 18 Mar 2005 11:10:22 -0500, Sandy Santra wrote: > I keep seeing "undef" mentioned in the llama book. > > I've tried to define a variable as not having a value, theoretically being > "undef," but when I use the print command, I never see "undef" print to my > screen; nothing prints at all. > > I wanted to learn the different between a zero value and undef because the > llama book keeps saying there is one. Is this a pointless issue to pursue? > > Clarification greatly appreciated. Thanks. > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > From zed.lopez at gmail.com Fri Mar 18 09:47:46 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Fri Mar 18 09:47:54 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> References: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> Message-ID: <83a996de05031809474ed225e0@mail.gmail.com> One aspect of use warnings is that you get a "Use of uninitialized value" warning if you try to use an undef value. Perl will auto-convert undef to '' if you use it as a string, and you won't hear about it if you don't have warnings on. Always turn warnings on for non-trivial scripts. (There are reasons to turn it off for selected code blocks, and super-experts like Damian Conway often do a lot of stuff with it off... but until you're a super-expert and you _know_ you have a very good reason for having it off for a specific piece of code, leave it on.) This isn't a pointless issue: you should and must understand Perl's automatic conversions, or its DWIMmery won't do what you mean. On Fri, 18 Mar 2005 11:10:22 -0500, Sandy Santra wrote: > I keep seeing "undef" mentioned in the llama book. > > I've tried to define a variable as not having a value, theoretically being > "undef," but when I use the print command, I never see "undef" print to my > screen; nothing prints at all. > > I wanted to learn the different between a zero value and undef because the > llama book keeps saying there is one. Is this a pointless issue to pursue? > > Clarification greatly appreciated. Thanks. > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > From extasia at gmail.com Fri Mar 18 09:49:51 2005 From: extasia at gmail.com (David Alban) Date: Fri Mar 18 09:49:59 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <55adb31905031809223ffb132c@mail.gmail.com> References: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> <55adb31905031809223ffb132c@mail.gmail.com> Message-ID: <4c714a9c05031809496ea0dd1c@mail.gmail.com> On Fri, 18 Mar 2005 09:22:49 -0800, Kester Allen wrote: > perldoc -f defined has some good text on this. See also: perldoc -f undef Yes, Virginia, undef is a function! Sandy, when you get the hang of defined vs. not defined, then you can tackle defined vs. exists (perldoc -f exists), and the concept of autovivification. P.S. I had another reply to this thread. Inadvertently applied vim finger habits to gmail editor. My reply disappeared. Don't know whether I sent it or trashed it. It happened so fast! The darker side of finger habits... -- Live in a world of your own, but always welcome visitors. From santranyc at yahoo.com Fri Mar 18 09:55:46 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Fri Mar 18 09:55:27 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <55adb31905031809223ffb132c@mail.gmail.com> References: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> Message-ID: <5.1.0.14.2.20050318124954.0261e0f0@pop.mail.yahoo.com> At 09:22 AM 3/18/05 -0800, you wrote: >$x = undef; >print "x is undef\n" if not defined $x; >$y = 0; >print "y is defined\n" if defined $y; > Thanks! Great piece of code. Works great for testing. >sub test { > my ( $x, $y, $z ) = @_; >} > >with "test( 1, 2)", $x would be 1, $y would be 2, and $z would be >undef (not zero). For this, doesn't the "my" have to be outside the loop? When I run: use strict; sub test { my ( $x, $y, $z ) = @_; } test(1,0); print "$x\n"; print "$y\n"; print "$z\n"; print "x is undef\n" if not defined $x; print "y is undef\n" if not defined $y; print "z is undef\n" if not defined $z; I get compilation errors (i.e., "Global symbol "$x" requires explicit package name at test2 line 7"). But this works fine: use strict; my ( $x, $y, $z ); sub test { ( $x, $y, $z ) = @_; } test(1,0); print "$x\n"; print "$y\n"; print "$z\n"; print "x is undef\n" if not defined $x; print "y is undef\n" if not defined $y; print "z is undef\n" if not defined $z; --Sandy Santra From dbkliv at gmail.com Fri Mar 18 12:36:10 2005 From: dbkliv at gmail.com (dbkliv) Date: Fri Mar 18 12:36:22 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <5.1.0.14.2.20050318124954.0261e0f0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> <55adb31905031809223ffb132c@mail.gmail.com> <5.1.0.14.2.20050318124954.0261e0f0@pop.mail.yahoo.com> Message-ID: On Fri, 18 Mar 2005 12:55:46 -0500, Sandy Santra wrote: > For this, doesn't the "my" have to be outside the loop? > > When I run: > > use strict; > sub test { > my ( $x, $y, $z ) = @_; > } > test(1,0); > print "$x\n"; > print "$y\n"; > print "$z\n"; > print "x is undef\n" if not defined $x; > print "y is undef\n" if not defined $y; > print "z is undef\n" if not defined $z; > > I get compilation errors (i.e., "Global symbol "$x" requires explicit > package name at test2 line 7"). Right - because $x, $y, and $z are scoped to test(). Convert your code to: #!/usr/bin/perl use strict; use warnings; sub test { my ( $x, $y, $z ) = @_; print "$x\n"; print "$y\n"; print "$z\n"; print "x is undef\n" if not defined $x; print "y is undef\n" if not defined $y; print "z is undef\n" if not defined $z; } test(1,0); __END__ 1 0 Use of uninitialized value in concatenation (.) or string at - line 10. z is undef From glim at mycybernet.net Sat Mar 19 11:38:00 2005 From: glim at mycybernet.net (glim@mycybernet.net) Date: Sat Mar 19 12:05:23 2005 Subject: [oak perl] Yet Another Perl Conference, North America, 2005 Registration now open Message-ID: ----------> Yet Another Perl Conference, North America, 2005 Registration now open. Conference dates: Monday - Wednesday 27 - 29 June 2005 Location: 89 Chestnut Street http://89chestnut.com/ University of Toronto Toronto, Ontario, Canada Info at: http://yapc.org/America Direct registration: http://donate.perlfoundation.org/index.pl?node=registrant%20info&conference_id=423 Full registration fee $85 (USD) Book now for great deals on accommodations and ensure a space for yourself. Speaking slots are still open. If you would like to present at YAPC::NA 2005, see: http://yapc.org/America/cfp-2005.shtml Details of this announcement: http://yapc.org/America/registration-announcement-2005.txt <---------- More Details ============ Registration for YAPC::NA (Yet Another Perl Conference, North America) 2005 in Toronto, Ontario, Canada is now open. The conference registration price is USD$85. This price includes admission to all aspects of the conference, respectable amounts of catering, several activities and a few conference goodies. The YAPC North America 2005 conference features... * Fantastic speakers + most are the core creators of the technology on which they present + many are professional IT authors, trainers and conference speakers * An excellent learning opportunity * A chance to meet Perl professionals from all over North America and the world + YAPC attendees tend to be very involved in Perl and so are another great way to learn more about what the language has to offer beyond just what the speakers have to say * Extra-curricular / after hours activities * A great location in downtown Toronto All this, and the price is more than an order of magnitude cheaper than what commercial conferences can offer. This is because YAPC is a 100% volunteer effort, both from its organizers and its speakers. Quality is *not* sacrificed to achieve this stunning level of affordability. YAPC provides the best value-for-dollar in IT conferences. And it's a ton of fun, too. The dates of the conference are Monday - Wednesday 27-29 June 2005. The location is 89 Chestnut Street in downtown Toronto, Ontario, Canada. (Note that a different date block was previously announced; we moved the conference date to accommodate venue availability.) http://89chestnut.com/ -- a facility within the University of Toronto If you are at all interested in attending the conference... Book now! Book now! Book now! We have room for about 400 attendees and we hope to sell out well in advance of the late June conference date. However, the critical matter is that of hotels. The YAPC::NA 2005 organizers have made group arrangements with several facilities around the city to provide _excellent_ quality accommodations in _very_ convenient locations at _terrific_ prices for the _full_ capacity of conference attendees (around 400 people). (Finding, booking and paying accommodations is the responsibility of the attendees, but we will provide you with a list of the hotels and university dorms to try first based on our group arrangement with them when you register for the conference. Also, see the web site at http://yapc.org/America/accommodations-2005.shtml. More details will be up shortly. The dorm option will be approx. C$55/night, the hotel options will be more like C$90/night, and for slightly different prices there will be options for putting more than 1 person in a room. Exact details and how to book will be emailed directly to people who have registered for the conference as soon as they become available.) *The catch is -- book now!!* The group reservations will expire in early May, at which point in time the group rates will mostly still apply, but the rooms will be given out on an "availability basis". Which means that someone else outside of the YAPC group can book the rooms as well. Make no mistake -- the rooms *will* be sold. Toronto is a very active conference city in the summer and there will be _no_ guarantee of vacancies either at the facilities we made arrangements with or anywhere else in the city if you leave it to within 6 weeks of the conference date. So, if you want to save yourself the likely-fruitless headache of scrambling around looking for accommodations at the last minute, Book now! Book now! Book now! Have any questions? Email na-help@yapc.org for more details. Additionally, we are still welcoming submissions for proposals via: http://yapc.org/America/cfp-2005.shtml The close of the call-for-papers is April 18, 2005 at 11:59 pm (Toronto time). If you have any questions regarding the call-for-papers or speaking at YAPC::NA 2005 please email na-author@yapc.org We would love to hear from potential sponsors. Please contact the organizers at na-sponsor@yapc.org to learn about the benefits of sponsorship. From jseidel at edpci.com Sat Mar 19 18:40:00 2005 From: jseidel at edpci.com (Jon Seidel, CMC) Date: Sat Mar 19 18:41:19 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> Message-ID: <001701c52cf6$1d89bc30$7400000a@edpci.com> Sandy... One of the things that you'll use undef for is to act as a placeholder for parameters. As I recall, there are MySql calls that often require the use of undef, since you don't want to pass a value for, say, parameters 2 and 3, but you have to give a value for parameters #4 and 5. Thus, you would say something like: $mysql->search($db, undef, undef, $text, $results) Or something like that...if you're more familiar with the mysql interface, feel free to correct my errors :) ...jon > -----Original Message----- > From: oakland-bounces@pm.org [mailto:oakland-bounces@pm.org] > On Behalf Of Sandy Santra > Sent: Friday, March 18, 2005 8:10 AM > To: Oakland Perl > Subject: [oak perl] The mysterious "undef" > > > I keep seeing "undef" mentioned in the llama book. > > I've tried to define a variable as not having a value, > theoretically being > "undef," but when I use the print command, I never see > "undef" print to my > screen; nothing prints at all. > > I wanted to learn the different between a zero value and > undef because the > llama book keeps saying there is one. Is this a pointless > issue to pursue? > > Clarification greatly appreciated. Thanks. > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > > From george at metaart.org Mon Mar 21 00:37:15 2005 From: george at metaart.org (George Woolley) Date: Mon Mar 21 00:17:31 2005 Subject: [oak perl] Links Related to Next Meeting Message-ID: <200503210037.15769.george@metaart.org> == Two References from c2.com http://www.c2.com/cgi/wiki?DynamicTyping http://www.c2.com/cgi/wiki?TypesOfTyping c2.com is quite relevant to our February meeting (theme = "Wiki") and to our April meeting (theme="Dynamic Languages"). It's an excellent example of a Wiki. It also includes some interesting perspectives on various types of typing including dynamic typing. (See links above as starting places.) Does anyone else have suggestions of interesting links, especially related to "Dynamic Languages" (the April meeting theme)? George From oaklandpm at eli.users.panix.com Mon Mar 21 09:57:18 2005 From: oaklandpm at eli.users.panix.com (Benjamin Elijah Griffin) Date: Mon Mar 21 09:57:32 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <001701c52cf6$1d89bc30$7400000a@edpci.com> Message-ID: <200503211757.j2LHvID02012@panix2.panix.com> Jon Seidel wrote: > One of the things that you'll use undef for is to act as a placeholder > for parameters. As I recall, there are MySql calls that often require > the use of undef, since you don't want to pass a value for, say, > parameters 2 and 3, but you have to give a value for parameters #4 and > 5. > > Thus, you would say something like: > > $mysql->search($db, undef, undef, $text, $results) I rarely need to use that, but I use it as a placeholder on the left hand side (LHS) of assignments from time to time. #$sec, $min,$hour,$mday,$mon, $year,$wday,$yday,$isdst (undef,$min,$hour,$day, $month,$year,undef,undef,undef) = localtime(); Elijah From david at fetter.org Mon Mar 21 10:01:31 2005 From: david at fetter.org (David Fetter) Date: Mon Mar 21 10:01:48 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <001701c52cf6$1d89bc30$7400000a@edpci.com> References: <5.1.0.14.2.20050318110612.025c2750@pop.mail.yahoo.com> <001701c52cf6$1d89bc30$7400000a@edpci.com> Message-ID: <20050321180131.GB19682@fetter.org> On Sat, Mar 19, 2005 at 06:40:00PM -0800, Jon Seidel, CMC wrote: > Sandy... One of the things that you'll use undef for is to act as a > placeholder for parameters. As I recall, there are MySql calls that > often require the use of undef, since you don't want to pass a value > for, say, parameters 2 and 3, but you have to give a value for > parameters #4 and 5. > > Thus, you would say something like: > > $mysql->search($db, undef, undef, $text, $results) > > Or something like that...if you're more familiar with the mysql > interface, feel free to correct my errors :) Familiarity with MySQL and its interfaces breeds only contempt. When offered an opportunity to work with that piece of junk, Just Say PostgreSQL. :) Cheers, D -- David Fetter david@fetter.org http://fetter.org/ phone: +1 510 893 6100 mobile: +1 415 235 3778 Remember to vote! From zed.lopez at gmail.com Mon Mar 21 12:07:08 2005 From: zed.lopez at gmail.com (Zed Lopez) Date: Mon Mar 21 12:07:20 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <200503211757.j2LHvID02012@panix2.panix.com> References: <001701c52cf6$1d89bc30$7400000a@edpci.com> <200503211757.j2LHvID02012@panix2.panix.com> Message-ID: <83a996de050321120776fabf50@mail.gmail.com> > I rarely need to use that, but I use it as a placeholder on the left > hand side (LHS) of assignments from time to time. > > #$sec, $min,$hour,$mday,$mon, $year,$wday,$yday,$isdst > (undef,$min,$hour,$day, $month,$year,undef,undef,undef) = localtime(); You don't need the ones on the right. (undef,$min,$hour,$day, $month,$year) = localtime(); will do just fine, as would ($min,$hour,$day, $month,$year) = (localtime)[1..5] From mark at bincomputing.com Mon Mar 21 11:46:55 2005 From: mark at bincomputing.com (Mark Bole) Date: Mon Mar 21 14:09:06 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <001701c52cf6$1d89bc30$7400000a@edpci.com> References: <001701c52cf6$1d89bc30$7400000a@edpci.com> Message-ID: <423F24AF.8080603@bincomputing.com> There are two uses of "undef", other than as a placeholder in an argument list, that merit a mention as well. 1) IIRC, it is the fastest way to "destroy" (free up the memory) used by an array or hash. For example, this pseudo-code to collect things into groups: my (@scratch, %permanent); foreach $thing (@list_of_distinct_things) { push(@scratch, $thing); if (condition_involving_thing) { # save in a hash of lists, use last value in the list as hash key $permanent{$thing} = [ @scratch ]; undef @scratch; next; } } # handle whatever is left in @scratch here 2) more importantly, from a data modeling viewpoint, undef represents the "null" value as opposed to the "empty" or "false" value. An example might be a password -- you can use undef to distinguish between a valid password that consists of the empty string (defined) and an invalid or missing password (undef). As an aside, given the editorial comments about MySQL, it is interesting to note that in Oracle, for reasons lost in the mists of time, a NULL is actually stored as an empty string, which doesn't seem right somehow, but they've kept it working all these years nonetheless. -- Mark Bole http://www.bincomputing.com 925-287-0366 Jon Seidel, CMC wrote: >Sandy... One of the things that you'll use undef for is to act as a >placeholder for parameters. [...] > > >>-----Original Message----- >>From: oakland-bounces@pm.org [mailto:oakland-bounces@pm.org] >>On Behalf Of Sandy Santra >>Sent: Friday, March 18, 2005 8:10 AM >>To: Oakland Perl >>Subject: [oak perl] The mysterious "undef" >> >> >>[...] >> >>I wanted to learn the different between a zero value and >>undef because the >>llama book keeps saying there is one. Is this a pointless >>issue to pursue? >> >> >> From oaklandpm at eli.users.panix.com Mon Mar 21 14:27:47 2005 From: oaklandpm at eli.users.panix.com (Benjamin Elijah Griffin) Date: Mon Mar 21 14:27:55 2005 Subject: [oak perl] The mysterious "undef" In-Reply-To: <83a996de050321120776fabf50@mail.gmail.com> Message-ID: <200503212227.j2LMRlA24047@panix2.panix.com> Zed Lopez wrote: >> #$sec, $min,$hour,$mday,$mon, $year,$wday,$yday,$isdst >> (undef,$min,$hour,$day, $month,$year,undef,undef,undef) = >> localtime(); > You don't need the ones on the right. Nope, but along with the comment about what is in what field, I'd always leave them in for a localtime assignment in real code. > ($min,$hour,$day, $month,$year) = (localtime)[1..5] And that's just fine and dandy, a nice example of an array slice, but not a useful example of undef(). Elijah From david at fetter.org Mon Mar 21 20:08:35 2005 From: david at fetter.org (David Fetter) Date: Mon Mar 21 20:08:45 2005 Subject: [oak perl] DBI-Link in San Francisco Message-ID: <20050322040835.GB21580@fetter.org> Folks, I'm giving a talk tomorrow (Tuesday) at 8:00pm at the San Francisco Perl Users' Group meeting on DBI-Link, a nifty combination of Perl and PostgreSQL. If you want in, RSVP ASAP to Quinn Weaver (qw@sf.pm.org). Pizza via your contribution is on the menu. Details at http://sf.pm.org/weblog/ Cheers, D -- David Fetter david@fetter.org http://fetter.org/ phone: +1 510 893 6100 mobile: +1 415 235 3778 Remember to vote! From cajun at cajuninc.com Mon Mar 21 22:13:24 2005 From: cajun at cajuninc.com (M. Lewis) Date: Mon Mar 21 20:13:16 2005 Subject: [oak perl] DBI-Link in San Francisco In-Reply-To: <20050322040835.GB21580@fetter.org> References: <20050322040835.GB21580@fetter.org> Message-ID: <423FB784.5040600@cajuninc.com> Is pizza available for delivery? M David Fetter wrote: > Folks, > > I'm giving a talk tomorrow (Tuesday) at 8:00pm at the San Francisco > Perl Users' Group meeting on DBI-Link, a nifty combination of Perl and > PostgreSQL. > > If you want in, RSVP ASAP to Quinn Weaver (qw@sf.pm.org). Pizza via > your contribution is on the menu. > > Details at http://sf.pm.org/weblog/ > > Cheers, > D From david at fetter.org Mon Mar 21 20:22:47 2005 From: david at fetter.org (David Fetter) Date: Mon Mar 21 20:22:55 2005 Subject: [oak perl] DBI-Link in San Francisco In-Reply-To: <423FB784.5040600@cajuninc.com> References: <20050322040835.GB21580@fetter.org> <423FB784.5040600@cajuninc.com> Message-ID: <20050322042247.GC21580@fetter.org> On Mon, Mar 21, 2005 at 11:13:24PM -0700, M. Lewis wrote: > Is pizza available for delivery? Quinn will order the pizza. It will be delivered to BGI. :) Cheers, D > > M > > David Fetter wrote: > >Folks, > > > >I'm giving a talk tomorrow (Tuesday) at 8:00pm at the San Francisco > >Perl Users' Group meeting on DBI-Link, a nifty combination of Perl and > >PostgreSQL. > > > >If you want in, RSVP ASAP to Quinn Weaver (qw@sf.pm.org). Pizza via > >your contribution is on the menu. > > > >Details at http://sf.pm.org/weblog/ > > > >Cheers, > >D > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland -- David Fetter david@fetter.org http://fetter.org/ phone: +1 510 893 6100 mobile: +1 415 235 3778 Remember to vote! From p at patrick.net Tue Mar 22 15:54:29 2005 From: p at patrick.net (Patrick Killelea) Date: Tue Mar 22 15:55:19 2005 Subject: [oak perl] looking for perl cgi blogger Message-ID: <4240B035.7090406@patrick.net> I'm looking for a small, simple, secure blogger written as a perl CGI. I just want to post my thoughts and some links and get feedback from readers. Any recommendations? Thanks in advance. Patrick From oaklandpm at eli.users.panix.com Tue Mar 22 16:07:22 2005 From: oaklandpm at eli.users.panix.com (Benjamin Elijah Griffin) Date: Tue Mar 22 16:07:32 2005 Subject: [oak perl] looking for perl cgi blogger In-Reply-To: <4240B035.7090406@patrick.net> Message-ID: <200503230007.j2N07MQ21245@panix2.panix.com> Patrick Killelea wrote: > I'm looking for a small, simple, secure blogger written as a perl CGI. > > I just want to post my thoughts and some links and get feedback from > readers. Blossom (aka blosxom) is a very small perl CGI blogger. http://www.blosxom.com/ Between templates and plugins you can get a lot with it. I've written one plugin (random logo) and use blossom for my bookmark blog: http://www.panix.com/~eli/qz/ Elijah From p at patrick.net Wed Mar 23 15:39:29 2005 From: p at patrick.net (Patrick Killelea) Date: Wed Mar 23 15:40:27 2005 Subject: [oak perl] looking for perl cgi blogger In-Reply-To: <200503230007.j2N07MQ21245@panix2.panix.com> References: <200503230007.j2N07MQ21245@panix2.panix.com> Message-ID: <4241FE31.3030504@patrick.net> Wow, blosxom is pretty minimal and very cool. I don't see that others can add comments to my posts though. Maybe there's some plugin for that? Patrick Benjamin Elijah Griffin wrote: >Patrick Killelea wrote: > > >>I'm looking for a small, simple, secure blogger written as a perl CGI. >> >>I just want to post my thoughts and some links and get feedback from >>readers. >> >> > >Blossom (aka blosxom) is a very small perl CGI blogger. > >http://www.blosxom.com/ > >Between templates and plugins you can get a lot with it. I've written >one plugin (random logo) and use blossom for my bookmark blog: > >http://www.panix.com/~eli/qz/ > >Elijah >_______________________________________________ >Oakland mailing list >Oakland@pm.org >http://mail.pm.org/mailman/listinfo/oakland > > > > From george at metaart.org Wed Mar 23 17:32:51 2005 From: george at metaart.org (George Woolley) Date: Wed Mar 23 17:12:56 2005 Subject: [oak perl] Request for thoughts on "Dynamic Languages" theme Message-ID: <200503231732.51267.george@metaart.org> Anyone have any thoughts, questions, etc. to post re our April theme? George For various reasons*, not everyone in the group comes to our monthly meeting. But you still can, if you wish, put in your two cents (nickel or whatever) by posting to the list. * E.g. The location of the meeting is inconvenient for Mike, who (as you likely know) lives in Panama. From stigliz at gmail.com Thu Mar 24 14:25:59 2005 From: stigliz at gmail.com (Amedeo Guffanti) Date: Thu Mar 24 14:26:08 2005 Subject: [oak perl] Reseach on Open Source Developers Message-ID: Hi, I'm Amedeo Guffanti, a 22 years old Italian student at Bocconi university in Milan, I' m doing a research to write a work about Open Source Movement, in particular, about the developers. I try to collect the opinions of developers like you. My little poll is at this page : http://www.alberocavo.com/OSSprojects.asp It takes less then 4 minutes. I hope the Open Source Communities will give me a help for my research. I apologize for taking your time and for my English that I hope it's understandable ^^ Sincerly, Amedeo Guffanti From santranyc at yahoo.com Mon Mar 28 12:13:17 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Mon Mar 28 12:13:02 2005 Subject: [oak perl] until loop(s) Message-ID: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> I'm learning (struggling with) "until" loops today. I want an "until" control structure that "breaks out" when a condition is fulfilled. Can anyone find the problem in the below loop? (It never breaks out.) Thanks. use strict; print "Can you create world peace in five tries? Type a solution below:\n"; my $number; until (my $counter == 5) { while ($number=) { $counter=$counter+1; print "Counter is now $counter.\n"; print "You still have a few tries left.\n"; } } print "You failed! The human race is doomed!\n"; --Sandy Santra From sfink at reactrix.com Mon Mar 28 12:30:07 2005 From: sfink at reactrix.com (Steve Fink) Date: Mon Mar 28 12:30:17 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <4248694F.5040209@reactrix.com> Sandy Santra wrote: > I'm learning (struggling with) "until" loops today. I want an "until" > control structure that "breaks out" when a condition is fulfilled. > > Can anyone find the problem in the below loop? (It never breaks out.) > Thanks. > > use strict; > print "Can you create world peace in five tries? Type a solution > below:\n"; > my $number; > until (my $counter == 5) > > { > while ($number=) > { > $counter=$counter+1; > print "Counter is now $counter.\n"; > print "You still have a few tries left.\n"; > } > } > print "You failed! The human race is doomed!\n"; The problem is scoping. The 'my' inside of the counter makes this code similar to: until (something) { my $counter; $counter = $counter + 1; } so every time through the loop, it resets $counter to undef. There's no equivalent code to insert in place of "something", because I think it is using the correct $counter variable. It's really closer to until (0) { my $counter; last if $counter == 5; $counter = $counter + 1; } But if you change your code to my $counter; until ($counter == 5) { ...$counter = $counter + 1... } it will work. I would have expected your original to work, honestly. But I also never stick 'my' into the middle of expressions, other than a few limited cases. Makes my head hurt too much. From sfink at reactrix.com Mon Mar 28 12:30:07 2005 From: sfink at reactrix.com (Steve Fink) Date: Mon Mar 28 12:30:20 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <4248694F.5040209@reactrix.com> Sandy Santra wrote: > I'm learning (struggling with) "until" loops today. I want an "until" > control structure that "breaks out" when a condition is fulfilled. > > Can anyone find the problem in the below loop? (It never breaks out.) > Thanks. > > use strict; > print "Can you create world peace in five tries? Type a solution > below:\n"; > my $number; > until (my $counter == 5) > > { > while ($number=) > { > $counter=$counter+1; > print "Counter is now $counter.\n"; > print "You still have a few tries left.\n"; > } > } > print "You failed! The human race is doomed!\n"; The problem is scoping. The 'my' inside of the counter makes this code similar to: until (something) { my $counter; $counter = $counter + 1; } so every time through the loop, it resets $counter to undef. There's no equivalent code to insert in place of "something", because I think it is using the correct $counter variable. It's really closer to until (0) { my $counter; last if $counter == 5; $counter = $counter + 1; } But if you change your code to my $counter; until ($counter == 5) { ...$counter = $counter + 1... } it will work. I would have expected your original to work, honestly. But I also never stick 'my' into the middle of expressions, other than a few limited cases. Makes my head hurt too much. From extasia at gmail.com Mon Mar 28 12:48:12 2005 From: extasia at gmail.com (David Alban) Date: Mon Mar 28 12:48:51 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <4c714a9c050328124857496c52@mail.gmail.com> Greetings, The test in the until loop "my $counter == 5" declares $counter and then compares its value to 5 without having first initialized it. And undef never equals 5. So you'll never satisfy the test. So each time through the until loop (which occurs only when the stdin's eof is reached in the while loop) you're testing a completely new $counter that never existed. Did you "use warnings"? It would tell you: Use of uninitialized value in numeric eq (==) at foo line 4. David On Mon, 28 Mar 2005 15:13:17 -0500, Sandy Santra wrote: > I'm learning (struggling with) "until" loops today. I want an "until" > control structure that "breaks out" when a condition is fulfilled. > > Can anyone find the problem in the below loop? (It never breaks out.) Thanks. > > use strict; > print "Can you create world peace in five tries? Type a solution below:\n"; > my $number; > until (my $counter == 5) > > { > while ($number=) > { > $counter=$counter+1; > print "Counter is now $counter.\n"; > print "You still have a few tries left.\n"; > } > } > print "You failed! The human race is doomed!\n"; -- Live in a world of your own, but always welcome visitors. From santranyc at yahoo.com Mon Mar 28 13:03:56 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Mon Mar 28 13:04:00 2005 Subject: [oak perl] until loop(s) In-Reply-To: <4c714a9c050328124857496c52@mail.gmail.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <5.1.0.14.2.20050328155945.02b38b80@pop.mail.yahoo.com> At 12:48 PM 3/28/05 -0800, you wrote: >Did you "use warnings"? It would tell you: > > Use of uninitialized value in numeric eq (==) at foo line 4. OK. No, I don't know how to solve that; I still get that error. But thanks to your logic, David, I got the script to work (by taking out the While loop): use strict; use warnings; print "Can you create world peace in five tries? Type your solution:\n"; my $number; my $counter; until ($counter == 5) { $number=; $counter=$counter+1; print "Counter is now $counter.\n"; print "You still have a few tries left.\n"; } print "You failed! The human race is doomed!\n"; --Sandy Santra From kester at gmail.com Mon Mar 28 13:12:53 2005 From: kester at gmail.com (Kester Allen) Date: Mon Mar 28 13:13:05 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <55adb319050328131259e20911@mail.gmail.com> Hi Sandy-- In addition to the good advice you've already gotten, I've always found "until" loops and "unless" blocks to be more confusing than they're worth. You could combine your until and while loops into a single loop like this: my ( $number, $counter ) = ( 9, 0 ); while ( ($counter++ < 5) && ($number = ) ) { chomp $number; print "number = $number, counter = $counter.\n"; } which might be easier to read. --Kester From extasia at gmail.com Mon Mar 28 13:27:22 2005 From: extasia at gmail.com (David Alban) Date: Mon Mar 28 13:28:01 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328155945.02b38b80@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> <4c714a9c050328124857496c52@mail.gmail.com> <5.1.0.14.2.20050328155945.02b38b80@pop.mail.yahoo.com> Message-ID: <4c714a9c050328132739d85825@mail.gmail.com> If you have: my $counter; until ( $counter == 5 ) { ... } Then (at least) the first time $counter is tested by the until loop, you're asking perl to compare the number five to $counter, which is undefined because it never was assigned a value. If you first initialize $counter: my $counter = 0; until ( $counter == 5 ) { ... } then unless you undefine (or some operation undefines) $counter in the loop, you'll never be comparing a number to an undefined value. TMTOWTDI. I might have done your loop as: for my $counter ( 1..5 ) { ... } if $counter wasn't needed after the loop and: my $counter; for $counter ( 1..5 ) { ... } if $counter was needed after the loop. On Mon, 28 Mar 2005 16:03:56 -0500, Sandy Santra wrote: > OK. No, I don't know how to solve that; I still get that error. -- Live in a world of your own, but always welcome visitors. From sfink at reactrix.com Mon Mar 28 13:49:11 2005 From: sfink at reactrix.com (Steve Fink) Date: Mon Mar 28 13:49:23 2005 Subject: [oak perl] until loop(s) In-Reply-To: <4c714a9c050328132739d85825@mail.gmail.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> <4c714a9c050328124857496c52@mail.gmail.com> <5.1.0.14.2.20050328155945.02b38b80@pop.mail.yahoo.com> <4c714a9c050328132739d85825@mail.gmail.com> Message-ID: <42487BD7.4090006@reactrix.com> David Alban wrote: > If you have: > > my $counter; > until ( $counter == 5 ) { ... } > > Then (at least) the first time $counter is tested by the until loop, > you're asking perl to compare the number five to $counter, which is > undefined because it never was assigned a value. > > If you first initialize $counter: > > my $counter = 0; > until ( $counter == 5 ) { ... } > > then unless you undefine (or some operation undefines) $counter in the > loop, you'll never be comparing a number to an undefined value. > > TMTOWTDI. I might have done your loop as: > > for my $counter ( 1..5 ) { > ... > } > > if $counter wasn't needed after the loop and: > > my $counter; > for $counter ( 1..5 ) { > ... > } > > if $counter was needed after the loop. But not if the __value__ is needed after the loop, because 'for' will implicitly localize the value. my $counter = 10; for $counter (1..5) { } print $counter; will print 10. From extasia at gmail.com Mon Mar 28 14:09:14 2005 From: extasia at gmail.com (David Alban) Date: Mon Mar 28 14:14:49 2005 Subject: [oak perl] until loop(s) In-Reply-To: <42487BD7.4090006@reactrix.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> <4c714a9c050328124857496c52@mail.gmail.com> <5.1.0.14.2.20050328155945.02b38b80@pop.mail.yahoo.com> <4c714a9c050328132739d85825@mail.gmail.com> <42487BD7.4090006@reactrix.com> Message-ID: <4c714a9c05032814095b839d5c@mail.gmail.com> Aieeeeee! Testing, boys and girls. Testing will save your behind. (Thanks, Steve.) On Mon, 28 Mar 2005 13:49:11 -0800, Steve Fink wrote: > > my $counter; > > for $counter ( 1..5 ) { > > ... > > } > > > > if $counter was needed after the loop. > > But not if the __value__ is needed after the loop, because 'for' will > implicitly localize the value. > > my $counter = 10; > for $counter (1..5) { > } > print $counter; > > will print 10. -- Live in a world of your own, but always welcome visitors. From mark at bincomputing.com Mon Mar 28 18:52:48 2005 From: mark at bincomputing.com (Mark Bole) Date: Mon Mar 28 18:53:05 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <4248C300.3030201@bincomputing.com> Fellow perlmongers: It's hard to get a jump on this list! I first saw Sandy's original post a few minutes after it originated, and while I was testing some code in response, suddenly there are three responses already! My excuse is, I was busy today wrestling with Yahoo! Domains (reseller for Melbourne IT), they basically force you to cancel all service and support, just to transfer to another domain registrar, essentially holding your web site hostage for up to five days. Thank goodness this time I'm handling a non-profit domain that is seasonal in nature and so can afford such an extended outage. But what a rip-off! Anyone else have similar trials and tribulations? http://it.slashdot.org/article.pl?sid=05/01/16/0027213 http://www.dnforum.com/showthread.php?t=84483 Now, reviewing the previous replies, I think the only new thing of value I can add is, "Don't use '$counter == 5' as a loop termination condition" You never know when your code will be called (or otherwise altered) by other code that somehow just by the sheerest of coincidences decides to handle '$counter == 5' as a special case and sends you back '$counter == 6'. Use "$counter >= 5" instead. If at all meaningful, loops should have a guaranteed exit. As a last resort, if you hard-code a failsafe limit, provide a command-line option to override it. Sandy, did anyone achieve world peace in your testing? :-) -- Mark Bole http://www.bincomputing.com 925-287-0366 Sandy Santra wrote: > I'm learning (struggling with) "until" loops today. I want an "until" > control structure that "breaks out" when a condition is fulfilled. > > Can anyone find the problem in the below loop? (It never breaks > out.) Thanks. > > [...] > until (my $counter == 5) > [...] > --Sandy Santra > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > > From mark at bincomputing.com Mon Mar 28 18:52:48 2005 From: mark at bincomputing.com (Mark Bole) Date: Mon Mar 28 18:53:06 2005 Subject: [oak perl] until loop(s) In-Reply-To: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> References: <5.1.0.14.2.20050328145642.02b308d0@pop.mail.yahoo.com> Message-ID: <4248C300.3030201@bincomputing.com> Fellow perlmongers: It's hard to get a jump on this list! I first saw Sandy's original post a few minutes after it originated, and while I was testing some code in response, suddenly there are three responses already! My excuse is, I was busy today wrestling with Yahoo! Domains (reseller for Melbourne IT), they basically force you to cancel all service and support, just to transfer to another domain registrar, essentially holding your web site hostage for up to five days. Thank goodness this time I'm handling a non-profit domain that is seasonal in nature and so can afford such an extended outage. But what a rip-off! Anyone else have similar trials and tribulations? http://it.slashdot.org/article.pl?sid=05/01/16/0027213 http://www.dnforum.com/showthread.php?t=84483 Now, reviewing the previous replies, I think the only new thing of value I can add is, "Don't use '$counter == 5' as a loop termination condition" You never know when your code will be called (or otherwise altered) by other code that somehow just by the sheerest of coincidences decides to handle '$counter == 5' as a special case and sends you back '$counter == 6'. Use "$counter >= 5" instead. If at all meaningful, loops should have a guaranteed exit. As a last resort, if you hard-code a failsafe limit, provide a command-line option to override it. Sandy, did anyone achieve world peace in your testing? :-) -- Mark Bole http://www.bincomputing.com 925-287-0366 Sandy Santra wrote: > I'm learning (struggling with) "until" loops today. I want an "until" > control structure that "breaks out" when a condition is fulfilled. > > Can anyone find the problem in the below loop? (It never breaks > out.) Thanks. > > [...] > until (my $counter == 5) > [...] > --Sandy Santra > > _______________________________________________ > Oakland mailing list > Oakland@pm.org > http://mail.pm.org/mailman/listinfo/oakland > > From santranyc at yahoo.com Wed Mar 30 05:04:21 2005 From: santranyc at yahoo.com (Sandy Santra) Date: Wed Mar 30 05:08:36 2005 Subject: [oak perl] world peace via software Message-ID: Mark Bole wrote: >Sandy, did anyone achieve world peace in your testing? :-) Uh...I think the jury's still out on that. But since excellent software makes for more "transparent" computer usage--i.e., software so easy (and fun) that people don't even notice they're using it--maybe good coding *can* promote world harmony. Granted, much of coding is just building the "back end" (creating and maintaining infrastructure), but perhaps there's a "cosmic" argument that the underlying structure of software has an "aura" that can affect or influence the UI experience. I think it's got to matter. Especially since so much of media, business, and even socializing (email) in "first world countries" now utilizes computers on a day-to-day basis. As an example, when I think of all the user groups I've supported over the years who were forced to use Windows every day at work, they seemed--in toto--*much* more UNhappy than, say, the WELL userbase of the early 90s, which was using UNIX and Picospan. (And don't even get me started on configuring, using, and supporting Outlook.) Anyway, I have to say I love the Zen vibe of sitting down to code. So here's to "enlightened" software. --Sandy Santra From george at metaart.org Thu Mar 31 17:17:43 2005 From: george at metaart.org (George Woolley) Date: Thu Mar 31 16:57:29 2005 Subject: [oak perl] Fwd: Newsletter from O'Reilly UG Program, March 31 Message-ID: <200503311717.43398.george@metaart.org> ---------- Forwarded Message ---------- Subject: Newsletter from O'Reilly UG Program, March 31 Date: Thursday 31 March 2005 4:45 pm From: Marsee Henon ... ================================================================ O'Reilly News for User Group Members March 31, 2005 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Firefox Hacks -iPhoto 5: The Missing Manual -Python Cookbook, 2E -Silence on the Wire -Windows Server Cookbook -Degunking Your PC -Java in a Nutshell, 5th Edition -Access 2003 Personal Trainer -SharePoint User's Guide -Apache Security -MAKE Subscriptions Available ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -MAKE Editor Phillip Torrone on Science Friday--April 1 -Greg Kroah-Hartman, ("Linux Device Drivers, 3rd Ed"), PDXLUG, Portland, OR--April 14 -Greg Kroah-Hartman at Powell's Tech Books--April 16 -Bonnie Biafore ("QuickBooks: The Missing Manual" & "Online Investing Hacks"), Kansas City Investor Fair--April 29-30 ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Register for the 2005 MySQL Users Conference, Santa Clara, CA--April 18-21 -Where 2.0 Conference -OSCON Is Coming ---------------------------------------------------------------- News ---------------------------------------------------------------- -Tax Time: A Year-End Checklist of Accounting Tasks -Opting in to Privacy Problems -SafariU Revolutionizes the Textbook -Automating Windows (DNS) with Perl -make for Nonprogrammers -Closed Source PHP -Movies Made Easy in iPhoto 5 -Exploring the Mac OS X Firewall -Owen Linzmeyer ("Apple Confidential 2.0") on MacRadio -Five More Annoying PC Annoyances -Microsoft, Blogging, and Transparency -Miguel de Icaza Explains How to "Get" Mono -Flexible Event Delivery with Executors -Java Component Development: A Conceptual Framework -HDTV on Your Mac -Resurrect Your Old PC for Music--with Linux -Ajax: New for 2005 ================================================ Book News ================================================ Did you know you can request a free book to review for your group? Ask your group leader for more information. For book review writing tips and suggestions, go to: http://ug.oreilly.com/bookreviews.html Don't forget, you can receive 20% off any O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, or Syngress book you purchase directly from O'Reilly. Just use code DSUG when ordering online or by phone 800-998-9938. http://www.oreilly.com/ ***Free ground shipping is available for online orders of at least $29.95 that go to a single U.S. address. This offer applies to U.S. delivery addresses in the 50 states and Puerto Rico. For more details, go to: http://www.oreilly.com/news/freeshipping_0703.html ---------------------------------------------------------------- New Releases ---------------------------------------------------------------- ***Firefox Hacks Publisher: O'Reilly ISBN: 0596009283 This highly focused book offers all the valuable tips and tools you need to maximize the effectiveness of this hot web browser. It's all covered, including how to customize its deployment, appearance, features, and functionality. You'll even learn how to install, use, and alter extensions and plug-ins. Aimed at clever people who may or may not be savvy with basic programming tasks, this convenient resource describes 100 techniques for 100 strategies that effectively exploit Firefox. http://www.oreilly.com/catalog/firefoxhks/ Sample Hack 69, "Make New Tags and Widgets with XBL," is available online (along with five others): http://www.oreilly.com/catalog/firefoxhks/chapter/index.html ***iPhoto 5: The Missing Manual Publisher: O'Reilly ISBN: 0596100345 Updated to cover Apple's newest release, "iPhoto 5: The Missing Manual" comes fully loaded--and in full color--so you can exercise all the power, flexibility, and creativity of the stunning new iPhoto 5. This witty and authoritative guide starts out with a crash course on digital photography and then explores every aspect of iPhoto 5, from camera-meets-Mac basics to sharing your digital photography with the world. http://www.oreilly.com/catalog/iphoto5tmm/ ***Python Cookbook, 2E Publisher: O'Reilly ISBN: 0596007973 Like its predecessor, the new edition offers a collection of solutions to problems that Python programmers face every day. Updated for Python 2.4, it now includes over 200 recipes that range from simple tasks, such as working with dictionaries and list comprehensions, to complex tasks, such as monitoring a network and building a templating system. http://www.oreilly.com/catalog/pythoncook2/ ***Silence on the Wire Publisher: No Starch Press ISBN: 1593270461 Author Michal Zalewski is respected in the hacking and security communities for his intelligence, curiosity and creativity, and this book is truly unlike anything else. "Silence on the Wire" is no humdrum white paper or how-to manual for protecting one's network. Rather, this narrative explores a variety of unique, uncommon and often elegant security challenges that defy classification and eschew the traditional attacker-victim model. http://www.oreilly.com/catalog/1593270461/index.html ***Windows Server Cookbook Publisher: O'Reilly ISBN: 0596006330 Written for all levels of users, this practical reference guide offers hundreds of useful tasks for managing Windows 2000 and Windows Server 2003. The concise, on-the-job solutions to common problems are certain to save you many hours of time searching through Microsoft documentation. Each recipe also includes a detailed discussion that explains how and why it works. Topics discussed include files, event logs, security, DHCP, DNS, backup/restore, and more. http://www.oreilly.com/catalog/windowsvrckbk/ Chapter 6, "Processes," is available online: http://www.oreilly.com/catalog/windowsvrckbk/chapter/index.html ***Degunking Your PC Publisher: Paraglyph Press ISBN: 1933097035 Do your programs seem sluggish or refuse to run properly? Are you tripping over a viper's nest of cords and cables at every turn? Do you have printer drivers installed that date back to the Eisenhower administration? Is it impossible to vacuum under your desk? Still using dial up? If so you have PC gunk! "Degunking Your PC" will show you the way to get out of the rat's maze of cables and old plug-and-play devices and onto the road of perfect PC organization. Joli Ballew, the author of the bestselling "Degunking Windows" will show you simple, fast and effective ways to manage your PC hardware. http://www.oreilly.com/catalog/1933097035/index.html ***Java in a Nutshell, 5th Edition Publisher: O'Reilly ISBN: 0596007736 "Java in a Nutshell, 5th Edition" covers all the extensive changes in Java 5.0. This classic remake has undergone a complete editorial makeover in order to more closely meet the needs of the modern Java programmer. Included among the improvements are more discussion on tools and frameworks and new code examples to illustrate the working of APIs. And, as in previous editions, the fifth edition is chock-full of poignant tips, techniques, examples, and practical advice. http://www.oreilly.com/catalog/javanut5/ ***Access 2003 Personal Trainer Publisher: O'Reilly ISBN: 0596009372 Written in a non-technical and engaging style, this book lets people of any technical level learn exactly what they need to know at their own pace. The book starts with Access fundamentals and then moves up to tables, fields, queries, forms, reports, and advanced topics, like linking information from an external source. Included are detailed diagrams, dozens of task-oriented lessons, and a fully interactive training simulation CD. http://www.oreilly.com/catalog/accesspt/ ***SharePoint User's Guide Publisher: O'Reilly ISBN: 0596009089 This straightforward guide shows SharePoint users how to create and use web sites for sharing and collaboration. Learn to use the document and picture libraries for adding and editing content, add discussion boards and surveys, receive alerts when documents and information have been added or changed, and enhance security. Designed to help you find answers quickly, the book shows how to make the most of SharePoint for productivity and collaboration. http://www.oreilly.com/catalog/sharepoint/ Chapter 1, "Working with Sites and Workspaces," is available online: http://www.oreilly.com/catalog/sharepoint/chapter/index.html ***Apache Security Publisher: O'Reilly ISBN: 0596007248 This all-purpose guide for locking down Apache arms readers with all the information they need to securely deploy applications. Administrators and programmers alike will benefit from a concise introduction to the theory of securing Apache, plus a wealth of practical advice and real-life examples. Topics covered include installation, server sharing, logging and monitoring, web applications, PHP and SSL/TLS, and more. http://www.oreilly.com/catalog/apachesc/ Chapter 2, "Installation and Configuration," is available online: http://www.oreilly.com/catalog/apachesc/chapter/index.html ***MAKE Subscriptions Available The annual subscription price for four issues is $34.95. When you subscribe with this link, you'll get a free issue--the first one plus four more for $34.95. So subscribe for yourself or friends with this great offer for charter subscribers: five volumes for the cost of four. Subscribe at: https://www.pubservice.com/MK/Subnew.aspx?PC=MK&PK=M5ZUGLA The MAKE blog is available at: http://www.makezine.com/blog/ ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***MAKE Editor Phillip Torrone on Science Friday--April 1 Philip will be talking about DIY technology on NPR's "Science Friday" with Ira Flatow. Visit the Science Friday site and look for your local NPR station and broadcast times. Feel free to call in and ask questions from 2 to 4 p.m. Eastern at 1-800-989-8255. http://www.sciencefriday.com/ ***Greg Kroah-Hartman, ("Linux Device Drivers, 3rd Ed"), PDXLUG, Portland, OR--April 14 Join O'Reilly author Greg for a Linux chat at 7pm. Fireside Coffee Lodge 1223 SE Powell Blvd, Portland, OR 97202 http://www.pdxlug.org/ ***Greg Kroah-Hartman at Powell's Tech Books--April 16 Greg will also be at Powell's Technical Books beginning at 1:00pm April 16. Powell's Technical Books 33 NW Park Avenue, Portland, OR 97209 http://www.powells.com/calendar.html#489 ***Bonnie Biafore ("QuickBooks: The Missing Manual" & "Online Investing Hacks"), Kansas City Investor Fair--April 29-30 Bonnie is a featured speaker at the NAIC Kansas City Investor Fair. She'll be signing books there on both days, so be sure to stop by and say hello. Doubletree Hotel, Overland Park, KS http://www.better-investing.org/chapter/kansas/events/4875 ================================================ Conference News ================================================ ***Register for the 2005 MySQL Users Conference, Santa Clara, CA--April 18-21 The MySQL Users Conference, co-presented by O'Reilly Media and MySQL AB, brings together experts, users, and industry leaders with unique MySQL insights, offering attendees a detailed look into new features in MySQL 5.0, sessions and workshops designed to teach best practices, and exposure to new open source technologies. For more information, go to: http://www.mysqluc.com/ Use code DSUG when you register, and receive 20% off the registration price. To register for the conference, go to: http://conferences.oreillynet.com/cs/mysqluc2005/create/ord_mysql05 ***Where 2.0 Conference Join us at the first O'Reilly Where 2.0 Conference June 29-30 in San Francisco. Explore the emerging consumer and enterprise ecosystems around location-aware technologies--like GPS, RFID, WLAN, cellular networks, and networked sensors--that enable an ever-growing array of capabilities from local search and mapping to enterprise integration and commercial applications. Registration opens in April. http://conferences.oreillynet.com/where/ To receive up-to-date conference news and information, sign up for the conference newsletter on oreilly.com. ***OSCON Is Coming Join us at the O'Reilly Open Source Convention in beautiful Portland from August 1-5. OSCON 2005 will be at the Oregon Convention Center, where we'll have tutorials, sessions, parties, BOFs, and a huge exhibit hall. The Call for Proposals is closed, but registration and hotel information will be available soon. http://conferences.oreillynet.com/os2005/ To get the latest details as soon as we have them, sign up for the OSCON newsletter on oreilly.com. ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***Tax Time: A Year-End Checklist of Accounting Tasks Whether you handle your company's accounting yourself or hand off the major accounting tasks to an accountant, Bonnie Biafore provides a checklist of eight accounting tasks you'll want to complete shortly after the end of your fiscal year. Bonnie is the author of "QuickBooks 2005: The Missing Manual." http://www.oreillynet.com/pub/a/network/2005/03/28/quickbooks.html ***Opting in to Privacy Problems Brian McWilliams looks at yet another way internet users may be putting their privacy at risk. With list brokers now cutting deals with e-commerce sites and internet marketing firms for data that includes home addresses, phone numbers, and corresponding IP addresses, you may be opting in for more than you bargained for when you shop online. Brian is the author of "Spam Kings." http://www.oreillynet.com/pub/a/network/2005/03/17/optin.html ***SafariU Revolutionizes the Textbook With SafariU, educators and trainers can create and publish their own textbooks, selecting exactly the book chapters, sections, or articles they want from a wealth of information resources. SafariU costs nothing to use and offers students more focused course content at less cost. Visit SafariU to view a video demo and sign up for access: http://safariu.oreilly.com --------------------- Open Source --------------------- ***Automating Windows (DNS) with Perl Perl is a fantastic tool for system administrators--even on Windows. Though the shiny GUI is astonishingly useless (or at least too mouse-friendly) for all but the simplest changes, there's plenty to automate under the shell. Thomas Herchenroeder explains how he wrapped dnscmd with Perl to make changes easily. http://www.perl.com/pub/a/2005/03/24/perl_dns.html ***make for Nonprogrammers If you're a typical FreeBSD user, you may never have compiled C source code on your own. Yet if you've ever issued a make command, it's compiled code for you. How does it do that? What does it do, anyway? And what else can it do? Dru Lavigne answers all of these questions. http://www.onlamp.com/pub/a/bsd/2005/03/24/FreeBSD_Basics.html ***Closed Source PHP A look at the many different options PHP Developers have for protecting their source code from prying eyes when creating commercial PHP Applications. http://www.sitepoint.com/blog-post-view.php?id=238739 --------------------- Mac --------------------- ***Movies Made Easy in iPhoto 5 One of the best features in the current crop of consumer digital still cameras is their ability to capture high-quality video. iPhoto 5 is in step with this evolution and provides a great environment for taking those snippets and creating real movies. Derrick Story shows you how. http://www.macdevcenter.com/pub/a/mac/2005/03/22/iphoto_movies.html ***Exploring the Mac OS X Firewall Like so many tools built in to Mac OS X, the firewall just works. But what's really going on inside it? Peter Hickman explains why the firewall works so well, and then takes you inside and shows you how to fiddle with things. In the end, he returns you safely to the default settings. http://www.macdevcenter.com/pub/a/mac/2005/03/15/firewall.html ***Owen Linzmeyer ("Apple Confidential 2.0") on MacRadio Listen to No Starch's author Owen on the Mac Night Owl Radio on the March 24 show. http://www.macradio.com/thursday/nightowl/index.php --------------------- Windows/.NET --------------------- ***Five More Annoying PC Annoyances After his first "PC Annoyances" was released, Steve Bass was surprised by the barrage of email he received with yet more annoyances to fix. That led to the just-released second edition of "PC Annoyances," where he added 150 more fixes to irritating PC quirks. And if that's not enough, he offers five more here. http://www.windowsdevcenter.com/pub/a/windows/2005/03/28/pcannoyances.html ***Microsoft, Blogging, and Transparency Author James Avery recently wrote about his experiences publishing his latest book and how Microsoft bloggers helped him immensely. To James, the benefits of increased transparency through the use of blogs cannot be understated. James is the author of "Visual Studio Hacks." http://dotavery.com/blog/archive/2005/03/28/2767.aspx ***Miguel de Icaza Explains How to "Get" Mono It's perhaps the most controversial project in the open source world, but this mostly stems from misunderstanding: Mono, the open source development platform based upon Microsoft's .NET framework. Immediate reactions from many dubious Linux developers have ranged from confusion over its connection with .NET to wondering what the benefits of developing under it are. Throughout the course of its four years of intense development, sponsored by Novell, Mono founder Miguel de Icaza has had to frequently clarify the .NET issue and sell the community on it. In this new interview, Howard Wen asks Miguel to explain himself one more time. http://www.ondotnet.com/pub/a/dotnet/2005/03/21/interviewmiguel.html --------------------- Java --------------------- ***Flexible Event Delivery with Executors Event-handling is critical to any GUI application, and many developers know the hazards of making a method call to unknown or poorly behaved code from the event-dispatch thread. J2SE 5.0's concurrency utilities offer more fine-grained control over how code executes. Andrew Thompson applies that to offer better ways to handle events. http://www.onjava.com/pub/a/onjava/2005/03/23/executors.html ***Java Component Development: A Conceptual Framework In general terms, a component is one or more classes with an external API that satisfy some requirement. But how do you build components that are really practical--that handle configuration changes or third-party integration well? Palash Ghosh has some ideas about the concepts behind components. http://www.onjava.com/pub/a/onjava/2005/03/23/components.html --------------------- Digital Media --------------------- ***HDTV on Your Mac Even though the Mac is a little late to the HDTV party, you can roll your own setup for not too much time or money. Erica Sadun shows you how. http://www.macdevcenter.com/pub/a/mac/2005/03/29/hdtv.html ***Resurrect Your Old PC for Music--with Linux Dig that clunker out of the closet! This step-by-step guide explains how to upgrade even a 486-based PC to an efficient, Linux-powered music machine. Total cost? About ten cents for a blank CD. http://digitalmedia.oreilly.com/2005/03/23/linuxmusic.html --------------------- Web --------------------- ***Ajax: New for 2005 Ajax is a term coined for an approach that utilizes the Document Object Model, JavaScript, and XMLHTTPRequest to allow web developers to create applications that don't require constant page-refreshes to be used. http://www.sitepoint.com/blog-post-view.php?id=238333 ================================================ From Your Peers =============================================== Don't forget to check out the O'Reilly UG wiki to see what user groups across the globe are up to: http://wiki.oreillynet.com/usergroups/index.cgi Until next time-- Marsee -------------------------------------------------------