grinder's Friends' Journals grinder's Friends' use Perl Journals en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:08:25+00:00 pudge Technology hourly 1 1970-01-01T00:00+00:00 grinder's Friends' Journals Flore Louise Apolline Bruhat-Souche <p>On Thursday, August 19, 2010 at 9:30, Flore Louise Apolline Bruhat-Souche was born. She weighs 3.02 kg and measures 48 cm. </p><p> Word already spread through IRC (#perlfr and #yapc mostly) and via email and telephone. </p><p> The mother is fine, the father is slightly tired and the <a href="">big sister</a> is happy. </p><p> There is <a href="">one photo online</a>. </p> BooK 2010-08-20T22:17:07+00:00 journal Will parrot be the last one standing? <p>I'm a bit behind the times here, but I read today that one of the two remaining developers of IronRuby has left Microsoft:</p><blockquote><div><p>Overall, I see a serious lack of commitment to IronRuby, and dynamic language on<nobr> <wbr></nobr>.NET in general. At the time of my leaving Tomas and myself were the only Microsoft employees working on IronRuby.</p></div></blockquote><p> <a href=""><nobr>m<wbr></nobr> l</a>*</p><p>So if Microsoft's interest in dynamic languages is wilting, and Oracle's litigation scares everyone away from Java, will that leave <a href="">Parrot</a> as the last one standing?</p><p> <small>* yep, that's a formatting bug. I assume that it's not worth reporting while the site's future is unclear.</small> </p> nicholas 2010-08-20T09:37:19+00:00 journal New WWW::Salesforce release details <p>I've taken over the maintainership role for WWW::Salesforce and have pushed out a maintenance release that resolves some long standing issues.</p><p><a href=""></a></p><p>0.12 Tue Aug 17 19:34:00 2010 PST<br> &nbsp; &nbsp; &nbsp; &nbsp; - New maintainer PHRED<br> &nbsp; &nbsp; &nbsp; &nbsp; - Thanks to Mark Stosberg for several patches for this version<br> &nbsp; &nbsp; &nbsp; &nbsp; - Die with an error string instead of carping and returning<br> &nbsp; &nbsp; &nbsp; &nbsp; - Skip tests in automated testing mode<br> &nbsp; &nbsp; &nbsp; &nbsp; - Skip tests unless user, pass, and sectoken environment vars set<br> &nbsp; &nbsp; &nbsp; &nbsp; - Fix failing test - base64binary =&gt; base64Binary namespace change<br> &nbsp; &nbsp; &nbsp; &nbsp; - Perltidy file contents and remove unnecessary package scope braces<br> &nbsp; &nbsp; &nbsp; &nbsp; - Handle undefined return values from SOAP client<br> &nbsp; &nbsp; &nbsp; &nbsp; - Fix Type =&gt; type doc error in create()<br> &nbsp; &nbsp; &nbsp; &nbsp; - Add describeSObjects method []</p> Phred 2010-08-19T17:24:05+00:00 journal Perlmongers Dinner <p>We'll be having a group dinner for the August meeting, and have<br>a few drinks after for those interested. This will mostly<br>be a planning meeting for future meetings, but all are welcome<br>for Perl discussion and agreat food.</p><p>"Naan-N-Curry" at 336 O'Farrell Street, between Mason and Taylor.</p><p> &nbsp;,+San+Francisco,+CA+94102,+USA</p><p>This place has moved around a few times, and has many satellite<br>locations now, so look at that address carefully. This is across the<br>street from the Hilton, and next to the entrance to a large parking<br>garage.</p><p>From the Powell Street Bart station: walk two blocks north along Powell,<br>and 1.5 blocks west. Don't try to walk up Mason or Taylor, unless<br>you're in an adventurous mood.</p><p>The food is inexpensive, high quality Indian food. They have a buffet<br>these days, which makes things simpler. Free chai. The dining room<br>is double-sized, with large tables: there's no need to worry too much<br>about RSVPs.</p><p> &nbsp;</p><p>This place used to be 24 hours, but I guess they've scaled back to<br>11:00 AM to 4:00 AM. But I don't think we'll need to rush out of<br>there.</p><p>Announcement posted via App::PM::Announce</p><p>RSVP at Meetup - <a href=""></a></p> Phred 2010-08-17T20:49:00+00:00 journal grant funding proposal to TPF up for public review <p>A grant proposal I wrote for is up for public review. All views welcome - <a href=""></a> </p> Phred 2010-08-03T20:43:17+00:00 journal Some you win, some you loose <p>So, my attempt to avoid <a href="">3D Secure</a> was successful, but seems to have had the unintended side effect that I <a href="">sold my soul for 3 days</a>.</p><p>I feel that I have to categorically deny that my product roadmap is in doubt, and that the rumours of forking me to regain control are completely unfounded, and unworthy of any further comment.<nobr> <wbr></nobr>:-)</p><p>See you all at <a href="">YAPC::Europe</a> next week. Right now, there's <a href="">another free ticket up for grabs</a>, thanks to <a href="">Shadowcat</a>.</p> nicholas 2010-07-28T19:50:24+00:00 journal Rakudo Star Install Party <p>Hi Mongers,</p><p>I'd like to offer my place in Bernal Heights Tuesday next week from 7:30pm until whenever for a Raduko Star installation &amp; Perl 6 lightning talks. As some of you know a significant milestone in Perl 6's release history is coming up this Thursday, and what better way to get through an install than with local PM'ers!</p><p>For those that haven't been chez moi we have a basement, bar, projector, wifi, yard, BBQ, etc so we can eat, drink &amp; give presentations. There's space for at least a dozen seated inside, and more outside (for those that can withstand the Day Star).</p><p>Who's interested in something like this? How about giving a talk?<br>Doesn't need powerpoint but we have a screen &amp; sound if you do.<br>Anything at all raduko/perl6 related seems cool. Ping me off-list and I'll collate.</p><p>Summary:<br>What: Rakudo Star Install Party<br>When: Tuesday 3rd August 2010, 19:30 'til (e.g.) 22:00<br>Where: Paul's place, SF, 94110 (address on RSVP)<br>What to bring: computer, snacks &amp; drinks (although I'll seed unless someone wants to sponsor it?!). We could even BBQ!</p><p>Bonus feature: there's a ton of interesting links in bite-sized chunks at</p><p>Paul</p><p>Announcement posted via App::PM::Announce</p><p>RSVP at Meetup - <a href=""></a></p> Phred 2010-07-28T18:44:20+00:00 journal The mod_perl debugger you've always wanted <p>"The mod_perl debugger you've always wanted" is on my new blog at: <a href=""></a></p> jjore 2010-07-22T17:53:07+00:00 journal Perl-Critic in Depth <p>Jeff Thalhammer will be back to speak about Perl-Critic again on July 27nd at 7pm, at the office of LookSmart.</p><p>As any Perl developer will tell you, There's More Than One Way To Do It. But over time, we all learn that Some Ways Are Better Than Others.</p><p>Perl-Critic is a static source code analyzer based on Damian Conway's book Perl Best Practices. In this presentation, you'll learn how to use Perl-Critic to improve the quality and maintainability of your code. We'll cover the perlcritic command-line tool and the Test::Perl::Critic module, as well as tips for policy selection and incorporating Perl-Critic into your development culture. We'll also demonstrate how to extend Perl-Critic with your own custom policies.</p><p>Perl-Critic -</p><p>Jeff Thalhammer's CPAN page -</p><p>Announcement posted via App::PM::Announce</p><p>RSVP at Meetup - <a href=""></a></p> Phred 2010-07-12T23:18:48+00:00 journal Unicode in Perl, FTW (&#1071; &#1086;&#1095;&#1077;&#1085;&#1100; &#1088;&#1072; <p>Hi,<br>This blog post is actually at <a href=""></a>.</p> jjore 2010-07-07T06:01:11+00:00 journal Under the covers of perldoc <p>Hi, I posted to my new blog at</p><p><a href=""><nobr>t<wbr></nobr> ml</a></p> jjore 2010-07-07T05:44:28+00:00 journal Announcing CPAN Testers 2.0 <p>After 6 months of development work, following 2 years worth of design and preparation, CPAN Testers 2.0 is finally live.</p><p>With the rapid growth in CPAN Testers environments and testers over the past few years, the previous method of posting reports to a mailing list had reached a point where the scalability was no longer viable. This was recognised several years ago and discussions for a new system had already begun, with the view that reports should be submitted via HTTP.</p><p>At the Oslo QA Hackathon in 2008, David Golden and Ricardo Signes devised the Metabase, with the design work continuing at the Birmingham QA Hackathon in 2009, where David and Ricardo were able to bring others into the thought process to work through potential issues and begin initial coding. A number of releases to CPAN and Github followed, with more people taking an interest in the project.</p><p>The Metabase itself is a database framework and web API to store and search opinions from anyone about anything. In the terminology of Metabase, Users store Facts about Resources. In the Metabase world, each CPAN tester is a User. The Resource is a CPAN distribution. The Fact is the test report. Today that&#8217;s just the text of the email message, but in the future it will be structured data. The Metabase specifies data storage capabilities, but the actual database storage is pluggable, from flat files to relational databases to cloud services, which gives CPAN Testers more flexibility to evolve or scale over time.</p><p>Meanwhile the CPAN Testers community was also attracting more and more interest from people wanting to be testers themselves. As a consequence the volume of reports submitted increased each month, to the point that the mail server was struggling to deal with all the mailing lists it hosted. The cpan-testers mailing list was submitting more posts in one day than any other list submitted in a month (in a year in some cases). Robert and Ask, very reasonably, asked if the testers could throttle their submissions down to 5k report posts a day, and set a deadline of 1st March 2010 to switch off the mailing list.</p><p>David Golden quickly took on the task to envisage a project plan, and work began in earnest in December 2009. With less than 3 months to the cut-off date, there was a lot of work to do. David concentrated on the Metabase, with Barbie working on ensuring that the current cpanstats database and related websites could move to the Metabase style of reports. Despite a lot of hard work from a lot of people, we unfortunately missed the 1st March deadline. Having throttled report submissions to a more manageable level, and although not complete, the target for HTTP submissions was in sight, Robert and Ask were very understanding and agreed to keep us going a little while longer.</p><p>Throughout March and April a small group of beta testers were asked to fire their submissions at the new system. It ironed out many wrinkles and resulted in a better understanding of what we wanted to achieve. The first attempts at retrieving the reports from the Metabase into the cpanstats database began in April, and again highlighted further wrinkles that needed to be addressed. After a month of hard testing and refinement, we finally had working code that went from report submission by a tester, storage into the Metabase, retrieval into the cpanstats database and finally presentation on the CPAN Testers family of websites.</p><p>During June the process was silently switched from testing to live, allowing reports to be fed through into the live websites. Due to the ease with which the new style reporting fit into the existing system, the switch largely went unnoticed by the CPAN testers community as well as the Perl community. A considerable success.</p><p>The CPAN Testers eco-system is now considerably larger than those early days of simply submitting handwritten reports by email to a mailing list, and the work to get here has featured a cast of thousands. Specifically for CPAN Testers 2.0, the following people have contributed code, ideas and effort to the project over the past six months:</p><ul> <li>Andreas K&ouml;nig</li><li>Apocalypse</li><li>Ask Bj&oslash;rn Hansen</li><li>Barbie</li><li>Chris Williams</li><li>Dan Collins</li><li>David Cantrell</li><li>David Golden</li><li>Florian Ragwitz</li><li>H.Merijn Brand</li><li>Jon Allen</li><li>Lars D&#618;&#7431;&#7428;&#7435;&#7439;&#7457; &#36842;&#25289;&#26031;</li><li>L&eacute;on Brocard</li><li>MW487</li><li>Nigel Horne</li><li>Ricardo Signes</li><li>Richard Dawe</li><li>Robert Spier</li><li>Serguei Trouchelle</li><li>Shlomi Fish</li><li>Slaven Rezi&#263;</li></ul><p>Barbie and David would like to thank everyone for their involvement. Without these guys CPAN Testers 2.0 would not have been possible. Thanks to everyone, we can now look forward to another 10 years and more of CPAN Testers.</p><p> <a href="">CPAN Testers</a> now holds over 7.5 million test reports covering nearly 11 years worth of testing Perl distributions. There have been over 1,000 testers in that time, and every single one has helped the CPAN Testers project to be the largest single community supported testing system of any programming language. For a full list of everyone who has contributed, visit the <a href="">CPAN Testers Leaderboard</a>. A huge thank you to everyone.</p><p>With the Metabase now online and live, we can now announce an absolute deadline to close the mailing list. This is currently set as 31st August 2010. After this date all submissions via email will be rejected, and testers will be encouraged to upgrade their testing tools to take advantage of the new HTTP submission system. Many of the high volume testers have already moved to the new system, and we expect nearly everyone else to move in the next month. We will be tailing the SMTP submissions to catch those who haven't switched, such as some of the more infrequent testers, and warn them of the deadline.</p><p>More work is planned for CPAN Testers, from further validation and administration of reports, to providing more functionality for alternative analysis and search capabilities. Please check the <a href="">CPAN Testers Blog</a> for our regular updates.</p><p>If you'd like to become a CPAN Tester, please check the <a href="">CPAN Testers Wiki</a> for details about setting up a smoke testing environment, and join the <a href="">cpan-testers-discuss mailing list</a> where many of the key members of the project can offer help and advice.</p><p>You can find out more about CPAN Testers at two forthcoming conferences. David Golden will be presenting <a href="">"Free QA! What FOSS can Learn from CPAN Testers"</a> at OSCON and Barbie will be presenting <a href="">"CPAN Testers 2.0 : I love it when a plan comes together"</a> at YAPC::Europe.</p><p>CPAN Testers is sponsored by Birmingham Perl Mongers, and supported by the Perl community.</p><p>You can now <a href="">download the full and complete Press Release</a> from the CPAN Testers Blog. If you have access to further IT news reporting services, please feel free to submit the Press Release to them. Please let us know if you are successful it getting it published.</p><p>Cross-posted from the <a href="">CPAN Testers Blog</a> </p> barbie 2010-07-05T09:50:22+00:00 journal Late to the party, but I brought bottles <p>Published over at <a href=""></a> </p> BinGOs 2010-06-15T12:07:25+00:00 journal San Francisco Perl Mongers Twitter Feed <a href="">@sfperlmongers</a> Phred 2010-06-14T04:41:38+00:00 journal Hudson for Everybody Else <p>Joe McMahon will be talking about Hudson on June 22nd at 7pm, at the office of Mother Jones.</p><p>"Continuous integration" sounds like a great idea: you automatically run your build on every checkin, so you know very soon after you've committed if you make a mistake or checked in a bug. However, like any<br>properly lazy Perl programmer, the last thing you want to do is write more code; you want to take advantage of work that's already done: that's Hudson.</p><p>Hudson is a continuous integration server that's easy to set up, customize, and use. Unlike other similar Java-based tools, Hudson is language-agnostic, even well-integrated with other tools.For Perl<br>projects, with a little assistance from CPAN, it's easy to set up and use for Perl projects. We'll look at a sample setup that covers most of the bases, including a few pointers on making it easy to build and track things<br>under Hudson, and finish up with a look at using Hudson to get your team involved - even enjoying - continuous integration.</p><p>Announcement posted via App::PM::Announce</p><p>RSVP at Meetup - <a href=""></a></p> Phred 2010-06-10T20:01:52+00:00 journal Smokebrew - It is like perlbrew but different <p>Published over at <a href=""></a> </p> BinGOs 2010-06-08T14:50:38+00:00 journal JVM's -XX:-DontCompileHugeMethods &amp; dynamic languages <p>In <a href=""><nobr>.<wbr></nobr> html</a> which I just picked out of's front page I notice there's an ordinary 8K bytecode size limit for JVM heuristics.</p><p>Allegedly adding -XX:-DontCompileHugeMethods to the command line eliminates this limit.</p><p>In "current" versions of JVM which don't have the very new invokedynamic bytecode operation and languages implemented on top of the JVM like JRuby, I assume their implementation does all the dynamism as ordinary code. I assume then this means the bytecode sizes are artificially inflated and then possibly just missing out on this nice optimization.</p><p>Allegedly, this is one of those heuristics that moved Java from the "slow" category to "faster than C++".</p><p>Last year I found that MRI Ruby-1.9 and JRuby were equivalently fast as Perl 5 but now I wonder if the JRuby implementation I was using was missing out and possibly could go even *faster*.</p><p>FWIW, MRI Ruby-1.8 is 1/10 the speed of Perl 5.</p> jjore 2010-05-26T22:02:34+00:00 journal Technical Meeting - Wednesday 26th May 2010 <code> Event:&nbsp;&nbsp;&nbsp; Technical Meeting<br> Date:&nbsp;&nbsp;&nbsp;&nbsp;Wednesday 26th May 2010<br> Times:&nbsp;&nbsp;&nbsp;from 7pm onwards (see below)<br> Venue:&nbsp;&nbsp;&nbsp;The Victoria, 48 John Bright Street, Birmingham, B1 1BN.<br> Details:&nbsp;<a href=""></a> <br> </code> <p> <b>Talks:</b> </p><ul> <li>Accelerated web development with Catalyst [Richard Wallman]</li><li>CPAN Testers 2.0 - "I love it when a plan comes together" [Barbie]</li></ul><p> <b>Details</b> </p><p>This month we welcome a returning guest speaker, Richard Wallman, who will be taking a look at how Catalyst has eased the development lifcycle of websites, from his own experiences. In addition I'll be looking at the progress of the CPAN Testers 2.0, and looking at some of the near future plans for CPAN Testers.</p><p>As per usual, this month's technical meeting will be upstairs at The Victoria. The pub is on the corner of John Bright Street and Beak Street, between the old entrance to the Alexandra Theatre and the backstage entrance. If in doubt, the main entrance to the Theatre is on the inner ring road, near the Pagoda roundabout. The pub is on the road immediately behind the main entrance. See the map link on the website if you're stuck.</p><p>As always entry is free, with no knowledge of Perl required. We'd be delighted to have you along, so feel free to invite family, friends and colleagues<nobr> <wbr></nobr>;)</p><p>Some of us should be at the venue from about 7.00pm, usually in the backroom downstairs. Order food as you get there, and we'll aim to begin talks at about 8pm. I expect talks to finish by 9.30pm, with plenty of time for discussion in the bar downstairs.</p><p> <b>Venue &amp; Directions:</b> </p><p> The Victoria, 48 John Bright Street, Birmingham, B1 1BN<br> - <a href=";from=&amp;promotion=">Pub Details</a> <br> - <a href="">Picture</a> <br> - <a href=";client=firefox-a&amp;q=the+victoria+pub&amp;near=Birmingham&amp;radius=0.0&amp;cd=1&amp;cid=52482921,-1893619,7492755984503563963&amp;li=lmd&amp;z=14&amp;t=m">Google Map</a></p><p>The venue is approximately 5-10 minutes walk from New Street station, and about the same from the city centre. On street car parking is available see full details and directions on the <a href="">website</a>.</p><p> <b>Times:</b> </p><p>These are the rough times for the evening:</p><ul> <li>food available until 9.00pm</li><li>talks: 8.00-10.00pm</li><li>pub closes: 11.00pm</li></ul><p>Please note that beer will be consumed during all the above sessions<nobr> <wbr></nobr>;)</p> barbie 2010-05-24T19:26:06+00:00 journal Stop the debugger when a test fails <p>I was debugging some test failures earlier this morning but they were in the middle of a long test script. I thought it'd be nice if I could step through the test with the debugger and just stop whenever a test failed.</p><p>Here's the result. A test failure immediately followed by being in the debugger:</p><blockquote><div><p> <tt>not ok 236<br>14:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return $result;<br>&nbsp; DB&lt;1&gt;</tt></p></div> </blockquote><p>and then I could ask for the stack trace which is nice:</p><blockquote><div><p> <tt>&nbsp; DB&lt;1&gt; T<br>. = main::ok(undef) called from file `t/02_methods.t' line 796<br>. = main::check_tar_extract(ref(Archive::Tar), ref(ARRAY)) called from file `t/02_methods.t' line 507</tt></p></div> </blockquote><p>I wrote the below snippet to automatically stop the debugger whenever something like ok() failed. Currently you can just drop this right after your "use Test::More" statement. I think possibly this kind of idea should be packaged in a no-muss CPAN module or perhaps directly right into Test::More.</p><blockquote><div><p> <tt># Wrap Test::More functions with debugger breakpoints<br>BEGIN {<br>&nbsp; &nbsp; use B;<br> &nbsp; <br>&nbsp; &nbsp; # Enumerate over all symbols in the main:: symbol table.<br>&nbsp; &nbsp; SYMBOL:<br>&nbsp; &nbsp; for my $symbol ( sort keys %main:: ) {<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Choose only things that are functions.<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; no strict 'refs';<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; next SYMBOL if ! defined &amp;$symbol;<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Get a reference to the function.<br>&nbsp; &nbsp; &nbsp; &nbsp; my $code = do {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; no strict 'refs';<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \&amp;$symbol;<br>&nbsp; &nbsp; &nbsp; &nbsp; };<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Get a B::CV object so I can get at meta-data about the<br>&nbsp; &nbsp; &nbsp; &nbsp; # function.<br>&nbsp; &nbsp; &nbsp; &nbsp; my $cv&nbsp; &nbsp;= B::svref_2object( $code );<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Get the path to the compilation file. Will often be a path like<br>&nbsp; &nbsp; &nbsp; &nbsp; # '/usr/share/perl/5.10/Test/'.<br>&nbsp; &nbsp; &nbsp; &nbsp; #<br>&nbsp; &nbsp; &nbsp; &nbsp; # To visually inspect other meta-data possibly available about this function:<br>&nbsp; &nbsp; &nbsp; &nbsp; #<br>&nbsp; &nbsp; &nbsp; &nbsp; #&nbsp; &nbsp; &nbsp;use Devel::Peek;<br>&nbsp; &nbsp; &nbsp; &nbsp; #&nbsp; &nbsp; &nbsp;Dump( $code );<br>&nbsp; &nbsp; &nbsp; &nbsp; #<br>&nbsp; &nbsp; &nbsp; &nbsp; my $src_file = $cv-&gt;FILE;<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Select only functions coming from files named like<br>&nbsp; &nbsp; &nbsp; &nbsp; #<nobr> <wbr></nobr>.../Test/<br>&nbsp; &nbsp; &nbsp; &nbsp; next SYMBOL if $src_file !~ m{/Test/More\.pm$};<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Propagate the old function's prototype to the new function.<br>&nbsp; &nbsp; &nbsp; &nbsp; my $prototype = prototype $code;<br>&nbsp; &nbsp; &nbsp; &nbsp; my $new_prototype =<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defined $prototype<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ? "($prototype)"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : '';<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; # Generate the new function and replace the old function. The new function<br>&nbsp; &nbsp; &nbsp; &nbsp; # has access to the original via the closed-over $old variable.<br>&nbsp; &nbsp; &nbsp; &nbsp; my $src = qq{<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; no warnings 'redefine';<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sub $symbol $new_prototype {<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Call the original function and get the test pass/fail.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; my \$result = \$code-&gt;( \@_ );<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Debugger single-stepping mode if the test failed.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ( ! \$result ) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \$DB::single = 1;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Return the test/failure.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return \$result;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br> &nbsp; <br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Compilation of the new function succeeded?<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1;<br>&nbsp; &nbsp; &nbsp; &nbsp; };<br>&nbsp; &nbsp; &nbsp; &nbsp; eval $src<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; or die $@;<br>&nbsp; &nbsp; }<br>}</tt></p></div> </blockquote> jjore 2010-05-09T17:43:40+00:00 journal PL/Parrot, a DSL construction kit for PostgreSQL <p>What do you get when you cross a parrot with an elephant? Find out! PL/Parrot is a DSL construction kit for PostgreSQL, and much, much more. Stay tuned for more details. David Fetter will give us the ins and outs of PL/Parrot.</p><p>This meeting will take place on Tuesday, May 25th at 7pm at Six Apart World Headquarters.</p><p>Parrot home page:</p><p>PL/Parrot on GitHub:</p><p>David Fetter's home page:</p><p>Announcement posted via App::PM::Announce</p><p>RSVP at Meetup - <a href=""></a></p> Phred 2010-05-07T18:35:25+00:00 journal Bob Jacobsen interview on FLOSS Weekly Last week, I interviewed Bob Jacobsen for FLOSS Weekly. Bob used Perl's Artistic 1.0 license on some Java code to manage model trains. The code was later patented by an Oregon-based company(!) and then Bob got sued(!!) for Bob distributing the other company's patented code(!!!). The good part of the story is that this is the first test at the US Federal Appeals Court level for an open source license to be enforceable even if no money exchanges hands, and... we won! <p> Bob spent a lot of time and money on the case though. Listen to <a href="">the podcast</a> and contribute to <a href="">his legal defense</a> if you care about open source.</p> merlyn 2010-04-23T03:55:11+00:00 journal Ding Dong! The Witch is Dead! <p> <code>$ git show --stat 75108aefc8b50fcf<br> commit <a href="">75108aefc8b50fcf2f053da2df34756c7b269a1f</a> <br> Author: Nicholas Clark &lt;;<br> Date: Mon Apr 19 20:35:54 2010 +0100<br> <br> Remove Switch from the core distribution. Get it from CPAN now.<br> <br> &nbsp;MANIFEST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;9&nbsp;-<br> &nbsp;Porting/;&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;-<br> &nbsp;dist/Switch/Changes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;121&nbsp;-------<br> &nbsp;dist/Switch/MANIFEST&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;9&nbsp;-<br> &nbsp;dist/Switch/META.yml&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;14&nbsp;-<br> &nbsp;dist/Switch/Makefile.PL&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;7&nbsp;-<br> &nbsp;dist/Switch/README&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;26&nbsp;--<br> &nbsp;dist/Switch/;&nbsp;&nbsp;|&nbsp;&nbsp;875&nbsp;-----------------------------------------------<nobr> <wbr></nobr> <br> &nbsp;dist/Switch/t/given.t&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;272&nbsp;---------------<br> &nbsp;dist/Switch/t/nested.t&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;35&nbsp;--<br> &nbsp;dist/Switch/t/switch.t&nbsp;&nbsp;|&nbsp;&nbsp;272&nbsp;---------------<br> 11 files changed, 0 insertions(+), 1650 deletions(-)<br> </code> </p><p>It's taken about 2 years, from the original idea on how to smoothly migrate modules out, getting agreement from Andreas and Jos in the buffet queue at <a href="">YAPC::Europe 2008</a>, a lot of "fun" re-ordering <code>@INC</code>, coding by Andreas, Jos, BinGOs and David Golden, and Jesse getting a 5.12.0 release out, but finally, now Ding-Dong! The Witch Is Dead.</p><p>Albeit only in <a href="">blead</a>. Not even in a dev release <b>yet</b>, let alone stable. But these things will come...</p> nicholas 2010-04-21T21:10:27+00:00 journal Random thing to phase Dean <p>It seems that I haven't seen <i>The Sound of Music</i> recently enough*. I can't remember more than a couple of lines from any of the songs, despite being confident about the tunes. Hammerstein would be frustrated. Rogers, I assume, happy enough. <a href="">Dean Wilson</a> likely will comment that I have too much time on my hands, as seemingly surreal blog entries like this one seem to perturb him.</p><p> <small>* I don't know whether this is a bug or a feature.</small> </p> nicholas 2010-04-21T20:58:26+00:00 journal relaunch done <p>The new and shiny <a href=""></a> is finally online!</p><p>As you might expect it's crafted using the finest ingredients of Modern Perl: Catalyst, DBIx::Class, Moose, HTML::FormHandler, KinoSearch. Relaunching the site was a nice project, even though there were some setbacks:</p><p>I was forced to switch from Postgres to MySQL (using - the horrors - MyISAM), so I couldn't use any real database features like transactions and referential integrity; the launch date was postponed a few times, so I couldn't help organising the QA Hackathon as much as I wanted (in fact I can also not attend all days, because I want to spend some time with my family before leaving for Berlin / Icleand).</p><p>Anyway, after fixing some last post-deployment glitches everything seems to work now. Yay!</p> domm 2010-04-09T06:58:47+00:00 journal Rocket fuel review <p>So, mostly conclusions without much justification. Of the recent consumption:</p><dl> <dt> <a href="">Weston's Vintage Special Reserve</a></dt><dd>I didn't like this as much as the first time I had it. It feels like it's over doing it somehow.</dd><dt> <a href="">Thatchers' Katy</a> </dt><dd>Nicer than the Special Reserve.</dd><dt> <a href="">Weston's Perry</a> </dt><dd>Want more. Seriously drinkable. Seriously dangerous*.</dd><dt>Brother's Festival Cider</dt><dd>I didn't like it that much. It has a slight rough undertone, like there's a trace of scrumpy in it. But I wasn't trying to drink paint stripper (this time).</dd></dl><p>Unfortunately I have run out of Katy and Perry. There will have to be a third place drink-off between the Special Reserve and the Festival Cider. Carefully. And not on a school night.</p><p> <small>* Trumps Apple Hooch in the "danger" category. To me, Apple Hooch tastes like Appletize. Problem is that I know that Appletize is non-alcholic, and don't pace myself. Only Apple Hooch is (well, was) 5% ABV. Weston's Perry is 7.4%.</small></p> nicholas 2010-04-04T20:22:16+00:00 journal My Perl presentations now on SlideShare <a href="">Here they are.</a> There's a couple more I need to dig up, some in text format. Phred 2010-04-04T01:32:30+00:00 journal HTML::FormHandler, a talk at <p>As the second talk in a series of talks on form handling, Bryan Beeley will be presenting a talk on the HTML::FormHandler, a Moose based form rendering and validation framework, on April 27th, 2010 at Six Apart World Headquarters.</p><p>HTML::FormHandler is an object oriented framework for form-specific data model, HTML rendering and data validation code. Simple forms can be rendered, parameters can be parsed, data can be validated, and validated data can be submitted to your database with a minimal amount of code using built-in input field types. Leveraging the power of Moose, HTML::FormHandler allows more complicated forms to override some or all of the built-in functionality while maintaining a common interface.</p><p>This meeting will take place on Tuesday, April 27rd at 7pm at Six Apart World Headquarters.</p><p>HTML::FormHandler on CPAN:<br></p><p>Announcement posted via App::PM::Announce</p><p>RSVP at Meetup - <a href=""></a></p> Phred 2010-04-01T17:21:36+00:00 journal svn to mercurial? <p>Dear lazyweb...</p><p>We're using Trac at work. It's made of <a href="">software</a>, but some software is more equal than others. In particular, we're planning to move from subversion to mercurial, because Trac seems to work nicely (enough)* with mercurial, unlike git.</p><p>So, what's the best way to convert a 20000 revision svn repository to mercurial? We have branches, which it would be nice to convert to real branches. I have some idea how to do this for svn to git, including branches and tags, but not for mercurial.</p><p> <small>* svn <i>vs.</i> Trac - which sucks more? The ultimate cagematch.</small> </p> nicholas 2010-04-01T14:14:06+00:00 journal Perl QA Hackathon 2010 Update The <a href="">hackathon</a> will start in ~ 2 weeks, so here's a quick update on our status: <ul> <li>We have a new sponsor: <a href=""></a>. Yay! pst++</li> <li>Unfortunately David Golden, Ricardo Signes and Barbie can not make it.</li> <li>We accepted two last-minute requests from Miyagawa and Gabor Szabo.</li> <li>There was a tiny problem with the hotel, which luckily got spotted by Ovid. We have fixed that problem now.</li> <li>We will meet next week (during the monthly meeting which will from now on take place on the first Thursday each month) to discuss the agenda etc.</li> </ul><p>We're all very much looking forward to the event!</p> domm 2010-03-27T08:44:34+00:00 journal My Data::FormValidator Simplified talk slides <p> <a href=""></a> </p> Phred 2010-03-27T02:40:05+00:00 journal