The Perl Foundation is proud to announce that the craigslist Charitable Fund is supporting the Perl community with a generous donation of $100,000 toward Perl5 maintenance and for general use by the Perl Foundation.

According to craigslist CEO and former Perl Hacker Jim Buckmaster, "craigslist has gloried in and relied upon Perl for most of its software development for more than a decade. craigslist Charitable Fund is honored to recognize the wizardry and generosity of the Perl community, help ensure the ongoing maintenance of Perl5, and contribute to the future evolution of Perl." He added, "It was unclear at first how best to give something back to Perl. Fortunately there was more than one way to do it."

Karen Pauley, Perl Foundation President stated, "I am extremely grateful to craigslist Charitable Fund for their incredibly generous donation. What a fantastic way for The Perl Foundation to start 2012!"

"This generous donation will allow us to further improve the Perl 5 Core and the work done with the Core Maintenance Fund, as well as sponsor a range of Perl 5 related activities through grants and initiatives already in existence and in the community."

craigslist Charitable Fund makes donations in areas including Open Source & Free Software, Civil Liberties, Peace & Veterans Issues, Sustainable Transportation, and Journalism & New Media. For more information send an email to charitable@craigslist.org.

craigslist is a network of community moderated and largely free local classifieds and forums sites, where its users find jobs, housing, goods, services, romance, and anything else you can imagine. It began in 1995 as an email list of San Francisco events run by Craig Newmark, and was incorporated as a business in 1999. craigslist gets more than 30 billion views per month, is in the top 5 companies worldwide for English-language page views, and is used by more than 50 million people each month in the United States alone. Today craigslist is available in 700 regions, 70 countries, and 10 languages. craigslist hosts more than 50 million new classifieds each month and over 200 million user posts in its discussion forums. craigslist is based in San Francisco.

craigslist has become ubiquitous with the idea of searching for anything imaginable and this has transferred from the popular consciousness to media. In The Big Bang Theory: Season 4: The Prestidigitation Approximation, Sheldon says:

"Sheldon: And is this my card? Rats! I wonder if Howard used a radioactive tracer. Where am I going to find Uranium-235 this time of night? Come on, Craigslist." (source)

This is only one of a host of occurrences of craigslist in television and film such is its place in the popular mindset.

Visit www.craigslist.org.

Nicholas Clark writes:

The start of December was mostly spent unpicking and simplifying how embed.h is included in perl.h. embed.h is one of the core's generated headers, containing C pre-processor directives to simplify use of the C API functions, by wrapping them such that the programmer doesn't need to deal with the implementation details of ithreads.

Over the years, embed.h has come to be included by perl.h in 4 different places depending on which OS perl is being built on. The confusion started 13 years ago when a second #include "embed.h" was added later in perl.h to support the now long defunct "PERL_OBJECT" system. This later migrated to be used for all Win32 builds. Subsequently VMS and Symbian gained special-cased includes of their own in perl.h, as like Win32 they defined HAVE_INTERP_INTERN, which needed to be done before embed.h was included.

The silly part is that it turns out that there was no reason why the include of embed.h had to be early on any OS. So it's possible to simplify perl.h by taking the Win32-only #include embed.h near the end, and removing the conditional code, so that all operating systems use it.

I also eliminated code from a2p to support using Perl's malloc, which was "temporarily" commented out 13 years ago, pending a proper fix. The lack of bug reports suggest that no-one has missed this. I worked with Craig Berry to simplify vmsish.h, which contained support code for a2p on VMS that isn't actually necessary.

Related to investigating both, I spotted that conditional code for NO_EMBED could be removed from sdbm.h. The functionality of NO_EMBED was removed 13 years ago, and most every other reference purged in 2003.

There is probably quite a bit more conditional compilation code that could be removed from sdbm.h. However, I'm not sure that it's worth it, as the cost of verifying that one has done it without error is likely to be much greater than the benefit that it brings. There's a lot more low hanging fruit elsewhere, plenty more than we have people to harvest it.

