July 2009 Archives

Help end licensing under "same terms as Perl itself"


I've posted before about the problems with "same terms as Perl" licensing, not the least of which is the question "which version of Perl are you referring to?" I bet that most people who use "same terms as Perl itself" used it for the same reason I did: because it was the easiest way to do it, and I was lazy.

So to help out my lazy sisters and brothers in Perl, here is a block of POD that you can go paste into your modules right now, all formatted and pretty.


Copyright 2005-2009 Andy Lester.

This program is free software; you can redistribute it and/or
modify it under the terms of either:

=over 4

=item * the GNU General Public License as published by the Free
Software Foundation; either version 1, or (at your option) any
later version, or

=item * the Artistic License version 2.0.


You'll want to change the "Andy Lester" part. I don't want to take credit for half the CPAN.

Perlbuzz news roundup for 2009-07-30

| No Comments

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

Perlmonks users, your passwords have been published

| No Comments

Just in case you missed my Tweets about it, or don't read any other Perl blogs, or didn't receive the mail sent out from Perlmonks, Perlmonks was compromised. Passwords for users were published to the net.

Carl Masak has this analysis of the passwords and their weakness. It's clear, too, that many of the passwords were standard passwords meant to be used on multiple sites.

Coverity scans the Parrot project again

| No Comments

Back in 2007, I worked with David Maxwell of Coverity to get Parrot scanned by Coverity Prevent. Coverity Prevent is a static C analysis tool that looks for potential bugs in a codebase, and it's far more comprehensive than built-in GCC warnings or splint. It's also expensive, licensed per-seat, but Coverity offers a service to open source projects to analyze their source code.

I worked on the Coverity results for a while, fixing bugs and removing dead code here and there, but for whatever reason turned my attention elsewhere.

Last week, I ran into David during OSCON, and it sparked my memory of how useful the Coverity tool was. It had been so long since I'd checked, I couldn't even remember my login credentials. It didn't matter, as it turns out the scanner hadn't been running, and in fact was still pointing at the old Parrot Subversion repository. Now, he's got things going again, and I have a raft of new potential bugs to investigate and fix.

I want to thank Coverity for providing this service to the Perl and Parrot communities. There are plenty of ways to support open source without having to shell out cash. This is a very useful one indeed.

On explicitly welcoming participants to your open source projects


This week at OSCON, Kirrily Robert, a/k/a Skud, gave a great keynote (slides, video) about women in open source, and how projects can improve by welcoming these potential contributors.

I loved it, and not just because of the importance of equality in society in general. From the sake of the quality of our projects, we need to keep the welcoming not only to women, but to everyone who might feel excluded from contributing. Contributing could mean anything from submitting code to answering mailing list questions to writing docs. Most specifically, it does not only mean writing code.

Skud worked on two projects that were specifically aimed at and populated predominantly women. She surveyed the project members, the comments she received from project members are telling, such as "I didn't feel like I was wanted" and "I never got the impression that outsiders were welcome."

I hope that I've never given anyone that impression on my projects. While I've always welcomed contributions from everyone, I've never explicitly stated it. I think it's time for that to change.

I've adapted part of the Dreamwidth diversity statement into what I'm calling, for now, a "welcoming statement." My plan is to put this on every module I maintain:

The (foo) project welcomes people of any ability level, age, social stratus, gender, sexual orientation, race, ethnicity, nationality, religion, political opinion or physical aspect. The only requirements for participation in the project are basic civility and respect for others.

I also want to put that here on Perlbuzz as well, with additional wording about my editorial policies as far as what I'll run and won't.

I'm interested in suggestions you might have for improving my welcoming statement.

Updates to perl-begin.org

| 1 Comment

Shlomi Fish wrote in to tell about updates on the site for Perl beginners with which he's involved:

After the last news item, a lot of work was invested into Perl-Begin.org, the Perl Beginners' Site, making it even better than it used to be. Here's a summary of the changes:

We hope you enjoy the new Perl Beginners' Site and please recommend it to your friends. All content on Perl-Begin is made available under the Creative Commons Attribution Licence which allows almost unlimited re-use.

Bonus-sized Perlbuzz news roundup for 2009-07-26

| No Comments

Lots of stuff happening over the past week because of OSCON.

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

My to-do list always grows post-OSCON


Every year at OSCON I come home with a head full of ideas, and better yet, a huge list of new things to work on. Since the book is now done, and OSCON is now over, there's a chance I could work on them.

  • Ack plug-ins
    • I've been wanting to have plug-ins for ack for at least a year now, and I've connected with a number of people like Randy J. Ray who are on board to help me out. First task: Move it on over to github.
  • Coverity scans for Parrot
    • Met with David Maxwell of Coverity and he fired up the Coverity bot for Parrot, and now I have new niggling bugs to pick at.
  • PR work for first big release of Rakudo
    • There will be the first major release of Rakudo in spring 2010, and I got some plans going with Patrick Michaud to figure how we were going to build up buzz for that. I also have the notes from Damian's Perl 6 talk which are a fantastic summary of Perl 6's cool new features.
  • Human Creativity
    • Julian Cash has been having Jos Boumans do all his Perl work for the Human Creativity project, but I offered up my services to do whatever he wants. Turns out the Julian is also working with Devin Crain, who I've known for years in an entirely non-geeek context.
  • Hiring horror stories
    • Got some great response to my talk on job interviewing, and as always the stories resound the most. I talked to a few people afterwards who said they'd give me some horror stories I can run on The Working Geek as instructive examples of how not to do things, and why they're so awful.

