From dan at linder.org Thu Nov 4 14:26:31 2004 From: dan at linder.org (Daniel Linder) Date: Thu Nov 4 14:21:00 2004 Subject: [Omaha.pm] RCS in a perl script? Message-ID: <3728.12.160.138.108.1099599991.squirrel@12.160.138.108> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Guys, I am one of a couple people who are responsible for maintaining some scripts on customer-owned servers at remote locations (both Unix and Windows). Since my software is based on Perl, I was hoping if anyone had ever seen a simple "Revision Control System" written in Perl? I can't load on "Subversion" or other classic RCS packages... It doesn't need to enforce a single editor at once, basically just a check-in/check-out process and some revision change tracking. A search online has not pointed me to anything of use. Dan - - - - - "I do not fear computer, I fear the lack of them." -- Isaac Asimov -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBipB3NiBNyqUzGb8RAs43AJ4lfKd2xqJeweDyvW5A+zf6YdQi4gCfZOUq Eh58d0/mG5/wwssCuF9Wbcc= =ieXr -----END PGP SIGNATURE----- From td3201 at gmail.com Thu Nov 4 14:29:33 2004 From: td3201 at gmail.com (Terry) Date: Thu Nov 4 14:29:35 2004 Subject: [Omaha.pm] RCS in a perl script? In-Reply-To: <3728.12.160.138.108.1099599991.squirrel@12.160.138.108> References: <3728.12.160.138.108.1099599991.squirrel@12.160.138.108> Message-ID: <8ee0610104110412293d96978d@mail.gmail.com> CVS? On Thu, 4 Nov 2004 14:26:31 -0600 (CST), Daniel Linder wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Guys, > > I am one of a couple people who are responsible for maintaining some > scripts on customer-owned servers at remote locations (both Unix and > Windows). Since my software is based on Perl, I was hoping if anyone had > ever seen a simple "Revision Control System" written in Perl? I can't > load on "Subversion" or other classic RCS packages... > > It doesn't need to enforce a single editor at once, basically just a > check-in/check-out process and some revision change tracking. > > A search online has not pointed me to anything of use. > > Dan > > - - - - - > "I do not fear computer, > I fear the lack of them." > -- Isaac Asimov > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.1 (GNU/Linux) > > iD8DBQFBipB3NiBNyqUzGb8RAs43AJ4lfKd2xqJeweDyvW5A+zf6YdQi4gCfZOUq > Eh58d0/mG5/wwssCuF9Wbcc= > =ieXr > -----END PGP SIGNATURE----- > _______________________________________________ > Omaha-pm mailing list > Omaha-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/omaha-pm > From dan at linder.org Thu Nov 4 20:19:23 2004 From: dan at linder.org (Daniel Linder) Date: Thu Nov 4 20:13:51 2004 Subject: [Omaha.pm] RCS in a perl script? In-Reply-To: <8ee0610104110412293d96978d@mail.gmail.com> References: <3728.12.160.138.108.1099599991.squirrel@12.160.138.108> <8ee0610104110412293d96978d@mail.gmail.com> Message-ID: <19718.68.227.169.15.1099621163.squirrel@68.227.169.15> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > CVS? Er, um, yes. It's tempting to write one myself: 1: the script copies the file to be edited somewhere temporary 2: spawns an editor on the original file 3: waits until the editor exits 4: do a diff of the original and new copies 5: prompts for a description of the changes and by whom Anyone seen something like this? I guess I could write one to meet my meager needs, but I'm always looking for geekier ways to try things! Dan - - - - - "I do not fear computer, I fear the lack of them." -- Isaac Asimov -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBiuMrNiBNyqUzGb8RAhjrAJ9+jFHcdVQYnrFZYKhaQH11gNVlAgCdGXlN lh92V6VB0x7aBC130DGvIbs= =3y6R -----END PGP SIGNATURE----- From jay at jays.net Mon Nov 8 13:33:26 2004 From: jay at jays.net (Jay Hannah) Date: Mon Nov 8 13:33:29 2004 Subject: [Omaha.pm] RCS in a perl script? In-Reply-To: <19718.68.227.169.15.1099621163.squirrel@68.227.169.15> References: <3728.12.160.138.108.1099599991.squirrel@12.160.138.108> <8ee0610104110412293d96978d@mail.gmail.com> <19718.68.227.169.15.1099621163.squirrel@68.227.169.15> Message-ID: <0FB47947-31BD-11D9-B823-000A95E317B8@jays.net> The server doesn't have RCS *or* CVS clients and you can't install (or get them to install) either one? Why not just D/L and install RCS/CVS into your home directory and use that? I wouldn't touch writing by own revision/versioning system (even a dead stupid & simple one) with a 10 foot pole. That's just asking for trouble. You're be better off doing lots of cheesy tarball backups IMHO. I'd be surprised if anyone else on CPAN had taken that up either... Good luck!! -grin- j From td3201 at gmail.com Mon Nov 8 23:35:35 2004 From: td3201 at gmail.com (Terry) Date: Mon Nov 8 23:35:38 2004 Subject: [Omaha.pm] cisco vpn script Message-ID: <8ee061010411082135598d04ae@mail.gmail.com> I thought I would paste this hack for you all to laugh at. I run this program out of init like so: vp::respawn:/usr/local/bin/check-vpn So, when your timeout hits, the script will automagically reconnect or if the script dies, init will restart it. <spawn("/usr/local/bin/vpnclient connect $profile") or die "Cannot spawn vpnclient: $!\n";; my $spawn_ok; $exp->expect($timeout, [ qr/Username \[\w+\]\: $/, sub { $spawn_ok = 1; my $fh = shift; $fh->send("$username\n"); exp_continue; } ], [ qr/Password \[\]\: $/, sub { $spawn_ok = 1; my $fh = shift; $fh->send("$password\n"); exp_continue; } ], [ qr/Do you wish to continue\? \(y\/n\)\: $/, sub { my $fh = shift; $fh->send("y^M"); exp_continue; } ], ); $exp->soft_close(); } else { print "All is good\n"; } sleep 5; } From jay at jays.net Tue Nov 9 11:56:55 2004 From: jay at jays.net (Jay Hannah) Date: Tue Nov 9 11:56:59 2004 Subject: [Omaha.pm] cisco vpn script In-Reply-To: <8ee061010411082135598d04ae@mail.gmail.com> References: <8ee061010411082135598d04ae@mail.gmail.com> Message-ID: On Nov 8, 2004, at 11:35 PM, Terry wrote: > < One could argue about storing your VPN password in a script > file....wonder if you could store it differently.....has to be passed > to vpnclient in the clear.....can't reverse a hash....mmm... > BRAINDUMP > > > #!/usr/bin/perl > > use Expect; > > $username = 'terry'; > $password = 'password'; Ahh, Expect.pm. I have a soft spot for it. -sniff!- -grin- Our passwords are in the clear in our source code too. I don't know how to really get around that. Sure, you can obfuscate the heck out of it, but you can't really make it unbreakable or you won't be able to use it. -grin- chmod your source unreadable by untrusted accounts, and I guess you're as OK as you can be. A vendor of ours forced us to start using a commercial version of PGP a few years ago. It's a real pain to install, use, and fix (thank goodness it is stable once running). You can't just run commands command line and have the PGP engine do its thing, you have to have a pgp daemon running and jump through a bunch of hoops to get anything done. At the end of the day the data's on disk somewhere, unreadable by untrusted users. Sure, it's obfuscated to the nth degree so even if you were root it would probably be hard to break, but if you know what you're doing I can't imagine it would be any harder than brute forcing /etc/shadow... So much security stuff strikes me as existing solely for its own sake. Yes, I'm agitated by the entire registrar "certificate of authority" universe too. -grin- j From scott.l.miller at hp.com Tue Nov 9 12:54:13 2004 From: scott.l.miller at hp.com (Miller, Scott L (Omaha Networks)) Date: Tue Nov 9 12:54:16 2004 Subject: [Omaha.pm] cisco vpn script Message-ID: <1F7C0C8F4BD7C54A8BC55012FEF3DF6D0302E749@omaexc11.americas.cpqcorp.net> Yeah, I've done quite a bit in expect as well, but my current implementation is using the native TCL expect was originally developed under. But those scripts are called from perl which collects status codes and creates the "task reports". Anyway, the best solution I've come across to the password issue is to store the passwords in a read only file, under a read only directory for only that one user account that actually runs that code. (The directory part is optional, but a separate directory dedicated for keeping only password files helps make sure the permissions are set, and kept, correctly). That way you don't care if anyone else can read or attempt to run the script(s), the script itself won't be able to read the password data file if run by anyone else. Of course this also means no fooling with the Effective UID's or anything like that. Syntax error, Jay: You're missing a begin block :) -Scott -----Original Message----- From: omaha-pm-bounces@mail.pm.org [mailto:omaha-pm-bounces@mail.pm.org]On Behalf Of Jay Hannah Sent: Tuesday, November 09, 2004 11:57 AM To: Perl Mongers of Omaha, Nebraska USA Subject: Re: [Omaha.pm] cisco vpn script On Nov 8, 2004, at 11:35 PM, Terry wrote: > < One could argue about storing your VPN password in a script > file....wonder if you could store it differently.....has to be passed > to vpnclient in the clear.....can't reverse a hash....mmm... > BRAINDUMP > > > #!/usr/bin/perl > > use Expect; > > $username = 'terry'; > $password = 'password'; Ahh, Expect.pm. I have a soft spot for it. -sniff!- -grin- Our passwords are in the clear in our source code too. I don't know how to really get around that. Sure, you can obfuscate the heck out of it, but you can't really make it unbreakable or you won't be able to use it. -grin- chmod your source unreadable by untrusted accounts, and I guess you're as OK as you can be. A vendor of ours forced us to start using a commercial version of PGP a few years ago. It's a real pain to install, use, and fix (thank goodness it is stable once running). You can't just run commands command line and have the PGP engine do its thing, you have to have a pgp daemon running and jump through a bunch of hoops to get anything done. At the end of the day the data's on disk somewhere, unreadable by untrusted users. Sure, it's obfuscated to the nth degree so even if you were root it would probably be hard to break, but if you know what you're doing I can't imagine it would be any harder than brute forcing /etc/shadow... So much security stuff strikes me as existing solely for its own sake. Yes, I'm agitated by the entire registrar "certificate of authority" universe too. -grin- j _______________________________________________ Omaha-pm mailing list Omaha-pm@mail.pm.org http://www.pm.org/mailman/listinfo/omaha-pm From jay at jays.net Tue Nov 9 13:13:05 2004 From: jay at jays.net (Jay Hannah) Date: Tue Nov 9 13:13:08 2004 Subject: [Omaha.pm] cisco vpn script In-Reply-To: <1F7C0C8F4BD7C54A8BC55012FEF3DF6D0302E749@omaexc11.americas.cpqcorp.net> References: <1F7C0C8F4BD7C54A8BC55012FEF3DF6D0302E749@omaexc11.americas.cpqcorp.net> Message-ID: <627D9840-3283-11D9-B9C1-000A95E317B8@jays.net> On Nov 9, 2004, at 12:54 PM, Miller, Scott L (Omaha Networks) wrote: > Syntax error, Jay: You're missing a begin block :) Mom opened the block when I was born. Grin, j From jhannah at omnihotels.com Wed Nov 10 17:57:56 2004 From: jhannah at omnihotels.com (Jay Hannah) Date: Wed Nov 10 18:20:50 2004 Subject: [Omaha.pm] RE: event_notify.pl is done. In-Reply-To: <200410181810.i9IIAGs0004067@mail-omaha.omnihotels.com> Message-ID: <200411102357.iAANvwYq000847@mail-omaha.omnihotels.com> -laugh- Ya. I think I'm going to delegate out the methods for my "Core" class this week... I've already designed the interface. use Core; my $c = Core->new(); $c->do('everything'); $c->be(what => 'all things', to => 'all people'); $c->close_tickets('*'); $c->get_fame; $c->get_fortune; $c->dominate(globe => 'earth'); $c->set_hunger(scope => 'global', value => 0); $c->set_peace(scope => 'global', value => 1); $c->cure(ailment => 'cancer'); $c->retire; j > -----Original Message----- > The event_notify.pl is done. Here it is: > > > #!/usr/bin/perl > > use strict; > use Control::Globals; > use Control::Hotels; > use Model::omares::crs::L_EventNotify; > use Omni::DB; > > > my $dbh = Omni::DB::connect_test_with_pw; > my $Globals = new Control::Globals; > $Globals->add('dbh',$dbh); > $Globals->add('defaults',1); > > my $h = new Control::Hotels(Globals=>$Globals); > > $Globals->add('Hotels',$h); > > while (1) { > my $L_EN = new Model::omares::crs::L_EventNotify(Globals=>$Globals); > $L_EN->load(source=>"event_notify"); > $L_EN->process; > sleep 30; > } > > > $dbh->disconnect; > > exit; > > > Now I just have to finish the process() method. > > Sean Baker From jay at jays.net Wed Nov 10 22:04:25 2004 From: jay at jays.net (Jay Hannah) Date: Wed Nov 10 22:04:42 2004 Subject: [Omaha.pm] Fwd: Newsletter from O'Reilly UG Program, November 3 Message-ID: The Perl part: ***Perl Core Language Little Black Book, 2nd Edition Publisher: Paraglyph ISBN: 1932111921 "Perl Core Language Little Black Book, Second Edition," provides insightful tips and techniques for programming with Perl. Immediate solutions are provided with field-tested examples to help programmers and web developers quickly solve problems and exploit the power and flexibility of Perl. This updated edition covers the current version of Perl (5.8) as well as highlighting critical features of the upcoming 6.0 version. http://www.oreilly.com/catalog/1932111921/ And the rest of the newsletter below, if you're interested. From the fine folks that donated all the books in our 12 book library! j --------------------------------------------- Begin forwarded message: --------------------------------------------- From: Marsee Henon Date: November 3, 2004 7:56:03 PM CST To: jay@jays.net Subject: Newsletter from O'Reilly UG Program, November 3 ================================================================ O'Reilly UG Program News--Just for User Group Leaders November 3, 2004 ================================================================ -Putting Together Your Holiday Newsletter? -SitePoint Booklet Samplers for your Members -Looking for a Speaker on Java and/or XML? ---------------------------------------------------------------- Book Info ---------------------------------------------------------------- ***Review books are available Copies of our books are available for your members to review-- send me an email and please include the book's ISBN number on your request. Let me know if you need your book by a certain date. Allow at least four weeks for shipping. ***Please send copies of your book reviews Email me a copy of your newsletters or book reviews. For tips and suggestions on writing book reviews, go to: http://ug.oreilly.com/bookreviews.html ***Discount information Don't forget to remind your members about our 20% discount on O'Reilly, No Starch, Paraglyph, Pragmatic Bookshelf, SitePoint, and Syngress books and O'Reilly conferences. Just use code DSUG. ***Group purchases with better discounts are available Please let me know if you are interested and I can put you in touch with our sales department. ---------------------------------------------------------------- General News ---------------------------------------------------------------- ***Putting Together your Holiday Newsletter? Don't forget to include books on you list of gift suggestions. Please borrow from our gift guide press announcement here: http://press.oreilly.com/pub/pr/1248 Or I can put together a custom list for you. Just let me know what your deadline is. ***SitePoint Booklet Samplers for your members Let me know how many you need and I can send some copies of this 150-page booklet that features four chapters from four recent books including "The Flash Anthology," "The PHP Anthology," "Build Your Own ASP.NET Website Using C# & VB.NET" and "The Web Design Business Kit." (Available while supplies last.) For more information on SitePoint, go to: http://sitepoint.oreilly.com/ ***Looking for a Speaker on Java and/or XML? Elliotte Rusty Harold, author of many books on Java and/or XML, is available to speak to user groups within the New York metro area, or a little further out if they can afford bus/plane/train/cab fare. Right now he's particularly interested in talking about Effective XML, XOM, XQuery, and RELAX NG. Or, for the more Java-focused user group, he's thinking a lot lately both about what will be in Mustang, Dolphin, and beyond, and what should be (which aren't always the same thing). For contact information, go to the speaker page on the user group wiki: http://wiki.oreillynet.com/usergroups/index.cgi?SpeakersLookingforUGs ================================================================ O'Reilly News for User Group Members November 3, 2004 ================================================================ ---------------------------------------------------------------- Book News ---------------------------------------------------------------- -Spam Kings -The Cult of Mac -Gaming Hacks -Perl Core Language Little Black Book, 2nd Edition -Wireless Hacking: Projects for Wi-Fi Enthusiasts -DVD Studio Pro 3: In the Studio -Game Console Hacking -Steal This File Sharing Book -How to Cheat at Managing Windows Small Business Server 2003 -Write Great Code -Build Your Own ASP.NET Website Using C# & VB.NET -Nessus Network Auditing -Cisco Routers for the Desperate -Programming Ruby ---------------------------------------------------------------- Upcoming Events ---------------------------------------------------------------- -International PHP Conference, Frankfurt-Morfelden, Germany-- November 9-10 -Niel M. Bornstein (".NET and XML"), XML 2004 Conference and Exposition, Washington, DC--November 15-19 -Peter Morville ("Information Architecture for the World Wide Web"), Information Architecture & Findability, Washington, DC--November 18 -Bonnie Biafore ("Online Investing Hacks"), NAIC Puget Sound Investor Fair, Bellevue, WA--November 19 ---------------------------------------------------------------- Conference News ---------------------------------------------------------------- -Call for Participation: The MySQL Users Conference-- Proposals are due by November 15 ---------------------------------------------------------------- News ---------------------------------------------------------------- -Gauging the Geek Factor--A Look at Technology's Impact -Russian Denies Authoring "SoBig" Worm -Analyzing Baseball Stats with R -Ruby on Rails Project -Introducing PHP 5's Standard Library -A Firm Foundation for the Linux Desktop -Copeland Operating System Rocks Mac OS X Con -Hacking iPod and iTunes -Free Exhibit Hall Pass for Macworld, San Francisco, CA-- January 11-14 2005 -Stop Mac Envy Forever -Introducing SQL Server Reporting Services -How to Use JMS with PHP -The Singleton as a Network Management Pattern -Interview: Carmen Rizzo--Synthesizing the World ================================================ 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 ---------------------------------------------------------------- ***Spam Kings Publisher: O'Reilly ISBN: 0596007329 The mounting onslaught of email pitches has some techno-pundits declaring that spam is on the verge of destroying the Internet. In this book, author and veteran investigative journalist Brian McWilliams delivers a compelling account of the cat-and-mouse game played by spam entrepreneurs (including the notorious Davis Wolfgang Hawke, "Dr. Fatburn," and Scott Richter) in search of easy fortunes and the cyber-vigilantes who are trying to stop them. http://www.oreilly.com/catalog/spamkings/ Chapter 1, "Birth of a Spam King," is available online: http://www.oreilly.com/catalog/spamkings/chapter/index.html ***The Cult of Mac Publisher: No Starch ISBN: 1886411832 "The Cult of Mac" is an in-depth look at Mac users and their unique, creative, and often humorous culture. Like fans of a football team or a rock group, Macintosh fans have their own customs, with clearly defined obsessions, rites, and passages. From people who get Mac tattoos and haircuts, to those who furnish their apartments out of empty Mac boxes, this book exposes all sides of Mac fanaticism, from the innocuous to the insane. http://www.oreilly.com/catalog/1886411832/ ***Gaming Hacks Publisher: O'Reilly ISBN: 0596007140 It doesn't take long for an avid or just wickedly clever gamer to chaff at the limitations of videogame software and hardware. If you want to go far beyond the obvious, there's a tremendous amount of free fun you can have by following the creative exploits of the gaming gurus. Gaming Hacks is the indispensable guide to cool things gamers can do to create, modify, and hack videogame hardware and software. http://www.oreilly.com/catalog/gaminghks/ Five sample hacks are available online: http://www.oreilly.com/catalog/gaminghks/chapter/index.html ***Perl Core Language Little Black Book, 2nd Edition Publisher: Paraglyph ISBN: 1932111921 "Perl Core Language Little Black Book, Second Edition," provides insightful tips and techniques for programming with Perl. Immediate solutions are provided with field-tested examples to help programmers and web developers quickly solve problems and exploit the power and flexibility of Perl. This updated edition covers the current version of Perl (5.8) as well as highlighting critical features of the upcoming 6.0 version. http://www.oreilly.com/catalog/1932111921/ ***Wireless Hacking: Projects for Wi-Fi Enthusiasts Publisher: Syngress ISBN: 193183637X As the cost of wireless technology drops, the number of wi-fi users continues to grow. Millions of people have discovered the joy and delight of "cutting the cord." Many of those people are looking for ways to take the next step and try out some of the cutting edge techniques for building and deploying "homebrew" wi-fi networks, both large and small. This book shows wi-fi enthusiasts and consumers of wi-fi LANs who want to modify their wi-fi hardware how to build and deploy homebrew wi-fi networks, both large and small. http://www.oreilly.com/catalog/193183637X/ ***DVD Studio Pro 3: In the Studio Publisher: O'Reilly ISBN: 0596005881 This indispensable book gives you the tools and know-how to master DVD Studio Pro 3. Oversized and in full color, it's a highly visual book that's ideal for Macintosh ProApps developers--those who use Final Cut Pro 4 and Shake 3--as well as for prosumer and professional filmmakers who wish to transfer their projects to DVDs. The book goes well beyond the program's features list to demystify the entire process of DVD design and authoring. http://www.oreilly.com/catalog/dvdstudio3/ Chapter 5, "An International DVD Project," is available online: http://www.oreilly.com/catalog/dvdstudio3/chapter/index.html ***Game Console Hacking Publisher: Syngress ISBN: 1931836310 "Game Console Hacking" is the first book on the market to show video game enthusiasts (self-described hardware geeks) how to disassemble, reconfigure, customize and re-purpose their Atari, Nintendo, Playstation, and Xbox systems. http://www.oreilly.com/catalog/1931836310/ ***Steal This File Sharing Book Publisher: No Starch ISBN: 159327050X "Steal This File Sharing Book" peels back the mystery surrounding file sharing networks such as Kazaa, Morpheus, and Usenet, and shows you how they work and how to use them wisely. The book goes on to reveal the dangers (viruses, spyware, lawsuits) of using file sharing networks and tells you how to avoid those threats. It also includes coverage of the ongoing battle between software, video, and music file sharers and the industries that are trying to stop them. http://www.oreilly.com/catalog/159327050X/ ***How to Cheat at Managing Windows Small Business Server 2003 Publisher: Syngress ISBN: 1932266801 If running a Windows Small Business Server 2003 network is just one of your many job responsibilities, this book is for you. It applies the tried and true "80/20" rule to this incredibly complex operating system, providing you with exactly the information you need to install, configure, and troubleshoot the W2K3 features most likely to ruin your day (such as setting user permissions, restoring lost data, and sharing hardware) without having to wade through material you don't need. http://www.oreilly.com/catalog/1932266801/ ***Write Great Code Publisher: No Starch ISBN: 1593270038 You'll hear that the secret to efficient, well written software is learning assembly language programming. However, what you really need to learn is machine organization, which will help you make wise choices with respect to programming statements and data types when writing software, no matter which language you use. This book teaches the important concepts of machine organization in a language-independent fashion, without the extra overhead of having to learn assembly language. http://www.oreilly.com/catalog/1593270038/ ***Build Your Own ASP.NET Website Using C# & VB.NET Publisher: SitePoint ISBN: 0957921861 Want to write dynamic, database-driven ASP.NET websites? Look no further than this beginner's book which provides an excellent introduction to databases,programming concepts, and more. Learn through practical examples by creating and customizing an Intranet website, ecommerce store, shopping cart with PayPal check out, and more. All you need to get started is a Windows PC. http://www.oreilly.com/catalog/0957921861/ ***Nessus Network Auditing Publisher: Syngress ISBN: 1931836086 Nessus is the premier Open Source vulnerability assessment tool, and was recently voted the "most popular" open source security tool of any kind. This is the first book available on Nessus and it is written by the world's premier Nessus developers led by the creator of Nessus, Renaud Deraison. http://www.oreilly.com/catalog/1931836086/ ***Cisco Routers for the Desperate Publisher: No Starch ISBN: 1593270496 "Cisco Routers for the Desperate" is a brief, meaty introduction to Cisco routers that will make a competent systems administrator comfortable with the Cisco environment, teach them how to troubleshoot problems, and take them through the basic tasks of router maintenance and integration into an existing network. This compact book is designed to be read once, and then left on top of the router until something breaks. http://www.oreilly.com/catalog/1593270496/ ***Programming Ruby Publisher: Pragmatic Bookshelf ISBN: 0974514055 The famous Pickaxe book (so named for the tool on the cover) is the definitive reference to the highly-regarded Ruby programming language. Author Dave Thomas has expanded the new Second Edition with over 200 pages of new material and major enhancements from the original, covering all the new and improved language features of Ruby 1.8 and standard library modules. http://www.oreilly.com/catalog/0974514055 ================================================ Upcoming Events ================================================ ***For more events, please see: http://events.oreilly.com/ ***International PHP Conference, Frankfurt-Morfelden, Germany-- November 9-10 We'll have our own stand and editor in attendance at this conference that runs in tandem with MySQL ComCon. http://www.php-conference.de/2004/index_en.php ***Niel M. Bornstein (".NET and XML"), XML 2004 Conference and Exposition, Washington, DC--November 15-19 Niel presents a tutorial based on his book at this annual event. http://www.xmlconference.org/xmlusa/ ***Peter Morville ("Information Architecture for the World Wide Web"), Information Architecture & Findability, Washington, DC--November 18 Peter leads a new full-day seminar on information architecture from top to bottom, explaining how search and navigation systems can be designed to support and shape user behavior. http://semanticstudios.com/presentations/iaf/ ***Bonnie Biafore ("Online Investing Hacks"), NAIC Puget Sound Investor Fair, Bellevue, WA--November 19 Bonnie speaks at this National Association of Investors Corporation event. http://www.better-investing.org/chapter/puget/ ================================================ Conference News ================================================ ***Call for Participation: The MySQL Users Conference-- Proposals are due by November 15 > From embedded solutions to web-commerce and critical business applications, MySQL is everywhere--with more than five million active installations worldwide. To introduce new users to MySQL and help developers and IT professionals keep pace with the latest advancements, MySQL AB has teamed up with O'Reilly Media, Inc. to co-present the third annual MySQL Users Conference, scheduled for April 18-21, 2005, in Santa Clara, CA. For complete conference details visit: http://www.mysqluc.com Visit the submissions page for all the details on tracks and proposal guidelines--this year's theme is "MySQL Everywhere." Proposals are due no later than November 15, 2004. http://conferences.oreillynet.com/cs/mysqluc2005/create/e_sess ================================================ News From O'Reilly & Beyond ================================================ --------------------- General News --------------------- ***Gauging the Geek Factor--A Look at Technology's Impact Hundreds of new technologies are changing the way we work, play...and even how we think. Are they just making it easier for us to do what we already do? Or are they having a more fundamental impact? Our books explore how today???s technology is transforming society--including the thoughtful musings and tongue-in-cheek outlook of the geeks responsible. For a complete list of these books, check out: http://techsociety.oreilly.com/ ***Russian Denies Authoring "SoBig" Worm SoBig, the computer worm that ran rampant on the Internet in 2003, is the subject of a new, anonymously authored report that definitively claims Send-Safe as its creator. Ruslan Ibragimov, owner of the accused, Russian-based bulk email company, flatly denies the report's claim in an online interview with author Brian McWilliams. http://www.oreillynet.com/pub/a/network/2004/11/02/sobig.html ***Analyzing Baseball Stats with R An introduction to one way of examining the abundance of raw data available on the Web: using R to analyze baseball stats. http://www.oreillynet.com/pub/a/network/2004/10/27/baseball.html --------------------- Open Source --------------------- ***Ruby on Rails Project Rails is a new open source web application framework that provides everything needed to build real-world applications, using fewer lines of code than other development environments. It's a full-stack framework, so all layers are built to work seamlessly together and you can use a single language from top to bottom. Everything from templates to control flow to business logic is written in Ruby. http://www.rubyonrails.org/show/HomePage ***Introducing PHP 5's Standard Library Program reusable code easily with the Standard PHP Library extension. As Harry Fuecks explains, this promising functionality snuck into PHP 5 without fanfare, but bodes extremely well for the future of standardised PHP development. http://www.sitepoint.com/article/php5-standard-library ***A Firm Foundation for the Linux Desktop Nearly every advance of Linux, open source, and free software on the desktop owes a debt to the X Window System. Too often, this debt goes unacknowledged. With the birth of X.org earlier this year, a foundational but once-stagnant project prepares to improve itself and its code to help free desktops everywhere. Andy Oram reports. http://www.oreillynet.com/pub/q/articles --------------------- Mac --------------------- ***The Copeland Operating System Rocks Mac OS X Con Although it's been twenty years since the band broke up, Stewart Copeland is still best known as the former drummer of the Police. David Battino, chairman of the Audio Track of the O'Reilly Mac OS X Conference audio track, hosted a keynote conversation with Copeland about the drummer's career as a film composer. http://www.macdevcenter.com/pub/a/mac/osx2004/copeland.html Photos of Stewart at the conference: http://www.macdevcenter.com/pub/a/mac/osx2004/wednesday_photos.html And here's an interview with Stewart on Inside Mac Radio: http://www.osxfaq.com/radio/10-2004/10-30.html ***Hacking iPod and iTunes Your favorite toy just got better. Push the envelope of your iPod's capabilities: turn it into a universal remote, permanently install it in your car, run Linux on it, make smart playlists, and tame iTunes with AppleScript. These hacks are excerpted from O'Reilly's "iPod and iTunes Hacks." http://digitalmedia.oreilly.com/2004/10/28/ipoditunes_hcks.html ***Free Exhibit Hall Pass for Macworld, San Francisco, CA-- January 11-14 2005 Make sure you register online with priority code NO220 before December 10. http://www.macworldexpo.com --------------------- Windows/.NET --------------------- ***Tips for Improving Graphics Performance Stephen Bigelow, author of "PC Hardware Annoyances," breaks it down to the basics with seven tips to improve your computer's graphics performance. Oftentimes, the solution to what seems to be a hefty problem may be as simple as reading the fine print on a box and adjusting your settings accordingly. http://www.windowsdevcenter.com/pub/a/windows/2004/11/02/pcannoy_1.html ***Stop Mac Envy Forever Do you suffer from Mac envy? You're not alone. Apple is famous for its interface design. But suffer no more--Thomas Kunneth shows you how to make your PC work like Mac OS X. http://www.windowsdevcenter.com/pub/a/windows/2004/10/26/MacEnvy.html ***Introducing SQL Server Reporting Services Microsoft has finally added reporting capabilities to SQL Server 2000. Wei-Meng Lee walks you through the basics of creating a simple report using the SQL Server 2000 Reporting Services. http://www.ondotnet.com/pub/a/dotnet/2004/11/01/reportingsvcs.html --------------------- Java --------------------- ***How to Use JMS with PHP Java Messaging Service (JMS) is a great enterprise messaging architecture, but what if you have have a web application written in a non-Java language that wants to participate in JMS? Amir Shevat shows how PHP can be made to work with JMS. http://www.onjava.com/pub/a/onjava/2004/10/27/php-jms.html ***The Singleton as a Network Management Pattern Patterns aren't for the local memory space any more. As Stephen B. Morris points out, patterns are also useful for network management problems. In this installment, he shows how the Singleton pattern can be used to manage access to functionality in a networked system. http://www.onjava.com/pub/a/onjava/2004/10/27/NMSingleton.html --------------------- Digital Media --------------------- ***Interview: Carmen Rizzo--Synthesizing the World If Carmen Rizzo were in a circus, he???d be its best juggler. It???s amazing how this Hollywood-based producer, composer, and remixer keeps artists, songs, technologies, concerts, films, studios, continents, and even trustees aloft. Appropriately, one of his remixes appears this year on Cirque du Soleil???s 20th Anniversary CD. http://digitalmedia.oreilly.com/2004/10/26/rizzo_db.html ================================================ O'Reilly User Group Wiki ================================================ 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 jay at jays.net Sat Nov 13 10:53:45 2004 From: jay at jays.net (Jay Hannah) Date: Sat Nov 13 10:53:48 2004 Subject: [Omaha.pm] Mtg next Thr! Message-ID: <95444268-3594-11D9-9297-000A95E317B8@jays.net> Don't forget our next meeting is next Thursday: http://omaha.pm.org For this month's fun activity we'll be fixing the Perl Mongers International XML file reader. It's supposed to spit out all the HTML and maps that live here: http://pm.org/groups/ But it's been broken. Omaha.pm to the rescue! j omaha.pm.org group leader pm.org admin volunteer From jay at jays.net Mon Nov 15 18:22:20 2004 From: jay at jays.net (Jay Hannah) Date: Mon Nov 15 18:22:28 2004 Subject: [Omaha.pm] Re: Omaha-pm subscription notification In-Reply-To: References: Message-ID: <943F4A72-3765-11D9-BCDB-000A95E317B8@jays.net> On Nov 15, 2004, at 9:16 AM, mailman-bounces@mail.pm.org wrote: > Sean Edwards has been successfully > subscribed to Omaha-pm. Welcome back! Grin, j From cybersean3000 at yahoo.com Mon Nov 15 20:38:11 2004 From: cybersean3000 at yahoo.com (Sean Edwards) Date: Mon Nov 15 20:38:18 2004 Subject: [Omaha.pm] Re: Omaha-pm subscription notification In-Reply-To: <943F4A72-3765-11D9-BCDB-000A95E317B8@jays.net> Message-ID: <20041116023811.95616.qmail@web52610.mail.yahoo.com> Thank you! We decided to stay in Omaha, so I joined (re-joined) the local PERL list. It has been a while since I did anything significant with PERL (early 2001) so I decided to freshen up. -=Sean Edwards=- --- Jay Hannah wrote: > > On Nov 15, 2004, at 9:16 AM, > mailman-bounces@mail.pm.org wrote: > > Sean Edwards has been > successfully > > subscribed to Omaha-pm. > > Welcome back! > > Grin, > > j > > _______________________________________________ > Omaha-pm mailing list > Omaha-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/omaha-pm > __________________________________ Do you Yahoo!? The all-new My Yahoo! - Get yours free! http://my.yahoo.com From jay at jays.net Wed Nov 17 20:42:43 2004 From: jay at jays.net (Jay Hannah) Date: Wed Nov 17 20:42:52 2004 Subject: [Omaha.pm] Re: Getting @@ROWCOUNT In-Reply-To: <6.1.2.0.2.20041117170104.024dbec0@mail.aurora-e-solutions.com> References: <6.1.2.0.2.20041117170104.024dbec0@mail.aurora-e-solutions.com> Message-ID: <85907526-390B-11D9-AF60-000A95E317B8@jays.net> On Nov 17, 2004, at 5:03 PM, Michael D. Maynard wrote: > Do you know how to get @@ROWCOUNT from MSSQL for a query with PERL? > DBI rows() is not supported. :-( Hmmm... here's an example of @@identity. I assume @@rowcount would work the same way? my $strsql = "insert into blah...."; $strsql .= ' select @@identity'; # print "\n\n$strsql\n\n"; my $sth = $dbh->prepare($strsql); $sth->execute; my @row = $sth->fetchrow_array; $sth->finish; print "Just inserted new ID '$row[0]'\n"; HTH, j From jay at jays.net Thu Nov 18 15:29:06 2004 From: jay at jays.net (Jay Hannah) Date: Thu Nov 18 15:29:18 2004 Subject: [Omaha.pm] Re: Getting @@ROWCOUNT In-Reply-To: <6.1.2.0.2.20041118075712.02a52e90@mail.aurora-e-solutions.com> References: <6.1.2.0.2.20041117170104.024dbec0@mail.aurora-e-solutions.com> <85907526-390B-11D9-AF60-000A95E317B8@jays.net> <6.1.2.0.2.20041118075712.02a52e90@mail.aurora-e-solutions.com> Message-ID: Uhh... You want the number of rows you SELECTed? Typically I use fetchrow() to walk each row in a cursor-style walk. Like so: $rowcount = 0; while (@row = $sth->fetchrow) { $rowcount++; # ... do whatever ... } In that mode, you don't know $rowcount until you've walked all the data doing your real work. Or just change your SQL statement to "select count(*) from..." if you have no real work to do? Or slurp the entire results set into Perl memory up front...? my @rowsref = $sth->fetchall_arrayref; my $rowcount = @rowsref; foreach (@rowsref) { my $rowref = $_; # ... do whatever ... } ? HTH, j On Nov 18, 2004, at 7:59 AM, Michael D. Maynard wrote: > That would work with INSERT. Any thoughts on SELECT queries? The > select @@ROWCOUNT essentially returns a second record set AFTER all > the rows have been fetched. > > Michael > > > At 08:42 PM 11/17/2004, you wrote: > >> On Nov 17, 2004, at 5:03 PM, Michael D. Maynard wrote: >>> Do you know how to get @@ROWCOUNT from MSSQL for a query with PERL? >>> DBI rows() is not supported. :-( >> >> Hmmm... here's an example of @@identity. I assume @@rowcount would >> work the same way? >> >> my $strsql = "insert into blah...."; >> $strsql .= ' select @@identity'; >> # print "\n\n$strsql\n\n"; >> my $sth = $dbh->prepare($strsql); >> $sth->execute; >> my @row = $sth->fetchrow_array; >> $sth->finish; >> print "Just inserted new ID '$row[0]'\n"; >> >> HTH, >> >> j >> From jay at jays.net Thu Nov 18 15:32:07 2004 From: jay at jays.net (Jay Hannah) Date: Thu Nov 18 15:32:10 2004 Subject: [Omaha.pm] Re: Getting @@ROWCOUNT In-Reply-To: References: <6.1.2.0.2.20041117170104.024dbec0@mail.aurora-e-solutions.com> <85907526-390B-11D9-AF60-000A95E317B8@jays.net> <6.1.2.0.2.20041118075712.02a52e90@mail.aurora-e-solutions.com> Message-ID: <4C70CB6F-39A9-11D9-9B19-000A95E317B8@jays.net> On Nov 18, 2004, at 3:29 PM, Jay Hannah wrote: > Uhh... You want the number of rows you SELECTed? Typically I use > fetchrow() to walk each row in a cursor-style walk. Like so: P.S. This is a great forum for DBI help: http://lists.perl.org/showlist.cgi?name=dbi-users j From cybersean3000 at yahoo.com Sat Nov 20 12:51:06 2004 From: cybersean3000 at yahoo.com (Sean Edwards) Date: Sat Nov 20 12:51:09 2004 Subject: [Omaha.pm] PERL and XML Message-ID: <20041120185106.11838.qmail@web52605.mail.yahoo.com> Does anyone know of good introduction/tutorial to PERL and XML? I have a J2EE app to configure before compiling with Apache Ant, and I would prefer using something like hashes and XML tags to replace text, rather than regular expressions. Thanks in advance, -=Sean Edwards=- cybersean3000@yahoo.com __________________________________ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com From jay at jays.net Sun Nov 21 06:57:50 2004 From: jay at jays.net (Jay Hannah) Date: Sun Nov 21 06:58:00 2004 Subject: [Omaha.pm] Next meeting: Dec. 16! Message-ID: Below are the fruits of our labor last Thr. Thanks to everyone that came out to help! Feel free to post enhancements if you want the continue the tinkering. Our next meeting is Dec. 16: http://omaha.pm.org j #!/usr/bin/perl use Data::Dumper; use WWW::Mechanize; my %data; open (IN, "perl_mongers.xml") or die; while () { s/[^ -~]//g; chomp; if (/(.+)<\/.*>/); if ($ele and $data) { $data{$ele} = $data; } if (/<\/location>/ and not defined $data{longitude}) { go_fetch(%data); } } sub go_fetch { my (%data) = @_; return unless ($data{city} and $data{country}); #print Dumper %data; my $search = "$data{city}, $data{country}"; print "$search\n"; my $mech = WWW::Mechanize->new(); my $url = "http://www.astro.com/atlas/horoscope?submit=Search&"; # expr=Milpitas%2C+United+States+of+America $url .= "expr=$search"; $url =~ s/ /\+/g; $url =~ s/,/\%2C/g; #print "$url\n"; $mech->get( $url ); #print $mech->content; #open (OUT, ">out"); #print OUT $mech->content; #close OUT; #print Dumper (split /\n/s, $mech->content); #print "\n\n\n\n\n\n======================="; my @return = grep { /ade.cgi/ } (split /\n/s, $mech->content); #print Dumper @return; foreach (@return) { s/<.*?>//g; conv_latlong($_); print " $_\n"; } exit; } sub conv_latlong { my ($str) = @_; my ($lat, $long) = (/(\d+[ns]\d+).*?(\d+[ew]\d+)/); print "[$lat $long]"; my ($newlat, $newlong); } __END__ Cascais Lisbon Cascais Portugal Europe From jay at jays.net Sun Nov 21 07:01:45 2004 From: jay at jays.net (Jay Hannah) Date: Sun Nov 21 07:01:47 2004 Subject: [Omaha.pm] PERL and XML In-Reply-To: <20041120185106.11838.qmail@web52605.mail.yahoo.com> References: <20041120185106.11838.qmail@web52605.mail.yahoo.com> Message-ID: <7F77F3D8-3BBD-11D9-B158-000A95E317B8@jays.net> On Nov 20, 2004, at 12:51 PM, Sean Edwards wrote: > Does anyone know of good introduction/tutorial to PERL > and XML? I have a J2EE app to configure before > compiling with Apache Ant, and I would prefer using > something like hashes and XML tags to replace text, > rather than regular expressions. Google "Perl XML"... The first 3 hits look really strong: http://perl-xml.sourceforge.net/faq/ http://perl-xml.sourceforge.net/ http://www.xml.com/pub/a/2001/04/18/perlxmlqstart1.html There's a book too: http://www.oreilly.com/catalog/perlxml/ We use XML::Twig a lot at work. j From chlo.prog at gmail.com Sun Nov 21 13:54:06 2004 From: chlo.prog at gmail.com (r c) Date: Sun Nov 21 13:54:09 2004 Subject: [Omaha.pm] Real world application Message-ID: <5e2006d104112111546b65dc3a@mail.gmail.com> Hi, I would like some help in finding some "real world" Perl application examples. Everything I'm finding are short programs without proper logging and error handling and only accomplish a simple task. Here's what I'm trying to accomplish for my first application: 1. Write a singleton class/module that will create/hold a file handle to do logging (I found a singleton example in an old "ThePerlReview"). This way all the other modules I write can simply call methods this object to do logging. -- Is this a good idea, how is it done in the real world so all modules can write to the same log? 2. Write a class/module that will read a configuration file in a generic way (so like the logging class, I can reuse it for other projects). This way I can call get/set... methods, I've seen a great generic example in "Object Oriented Perl" for the get/set part. -- I want to do this instead of sourcing in a hash so it can check that valid methods are being called. 3. Write a wrapper around Net::FTP that will catch exceptions and retry login/put/get if time outs occur. This class will use the logging singleton class to write to the same filehandle that the main application and all other modules are witting too. 4. The actual application will use these modules and setup the logging singleton. Any help in pointing resources that do any of these specific things and especially an "application" that does things similar to this would be greatly appreciated. Thanks Ron From jay at jays.net Sun Nov 21 16:39:12 2004 From: jay at jays.net (Jay Hannah) Date: Sun Nov 21 16:39:15 2004 Subject: [Omaha.pm] Real world application In-Reply-To: <5e2006d104112111546b65dc3a@mail.gmail.com> References: <5e2006d104112111546b65dc3a@mail.gmail.com> Message-ID: <2ABE4136-3C0E-11D9-BF9E-000A95E317B8@jays.net> On Nov 21, 2004, at 1:54 PM, r c wrote: > Hi, I would like some help in finding some "real world" Perl > application examples. Everything I'm finding are short programs > without proper logging and error handling and only accomplish a simple > task. > Here's what I'm trying to accomplish for my first application: > > 1. Write a singleton class/module that will create/hold a file handle > to do logging (I found a singleton example in an old "ThePerlReview"). > This way all the other modules I write can simply call methods this > object to do logging. -- Is this a good idea, how is it done in the > real world so all modules can write to the same log? Yup, we wrote one of those. It's important to us to be able to ensure that we can switch the logging behavior of "all programs" by just tweaking one class. How do you do it? You just write whatever logging routine you want into a single class, then use that class in all your programs. Nothing magical about it (until it saves you hours of coding -- that's pretty magical. -grin-). > 2. Write a class/module that will read a configuration file in a > generic way (so like the logging class, I can reuse it for other > projects). This way I can call get/set... methods, I've seen a great > generic example in "Object Oriented Perl" for the get/set part. -- I > want to do this instead of sourcing in a hash so it can check that > valid methods are being called. Sure, setting explicit behavior for get/set methods is half the fun of OO coding. -grin- > 3. Write a wrapper around Net::FTP that will catch exceptions and > retry login/put/get if time outs occur. This class will use the > logging singleton class to write to the same filehandle that the main > application and all other modules are witting too. We wrote something similar to that. We have many FTP partners, and I wanted to be able to do things like my $ftp = Omni::FTP::new(); $ftp->connect('Partner X'); $ftp->send("myfile.txt"); Without having to remember all the specifics of how to get that file to the partner is question. Our home-grawn Net::FTP wrapper does all kinds of things automatically (compression, encryption, etc.), and then all my programs don't have to remember any tricky stuff. > 4. The actual application will use these modules and setup the logging > singleton. Yup. > Any help in pointing resources that do any of these specific things > and especially an "application" that does things similar to this would > be greatly appreciated. I can't really email our source code around, but I certainly could demo it in any Perl Monger meeting. Did you have specific questions about anything? j From cybersean3000 at yahoo.com Sun Nov 21 19:43:51 2004 From: cybersean3000 at yahoo.com (Sean Edwards) Date: Sun Nov 21 19:43:52 2004 Subject: [Omaha.pm] PERL and XML In-Reply-To: <7F77F3D8-3BBD-11D9-B158-000A95E317B8@jays.net> Message-ID: <20041122014351.37187.qmail@web52609.mail.yahoo.com> Thank you Jay, I will take a look at the book. -=Sean Edwards=- --- Jay Hannah wrote: > > On Nov 20, 2004, at 12:51 PM, Sean Edwards wrote: > > Does anyone know of good introduction/tutorial to > PERL > > and XML? I have a J2EE app to configure before > > compiling with Apache Ant, and I would prefer > using > > something like hashes and XML tags to replace > text, > > rather than regular expressions. > > Google "Perl XML"... The first 3 hits look really > strong: > > http://perl-xml.sourceforge.net/faq/ > http://perl-xml.sourceforge.net/ > http://www.xml.com/pub/a/2001/04/18/perlxmlqstart1.html > > There's a book too: > http://www.oreilly.com/catalog/perlxml/ > > We use XML::Twig a lot at work. > > j > > _______________________________________________ > Omaha-pm mailing list > Omaha-pm@mail.pm.org > http://www.pm.org/mailman/listinfo/omaha-pm > __________________________________ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com From hjarce2001 at yahoo.com Tue Nov 23 16:12:26 2004 From: hjarce2001 at yahoo.com (Hugh Jarce) Date: Tue Nov 23 16:12:29 2004 Subject: [Omaha.pm] Perl Obfu Art Message-ID: <20041123221226.87763.qmail@web50509.mail.yahoo.com> Just a couple of obfus that caught my eye recently: Not sure if this sort of stuff is good for Perl's image or not. :-) Hugh __________________________________ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com From cybersean3000 at yahoo.com Thu Nov 25 11:44:32 2004 From: cybersean3000 at yahoo.com (Sean Edwards) Date: Thu Nov 25 11:44:34 2004 Subject: [Omaha.pm] Happy Thanksgiving everyone! In-Reply-To: <20041123221226.87763.qmail@web50509.mail.yahoo.com> Message-ID: <20041125174432.8399.qmail@web52606.mail.yahoo.com> Happy Thanksgiving everyone! -=Sean Edwards=- cybersean3000@yahoo.com __________________________________ Do you Yahoo!? All your favorites on one personal page – Try My Yahoo! http://my.yahoo.com