The "highlight" of the month was installman, the script that make install uses to locate documentation and install it as man pages. Initially it was something I could work on offline whilst travelling by train to London to meet Jesse (and others) for Dim Sum. Except that it turned out to be a lot more messy than it first seemed.

installman is responsible for finding Pod documentation in .pm and .pod files, passing the Pod to Pod::Man to generate manpages, and then installing the manpages in the correct location. There are exceptions - we don't install documentation for certain modules, we don't install certain modules (so we shouldn't install their documentation), and we should skip test modules. Half of this overlaps with what pod/buildtoc does. However, the code was completely different, with partially inconsistent exception lists, exceptions that are no longer needed, etc.

installman and buildtoc now share as much code as possible, with the installation exception rules in one place, and all dual life Pods now install in man1/

While the code still fresh in my mind, I also refactored the common Pod installation to eliminate pod.lst. This was the master Pod data file, added in 2003 by commit 416302502f485afa as part of a refactoring to reduce the amount of manual work needed to maintain Pod-related rules in various files, and to reduce errors and inconsistencies between them. It turned out that pod.lst contained quite a lot of data which were only needed to generate the table of contents in pod/perl.pod, and that there wasn't that much extra in pod.lst that wasn't in pod/perl.pod. Hence the two were near duplicates of each other, and simplification should be possible. By careful use of =begin, =end and =for Pod directives in pod/perl.pod is has been possible to readably encode the extra data into the source of pod/perl.pod without affecting the rendering and thus eliminate pod.lst. This both simplifies the distribution, and the tasks the release manager needs to perform each month.

In the process of doing this, I discovered that the changes that permitted dual-life Pods to move from pod/ to their owner distributions in dist/ and cpan/ had introduced another regression post v5.15.0 - the Pod files were now installed as if they were modules, into lib/, instead of the correct location with all the other core Pod files. In theory, this was a simple change to the installperl script to get it to use the code common to installman, buildtoc and a couple of other helper scripts. In practice, it turned out to be more complex, as there was another organic mess that needed simplification.

Key to this was changing the invocation of File::Find::find() that processes lib/ to run with 'no_chdir'. This allows that code to call other routines that use pathnames relative to the top of the build tree to access files, and as a side effect eliminates the localised package variable $::depth which was used to maintain a faked path prefix for display purposes to counter the effects of the directory change.

There is still a considerable amount of sanity refactoring that could be done on installperl. In particular, the code that processes lib/ has accumulated a lot of exception rules, at least some of which are now redundant and should be removed. This is left as an exercise to any reader who enjoys the mental challenge of figuring out the history of code from the "blame" log: http://perl5.git.perl.org/perl.git/blame/HEAD:/installperl

A more detailed breakdown summarised from the weekly reports. In these:

16 hex digits refer to commits in http://perl5.git.perl.org/perl.git
RT #... is a bug in https://rt.perl.org/rt3/
CPAN #... is a bug in https://rt.cpan.org/Public/
BBC is "bleadperl breaks CPAN" - Andreas König's test reports for CPAN modules

HoursActivity
0.50#105928
0.2593ea32b83e27783a and vmsish.h
0.25NO_EMBED in sdbm.h
2.00POSIX
POSIX::dup2 RT #98912
POSIX::sleep
0.50Pod::Functions
0.50Porting/corelist-perldelta.pl
0.75Porting/expand-macro.pl
0.25Porting/pod_rules.pl
0.25Porting/podtidy
0.50SSNEW
0.50a2p
a2p and vmsish.h
8.25abolish pod.lst
1.00checking and merging smoke-me branches
0.75cross compiling
12.75embed.h in perl.h, perl.h in x2p
6.50fc [foldcase]
4.75fileno on a localised tied handle
1.50global destruction backref panic
global destruction backref panic (analysis)
39.25installman
installman/installperl
0.50pod/perlmodlib.PL
6.25process, scalability, mentoring
1.25questions about saving stacks
19.50reading/responding to list mail
0.25sfio
0.25suidperl purge
2.75t/porting/utils.t
0.25t/re/regexp.t cleanup
2.00version.pm and POSIX::set_locale
0.50x2p/malloc.c

114.50 hours total

Its that time of the year, again. The Perl Foundation is looking at giving some grants ranging from $500 to $2000 in February 2012.

You don't have to have a large, complex, or lengthy project. You don't even have to be a Perl master or guru. If you have a good idea and the means and ability to accomplish it, we want to hear from you!

Do you have something that could benefit the Perl community but just need that little extra help? Submit a grant proposal until the end of January.

As a general rule, a properly formatted grant proposal is more likely to be approved if it meets the following criteria

  • It has widespread benefit to the Perl community or a large segment of it.
  • We have reasons to believe that you can accomplish your goals.
  • We can afford it (please, respect the limits or your proposal should be rejected immediately).

To submit a proposal see the guidelines at http://www.perlfoundation.org/how_to_write_a_proposal and TPF GC current rules of operation at http://www.perlfoundation.org/rules_of_operation. Then send your proposal to tpf-proposals@perl-foundation.org. Note that should be properly formatted accordingly with our POD template.

Proposals will be made available publicly (on this blog) for public discussion, as it happened in the previous rounds. So, please make it clear in your proposal if it should not be public, and why.

Perl.com Wants Your Articles!

1 Comment

chromatic writes:

Last year (2011), Perl.com came back to life, this time under the guidance of The Perl Foundation. We're glad to be back, publishing tips, tricks, and tutorials for novices, dabblers, and professionals alike!

We've already published some great articles, but we need your help. What cool things are you doing with Perl in your work? What clever hacks have you perpetuated as you play? Which module did you just now discover to save you time and frustration? What technique did someone show you to get your work done faster, with more simplicity and elegance?

Perl can do anything, and 2011 has demonstrated that Perl is bigger and better than ever. Well-established projects like Catalyst, Moose, Dancer, and Mojolicious increase the fun and decrease the boilerplate. New projects like Marpa, Plack, and Carton simplify our work. Yet there's always room to talk about old stalwarts--including new and long-forgotten features of Perl 5 itself.

This is our site, and it's exactly what we make of it. Let's show off a little bit. Send your article proposals and ideas to editor@perl.com, and let's make 2012 the best year for Perl yet.

Booking.com donates again to The Perl Foundation, gives €100,000 to Perl 5 development

Booking.com have announced that they have donated a new grant of €100,000 to the Perl Foundation to aid with further development of the Perl 5 programming language. The grant follows Booking.com's $50,000 grant to TPF that was just recently successfully concluded, having contributed to a significant improvement in quality of the Perl 5 core. Booking.com is the world's largest and fastest growing online hotel reservation service. It is based in Amsterdam, the Netherlands.

"Perl is central to the success of Booking.com.  With this grant, we want to keep up our tradition of giving back to the community," said Darren Huston, Chief Executive Officer of Booking.com.

"Booking.com has seen strong growth in its business for several years. At the same time, Perl has made a comeback as a time-tested language of choice for online applications.
As one of the world's largest employers of Perl developers, an investment for us into a healthy and dynamic Perl community is an investment in the future of our company and innovative web development in general."

The grant was received by Jesse Vincent and Karen Pauley on behalf of The Perl Foundation at Booking.com's half-yearly internal IT-conference in Amsterdam, which was attended by the over 200+ person IT team of Booking.com.

Since the foundation of Booking.com in 1996, apart from the Perl programming language, the company has always used open source projects and products for its IT infrastructure such as Linux, Apache, MySQL and Java.

About Booking.com

Booking.com B.V., part of Priceline.com (Nasdaq: PCLN), owns and operates Booking.com™, the leading worldwide online hotel reservations agency by room nights sold, attracting over 30 million unique visitors each month via the Internet from both leisure and business markets worldwide.

Established in 1996, Booking.com B.V. guarantees the best prices for any type of property, ranging from small independent hotels to five-star luxury properties through Booking.com. The Booking.com website is available in 41 languages and offers over 178,895 hotels in 161 countries.

You can download a pdf of this release on the TPF Press Release pages.

Dear Community,

After the voting process, the grants committee rejected all grant proposals. One of them (translation of Perl documentation) was rejected by not compliance with the GC rules, and the other were rejected by a vote of the committee.

A new round of grant proposals will open next week.

In August of 2011 Gabor Szabo started an ambitious project intended to bring a snapshot of the Perl World to the wider community. That project was called Perl Weekly.

Gabor had seen an issue in the community, in order to follow the latest news, learn about the latest events or keep up-to-date with important elements of the community you were required to sift through a large number of blogs, news pages, Twitter feeds, Facebook updates, CPAN and MetaCPAN knowledge, hang out in irc channels and follow the 'right' people who seemed to release the information. This is quite a task and most people are too busy with their personal and professional lives and don't normally have feeds to this information. Gabor, of course, had as he has always been deeply involved in the Perl community.

After viewing other newsletters, most especially Javascript Weekly which was a heavy influence on Perl Weekly, Gabor launched issue one and didn't look back. His goal is described clearly as:

"You are busy churning out code or managing the developers. You care about Perl but don't have time to go through tens and hundreds of articles and blog posts every day. You want to keep an eye on the development of Perl without drowning in a sea of blog posts. You need someone to point out the most important news and articles in the Perl World.
Let me be your guide."

Perl Weekly reached its 22nd issue on 26th December (it is released without fail every Monday no matter what other commitments Gabor has) and will enter 2012 with an issue on the 2nd January. If you want to follow events in the Perl world and do not have time to sift through the wealth of different sources you should subscribe to Perl Weekly (while also keeping the occasional eye on the Perl Foundation Homepage and blog [shameless plug]) and Like/follow their Facebook page.

Perl Weekly has over 2,200 subscribers but we know there are many more people out there who can and should subscribe and benefit from Gabor's hard work, you needn't be an advocate of Perl, just interested in how the community and language is developing and evolving.

Gabor Szabo has been active in the Perlverse for many years, he is a professional Perl Trainer who has recently started a cost-effective series of online Perl training courses under the Perl Maven brand. The first in this series is aimed at people new to Perl and will efficiently introduce you to programming concepts and best practices in Perl.

Gabor is a keen developer as well and is the founder of Padre, he is also the maintainer of the CPAN forum and has a number of modules on CPAN. Gabor was awarded the prestigious 'White Camel' in 2008 for his contributions to the Perl Community, but isn't the type of person who allows praise to let him rest on his laurels.

Gabor is an organiser for the Israel Perl Workshop in 2012 (which he had a principal position in resurrecting after a short hiatus) and a regular speaker at many Perl events. You can read more about Gabor here, follow him on Twitter, Facebook and identi.ca.


Series Description

This is a series of articles on various elements of the Perl community that I like to refer to as the 'Perlverse'. The series is not in a particular order and election to it is entirely subjective and mostly based around my knowledge of the person or item. They are intended to highlight the rich variety of people, companies, projects and events that happen in the Perl world and can be used as the basis of examining the rich diversity of the Perl culture.

If you would like to add commentary or further information into the body of an article, or if you would like to elect an item to this series for me to write upon then please contact me with your information or proposal.*

-mdk

*At which point the series will gain further objectivity

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

Recent Comments

  • Chankey Pathak: That is a good step. I am willing to write read more
  • Jason: How will this be different from mogilefs, which is already read more
  • Nuba Princigalli: Another curated list effort worth mentioning would be Andy Lester's read more
  • Chankey Pathak: Gabor Szabo is doing a great job. read more
  • Leon Timmermans: I have to agree with anon, none of these really read more
  • Spindizzy: Sounds like a useful project, but again, how does it read more
  • Spindizzy: Sounds like a reasonable idea. Although it doesn't directly improve read more
  • Spindizzy: Automated alcohol production via Perl? How does this advance/improve the read more
  • Anonymous: The Perl Foundation isn't an ATM for unemployed people grasping read more
  • Alberto Simões: Hello, Joel. Officially, February. We might open it earlier, depending read more

Find recent content on the main index or look in the archives to find all content.

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.37