For those of you leaving OSCON, what tasks did you just assign yourself in the past week?

Quickies from Wednesday, OSCON 2009

| No Comments

I'm sitting in the communication lobby on the fringe of the p5p meeting discussing potential ways of doing releases for Perl 5. It's quite a brain-dump of Perl 5 names: Chip Salzenberg, David Adler, Patrick Michaud, David Wheeler, Robert Spier, Paul Fenwick, Jacinta Richardson, Tim Bunce, Michael Schwern, Ricardo Signes and Jesse Vincent.

Here are twelve brilliant programmers in the Perl world, and they're talking about a rancorous topic, but there's no anger, no animosity. The talk is honest and frank, but the benefit of having everyone present is clear. It makes me happy to see.

In sessions today, Jacinta's survey of Perl frameworks was great, in that it was pragmatic and aimed directly at the programmer wondering "What should I do my next talk in?" I skipped out early on Tim Bunce's Devel::NYTProf talk, but I've seen a couple of tweets being very impressed with it.

What should the world know about Perl?


Jim Brandt of the Perl Foundation writes for input from the community.

At OSCON this year, on Wednesday night at 7 PM in Exhibit Hall 3, I'm participating in a Language Roundtable Session with representatives from some of the other popular open source languages. We're going to talk about some of the best and worst features of our preferred languages and how well they perform with different types of application development.


I know why I love Perl, and there's plenty of new activity in the "modern" Perl community to talk about. This is a great chance to let everyone know what great strides Perl has made. It's a chance to get people to take an up-to-date look at Perl. However I don't want to waste any time on "worst" features in other languages.

So what are the best features of Perl today? What do you want the OSCON audience to hear about?

Perlbuzz news roundup for 2009-07-17

| No Comments

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

  • What's Ricardo Signes working on? (rjbs.manxome.org)
  • Test::Pod now checks for illegal L<> constructs (perlbuzz.com)
  • Changes in the board of the Perl Foundation (news.perlfoundation.org)
  • Parrot covered in SDTimes (sdtimes.com)
  • WWW::Mechanize::Cached under new ownership, now with first new version in five years (search.cpan.org)
  • How I came to contribute to Perl 6 (perlmonks.org)
  • Join the Padre team for Padre's first birthday party (use.perl.org)
  • On Parrot: "Truly, this is a project to watch." (sdtimes.com)
  • 48% of Perlbuzz feed subscribers are from outside the USA
  • Jim Brandt to represent Perl in open source language roundtable webcast (oreilly.com)
  • I'm ready to give Brad Choate a big smooch for Text::Textile just about now. (search.cpan.org)
  • Perl's own Skud will be keynoting at OSCON (en.oreilly.com)
  • Generating heat maps with Perl (internetsamhard.com)
  • Testers needed for next release of Strawberry (use.perl.org)

Test::Pod 1.40 now checks for illegal L<> constructs


It will be interesting to see what, if anything, barfs because of the new Test::Pod.

This POD construct is illegal according to perlpodspec, and will not be formatted correctly on search.cpan.org, either:


Test::Pod catches it now. My wonder is how many people are using it.

Test::Pod also requires Perl 5.8 now, and I'd like to think that pretty much every module on CPAN could use modern Perl versions at this point.

Perlbuzz news roundup for 2009-07-11

| No Comments

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

  • Tim Bunce surveys customer relationship management systems in Perl (blog.timbunce.org)
  • Sending mail through Gmail with Perl (nixtutor.com)
  • From the DarkPAN: "The Perl community should move forward without worrying overly much about us that have to drive in the slow lane." (use.perl.org)
  • rgs's blog post about his resignation as bleadperl pumpking (consttype.blogspot.com)
  • How we should address the DarkPAN problem (perl-toddr.blogspot.com)
  • I think chromatic's points boil down to TAGNI: They Ain't Gonna Need It, where They is the unknown DarkPAN. I'm inclined to (agree.)
  • Patrick Michaud is looking for Rakudo release managers (use.perl.org)
  • perl/vendor/site explained (use.perl.org)
  • Top five non-technical mistakes made by programmers (makinggoodsoftware.com)
  • Six modules to help with complexity management (use.perl.org)
  • Test::Pod is now on github. Bug fixes welcome! (github.com)
  • CPAN Explorer gets props in Visual Complexity (visualcomplexity.com)
  • Upgrading Debian packages with newer CPAN releases (use.perl.org)

mod_perlite helps Perl gain ground in the PHP arena


Michele Beltrame wrote in about the mod_perlite project, which I'd love to see take off. mod_perl has never been easy to install, and ISPs and webhosts are loathe to use it for security reasons. mod_perlite would provide easy access to Perl without the weight of CGI.

