Perl

  • add this feed to my.Alltop
    Planet Perl
  • Benchmarking MooseX::Method::Signatures

    Dave Rolsky
    I've been seeing some talk about MooseX::Method::Signatures and its speed. Specifically, Ævar Arnfjörð Bjarmason said says that MXMS is about 4 times slower than a regular method call. He determined this by comparing two different versions of a large program, Hailo. This is interesting, but I think a more focused benchmark might be useful. Specifically, I'm interested in comparing MXMS to something else that does similar validation. One of the main selling points of MXMS is its excellent integration of argument type checking, so it makes no sense to compare MXMS to plain old unchecked…
  • Release Announcements.

    csjewell
    Turning and turning in the widening gyreThe falcon cannot hear the falconer;Things fall apart; the centre cannot hold;Mere anarchy is loosed upon the world...Surely some revelation is at hand;Surely the Second Coming is at hand.  —William Yates, The Second ComingI've got 3 release announcements to do: Strawberry Perl January 2010. It's been out for over a week - I really should start writing these release announcements beforehand. This is an "upgrade version" - The only new module is GDBM_File. There are a number of non-user-facing internals changes, however. Things…
  • Devel::NYTProf - Perl profiling links needed

    Ranguard
    A conversation on IRC this morning... 07:46 XXXX damn... is it normal for DProf/Profiler to not work correctly with moose stuff? 07:46 aaaa people still use dprof? 07:47 XXXX people who might not be aware of alternatives, sure 07:48 XXXX what would you suggest instead then? 07:49 aaaa Devel::NTYProf is THE profiller these days :) 07:52 XXXX unfortunately googling perl profiling doesn't take you anywhere near it :( So, I'd like to talk about Perl profiling, or even profiling Perl. Devel::NYTProf doesn't make the claim that it is THE Perl profiler, but it really does seem to be the best…
  • Can you help identify ambiguous CPAN distributions?

    David Golden
    Hello, Perl community. As I work on converting legacy CPAN Testers (CT1.0) reports to the new CPAN Testers 2.0 (CT2.0) format, I’ve encountered a curious conundrum and could use some volunteer help. CT1.0 indexes reports based on the distribution name and version, e.g. “Foo-Bar-1.23″. This is an unfortunate historical accident, since PAUSE does not prevent uploads with the same file name to different author directories: JDOE/Foo-Bar-1.23.tar.gz JQPUBLIC/Foo-Bar-1.23.tar.gz CT2.0 will index reports based on the full unique distribution file path. I’m currently working…
  • Why Ruby is prettier and Padre changes the Perl community

    Adam Kennedy
    Why is PHP so much easier for newbies?Why does Java have the best IDE tools?Why is Ruby prettier than Perl?Why does Perl have the best package repository?As I've played through Mass Effect 2 over the last few weeks, I see some interesting parallels.In the Mass Effect universe, human technology is bootstrapped by the discovery of an ancient abandoned alien observation outpost on Mars, and the further discovery that the dwarf planet Charon is really an abandoned but active interstellar jump gate covered in ice.Other similar species have done the same, resulting in a galactic community of around…
  • add this feed to my.Alltop
    Planet Parrot
  • Andrew Whitworth: GSoC Idea: Bytecode improvements

    9 Feb 2010 | 5:43 am
    Bytecode.It's a part of the VM that really "just works" and so nobody spends much time playing with it. This is not to say that nobody has touched it, but in my tenure as a Parrot developer I have not seen nearly so much development on the entire subsystem as I have seen in other places. This has been changing recently with some cleanups to the freeze/thaw system, which is related to the bytecode system. There are several packfile-related PMC types waiting in the wings, but Parrot only uses them as a thin wrapper layer to provide PBC access from PIR.There are several issues that need…
  • Andrew Whitworth: GSoC Idea: Parrot + RTEMS

    8 Feb 2010 | 12:13 pm
    By background I'm an embedded systems guy. In college I spent years focusing on microcontroller systems and FPGA hardware. I'm not going to spend the whole post reminiscing about the "good-ole' days" when I still worked down on the metal, but I do want to express my particular fondness for this next GSoC project idea: The Parrot-on-RTEMS port.Jonathan Leto has been spearheading the project so far, but it's become clear that there are some major deficiencies in Parrot's cross-compilation facilities to enable Parrot to build and run properly on a real-time OS like RTEMS. Also, there are other…
  • Andrew Whitworth: ParrotTheory: Threading

    7 Feb 2010 | 1:57 am
    Threading is one of those technologies, buzzwords, that is supposed to be the future of computer programming. It's one of those things that is supposed to be all things to all people: improved scalability and performance, better utilization of hardware, and it can even cure the blind. The idea is that threading will allow applications to scale and take advantage of new multicore processors that companies like Intel and AMD are creating. Like any tool, threading can be a huge help to certain people for certain classes of applications. However, threading can also bring with it a large number of…
  • Jonathan Worthington: Catching up: two Rakudo Days from December

    6 Feb 2010 | 2:45 pm
    Today plenty happened in Rakudo land - in fact, it was my most active day's Rakudo hacking in quite a while. colomon++ also made some great commits, and between us a lot of things moved forward today. For my part, hashes and pairs are in much better shape.I wrote before that I'd got some Rakudo days left to write up; there are two of them, but I'll cover them both in this post, since some of the work crossed the two of them anyway. Here's what I got up to between them. Filled out attribute composition logic for role application. A good chunk of this was written in NQP - in fact, all of the…
  • Andrew Whitworth: Parrot-Data-Structures Benchmarks

    6 Feb 2010 | 12:14 pm
    When I first conceived of the Parrot-Data-Structures project, I envisioned a place where we could develop performance-optimized PMC types. A part of proving that we've improved performance is to provide benchmarks. So, this morning I went through and wrote up some naive benchmarks to compare several of my new PMC types against the venerable ResizablePMCArray. I didn't compare against the FixedPMCArray because the latter doesn't support push/pop/shift operations and I wouldn't be able to make direct algorithmic comparisons.I've only put together one benchmark so far for stacks: We push…
 
  • add this feed to my.Alltop
    The Perl Foundation
  • YAPC::NA 2010 Update

    Josh McAdams
    8 Feb 2010 | 5:33 pm
    The YAPC::NA 2010 website has been up for a while, but it is now officially integrated with Act. Be sure to visit soon, create an account if you don't already have one, and start getting ready for the conference. Remember that the conference is June 21st through 23rd 2010 at Ohio State University. Registration will be $100 ($90 early-bird), which day-passes available.
  • Grant Proposal: Fixing Perl5 Core Bugs

    Karen
    7 Feb 2010 | 7:39 am
    David Mitchell has submitted a grant proposal, which if accepted would make use of a portion of the funding generously provided to TPF by Booking.com. Before the Board votes on this proposal we would like to get feedback and endorsements from the Perl community. Please leave feedback in the comments or send email with your comments to karen at perlfoundation.org. Grant Title: Fixing perl5 core bugs Name: David Mitchell Amount Requested: $25,000 Synopsis Recently, booking.com donated $50K for the "further development and maintenance of the Perl programming language". I would like part of that…
  • 2010Q1 Grant Proposals

    Alberto Simões
    6 Feb 2010 | 9:00 am
    For this quarter TPF has three grant proposals that were not funded in 2009Q3 round and that will be discussed and voted again in this round, and four new grant proposals: Creating a ctypes-Like Interface for Perl to External Subroutines by Shlomi Fish Enhancing CPANHQ by Shlomi Fish perl core memory improvements by Jim Cromie Enhancing Perl 6 Pattern Matching by Morris M. Siegel Perl Compiler by Reini urban CPAN Reviews by Alexandr Ciornii Improve Dist::Zilla by Ricardo Signes Please take some time to comment on these proposals. TPF Grants Committee is very interested in community feedback…
  • 2010 Grant Proposal: Improve Dist::Zilla

    Alberto Simões
    6 Feb 2010 | 9:00 am
    Improve Dist::Zilla's Tests, Documentation, and Structure Name: Ricardo Signes Email: rjbs@cpan.org Amount Requested: $2000 Synopsis Dist::Zilla is a tool that helps Perl programmers build distributions for the CPAN. It eliminates boilerplate, handles packaging, interfaces with changelogs and version control, improves prerequisite management, and generally makes it easier to be a CPAN author. This grant will fund work to make it easier for new users to adopt Dist::Zilla and for Dist::Zilla itself to be more easily extended, maintained, and understood. Benefits to the Perl Community…
  • 2010 Grant Proposal: CPAN Reviews

    Alberto Simões
    6 Feb 2010 | 9:00 am
    CPAN reviews Name: Alexandr Ciornii ('chorny' on IRC and PAUSE). Email: [hidden email] (backup) [hidden email] Amount Requested: $1200 Synopsis Many CPAN modules have good documentation, many have bad documentation. But there is no such thing as enough documentation. There are many good reviews, examples, descriptions outside CPAN. I propose to collect them and cataloguize. I want to make a site with links to reviews of CPAN modules. In general this site should be community-moderated, community-edited and allow users adding links to do minimal work first and enhance later, i.e. use this site…
  • add this feed to my.Alltop
    Planet Perl Six
  • Carl Masak: The typo trap: a farcical FAQ

    8 Feb 2010 | 4:54 am
    Help! I'm getting the error "invoke() not implemented in class 'Undef'" in my large application. What did I do wrong? You've mistyped a class name which sits inside a namespace. How am I supposed to figure that out? I didn't say it was a particularly good error message.It's like this: if you mistype a class name which is not in a namespace, you'll get an informative error message: $ perl6 -e 'A.foo' Could not find non-existent sub A in Main (file src/gen_setting.pm, line 324) However, if you mistype a class name which is in a namespace, you will get an uninformative error message: $ perl6 -e…
  • Jonathan Worthington: Catching up: two Rakudo Days from December

    6 Feb 2010 | 2:45 pm
    Today plenty happened in Rakudo land - in fact, it was my most active day's Rakudo hacking in quite a while. colomon++ also made some great commits, and between us a lot of things moved forward today. For my part, hashes and pairs are in much better shape.I wrote before that I'd got some Rakudo days left to write up; there are two of them, but I'll cover them both in this post, since some of the work crossed the two of them anyway. Here's what I got up to between them. Filled out attribute composition logic for role application. A good chunk of this was written in NQP - in fact, all of the…
  • Jonathan Worthington: The importance of a break

    5 Feb 2010 | 4:31 pm
    Several days before Christmas, encouraged by my mum asking, "when you're going to start your Christmas break", I stopped working and hacking on stuff and started relaxing. Until then, I hadn't realized just how tired I was. I slept quite a few ten hour nights in the following week, and had an enjoyable Christmas break. I'd figured I'd maybe take a week or so's break, and then get straight back to things, but a week on I had no motivation or energy to dig in again whatsoever. So, I decided my break would go on through New Years. New Year's celebrations this year involved curry - something I…
  • Carl Masak: Blast from the past: E02

    4 Feb 2010 | 6:47 am
    SF took my challenge to heart and started producing a "modern Perl 6" version of the example code in E02. His thought process can be seen here, and here.After being a bystander for a few hours, I coulndn't restrain myself anymore: I produced my own version. I should say at once that it's quite different from SF's: while he keeps close to the original E02 (which, in turn, sets out to prove that Perl 6 is/was not very different from Perl 5), my version is a bit more liberal in its interpretation. I do mix in some of my personal preferences into it. Some examples: We don't do $ARGS…
  • Herbert Breunung: [Help] Diploma, Pills and enlarge your Perl

    1 Feb 2010 | 3:54 pm
    Yes my November edits are on halt so I gave the TPF Perl 6 wiki some love. Repeatedly that Wiki gets spammed. Unfornunately i didn't found the admin, so had to deleted all spam by hand. If anybody reading that, please help to tighten this socialtext instalation.
 
  • add this feed to my.Alltop
    Modern Perl Books, a Modern Perl Blog
  • Chunking and Programming Languages

    chromatic
    8 Feb 2010 | 5:15 pm
    Some of my biases are transparent. For example, I believe that many of the complaints of Perl's "unreadability" are from people who've never bothered to learn how to read the language. You often see this from people who say "Sigils? Pfft. They're useless—mere syntactic noise!" Linguists may disagree. One of the early inventions in written language was punctuation. In specific, adding spaces between words (and even vowels, in some languages... yes, my history studies have come in useful while programming) makes documents easier to read. The same goes for punctuation. It's easy enough to…
  • A Perl Programming Maintenance Checklist

    chromatic
    4 Feb 2010 | 1:52 pm
    Polemic: anyone who believes that any specific general purpose programming language is inherently unmaintainable has opinions on software development worth ignoring. Many people claim that the design of Perl 5 has such significant flaws that render it far too difficult to write and maintain useful programs. Many of the supporting arguments are syntactic preferences. "I don't like sigils!" "Context make no senses to my!" "Real men don't need your sissy curly braces to accompany our manly indentation!" "Isn't bless a little bit cutesy for our Serious Enterprise Business Application?" Other…
  • When Context Gets Complicated (and why it's not a problem)

    chromatic
    1 Feb 2010 | 3:39 pm
    In Essential Skills for Perl 5 Programmers I mentioned that no one can be an adept Perl programmer without understanding context. This trips up many, many people -- and you often hear (unfair) criticisms of Perl 5 based on misunderstandings and guesses about how context works. Context is reasonably easy to explain. (The previous sentence is grammatically correct.) Contexts is not difficult to understands. (The previous sentence is grammatically incorrect, even if you speak the Queen's English.) If you can find the errors in the previous paragraph, you can understand quantity context in Perl…
  • Subtle Encouragement Toward Correctness

    chromatic
    28 Jan 2010 | 3:38 pm
    I've been writing the Moose section of the Modern Perl book for the past week. Stevan (and other people) suggested that I explain how to create and use objects in Perl with Moose before explaining the bare-bones blessed reference approach. They were right. I'm assuming that readers don't necessarily have the theoretical understanding of how objects work and why, of why Liskov substitutability is important, of what allomorphism means, and why polymorphism and encapsulation are much more interesting than inheritance. I don't even assume that readers know any of those words. Yet I've noticed…
  • Divine Meaning from Meaningless Numbers

    chromatic
    25 Jan 2010 | 11:22 am
    perl5i is back on the CPAN. perl5i is important because it may help shape the future of Perl 5. (Perl 5 experts and CPAN cognoscenti already know how to add dozens of pragmas and utility modules to every Perl 5 file they write, but that's annoying even for us and inaccessible to the other six and a half billion people on the planet.) When people writing about Perl 5 in 2010 can find better answers in the sparse Ruby documentation than the Perl 5 documentation, something is wrong... but that's a far different story. perl5i is again available and you should experiment with it. Why was it gone…
  • add this feed to my.Alltop
    PerlBuzz
  • Help keep the world safe from SQL injection

    Andy Lester
    6 Feb 2010 | 12:42 pm
    A while back, I put up bobby-tables.com as a repository for showing people the right way to handle external data in their SQL calls. Whenever someone pops up on a mailing list or IRC and they're building SQL statements using external tainted data, you can just refer them to the site. In the past few days, I've spiffed up the site (with design help from Jeana Clark) and added pages on Perl and PHP. I need more examples, though. It's 2010, and there's no reason anyone shouldn't know about parameterized SQL calls. The site source is hosted on github, so if you have any contributions, please fork…
  • Perlbuzz news roundup for 2010-02-01

    Andy Lester
    1 Feb 2010 | 8:43 am
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Famous Perl One-Liners Explained, Part IV: String and Array Creation (catonmat.net) Run invdividual Test::Class methods in vim (blogs.perl.org) A regular expression tip every day from @regextip (and not just Perl regexes) A few resources for women in open source (itworld.com) The next QA hackathon: What do you need? (blogs.perl.org) YAPC::NA 2010 dates announced: June 21-23, 2010 (news.perlfoundation.org) Pod: Now with sane web links (justatheory.com) Creating…
  • Perlbuzz news roundup for 2010-01-07

    Andy Lester
    7 Jan 2010 | 7:48 am
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Decoding climate change with Perl, gnuplot and Google Earth (radar.oreilly.com) Musical chord analysis with CPAN (use.perl.org) Schwern on a pet peeve of mine: Numbered test file abuse (use.perl.org) eumm-migrate - easy way to migrate to Module::Build (use.perl.org) Readable Perl (blogs.perl.org) CPAN's greatest hits: Path::Class (use.perl.org) Spreadsheet::WriteExcel now supports embedding charts (blogs.perl.org) Cool things in Perl 6: Subsets (blogs.perl.org)…
  • Devel::NYTProf 3.0 is out, more mindblowing than ever

    Andy Lester
    28 Dec 2009 | 5:53 pm
    Go run to the announcement about Devel::NYTProf v3.0. Marvel at the code profiling goodness. Highlights include: Ability to profile opcodes, which means... NYTProf can now profile slow regular expressions More detailed stats on BEGIN blocks Treemap of subroutines Tracking of which subs called which other subs Graphing of sub calls Improved report output Ability to merge profile runs, such as when a process spawns other processes like mod_perl code does. Already I have found that my regular expression compilation is taking 6% of the runtime in my sample runs in ack. I had no idea. Just…
  • Perlbuzz news roundup for 2009-12-22

    Andy Lester
    22 Dec 2009 | 11:42 am
    These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. How to import Gravatars into Gmail with 121 lines of Perl (dagolden.com) RT @davorg From Amazon.com: After viewing "Data Munging With Perl" 61% of customers buy "I Drink For A Reason" (@davorg is the author of the book) ack 1.92 is now out (betterthangrep.com) Why learn Perl in 2009? (news.ycombinator.com) Screencast about ack from @yerhot (fosscasts.com) Presenting Module::Starter 1.54 (use.perl.org) Make the pragmas stop! (justatheory.com) A collection of…
 
  • add this feed to my.Alltop
    House Absolute(ly Pointless)
  • Benchmarking MooseX::Method::Signatures

    Dave Rolsky
    9 Feb 2010 | 9:45 am
    I've been seeing some talk about MooseX::Method::Signatures and its speed. Specifically, Ævar Arnfjörð Bjarmason said says that MXMS is about 4 times slower than a regular method call. He determined this by comparing two different versions of a large program, Hailo. This is interesting, but I think a more focused benchmark might be useful. Specifically, I'm interested in comparing MXMS to something else that does similar validation. One of the main selling points of MXMS is its excellent integration of argument type checking, so it makes no sense to compare MXMS to plain old unchecked…
  • Moose Class in Minneapolis - Friday, February 5, 2009

    Dave Rolsky
    15 Jan 2010 | 8:56 am
    I'm doing my one-day Moose class here in Minneapolis again, as part of Frozen Perl. The class is even cheaper this time, as a special deal for the workshop. It's a mere $100 per person! The class is an interactive course, meaning you bring your laptop and do exercises in between lecture sections. It covers all the basics of Moose, and even gets into some of the more advanced bits. Here's what students who took the class back in September said: "The exercises were awesome! I really love how they were set up as test cases--there is really no other way to give this much feedback!" - wu "Using…
  • Project Stack Push/Pop

    Dave Rolsky
    2 Dec 2009 | 2:26 pm
    I have an amazing ability to get distracted from my goals when programming. Sometimes it feels like each project I work on is just the latest distraction from what I was working on. Usually this happens because I'm happily hacking away on project A until I hit a roadblock. That roadblock might be a missing feature in a module I'm using, or maybe a module I need that doesn't exist. Sometimes the roadblock is a gap in my understanding. I don't know how to do what I want in a satisfactory way, so I need to learn more about a tool, or just experiment with ways to approach the problem. I push a…
  • What's the Point of Markdent?

    Dave Rolsky
    28 Nov 2009 | 8:40 am
    Markdent is my new event-driven Markdown parser toolkit, but why should you care? First, let's talk about Markdown. Markdown is yet another wiki-esque format for marking up plain text. What makes Markdown stand out is it's emphasis on usability and "natural" usage. It's syntax is based on things people have been doing to "mark up" plain text email for years. For example, if you wanted to list some items in a plain text email, you'd wite something like: * List item 1 * List item 2 * List item 3 Well, this is how it works in Markdown too. Want to emphasize some text? *Wrap it in asterisks* or…
  • Want Good Tools? Break Your Problems Down

    Dave Rolsky
    27 Nov 2009 | 1:12 pm
    I've been working a new a project recently, Markdent, an event-driven Markdown parser toolkit. Why? Because the existing Perl Markdown tools just aren't flexible enough. They bundle up Markdown parsing with HTML conversion all in one API, and I need to do more than convert to HTML. This sort of inflexibility is quite common when I look at CPAN libraries. Looking back at the Perl DateTime Project, one of my big problems with all the other date/time modules on CPAN was their lack of flexibility. If I could have added good time zone handling to an existing project way back then, I probably would…
  • add this feed to my.Alltop
    chromatic's Journal
  • Perl 6 Design Minutes for 27 January 2010

    chromatic
    29 Jan 2010 | 1:00 pm
    The Perl 6 design team met by phone on 27 January 2010. Larry, Allison, Patrick, and chromatic attended. Larry: tweaked definition of when a series operator is considered infinitenailed down more list assignment semantics with respect to interatorsclarified how ($a, $b, @a) = 1..* works KeyWeight deletion criterion kept consistent with other KeyHash typesnegative keyweights are allowed to fail at pick time"mostly eager" now assumes unknown closure generators are probably infiniterandom whackage on List, Seq, Parcel, Capture, Iterator, Nil etc. List is now simply the iterator role, and doesn't…
  • Perl 6 Design Minutes for 20 January 2010

    chromatic
    27 Jan 2010 | 4:10 pm
    The Perl 6 design team meet by phone on 20 January 2010. Allison, Patrick, Will, and chromatic attended. Allison: did distro testing on Ubuntu and the Macset up a Hardy chroot; Parrot works just fine therehave a feeling we missed some deprecations, but we have a lot in thereenough to work on for three months c: I added the STRING idea, to give us the possibility of the value semantics change Allison: less stressful to have three months at a timeotherwise working on class assignments Patrick: family illness knocked me out for a few dayswe'll postspone the January release for up to a weekgoing…
  • Perl 6 Design Minutes for 13 January 2010

    chromatic
    26 Jan 2010 | 2:54 pm
    The Perl 6 design team met by phone on 13 January 2010. Larry, Patrick, and chromatic attended. Larry: made constant declarations more consistent with type declaration syntaxremoved various spec fossils regarding the old :by modifierreworked KeyHash docs to make the semantics clearerrefactored regex AST methods out of Cursorsymbol table files are now compiled into their own subdirectorySTD can now use modules defined in the test suitetesting STD against the test suite now produces many fewer warnings about missing modulesSTD now specifically disallows forms like :!foo(0) and :5bar[42] that…
  • Perl 6 Design Minutes for 06 January 2010

    chromatic
    22 Jan 2010 | 4:12 pm
    The Perl 6 design team met by phone on 06 January 2010. Larry, Allison, Patrick, Will, and chromatic attended. Larry: in Spec Land, renamed p{} to qp{} to avoid using up another common single letterbare say/print is now just a warningCarl Mäsak dug up fossilized restriction on hash literals, which I removedsince the insides of blocks are now parsed as statements, there is no longer an inconsistency in line-ending curliesrefined the picking vs grabbing semantics with respect to immutable vs mutable bags and suchto avoid legacy confusion, renamed break/continue to succeed/proceed clarified…
  • Perl 6 Design Minutes for 16 December 2009

    chromatic
    21 Jan 2010 | 5:52 pm
    The Perl 6 design team met by phone on 16 December 2009. Allison, Patrick, Jerry, and chromatic attended. Patrick: finished my Hague Grantsent the final report to Jesse to wild approvaldrafted a new version of PDD 31 on HLL interopwrite some code to implement part of that in NQP's HLLCompileradded various testsneed to get languages using that nowRakudo will use thatit's the basis for Rakudo's use and import if it works for Rakudo, it should follow for other languages which use HLLCmpilerhad a few comments about missing pieces and correctionsit's still a draft spec, but we need iteration to…
 
  • add this feed to my.Alltop
    Matt S. Trout's Blog
  • Show Us The Whole Code

    5 Feb 2010 | 8:15 pm
    When I'm being asked for help troubleshooting perl code - both out in the community and for Shadowcat's professional services clients, one of the things I'm always doing is asking for more information. In fact, the most often heard cry on freenode's #perl channel is "show us the whole code".Yet people always resist. "I already showed you the relevant parts", they say. Unfortunately, they're ignoring something fairly essential - they're showing us the parts they think are relevant. Which is fine, except that knowing which parts are relevant is a key skill in debugging, and the…
  • Half A Moose

    28 Jan 2010 | 7:45 pm
    Once again, cometh the "oh noez Moose is slow" silliness, this time courtesy of a post by Ovid proposing we need a role system without the rest of Moose, so I thought for this week's Iron Man post I'd break down and explain how he's CONSIDERIN IT COMPLETELY WRONG. We already have a role system that can be used without the rest of Moose. It's called Moose.There is absolutely no reason you can't do: package Foo::Manual::Bar; use Moose::Role; sub bar { my $self = shift; return $self->{bar} unless @_; $self->{bar} =…
  • Orlando 2010

    20 Jan 2010 | 9:45 pm
    At six o'clock in the morning, I step out onto a cold Morecambe street, icy sea breeze caressing my face, looking around at the mostly cleared snow on the pavements as I step into a taxi. Next to mdk's place to collect him, and on to the airport. In fifteen hours we'll be in Orlando, warmer than an english summer even if I did find the rain awfully familiar.Perl Oasis, aka the Orlando Perl Workshop, is now in its second year, and is showing remarkably rapid growth, perhaps due to its tendency to be an Enlightened Perl conference - we had a large chunk of the Moose crew present and many of…
  • On being a Bastard

    11 Jan 2010 | 10:30 pm
    I'm going to start this article with a series of statements of facts, not all of which you may necessarily believe.I am, indeed, a card carrying member of the Order Of The Bastard.I enjoy helping people become better, more productive, happier programmers.I enjoy gardening such communities as a regular and as a moderator/op.I don't enjoy offending people.I hate having to ban people.I suspect it's the last two certain people in the audience are going to find difficult to swallow - especially those who've encountered me "in the wild" online, as it were. One person was shocked that I'd…
  • Love your idiots

    3 Jan 2010 | 9:30 pm
    So, I've been thinking recently about milestones in open source projects. Not code based milestones, but ... milestones in terms of a project's use and community. Usually ones that happen to you rather than ones you can create.The one that I want to talk about today though is a bittersweet moment but one that needs to be handled correctly if you want your project to thrive:The arrival of the idiots.You should know that moment by now. You've got your first couple of committers, you've cut a few releases, you've seen some crazy crazy (but wonderful) person deploy this code in production ... and…
  • add this feed to my.Alltop
    Jerome Quelin
  • how to profile a perl program?

    9 Feb 2010 | 7:31 am
    so, it seems that google isn't aware about perl profiling best practices... this blog post will thus try to link a lot of times to devel-nytprof, which is the solution to use to profile a perl program.for profiling perl, just use devel::nytprof. it's an easy to use perl profiler:$ perl -d:NYTProf my_prog.pl[... let it run, it will be slower than your usual run ...]$ nytprofhtmlwhen this is done, just point your brower to the locally created ./nytprof/index.html and enjoy the nice reports.this is the best profiler for perl available currently. in case you missed the point: the perl profiler…
  • which module to extract perl prereqs?

    3 Feb 2010 | 2:09 am
    in dzil plugin autoprereq, i'm extracting prereqs from the dist modules. i want this extract to be fast, based on the actual code (not makefile.pl or meta.yml, since the goal is to generate them), and as accurate as possible. it should also find base classes, moose roles and other "hidden" dependencies. finally, it should extract the minimum version needed for a given module, including minimum perl version.my first version was regex-based. i can already see your horrified face - but really it wasn't so bad, since it only needed to find some specific statements such as uses and requires.
  • stats about cpan modules shipped by mandriva

    27 Jan 2010 | 1:07 am
    adam and gabor asked me about some information on what cpan modules are shipped as rpm packages by mandriva... i finally found some time to work on it and produced ordb::cpan::mandriva.this module is basically a sqlite database replicated automatically by orlite::mirror. using it is very simple - for example, couting the cpan dists shipped by mandriva is achieved by the following snippet:(fyi, the result is 1899 as of writing, +1 since i just imported the module itself)at module use time, it will automatically download (and cache for a week) the sqlite database. and one can then use the…
  • next padre version will (finally) recognize dist-zilla projects

    20 Jan 2010 | 1:14 am
    padre 0.55, due tomorrow, will finally recognize dist-zilla projects correctly. among other things, it means that it will set @INC accordingly for syntax checking, keep the directory browser at the project root, etc.it took a bit of time since the "installer" detection is spread out in different places in padre... this needs refactoring, for those interested.
  • some dzil goodness coming

    13 Jan 2010 | 1:02 am
    i scratched some itches in dist-zilla, and hopefully the result will be useful to you too... some are rather trivial, while some are more feature-ful.on the it-s-the-details-that-count front, dzil clean will now remove *~ files lingering in your local copy.dzil command now accepts a -I argument that adds a directory to perl @INC (same as perl's -I option). which means dzil plugin author can now do:$ dzil -Ilib releaseand release their distribution using the latest version of their plugin...a new run subcommand has been added, which is doing more or less the following:$ dzil build$ rsync -avp…
 
  • add this feed to my.Alltop
    John Napiorkowskis Perl Development Blog
  • RFC: CatalystX::Model::Adaptor

    20 Jan 2010 | 11:54 am
    I'm considering writing an updated/enhanced version of the very excellent Catalyst::Model::Adaptor. Proposed documentation follows. I'm interested in a) Good Idea or Bad Idea? b) How does the proposal look? Thanks! Feel free to comment below o... Send to a friend
  • How Are You Using $c->forward (or qw/go visit detach etc/)?

    12 Nov 2009 | 6:23 am
    While trying to finish up my thoughts of the followup to "Does Anyone Else Hate the Stash?" one issue that I'm been grappling with is the relationship between using the stash as secondary global namespace and the way I've seen people use the stash... Read and post comments | Send to a friend
  • Darkpan => CPAN Service (part two)

    3 Nov 2009 | 8:01 am
    A few months ago, when discussing how to support the 'darkpan' (what Perl programmers call the vast body of perl code floating around the internet or in private companies that we know nothing about) I suggested leveraging the vast CPAN distributio... Read and post comments | Send to a friend
  • Would You Find this Moose Role Useful? (Part Two)

    2 Nov 2009 | 12:44 pm
    Well Perl Ironman Readers, Based on the public and private comments from the previous blog I decided to go ahead and write something (I hope) cpan worthy. It should show up shortly over here but until then you can check it out on github (or clon... Read and post comments | Send to a friend
  • Would You Find this Moose Role Useful?

    27 Oct 2009 | 7:03 pm
    I find as part of my normal course of writing perl moose based code, I do the following quite often: Basically I tend to use the above with a core application class that is delegating work to several other classes. In the above case, my general... Read and post comments | Send to a friend
  • add this feed to my.Alltop
    Alias's Journal
  • Why Ruby is prettier and Padre changes the Perl community

    Alias
    8 Feb 2010 | 6:13 pm
    Why is PHP so much easier for newbies?Why does Java have the best IDE tools?Why is Ruby prettier than Perl?Why does Perl have the best package repository?As I've played through Mass Effect 2 over the last few weeks, I see some interesting parallels.In the Mass Effect universe, human technology is bootstrapped by the discovery of an ancient abandoned alien observation outpost on Mars, and the further discovery that the dwarf planet Charon is really an abandoned but active interstellar jump gate covered in ice.Other similar species have done the same, resulting in a galactic community of around…
  • ORLite ARRAY objects, one last speed up before Padre 0.56

    Alias
    28 Jan 2010 | 6:13 am
    In the spirit of trying to jam as many speed hacks into Padre as possible, I've finally taken it upon myself to take the awesome work demonstrated in ORLite::Array (which uses ARRAY based objects instead of HASH based objects) and moved it into the ORLite core.The removal of the need for a hash slice in DBI doubles the speed of SELECT statements, reduces the memory cost of objects, and makes accessors quicker.I've also integrated support for Class::XSAccessor, so now not only are they faster ARRAY objects (if you want them) the accessors are all XS-accelerated as well.As a bonus to this I've…
  • Upcoming Padre 0.56 best in a long time, and hugely faster

    Alias
    26 Jan 2010 | 9:45 pm
    Now that the new resource locking system has been landed for a couple of weeks and some of our worst performance bugs have been resolved, we've been able to uncover and fix a ton of routine performance problems.Padre 0.55 landed the first pass of these, but the upcoming Padre 0.56 is looking to be incredibly fast and has ditched much of the weight that you expect from an IDE. It's actually starting to feel light like an editor again, instead of heavy like an IDE.Amoungst the improvements, we have a new tricksy startup mechanism that can apply startup preferences without having to load the…
  • Template::Tiny 0.09 gets ported to JavaScript

    Alias
    24 Jan 2010 | 5:18 pm
    http://wiki.github.com/frioux/Template-Tiny-js/Because it works entirely through the creative use of regular expressions, it turns out that it is relatively easy to port as long as you have good enough regex support.And so that's exactly what fREW Schmidt has done with his Template.Tiny JavaScript port.Template.Tiny.js contains 600 lines of cloned code to provide an upgrade XRegexp package, and then 150 lines of plain JavaScript to implement the Template::Tiny clone.Of course, we've already had Jemplate for a while, so it's not like you couldn't use Template Toolkit in JavaScript before.But…
  • The most damaging interface in the entire Perl ecosystem

    Alias
    21 Jan 2010 | 5:47 pm
    While not quite as busy as I would like, the #win32 IRC support channel has so been highly successful. Having fixed most of the obvious flaws in Strawberry uncovered by people in the support channel, things have started to stabilise now.In this steady state, we are seeing three specific problems surface against and again on a daily basis (for the type of user that clicks on the "Live Chat" link on the front page of a Perl distribution's website).1. Nobody is there to answer, or not there fast enough.The pattern we seem to be seeing amoungst the most need users (who don't change their nick…
  • add this feed to my.Alltop
    Blog of Gbor Szab
  • Perl for Windows statistics

    3 Feb 2010 | 9:34 am
    Adam Kennedy pointed me to the download count of Strawberry Perl for Windows. this shows that in the last 3 months there were approximately 54K downloads of 5.10.x and 4.5K downloads of 5.8.x That would be about 650 downloads a day. Back on 7/7/2007 Jan Dubois mentioned that ActiveState has more than 4,500 downloads of ActivePerl 5.8.x per day for Windows and more than 1,000 downloads of ActivePerl 5.6.1 per day. Unfortunatelly I don't have newer numbers from ActiveState but it would be interesting to see how have the numbers changed? Also it would be nice if we had numbers from the other…
  • Showing Perl on non-Perl conferences, getting money from TPF for swag

    2 Feb 2010 | 2:57 am
    On this weekend I'll be on FOSDEM along with several other Perl Mongers. In addition to just trying to enjoy the talks we'll be promoting Perl. I am really happy that The Perl Foundation was ready to provide us with $500 to buy conference swag we can give away. Similarry, a month from now we will be present at CeBIT in Hannover, Germany where we will have a booth to promote Perl and Perl based projects. I've just heard from Karen Pauley that TPF agreed to provide us another $500 for further materials to give away on CeBIT. This is awesome and this probably means that if you are ready to talk…
  • Test Automation using Perl classes

    31 Jan 2010 | 8:28 pm
    The conference season is warming up and so I'll start offering my Test Automation using Perl training class so I can have an excuse to go to the workshops and conferences. Here is the schedule: March 8-11, Berlin, Germany, after CeBIT where we have a Perl booth March 15-18, Tel Aviv, Israel Apr 13-16 Vienna, Austria, right after the QA Hackathon May 11-14, Stockholm, Sweden, (no workshop here but I cannot make it to NPW in Rekyavik on 1-2/May) June 1-4, Stuttgart, Germany, just before the German Perl Workshop June 15-18, Columbus, Ohio, USA, the week before YAPC::NA The first one in Berlin is…
  • Padre 0.55 Stand alone for Linux based on perl 5.11.4 released

    20 Jan 2010 | 9:29 pm
    Ricardo Signes (RJBS) has just announced the release of perl 5.11.4, the latest development version on the way to perl 5.12. Of much less significane but the Padre team has also released version 0.55 of Padre, you know, the Perl IDE. You can read about it in the announcement of Peter Lavender. In order to make it easier for people to try those I built a new experimental version of the Stand Alone Padre for Linux. It contains perl 5.11.4 Padre 0.55 Padre::Plugin::PerlTidy Padre::Plugin::PerlCritic Padre::Plugin::Plack During the build I encountered only one issue. A line in Pod::POM generates…
  • Working with upstream - installing Perl modules from CPAN

    19 Jan 2010 | 10:16 pm
    On FOSDEM there is going to be a Linux distribution mini-conference where I am going to give a talk about Packaging perl and CPAN modules I gave an improvised talk about the subject yesterday in front of the Rehovot Perl Mongers. Now I am going to try to summarize that talk and further collect my thoughts on the subject. Your comments are most welcome! The problem When a user needs to install a Perl module from CPAN she has several choices based on the operating system and the perl distribution she is using. A usual case is that her company is using Fedora 9 or some other several years old…
 
  • add this feed to my.Alltop
    The Cattle Grid
  • L'importanza di perl 5.12.0

    Michele Beltrame
    2 Feb 2010 | 10:30 pm
    perl 5.12.0 sta per arrivare: la 5.11.4 è infatti la prima versione di sviluppo di perl 5.11 a seguito del code freeze che dovrebbe portare presto ad un rilascio della prossima versione stabile dell'interprete. Perché attendo con interesse il rilascio di perl 5.12.0? Non si tratta (solo) di una questione di novità per quanto riguarda le feature, anche se qualcosa d'interessante c'è (leggete i perldelta per maggiori informazioni). L'aspetto più importante è, tuttavia, il nuovo ciclo di svliuppo. Dopo il rilascio di Perl 5.10.0 c'è stata un po' di "discussione" su come dovessero essere…
  • Hawaii 2009

    Michele Beltrame
    28 Jan 2010 | 11:11 am
    Beh... questa volta siamo andati davvero lontano, e ci siamo anche fermati quasi un mese. Ecco dunque il solito diario che contiene un mix di indicazioni turistiche, prezzi, fatti nostri, curiosità ed impressione sulla nostra esperienza alle Hawaii. Al solito, perdonatemi gli errori di digitazione e... buona lettura! 1 - Aeroporti (27 Gennaio 2009) Le vacanze a Gennaio hanno richiesto un po' di fatica, ma ce l'ho fatta: quasi 4 settimane in giro per le Hawaiii, isole piuttosto varie che ho sempre sognato di visitare. Complice la recente laurea ed ammissione all'ordine dei veterinari di…
  • YAPC:Europe 2010 a Pisa: 4-6 Agosto

    Michele Beltrame
    28 Jan 2010 | 3:19 am
    Due righe per indicare che abbiamo finalmente stabilizzato le date della YAPC::Europe 2010, la principale conferenza europea sul linguaggio Perl che quest'anno per la prima volta si terrà in Italia (a pisa): 4-6 Agosto 2010 L'evento è particolarmente rilevante, poiché riunisce i principali sviluppatori europei, ed anche la presenza extra-europea è notevole. La scorsa edizione, tenutasi a Lisbona, ha chiuso sopra i 320 iscritti. Spero che i lettori del mio blog appassionati di programmazione vorranno cogliere l'occasione e partecipare all'evento, adatto sia ad esperti che principianti!
  • Nordest Perl Mongers plans for 2010

    Michele Beltrame
    22 Jan 2010 | 2:28 am
    In this post I'd like to point out some things related to Nordest Perl Mongers, as Andrew Shitov asked PM group coordinators to do. This will mainly be a short explanation of what we done in 2009 and what we plan to do in 2010. Nordest.pm is a Perl Mongers group which covers the North-Eastern ("Nordest" in Italian) part of Italy. The group rose from the ashes of previous attempts to form a Perl group (such as Venice.pm and Pordenone.pm, which do not exist anymore). What happened in 2009 2009 was not a very active year for the group itself, but not really because we're not active. Fact is that…
  • La nuova immagine di Perl sul web

    Michele Beltrame
    14 Jan 2010 | 1:29 am
    Ultimamente c'è molto fermento nella comunità Perl: ciò si manifesta, tra l'altro, nel crescente numero blog più o meno dedicati al linguaggio (ancora pochi in italiano, purtroppo), nonché dal successo di iniziative tipo l' Iron Man Challenge. Fino a qualche mese fa, tuttavia, l'immagine che fornivano i siti "istituzionali" della comunità Perl era un po'... obsoleta. Guardate ad esempio questo, fortunatamente ora visibile solo su Web Archive. ;-) Recentemente sono stati completamente ridisegnati questi siti: http://www.perl.org/ http://lists.perl.org/ http://www.perl6.org/ che…
  • add this feed to my.Alltop
    dagolden
  • Can you help identify ambiguous CPAN distributions?

    dagolden
    8 Feb 2010 | 6:45 pm
    Hello, Perl community. As I work on converting legacy CPAN Testers (CT1.0) reports to the new CPAN Testers 2.0 (CT2.0) format, I’ve encountered a curious conundrum and could use some volunteer help. CT1.0 indexes reports based on the distribution name and version, e.g. “Foo-Bar-1.23″. This is an unfortunate historical accident, since PAUSE does not prevent uploads with the same file name to different author directories: JDOE/Foo-Bar-1.23.tar.gz JQPUBLIC/Foo-Bar-1.23.tar.gz CT2.0 will index reports based on the full unique distribution file path. I’m currently working…
  • An English-only Planet Iron Man

    dagolden
    6 Feb 2010 | 4:55 am
    I’m very happy to know that Perl has global appeal from seeing all the non-English Perl blogs aggregated on Planet Iron Man, but since I’m a (typical American) monoglot, I’d prefer an Iron Man feed with only English articles. So I made one. It’s available at http://feeds.dagolden.com/ironman-english.xml. It updates hourly from the master feed. And for the curious, or for anyone who wants to adapt this for other languages, here’s the Perl program that I whipped-up to create the feed: # feedfilter.pl - downloads and filters the Perl Ironman feed for English #…
  • CPAN Testers 2.0 end-January update

    dagolden
    4 Feb 2010 | 3:45 pm
    The bad news is that we’re still about two weeks behind schedule. The good news is that we’re not falling further behind and in some areas, we’re already ahead. As I wrote in the last update, a number of my early-January tasks for revising the Metabase libraries didn’t get done and were blocking progress on other fronts. That work is now pretty much complete and I’m ready to turn my attention to the actual migration of legacy reports into a Metabase repository. Once that’s done, we’ll be able to test using it to feed the cpantesters.org databases that…
  • FreeBSD hates Capture::Tiny

    dagolden
    29 Jan 2010 | 1:59 pm
    At least, FreeBSD 7.1 does. Could anyone with access to perl on FreeBSD 7.1 please test Capture::Tiny? It now passes test on most platforms, but FreeBSD 7.1 still sometimes fails. I suspect the FAIL reports I’m seeing are something specific to either CPANPLUS or BinGOs’ smokers, but I need more data points (PASS or FAIL) on that OS to get a better idea of what the issue is. Thanks! Oh, and if you haven’t seen the alpha CPAN Testers Analysis site, check this out: Capture-Tiny-0.07 failure analysis. Cool stuff!
  • Volunteer needed for help with Capture::Tiny

    dagolden
    23 Jan 2010 | 4:45 am
    I’m the author of Capture::Tiny, which is intended to be the only STDOUT and STDERR capture tool anyone would ever need. (See the Capture::Tiny presentation on My Talks.) For a while, I thought I succeeded, but lately a number of test failures have been cropping up on certain platforms. While I’m distracted with many other tasks, I’m looking for a volunteer to analyze the failure reports and develop patches. A warning: the guts of Capture::Tiny are very pithy and it involves some relatively obscure (insane?) file handle manipulations. It’s not for the faint of heart or…
  • add this feed to my.Alltop
    Hacking Thy Fearful Symmetry
  • Contributing to CPAN: PAUSE Id, Bug Tracking, and Code Repositories

    Yanick
    6 Feb 2010 | 10:04 am
    originally published on the Pythian blog. Want to contribute to your favorite CPAN module, or maybe create your own, but don't have the foggiest idea how to do it? Here are a few notes, tips, tricks, and links that might help you get started. PAUSE id While bringing awesome street cred, having a PAUSE id is strictly necessary only if you want to maintain or co-maintain a module. If you just want to contribute code, you'll perfectly be able to do without, as it will usually be done via patches submitted to a bug tracking system, a code repository or using good ol' email. Becoming a…
  • Local POD browsing: using Pod::POM::Web via the CLI

    Yanick
    16 Jan 2010 | 9:21 am
    post originally published in the Pythian Blog Edit: After I've written the original post, a colleage pointed me to a very similar entry in Perl Hacks. I just want to say that (a) no blatant plagiarism was intended and (b) I should read that book cover to cover one of these days. In any case, I'm keeping this post alive as it's using a different podserver and, more interestingly, the completion part of it brings a little extra sugar to the original hack. Half the time I want to peek at the doc of a module, I hit perldoc.  The rest of the time I type cpan Some::Module[1] in Firefox and read…
  • Ottawa Perl Mongers presents: FormFu Assassin

    Yanick
    29 Nov 2009 | 2:33 pm
    Once more, the Ottawa Perl Mongers assemble! When: Thursday December 3rd, 2009, at 7:00pm. Where: at the Pythian headquarter What: I'll be presenting how I'm implementing AJAX forms in a Catalyst application, using the deadly magic of Mason, Prototype and FormFu. Bonus: Pizza will be graciously provided by Pythian. So if you plan on coming, please let me know so that I can be a good little ninja and make the number of slices match the number of attendees.
  • Perl Module Dependencies: how to require the latest, and nothing less

    Yanick
    14 Oct 2009 | 4:27 pm
    entry originally published on the Pythian blog. Recently, hanekomu was contemplating how to make subsequent installs of a Task::BeLike module upgrade its dependencies to their latest version. The idea is intriguing. It’s not something you want to do for a typical module, but it makes sense in the context of Task::BeLike. If you care enough about a module to put it in your Task::BeLike, you probably care enough to want to upgrade when there’s a new version out there. Alas, I think hanekomu’s proposed way of doing it is flawed (mind you, the debate is still going on as of the…
  • The Joy of Finding Your Code in Unexpected Places

    Yanick
    8 Oct 2009 | 4:21 pm
    entry originally published on the Pythian blog. picture by Geophaps Hey, that one in the sixth row… Doesn’t he looks familiar? So there I am, on my morning bus ride, reading my copy of The Definitive Guide to Catalyst (keep your eyes peeled for the upcoming review of the book in the Perl Review). I’m near the end, in Chapter 11, Catalyst Cookbook. As it is with most tech books, the last chapters are the most engrossing, as the gloves finally come of and the writers throw at you all the wonderful, mind-bending stuff that the rest of the book prepares you for. The section…
 
  • add this feed to my.Alltop
    /home/rafl
  • Parameterized Roles with MooseX::Declare

    Florian Ragwitz
    You've probably already heard of Sartak's awesome MooseX::Role::Parameterized. As of version 0.25, MooseX::Declare provides some nice sugar for that. This is what it looks like: useMooseX::Declare role Counter (Str :$name has $name => (is => 'rw', isa => 'Int', default => 0); method "increment_${name}"$self->$name$self->$name1 method "reset_${name}"$self->$name(0); class MyGame::Weapon with Counter => { name => 'enchantment' class MyGame::Wand with Counter => { name => 'zapped' Just thought…
  • MongoDB on CPAN

    Florian Ragwitz
    I've been doing some contracting work for 10gen recently. They have that rather cool open source document database called MongoDB and they wanted me to write a module to use that from Perl. I did that and the code is now available on CPAN and github. Writing that was fun, and I'm already looking forward to be able to use MongoDB as a backend for KiokuDB. I started writing code for that and put it on github, but isn't passing all the tests just yet. In related news, after finishing the MongoDB module, I'm available for other things again. So if you're looking for a…
  • Running tests that require an X server

    Florian Ragwitz
    Lots of CPAN distributions require some kind of graphical environment. Some of them even pop up windows, which not only very annoying, but also sometimes fails if you're using a tiled window manager. To test such distributions on a machine where no graphical environment is available or on your desktop while you're working and don't want to get annoyed to death you can use a fake X server, like Xvfb. The easiest way to do that is to run $ xvfb-run -a maketest instead of a plain make test. That'll automatically create a fake xserver, set up DISPLAY and run make test in that…
  • Implementing Typed Lexical Variables

    Florian Ragwitz
    For quite some time perl provided a form of my declarations that includes a type name, like this: my Str $x'foo' However, that didn't do anything useful, until Vincent Pit came along and wrote the excellent Lexical::Types module, which allows you to extend the semantics of typed lexicals and actually make them do something useful. For that, it simply invokes a callback for every my declaration with a type in the scopes it is loaded. Within that callback you get the variable that is being declared as well as the name of the type used in the declaration. We also have Moose type…
  • Declaring Catalyst Actions

    Florian Ragwitz
    For a long time the Catalyst Framework has been using code attributes to allow users to declare actions that certain URLs get dispatched to. That looks something like this: sub base : Chained('') PathPart('') CaptureArgs(0) { ... }sub index : Chained('base') PathPart('') Args(0) { ... }sub default : Chained('base') PathPart('') Args { ... } It's a nice and clean syntax that keeps all important information right next to the method it belongs to. However, attributes in perl have a couple of limitations. For one, the interface the…
  • add this feed to my.Alltop
    nothingmuch's most awesome Perl blog
  • $obj->blessed

    nothingmuch
    1 Feb 2010 | 6:27 am
    I've been meaning to write about this gotcha for a long time, but somehow forgot. This was actually an undiscovered bug in Moose for several years: use strict; use warnings; use Test::More; use Try::Tiny qw(try); { package Foo; use Scalar::Util qw(blessed); sub new { bless {}, $_[0] } } my $foo = Foo->new; is( try { blessed($foo) }, undef ); is( try { blessed $foo }, undef ); done_testing; The first test passes. blessed has't been imported into main, so the code results in the error Undefined subroutine &main::blessed. The second test, on the other hand, fails. This is because blessed…
  • Importing Keywurl searches to Chrome

    nothingmuch
    6 Jan 2010 | 5:12 am
    I've recently switched to using Chrome. I used Keywurl extensively with Safari. Here's a script that imports the Keywurl searches into Chrome: #!/usr/bin/perl use strict; use warnings; use Mac::PropertyList qw(parse_plist_file); use DBI; my $app_support = "$ENV{HOME}/Library/Application Support"; my $dbh = DBI->connect("dbi:SQLite:dbname=$app_support/Google/Chrome/Default/Web Data"); my $plist = parse_plist_file("$app_support/Keywurl/Keywords.plist"); my $keywords = $plist->{keywords}; $dbh->begin_work; my $t = time; my $sth = $dbh->prepare(qq{ INSERT…
  • Ironman FAIL

    nothingmuch
    16 Dec 2009 | 8:01 am
    Oops... I moved back to Chamonix over the weekend and completely forgot about blogging. I guess I'll take a few days to get settled in and then start writing again. I'm aiming for chartreuse with alternating red and monkeyshit highlights and a fishnet, but unfortunately mst has been blogging much more consistently than me so far.
  • Simplifying BEGIN { } with Moose roles

    nothingmuch
    3 Dec 2009 | 3:54 pm
    This is a common Perl pattern: package MyClass; use Moose use Try::Tiny; use namespace::autoclean; BEGIN { if ( try { require Foo; 1 } ) { *bar = sub { my $self = shift; Foo::foo($self->baz); }; } else { *bar = sub { ... # fallback implementation }; } } However, since this is a Moose class there is another way: package MyClass; use Moose use Try::Tiny; use namespace::autoclean; with try { require Foo; 1 } ? "MyClass::Bar::Foo" : "MyClass::Bar::Fallback"; package MyClass::Foo; use Moose::Role; use Foo qw(foo); use namespace::autoclean; sub bar { my $self = shift; foo($self->baz); }…
  • The timing of values in imperative APIs

    nothingmuch
    26 Nov 2009 | 1:07 pm
    Option configuration is a classic example of when I prefer a purely functional approach. This post is not about broken semantics, but rather about the tension between ease of implementation and ease of use. Given Perl's imperative heritage, many modules default to imperative option specification. This means that the choice of one behavior over another is represented by an action (setting the option), instead of a value. Actions are far more complicated than values. For starters, they are part of an ordered sequence. Secondly, it's hard to know what the complete set of choices is, and it's…
  • add this feed to my.Alltop
    PJF's Journal
  • Kuala Lumpur, Day 0

    27 Jan 2010 | 4:00 pm
    Kuala Lumpur, Day 0 After seventeen hours of travel, I've finally checked into my hotel in Kuala Lumpur. I'm here with Jacinta, and we're teaching Perl to a client next week, but we've arrived early to do some sight-seeing... and because we're insane. Actually, it only feels like we're insane, because we've only just got back from LCA2010. In reality, going to KL so quickly means that we actually have something one of us might care to label as "a holiday". There's no chance of tacking a holiday on the end: we need to get home in order to clear the mail, launder clothes, and squish an entire…
  • Wear Sunscreen (and other thoughts for the year ahead)

    1 Jan 2010 | 4:00 pm
    Wear Sunscreen (and other thoughts for the year ahead) If I could offer you but one tip for the future, sunscreen would be it. The long term benefits of sunscreen have been proved by scientists, whereas the rest of my advice has no basis more reliable than my own meandering experience. I will dispense this advice now. -- Mary Schmich I'm not one for New Years Resolutions. In fact, the last resolution I made wasn't even mine; I stole it shamelessly from Skud, and it was "Never Refuse an Adventure". However, today I feel like dispensing advice, reflecting on the year that was, and making plans…
  • Tightening up your Facebook privacy

    11 Dec 2009 | 4:00 pm
    Tightening up your Facebook privacy I've previously discussed the new Facebook privacy system, what they mean to you, and some recommendations on keeping at least some privacy. If you haven't read this post, I suggest you do so now, as I won't be repeating those recommendations here. Since my last update, I've had a lot of feedback, and done a bit of exploring, and discovered there are some extra privacy controls that are rather hard to find! One thing that had me perplexed was how to hide which groups I was a member of. Groups are juicy stuff, they tell me a lot about your beliefs,…
  • New Facebook Privacy and You

    9 Dec 2009 | 4:00 pm
    New Facebook Privacy and You Facebook are in the process of changing how their privacy settings work, and today, I was given the option to migrate my account over to the new scheme. These were announced on the Facebook blog about a week ago, and sounded quite promising. Unfortunately, I actually feel creeped out by the new system. I'm going to start with the good thing. Yes, that's right, there's only a single good thing about the change that I've found. When making status updates, one now has fine-grained control over who sees them. I can have a status update that's only seen by my family,…
  • Perl 5.11.1

    26 Oct 2009 | 5:00 pm
    Perl 5.11.1 I've been behind in my blogging; time seems to fly when one is having fun, and I've been having a pretty good time recently. Most of it's involved working with people and science, rather than technology. After I finish my taxes (not yet overdue), this may change. In the meantime, I can't go without mentioning that Perl 5.11.1 has been released. This isn't a stable version of Perl, but it's a point release on the way toward 5.12.0. I'm quite excited about 5.12.0 for many reasons I'll go into later, but they all involving modernisation of the language. Of note in 5.11.1 (and hence…
 
  • add this feed to my.Alltop
    Phred's Journal
  • Why you should create CPAN distros

    Phred
    3 Feb 2010 | 11:20 am
    On Tuesday, February 23rd, Jeff Thalhammer will speak on why you should create CPAN distros, even for proprietary code. He has worked on worked on several projects where all the private code was organized into CPAN-style distros, and then injected into a local copy of CPAN. They then used the CPAN tool chain to manage the entire build, test, and release process.Jeff Thalhammer's CPAN page:http://search.cpan.org/~thaljef/Announcement posted via App::PM::AnnounceRSVP at Meetup - http://www.meetup.com/San-Francisco-Perl-Mongers/calendar/12509158/
  • SF.pm Annual Report and Plans

    Phred
    1 Feb 2010 | 10:26 pm
    Reposted from blogs.perl.org San_Francisco.pm (SF.pm) started off 2009 with a bang! Fred Moyer took on the daunting role of President, and Joe Brenner stepped up to the unforgiving role of Speakers Co-Chair. Both leaders relieved X-President Quinn Weaver, who sheperded SF.pm for 6 years leading up to 2009. A Meetup web portal was created at http://www.meetup.com/San-Francisco-Perl-Mongers/ which served to facilitate organizing meetings. Six Apart generously donated a conference space for monthly meetings on the 4th Tuesday of the month (as has been a tradition for the last 10 years). Matt…
  • Writing CPAN Modules

    Phred
    4 Jan 2010 | 11:43 am
    Happy New Year! Our January meeting will take place on TuesdayJanuary 26 at Six Apart World Headquarters."Writing CPAN Modules" by Joseph BrennerA talk in three parts:(1) how-to for beginners(2) portability problems(3) ExtUtils::MakeMaker vs. Module::Build vs. Module::InstallIn the first part, we will emphasize how easy it is, in the second part,we will demonstrate that we were lying in the first part, and in thethird part we will endeavor to provoke a religous war in the audience.Joe Brenner's CPAN page:http://search.cpan.org/~doom/Announcement posted via App::PM::AnnounceRSVP at Meetup -…
  • Perlmongers Dinner

    Phred
    10 Dec 2009 | 11:44 am
    We'll be having a group dinner for the December meeting, and havea few drinks after to wrap up the year. The date for this meetingis December 22th at 7pm."Naan-N-Curry" at 336 O'Farrell Street, between Mason and Taylor.   http://maps.google.com/maps?q=336+OFarrell+St,+San+Francisco,+CA+94102,+USAThis place has moved around a few times, and has many satellitelocations now, so look at that address carefully. This is across thestreet from the Hilton, and next to the entrance to a large parkinggarage.From the Powell Street Bart station: walk two blocks north along Powell,and 1.5 blocks west.
  • Plack - Modern Perl Framework Superglue

    Phred
    11 Nov 2009 | 11:55 am
    Tatsuhiko Miyagawa will be presenting a talk on Plack on November 24th, 7pm at Six Apart World Headquarters.Plack is a set of PSGI reference server implementations and helper utilities for Web application frameworks, exactly like Ruby's Rack. It supports Standalone, CGI, FCGI, Apache, AnyEvent, Coro, Danga::Socket and many other server environments.This will be the last talk of the year for SF.pm, we will be having a social in December instead of a speaker.Follow Tatsuhiko Miyagawa on:Twitter - @miyagawaBlog - http://bulknews.typepad.com/CPAN - http://search.cpan.org/dist/PlackAnnouncement…
  • add this feed to my.Alltop
    schwern's Journal
  • The return of perl5i!

    schwern
    23 Jan 2010 | 6:00 pm
    After an extended period in hibernation, perl5i returns to CPAN with a rack of new changes since the last CPAN release. Thanks to Bruno Vecchi, Chas Owens, Darian Patrick, Jeff Lavallee, Michael Greb, rjbs, benh and chromatic for contributing!Why was it deleted from CPAN? Version numbers. I'd used my usual ISO date integer style versioning but realized pretty quick that I need full X.Y.Z versioning to indicate incompatible changes. Yes, perl5i is planning to be incompatible but without breaking your code!How? By allowing you to declare what major version of perl5i you rely on. At this point…
  • Great Perl Code

    schwern
    11 Jan 2010 | 2:59 pm
    I was in a bar the other day talking with somebody about Perl. He asked, "what is some great Perl code I could read?" He was looking for a non-trivial amount of production Perl 5 code that elegantly solves a problem, and is beautiful to read.I'm couldn't answer that. The code I see is either beautiful to read but fairly boring in what it does OR is an elegant solution but is terrifying to read (for example, autodie). I'm a biased observer, I work mostly with the plumbing so I see mostly the scary stuff that implements the elegant solutions.What code would you show a non-Perl programmer read…
  • gitPAN now updating

    schwern
    6 Jan 2010 | 7:05 pm
    After a month's break I've fixed up the gitPAN importer so it can update distributions in place fairly efficiently. This involved a major overhaul of Parse::BACKPAN::Packages into the new SQLite and DBIx::Class backed BackPAN::Index. Faster, leaner, far more flexible.Its grinding through an update now, should be done before tomorrow morning. Still running off my laptop, hosting is in the works and then daily updates can happen.UPDATE: The update is complete. Hit a few snags. 1) I wasn't always sorting releases by date, so I might have gotten some out of order in this update. Eventually there…
  • CPAN's Greatest Hits - Path::Class

    schwern
    2 Jan 2010 | 8:10 pm
    Once upon a time, file and directory manipulation was considered very convenient. Compared to languages like C and Java, which consider I/O as some sort of distasteful act that should best be done behind at least 9 layers of abstraction, its positively enlightened. But once you use something like Ruby's File and Dir objects Perl starts to look a touch out of date.In Perl, reading a file or directory is a three step process. Safe path manipulation requires the brilliant but cumbersome File::Spec. Even something like deleting a file requires special code to be safe. Want to reliably delete or…
  • Numbered test file abuse

    schwern
    28 Dec 2009 | 5:43 pm
    I hate numbered test files. Not that it isn't useful to force the ordering of some tests, but because its not then necessary to force the ordering of EVERY test. At the worst case you're back to BASIC. Observe the test suite from SQL::Statement. 00error.t01prepare.t02executeDirect.t03executeDBD.t04names.t05create.t 06group.t07case.t08join.t09ops.t10limit.t11functions.t12eval.t13 call.t14allcols.t15naturaljoins.t16morejoins.t17quoting.t18bigjoin.t     19idents.t20pod.t21pod_coverage.t Now, how much of that is really trying to order the tests and how much of it is just the order it…
  • add this feed to my.Alltop
    Shlomi Fish's Journal
  • Personal Log

    16 Jan 2010 | 11:17 am
    On Friday, I went to the Hebrew Wikipedia meeting that commemorated it having 100,000 entries now. I enjoyed the food there, but left after the first round of lectures. Still, it was a nice refreshment from what I usually did and I had to wake up early to come there on time. Later on that day I worked on Freecell Solver and today I wrote a report about it to the mailing list. I also spent a lot of time cleaning up my hard-disk and removing a lot of cruft, both from my home-directory and the main partition. Today was less intensive for me and I mostly rested. However, one of the connectors on…
  • Conclusion of the Open Letter to the Israeli Government about Drug Legalisation

    31 Dec 2009 | 1:45 pm
    I announced that I sent an E-mail to the Israeli Prime Minister and the Minister of Internal Defence about drug legalisation earlier on this blog. The E-mail was sent in 18 October, 2009 and I didn't receive a reply, including not an acknowledgement, an automated response or a bounce. It was obviously ignored. As a result, I have to conclude that the respected gentlemen have failed to respond to me (a citizen and resident of Israel) on such an important issue and are not fulfilling their duties as government officials. Don't re-elect them - they don't care about you. Happy new civil year,…
  • Human Rights March in Tel Aviv

    9 Dec 2009 | 9:04 am
    There will be a human rights march in Tel Aviv this Friday (11-December-2009) (here's some information in English). I was asked to publicise it, and I may attend too.
  • Why Chinese May Not Become the Next International Language?

    21 Nov 2009 | 11:29 am
    A lot of people I've talked about have been thinking that if and when China becomes the next superpower, then Chinese will displace English as the next international language (or Lingue Franca, which is a common second, non-mother language). People say: "before English, there was French, and before that, people used Latin", so it's possible English will be displaced too. This is all well and sound, but there is some historical evidence that shows that often the local (or in our case - global) superpower has displaced another while the lingua franca has not changed. As a result, it is not…
  • Open Letter to the Government (Resend): Drug Legalisation

    2 Nov 2009 | 8:21 am
    (English translation follows) על מנת לשכנע אתכם, אני מצרף בזאת מאמר שכתבתי בשם "נגד האיסור על הסמים" בפורמטים של HTML, ו-PDF. (כדי למנוע בזבוז נייר, בבקשה אל תדפיסו אותם.) ניתן למצוא את המאמר הזה באנגלית, ובעברית באתר-הבית שלי באינטרנט בכתובת: http://www.shlomifish.org/philosophy/politics/drug-legalisation/ And here is the English translation: (This letter is intended to the Prime Minister, Mr. Benjamin Netanyahu and to the Minister of…
 
  • add this feed to my.Alltop
    xsawyerx's Journal
  • On Nagios, Thunk, Shinken and wrapper included marketing

    xsawyerx
    3 Feb 2010 | 3:39 am
    original post can be found on my blog. Nagios is probably the most famous and used monitoring program on the market. It's free, GPL and has nice features such as object representation of data, inheritance, plugin systems, passive testing, built-in Perl interpreter, result caching, pipe interface, alert delegations and so on and so on.The web interface of Nagios is, however, incredible ugly. It's written in CGI the way the early CGI scripts were written. When you make a change to a server via the web interface, you get a few screens (avoiding Javascript is a benefit for some cell phones, I…
  • Marketing the Entire Box (including the wrapper)

    xsawyerx
    2 Feb 2010 | 5:49 am
    this was originally posted on my new blogs.perl.org journal, which can be found here. For a long while now I've been wondering about some observations I've made of Perl, Ruby, Python and PHP in marketing terms. I'm going to discuss them here in detail, and I hope it will gain us some insight into better marketing understanding or at least not bore anyone.I've understood through the years that projects with beautiful websites have a better chance of getting picked up by users (even when the project itself is purely command-line) and definitely gives much more credit to the encompassing layer…
  • On low attendance in TelAviv.pm meetings

    xsawyerx
    20 Jan 2010 | 5:15 am
    this was originally posted on my new blogs.perl.org journal, which can be found here. Shlomi Fish published a post in Israel.pm that I think is worth reading by anyone from Israel (or Israhell), especially if you're from the Tel Aviv region.In a year that dealt mostly with marketing, there seemed to be a decline in people showing up to meetings. Even though Tel Aviv University provided us with a room (and now a better room), with a projector, boards, air conditioner and a lot of space, few people show up.Whatever the reason is, if these trends continue, the meetings will cease. If you care…
  • Elegance Fail

    xsawyerx
    19 Jan 2010 | 2:22 pm
    this was originally posted on my new blogs.perl.org journal, which can be found here. Elegance might seem like a lost trait in programming these days, but it is live and vibrant in Perl. A rather large part of the Test namespace is devoted to providing an elegant way to write "run this code, get the result, compare it with this one".Today I found myself at a loss of an elegant solution to a problem.I want to run a set of tests. Theoretically I can write each subset of tests as a Role in a test object (there are at least three testing frameworks that allow this nicely) and then run the tests…
  • Thoughts on my Moose lecture

    xsawyerx
    18 Jan 2010 | 1:13 am
    this was originally posted on my new blogs.perl.org journal, which can be found here. Yesterday I gave a talk on Moose (the post-modern metaclass-based object system for Perl 5) in TelAviv.pm. The slides are available on slideshare. They aren't a lot of slides because I mainly wanted to give an introduction to Moose for beginners and the gist of the lecture is me speaking, so the slides can't really express that.Now, regarding the talk. There were few people present, which was a bit unfortunate but I'm assuming it's somewhat due to the change in location in the university. It was difficult to…
Log in