From jonathan at leto.net Fri Nov 2 09:59:31 2012 From: jonathan at leto.net (Jonathan "Duke" Leto) Date: Fri, 2 Nov 2012 09:59:31 -0700 Subject: [Pdx-pm] November meeting? In-Reply-To: <201210311330.50254.enobacon@gmail.com> References: <201210311330.50254.enobacon@gmail.com> Message-ID: Howdy, Have we ever had a meeting about how to use Travis CI with Perl/CPAN modules? Is there any interest in that? https://travis-ci.org/ Duke On Wed, Oct 31, 2012 at 1:30 PM, Eric Wilhelm wrote: > Hi all, > > The November meeting is next Thursday (one week from tomorrow.) > > Does anyone have a topic? > > Thanks, > Eric > -- > --------------------------------------------------- > http://scratchcomputing.com > --------------------------------------------------- > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- Jonathan "Duke" Leto Leto Labs LLC http://labs.leto.net 209.691.DUKE http://dukeleto.pl -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.hengst at gmail.com Fri Nov 2 14:03:14 2012 From: ben.hengst at gmail.com (benh) Date: Fri, 2 Nov 2012 14:03:14 -0700 Subject: [Pdx-pm] November meeting? In-Reply-To: References: <201210311330.50254.enobacon@gmail.com> Message-ID: Could be interesting, how does travis compare with CPANTS, how to set up travis. Other tips/tricks/hooks and such. On Fri, Nov 2, 2012 at 9:59 AM, Jonathan "Duke" Leto wrote: > Howdy, > > Have we ever had a meeting about how to use Travis CI with Perl/CPAN > modules? Is there any interest in that? > > https://travis-ci.org/ > > Duke > > > On Wed, Oct 31, 2012 at 1:30 PM, Eric Wilhelm wrote: > >> Hi all, >> >> The November meeting is next Thursday (one week from tomorrow.) >> >> Does anyone have a topic? >> >> Thanks, >> Eric >> -- >> --------------------------------------------------- >> http://scratchcomputing.com >> --------------------------------------------------- >> _______________________________________________ >> Pdx-pm-list mailing list >> Pdx-pm-list at pm.org >> http://mail.pm.org/mailman/listinfo/pdx-pm-list >> > > > > -- > Jonathan "Duke" Leto > Leto Labs LLC http://labs.leto.net > 209.691.DUKE http://dukeleto.pl > > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- benh~ http://about.notbenh.info Stability is not a Regression. -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Fri Nov 2 15:16:23 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Fri, 2 Nov 2012 15:16:23 -0700 Subject: [Pdx-pm] November meeting? In-Reply-To: References: <201210311330.50254.enobacon@gmail.com> Message-ID: <201211021516.23155.enobacon@gmail.com> # from benh on Friday 02 November 2012: >Could be interesting, how does travis compare with CPANTS, how to set >up travis. Other tips/tricks/hooks and such. Live demo? Sounds like fun. --Eric From jonathan at leto.net Mon Nov 5 20:18:07 2012 From: jonathan at leto.net (Jonathan "Duke" Leto) Date: Mon, 5 Nov 2012 20:18:07 -0800 Subject: [Pdx-pm] November meeting? In-Reply-To: <201211021516.23155.enobacon@gmail.com> References: <201210311330.50254.enobacon@gmail.com> <201211021516.23155.enobacon@gmail.com> Message-ID: Howdy, Travis CI *can* be this simple: 1) Log into Travis CI and flip the bit on the repo to add CI 2) Put a .travis.yml file in your repo. Here is a relatively simple example [0] suitable for most CPAN modules. This one that I wrote for Parrot [1] does some whackier stuff and originally had to roll it's own Perl dependency management. 3) Commit and push .travis.yml If 1) doesn't work (maybe because it times out because you have too many Github repos...), one can also use the Travis API key available in your profile to enable Travis as a post-receive hook in the admin section of the repo on Github. Step #1 automates this. Let the record show that I have helped write a CI system using Perl + Git called Jitterbug : http://lumberjaph.net/jitterbug/ That takes more work to setup, but is still useful for private repos. All public repos on Github can use Travis for free, but you gotta pay cash money for private repos. Have the appropriate amount of fun, Duke [0] https://github.com/leto/math--primality/blob/master/.travis.yml [1] https://github.com/parrot/parrot/blob/master/.travis.yml On Fri, Nov 2, 2012 at 3:16 PM, Eric Wilhelm wrote: > # from benh on Friday 02 November 2012: > >Could be interesting, how does travis compare with CPANTS, how to set > >up travis. Other tips/tricks/hooks and such. > > Live demo? Sounds like fun. > > --Eric > _______________________________________________ > Pdx-pm-list mailing list > Pdx-pm-list at pm.org > http://mail.pm.org/mailman/listinfo/pdx-pm-list > -- Jonathan "Duke" Leto Leto Labs LLC http://labs.leto.net 209.691.DUKE http://dukeleto.pl -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Tue Nov 6 12:40:46 2012 From: enobacon at gmail.com (Seven til Seven) Date: Tue, 6 Nov 2012 12:40:46 -0800 Subject: [Pdx-pm] CI throwdown - November meeting on Thursday Message-ID: <201211061240.46322.enobacon@gmail.com> Thu. Nov 8th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. Travis CI, Jitterbug, and testing all the things. Speaker: Jonathan "Duke" Leto So, there's this dude named Travis who lives in a cloud and has nothing better to do on a Thursday night than download your latest commit, run your tests, and ridicule you on the twitternets when you broke the build... or something like that. But even if you don't need your pocket to jiggle on the way to fried pies, you should have some sort of automated continuous integration setup testing your code to keep you and your commits working smoothly. Jonathan will talk about Travis CI, demonstrate setting-up Travis for a public github project, and cover some of Jitterbug. As usual, the meeting will be followed by social hour at the Lucky Lab Brew Pub. Don't forget to vote today! Oregon needs you to patch the constitution. -- http://pdx.pm.org/ From enobacon at gmail.com Thu Nov 8 08:50:01 2012 From: enobacon at gmail.com (Seven til Seven) Date: Thu, 8 Nov 2012 08:50:01 -0800 Subject: [Pdx-pm] CI throwdown - tonight Message-ID: <201211080850.01892.enobacon@gmail.com> Thu. Nov 8th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. Travis CI, Jitterbug, and testing all the things. Speaker: Jonathan "Duke" Leto So, there's this dude named Travis who lives in a cloud and has nothing better to do on a Thursday night than download your latest commit, run your tests, and ridicule you on the twitternets when you broke the build... or something like that. But even if you don't need your pocket to jiggle on the way to fried pies, you should have some sort of automated continuous integration setup testing your code to keep you and your commits working smoothly. Jonathan will talk about Travis CI, demonstrate setting-up Travis for a public github project, and cover some of Jitterbug. As usual, the meeting will be followed by social hour at the Lucky Lab Brew Pub. -- http://pdx.pm.org/ From jonathan at leto.net Thu Nov 8 11:32:24 2012 From: jonathan at leto.net (Jonathan "Duke" Leto) Date: Thu, 8 Nov 2012 11:32:24 -0800 Subject: [Pdx-pm] November meeting? In-Reply-To: References: <201210311330.50254.enobacon@gmail.com> <201211021516.23155.enobacon@gmail.com> Message-ID: Howdy, Awesome! So glad my stream-of-consciousness description was useful. As for your wishlist: 1) Yes, Travis only does Ubuntu Linux and I don't think they plan on doing others, at least not for free. If you want access to lots of crazy systems, I recommend the GCC compile farm [0]. They are very friendly and give out access to any reasonable request. 2) This *is* (mostly) possible by using environment variables, which you can use to tell your code to run different kinds of tests and things like that. If you bring this up in the meeting, I can try to answer some specific questions. Duke [0] http://gcc.gnu.org/wiki/CompileFarm On Thu, Nov 8, 2012 at 10:11 AM, Dana Jacobsen wrote: > My Lord "Duke", and others, > > Based on these instructions, I set up Travis CI on a couple of my repos > in ~20 minutes -- much of that waiting for it to run before realizing it > wanted a commit to trigger builds. I found it started a build within a few > seconds of my running 'git push' on my box (admittedly this was done in the > middle of the night) and had final results within a few minutes. > > Very nice, very easy, and free. It also found an issue with one of my new > functions that I was able to quickly fix -- which definitely made it worth > it. I'm looking forward to hearing more about it tonight. > > Some things I wish it had: > > - a plethora of different build environments for occasional testing. > 32-bit vs. 64-bit, something non-x86, a big-endian target, Ubuntu / CentOS > / Solaris / BSD / etc., Perl with threads vs. without, something with a > non-gcc compiler, etc. These are the things that are hard for me to test > in my environment and would be great to have run before waiting for the > CPANTesters results. > > - a method to indicate additional builds with different dependencies. > That is, I'd like one build to run on the bare system. Another after GMP > loaded. Another with an additional module. I try to do this by hand on my > systems, but it's tough to remember to do all the combinations and having > it run by CI would be great (obviously I'd have to specify the > combinations). I can think of lots of examples of this -- Any::Moose, > Class Accessors that get opportunistically used, various XS modules that > get used if they exist, and so on. I do a lot of that in my modules, and I > normally test it by hand. > > It's possible it has some of these and I just don't know how to do it. I > also realize some people aren't as concerned about running on obscure > systems, or their modules aren't brittle so it almost never matters -- XS > modules doing bit twiddling, and anything relating to threading have been > my biggest issues. Lastly, I realize it's free so I'm getting far more > than my money's worth already. Perhaps at the meeting we can discuss other > systems that might easily allow these. > > Dana > > > > On Mon, Nov 5, 2012 at 8:18 PM, Jonathan "Duke" Leto wrote: > >> Howdy, >> >> Travis CI *can* be this simple: >> >> 1) Log into Travis CI and flip the bit on the repo to add CI >> 2) Put a .travis.yml file in your repo. Here is a relatively simple >> example [0] suitable for most CPAN modules. This one that I wrote for >> Parrot [1] does some whackier stuff and originally had to roll it's own >> Perl dependency management. >> 3) Commit and push .travis.yml >> >> If 1) doesn't work (maybe because it times out because you have too many >> Github repos...), one can also use the Travis API key available in your >> profile to enable Travis as a post-receive hook in the admin section of the >> repo on Github. Step #1 automates this. >> >> Let the record show that I have helped write a CI system using Perl + Git >> called Jitterbug : >> >> http://lumberjaph.net/jitterbug/ >> >> That takes more work to setup, but is still useful for private repos. All >> public repos on Github can use Travis for free, but you gotta pay cash >> money for private repos. >> >> Have the appropriate amount of fun, >> >> Duke >> >> [0] https://github.com/leto/math--primality/blob/master/.travis.yml >> [1] https://github.com/parrot/parrot/blob/master/.travis.yml >> >> >> On Fri, Nov 2, 2012 at 3:16 PM, Eric Wilhelm wrote: >> >>> # from benh on Friday 02 November 2012: >>> >Could be interesting, how does travis compare with CPANTS, how to set >>> >up travis. Other tips/tricks/hooks and such. >>> >>> Live demo? Sounds like fun. >>> >>> --Eric >>> _______________________________________________ >>> Pdx-pm-list mailing list >>> Pdx-pm-list at pm.org >>> http://mail.pm.org/mailman/listinfo/pdx-pm-list >>> >> >> >> >> -- >> Jonathan "Duke" Leto >> Leto Labs LLC http://labs.leto.net >> 209.691.DUKE http://dukeleto.pl >> >> _______________________________________________ >> Pdx-pm-list mailing list >> Pdx-pm-list at pm.org >> http://mail.pm.org/mailman/listinfo/pdx-pm-list >> > > -- Jonathan "Duke" Leto Leto Labs LLC http://labs.leto.net 209.691.DUKE http://dukeleto.pl -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan at leto.net Fri Nov 9 15:41:48 2012 From: jonathan at leto.net (Jonathan "Duke" Leto) Date: Fri, 9 Nov 2012 15:41:48 -0800 Subject: [Pdx-pm] Fwd: [Fixed] leto/math--gsl#19 (master - 9d9c24f) In-Reply-To: <509d6ff965973_213e43b444254b@6a606878-05a9-4cd5-9b95-79d3433e5bf8.mail> References: <509d6ff965973_213e43b444254b@6a606878-05a9-4cd5-9b95-79d3433e5bf8.mail> Message-ID: Howdy, For those that were at the meeting last night, I caused the test suite for my Math::GSL module to fail during my "tempt the live demo gods" part of my talk. It does indeed turn out that the name of the swig binary has changed in a recent Ubuntu release. So, this was an instance of the CI system itself pointing out a fragile part of the build system. The email below is an example of getting a "Fixed" email from Travis. Duke ---------- Forwarded message ---------- From: Travis-CI Date: Fri, Nov 9, 2012 at 1:04 PM Subject: [Fixed] leto/math--gsl#19 (master - 9d9c24f) To: "jonathan at leto.net" ** The build was fixed. Repository leto/math--gsl Build #19 http://travis-ci.org/leto/math--gsl/builds/3133977 Changeset https://github.com/leto/math--gsl/compare/1efc4dd8305e...9d9c24f8051a Commit 9d9c24f (master) Message Use the correct swig binary name in GSLBuilder Author Jonathan "Duke" Leto Duration 3 minutes and 20 seconds You can configure recipients for build notifications in your configuration file . Further documentation about Travis CI can be found here. For help please join our IRC channel irc.freenode.net#travis. We need your help! Travis CI has run 406,714 tests for 5,442 OSS projects to date, including Ruby, Rails, Rubinius, Rubygems, Bundler, Node.js, Leiningen, Symfony ... If you use any of these then you benefit from Travis CI. Please donate so we can make Travis CI even better! cloudControl is PaaS made in Berlin, Germany. Since 2009 we're dedicated to supercharge development by building the best platform possible to help developers build better apps faster. The delivery of this email was kindly sponsored by Postmark, an amazing service for transactional email delivery. See all of our sponsors ? -- Jonathan "Duke" Leto Leto Labs LLC http://labs.leto.net 209.691.DUKE http://dukeleto.pl -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Wed Nov 21 15:52:02 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Wed, 21 Nov 2012 15:52:02 -0800 Subject: [Pdx-pm] December meeting Message-ID: <201211211552.02248.enobacon@gmail.com> Hi all, As you're dozing off after dinner tomorrow, keep in mind that our next meeting is only 3 weeks away and nobody has volunteered to present something (except for Schwern, who still doesn't know he volunteered.) --Eric From ben.hengst at gmail.com Sun Nov 25 23:50:01 2012 From: ben.hengst at gmail.com (benh) Date: Sun, 25 Nov 2012 23:50:01 -0800 Subject: [Pdx-pm] Fwd: UG News: Save 50% on All Ebooks & Videos - Cyber Monday Only In-Reply-To: <1353915548.24650.0.744988@post.oreilly.com> References: <1353915548.24650.0.744988@post.oreilly.com> Message-ID: ---------- Forwarded message ---------- From: Marsee Henon & Jon Johns Date: Sun, Nov 25, 2012 at 11:39 PM Subject: UG News: Save 50% on All Ebooks & Videos - Cyber Monday Only To: ben.hengst+oreilly at gmail.com ** Cyber Monday Only - Save 50% on ALL Ebooks & Videos [View in browser] *Forward this announcement to your user group or a friend* [image: O'Reilly Media]One Day Only Cyber Monday Special Save 50% on All Ebooks & Videos *Spend More, Save More ?* Save 60% on orders greater than $100! Ebooks and videos from oreilly.comare *DRM-free*. You get *free lifetime access*, *multiple formats*, and *free updates*. Now includes Dropbox syncing. Use discount code CYBERDAY ? Deal expires November 26, 2012 at 11:59pm PT, and cannot be combined with other offers. Offer does not apply to Print, or "Print & Ebook" bundle pricing. View the Titles [image: Cyber Monday Special - Save 50% on All Ebooks & Videos] Spreading the knowledge of innovators. oreilly.com You are receiving this email because you are a User Group contact with O'Reilly Media. Forward this announcement. If you would like to stop receiving these newsletters or announcements from O'Reilly, send an email to *usergroups at oreilly.com* . O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 (707) 827-7000 -- benh~ http://about.notbenh.info Stability is not a Regression. -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Mon Nov 26 17:35:26 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Mon, 26 Nov 2012 17:35:26 -0800 Subject: [Pdx-pm] 5.10+ features - lightning talks? Message-ID: <201211261735.26822.enobacon@gmail.com> Hi all, This keeps coming up as a potential meeting topic, but I'm wondering if we can start a running feature out of it. What about giving a short overview of 1-3 of your favorite newish features? Anybody want to volunteer to do the first one? (see also http://www.slideshare.net/rjbs/whats-new-in-perl-v510-v516) Thanks, Eric -- --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From teknotus at gmail.com Tue Nov 27 19:53:37 2012 From: teknotus at gmail.com (Daniel Johnson) Date: Tue, 27 Nov 2012 19:53:37 -0800 Subject: [Pdx-pm] Winter Coders Social Message-ID: The 6th Annual Winter Coders' Social and Potluck is just around the corner. Add it to your calendar: http://calagator.org/events/1250463028 * WHEN: Tuesday, December 11, 2012 from 6?10pm * WHERE: Urban Airship, 334 NW 11th Avenue, Portland, OR 97209 http://goo.gl/maps/U6mC * POTLUCK: Signup at: http://bit.ly/winter-social-2012-potluck * RAFFLE: Many excellent prizes will be available. Join Portland's tech community in celebrating the end of another year. This is a fun, free annual event where members of local user groups and their families are invited to mingle, eat and play games. This is the sixth time the event's been held and it's lots of fun every time. We'll have a potluck, so you're welcome to bring something yummy to share with others. If possible, label your food and whether it meets particular dietary needs, e.g. "vegan", "vegetarian", gluten-free", etc. If you'd like, tell others what you plan to bring, or see what others are bringing at: http://bit.ly/winter-social-2012-potluck. We'll provide some beverages, plates, cups, utensils and napkins. Like games? Bring your favorites and play them with others. We'll have some rooms with tables set aside. Have an activity or contest that you'd like to organize? Join the discussion at https://groups.google.com/group/pdxgroups. Please spread the word, all are welcome. See you there! From enobacon at gmail.com Thu Nov 29 16:29:14 2012 From: enobacon at gmail.com (Seven til Seven) Date: Thu, 29 Nov 2012 16:29:14 -0800 Subject: [Pdx-pm] Prime Number Generation in Perl -- December meeting in 2 weeks Message-ID: <201211291629.14304.enobacon@gmail.com> Thursday, December 13th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. Prime Number Generation in Perl speaker: Dana Jacobsen Dana will give a brief introduction to primes, primality testing, and sieves, then show examples in Perl. Dana is the author of the Math::Prime::Util module on CPAN. Outline: * Primes * Applications * Primality testing in Perl * Sieves * 15 sieve implementations in Perl including a new string-based sieve * 6 CPAN modules * Performance and memory use * Prime Counting Sadly a lot of the web examples of Perl sieves are quite bad, often 3-6x slower than Perl can do. We can do better! There are also a number of CPAN modules related to primes, which will briefly be covered. As usual, the meeting will be followed by social hour at the lucky lab. -- http://pdx.pm.org From andrew.clapp at gmail.com Thu Nov 29 16:36:16 2012 From: andrew.clapp at gmail.com (Andrew Clapp) Date: Thu, 29 Nov 2012 16:36:16 -0800 Subject: [Pdx-pm] Prime Number Generation in Perl -- December meeting in 2 weeks In-Reply-To: <201211291629.14304.enobacon@gmail.com> References: <201211291629.14304.enobacon@gmail.com> Message-ID: Sweet! Got any links for us to whet our appetites? -ASC On Thu, Nov 29, 2012 at 4:29 PM, Seven til Seven wrote: > Prime Number Generation in Perl -- Andrew S. Clapp Aeonic Enterprises -------------- next part -------------- An HTML attachment was scrubbed... URL: From enobacon at gmail.com Thu Nov 29 16:39:50 2012 From: enobacon at gmail.com (Eric Wilhelm) Date: Thu, 29 Nov 2012 16:39:50 -0800 Subject: [Pdx-pm] Prime Number Generation in Perl -- December meeting in 2 weeks In-Reply-To: References: <201211291629.14304.enobacon@gmail.com> Message-ID: <201211291639.51180.enobacon@gmail.com> # from Andrew Clapp on Thursday 29 November 2012: >Sweet! Got any links for us to whet our appetites? http://pdx.pm.org/kwiki/?December2012Meeting Dana included several links ^-- there. -- --------------------------------------------------- http://scratchcomputing.com --------------------------------------------------- From keithl at gate.kl-ic.com Thu Nov 29 18:37:07 2012 From: keithl at gate.kl-ic.com (Keith Lofstrom) Date: Thu, 29 Nov 2012 18:37:07 -0800 Subject: [Pdx-pm] Prime Number Generation in Perl -- December meeting in 2 weeks In-Reply-To: <201211291639.51180.enobacon@gmail.com> References: <201211291629.14304.enobacon@gmail.com> <201211291639.51180.enobacon@gmail.com> Message-ID: <20121130023707.GA4764@gate.kl-ic.com> # from Andrew Clapp on Thursday 29 November 2012: >Sweet! Got any links for us to whet our appetites? On Thu, Nov 29, 2012 at 04:39:50PM -0800, Eric Wilhelm wrote: > http://pdx.pm.org/kwiki/?December2012Meeting > > Dana included several links ^-- there. Is this about itsy bitsy tiny int[32] primes, or big 4 kbit primes, such as are used for cryptography, and are sieved with probabilistic number-theoretic wizardry? The examples look like little numbers and simple tests. But then, I'm an engineer, and as the punchline to the joke goes, "1 is prime, 3 is prime, 5 is prime, 7 is prime, 9 is prime ..." Also, my private key is 17. Keith -- Keith Lofstrom keithl at keithl.com Voice (503)-520-1993 From shlomif at shlomifish.org Fri Nov 30 01:21:02 2012 From: shlomif at shlomifish.org (Shlomi Fish) Date: Fri, 30 Nov 2012 11:21:02 +0200 Subject: [Pdx-pm] Prime Number Generation in Perl -- December meeting in 2 weeks In-Reply-To: <201211291629.14304.enobacon@gmail.com> References: <201211291629.14304.enobacon@gmail.com> Message-ID: <20121130112102.35a7c212@lap.shlomifish.org> Hi all, On Thu, 29 Nov 2012 16:29:14 -0800 Seven til Seven wrote: > Thursday, December 13th, 6:53pm at FreeGeek -- 1731 SE 10th Ave. > > Prime Number Generation in Perl > speaker: Dana Jacobsen > > Dana will give a brief introduction to primes, primality testing, and > sieves, then show examples in Perl. Dana is the author of the > Math::Prime::Util module on CPAN. > > Outline: > * Primes > * Applications > * Primality testing in Perl > * Sieves > * 15 sieve implementations in Perl including a new string-based sieve > * 6 CPAN modules > * Performance and memory use > * Prime Counting > > Sadly a lot of the web examples of Perl sieves are quite bad, often 3-6x > slower than Perl can do. We can do better! There are also a number of > CPAN modules related to primes, which will briefly be covered. > Very interesting. I'd be happy to read the slides. Note that I had blogged about some Perl, Haskell and C programs for generating the primes here: http://shlomif-tech.livejournal.com/44006.html Also see the comments. I do not claim they are the most optimal solution, but the Haskell program I started with was quite worse, due to an excessive use of division-based operators. Regards, Shlomi Fish -- ----------------------------------------------------------------- Shlomi Fish http://www.shlomifish.org/ What Makes Software Apps High Quality - http://shlom.in/sw-quality Give me ASCII or give me dea?! Please reply to list if it's a mailing list post - http://shlom.in/reply .