mod_perlite is an interesting Apache module currently under development. I'd say it's the equivalent of what mod_php is for PHP: a fast, easy to use, and relatively safe way to use Perl scripts for the development of small and medium web applications.

A project like this brings Perl back into play as a good choice in a field currently dominated by PHP. In particular, PHP is great when you need to run a lot of different small applications on the same web server, and you want all of them to run fast enough. CGI is slow compared to mod_php because both the interpreter and the application need to be loaded for every single request. Solutions like mod_perl and mod_fastcgi are the best solution when you have a few big applications, but they're not a good choice in this scenario, because they keep the application resident: when you've got so many small applications (which, in most cases, are invoked infrequently) you end up with enormous memory footprint.

mod_perlite is the winner here: only the interpreter is kept resident (there's also the idea to keep some modules loaded, which might speed up things further) and applications are loaded at request time. This also helps avoid problems with memory leaks. Using mod_perlite is simple: just configure Apache and all the .pl files will run without modification taking full advantage of mod_perlite and therefore reducing execution time to a fraction.

Unfortunately the module is not yet stable, as there's still work to do. My installation on Gentoo Linux x86_64 went smoothly. mod_perlite works but still suffers some major issues. In fact, at present it's only usable for very simple applications because of a bug in how query parameters passed by Apache are handled.

To make mod_perlite fully usable, the project web site has a three point TODO list:

  • Fix form POST processing ('read' does not work reliably)
  • Limit Perl running time.
  • Find ways to cache code.

The project is looking for help, so if you are interested and know something about mod_perl, writing Apache modules in C, and about overriding system calls in Perl - and if the project seems interesting to you - please shout!

And... if someone argues "we're 10 years late compared to PHP", I'd reply "better late than never". ;-)

Michele Beltrame lives in North-Eastern Italy, where he has been developing web applications in Perl since 1996. He is an active member of the Italian Perl community and of the Italian Perl Workshop organizational committee. In his free time he publishes guidebooks on the mountains surrounding his area.

Introducing CPANHQ

| 1 Comment

By Shlomi Fish

Most people who are actively developing using Perl are familiar with sites for searching CPAN (the Comprehensive Perl Archive Network) such as search.cpan.org and kobesearch.cpan.org. These sites provide a simple search bar where users can search for keywords or key phrases, and find a list of results. These sites also feature pages for the various CPAN distributions, the various authors, and the individual pages of documentation inside the modules.

Recently, Andy Lester started the "Rethinking CPAN" mailing list and wrote a Perlbuzz post titled "Rethinking the interface to CPAN", where he gave the case that the current resources may be inadequate for the process of selecting a module on CPAN. For a long time, there was an intermittent discussion and some brain-storming, but very little code (if any) has been written. This has all changed with CPANHQ.

So what is CPANHQ? As documented in the first and only wiki page it has so far (which I wrote a few days ago), "CPANHQ aims to be a community-driven, meta-data-enhanced alternative to such sites as http://search.cpan.org/ and http://kobesearch.cpan.org/. Currently, the functionality is very basic, but we have great ambitions."

I learned about CPANHQ by overhearing a conversation on Freenode's #perl channel. I joined the effort, and made several enhancements to the Catalyst and DBIx-Class-based code. The functionality is still very basic.

Some of the plans and ideas we have for CPANHQ, which may be translated into code in the future are:

  1. The code is and will remain open-source, which makes it easy for people to contribute to.

  2. We plan to have most of the current features of search.cpan.org and kobesearch.cpan.org including pages for authors, distributions, and individual modules and their documentation.

  3. CPANHQ was already enhanced with some jQuery and jQuery UI JavaScript goodness, and we plan to add more of it to make the user experience better.

  4. The site aims to be more integrated than the many separate CPAN-related sites today: search.cpan.org, CPAN Forum, AnnoCPAN, CPAN Ratings, CPANTS, CPAN Dependencies, etc. By putting everything under one roof, we can provide a better user experience than the many sites with very loose integration.

  5. We plan to enhance the site based on meta-data as provided by both the module authors (in the META.yml file and the users of the site.

    For example, we have already added support for the META.yml's keywords which allow authors to tag modules, and we plan to support user-tags too.

  6. CPANHQ will be very community-driven. People would be able to open user accounts there, which will allow them to contribute content to the site, such as tags/labels, comments, wiki pages, chatter, etc.

The CPANHQ wiki page contains more ideas and insights. Like I said, the current functionality is incredibly basic, but we hope that with enough help, time and dedication, we can create an attractive and engaging interface to CPAN, to make finding a module on CPAN faster, easier and more fun.

In the meantime, you can look at the screenshots we have of the interface so far, or clone the github repositories, and set up a local web-interface.

Shlomi Fish has been writing using Perl, about Perl and for Perl, since 1996, when he started working for a web-design shop, and discovered Perl and UNIX, which he's been in love with ever since. He initiated and is maintaining many CPAN modules and contributed to many other Perl and non-Perl related projects.

Perlbuzz news roundup 2009-07-05

| No Comments

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

« June 2009 | Main Index | Archives | August 2009 »