Swiss Perl Workshop 1

We are happy to announce Swiss Perl Workshop 1!

The event happens on Friday, 22 March 2013. In Switzerland.

It is a one day workshop, starting approximately at 10 am and ending roughly at 5 pm, followed by a social event.

If you are in the area, please reserve the date and stay tuned for updates. :-)

Perl 5 Porters Weekly: December 24-December 31, 2012

Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list. Usually I go Monday to Sunday, but just to keep things tidy, we'll make this the final summary of 2012 by including the 31st.

Topics for this week include:

  • cPanel version of "Storable 2.39_01" breaks backwards compatibility
  • Please separate fixes to spelling from changes to code layout in patches
  • Term::ANSIColor 4.01 released

w00t! First CPAN upload of 2013!

According to metacpan.org, MooX-ClassAttribute-0.001 was the first upload of 2013! Yay!

A self-parsing and self-lexing grammar

[ This is cross-posted from the new home of the Ocean of Awareness blog. ]

In a previous post, I showed a self-parsing grammar, written in Marpa's new BNF interface. That grammar was in a tradition going back to the 70's. Following the tradition, I cheated a bit. That grammar required, but did not include, a lexer to make a prepass over its input.

This post contains a self-parsing and self-lexing grammar, the one for Marpa's forthcoming Scanless interface. This grammar is about as self-contained as a grammar can get, short of being encoded into a Universal Turing machine.

Many readers will prefer to be introduced to the Scanless interface by way of a simpler example, but based on the response to the previous post I know there are others who share my fascination with self-description and self-exemplification. And there is something to be said for reading an example that is a final authority on itself.

MetaCPAN is Moving Today (Dec 31, 2012)

This is just a quick note to let everyone know that MetaCPAN is moving to a new hosting sponsor today (Dec 31st). Our old hosting relationship with speedchilli.com has unfortunately come to an end. We've been quite grateful for and more than satisfied with their sponsorship over the last 1.5 years or so. Having the hardware and bandwidth which speedchilli freely made available to us was instrumental in the early days. (Initially everything was running off a tiny instance in the Rackspace cloud. It wasn't much, but it was all we could afford after passing the hat around). Having speedchill sponsor us allowed everyone who contributes to MetaCPAN create something truly special.

Perl 5 Porters Weekly: December 17-December 23, 2012

Happy New Year! Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list.

Topics this week include:

  • perl 5.17.7 is now available
  • Solaris smoke testers wanted
  • Parrot 4.11.0 "All together - Happy Birthday Lovebird" Released!
  • successful s///e clobbers $! on MSWin32
  • JROBINSON grant report, #13
  • POSIX wrapper for strptime()
  • Is this a known unicode bug in 5.16.2?

YAPC::Europe 2013 in Kiev, week minus 32. First results

Dear readers,

This Sunday post is the last one before the new 2013 year begins. So, a beautiful chance to have an opportunity to list some results that we achieved during the year and share some plans for the next one.

Graphing CPAN author's number of distributions over time

Script: graph-cpan-dists-over-time

One glaring deficiency: does not take PAUSE deletions into account (is there a MetaCPAN API for this?) Thus, the number of actual dists on the graph is monotonically increasing and might be higher than the number of actual dists on CPAN.

Generated graph is still rough and number of authors is limited at three because I'm too lazy to tweak the sample script from Chart::Lines.

Sample graph:
.

Enjoy and feel free to improve on it.

Test

tesing

17.4% of CPAN uploads have no license in the META files

I just checked the 1000 most recent CPAN uploads and 174 of them did not have a license.That's 17.4%.

According to the history of the metayml_has_license metric of CPANTS, there has been a constant improvement since 2003, but I feel it is still too high.
Especially if you take in account how easy it is to add license to the META files.

What about making a New Year's resolution to add the license key to each one of your modules?

Moving my Catalyst Apps from Apache/FCGI to Nginx/Starman

Recently I had to move all my projects to a new server and decided to give Nginx and Starman a chance.

The Nginx config is rather simple.

my Catalyst Application is located at /var/www/MyApp

The indirect benefits for Perl on LinkedIn

In response to one of my posts about the Advanced Perl Users Group, @belden asked me how I find LinkedIn useful:

belden-twitter.png

A better LinkedIn makes the world a slightly better place for me. Our ill-defined, disparate, and disperse community has many parts that can be improved and I spend a couple of minutes each morning moderating some LinkedIn stuff. Other people help out in other sites. There are a couple of things that I'd like to encourage.

I want to recruiters to see that CPAN Developer's Group badge and ask candidates why they don't have it. Even if that means the person only ever uploaded one module, that means they've gone through the process once, which I think is the biggest obstacle to sharing. Once they get over that hump, even if just to get the badge, they are a slightly better Perler. And, it's all about a long journey where each step makes them slightly better. If they are hiring better Perlers, I'm dealing with better Perlers when I show up.

Zotero/Perl integration

Zotero is in my opinion the best solution to citation management available. It's a firefox/xulrunner based solution for collecting and maintaining bibliographic data and it's associated full text. Zotero has a cloud based API but also an internal (largely undocumented) Javascript API. I find the JS API much more interesting than the cloud API due to having total control over my data (and works offline etc etc...).

Two frustrations I've had with a lack of good alternative to the msword integration code, and problems with interacting with the internals of a running firefox/xulrunner. I finally cracked open mozrepl, and the cpan module MozRepl and prototyped a bidirectional bridge between Zotero and perl.

The code is here, and should be a useful start for anyone who wants to do any bibliographic data mangling in perl. I'm not going to publish it to CPAN until I work out how to test it properly.

Refactoring When Tests Are Failing

Today I'm working on some code. That's not surprising. It's also not surprising that the person I'm working on the code with is on holiday until the new year starts. Before he left, he made some significant changes to optimize our code, but for one subsystem he didn't have the time to apply his changes. This means that we have 7 tests failing out of 397. In a quick check we found there were plenty of conflicts between his code and mine and my work was generating even more conflicts. This meant we had two choices for how to deal with this while he was gone:

  1. I could continue my work with passing tests and deal with even more conflicts when he returns
  2. I could merge his code, deal with some failing tests. get rid of the conflicts and have a much faster code base

Personal end-of-year report for 2012

Previous end-of-year report for 2011. Previous quarterly report: Apr-Jul 2012.

2012 is my most productive year yet in my "CPAN career": 943 releases (compared to 495 in 2011). That's about 2.5 releases per day! So far I have about 215 distributions under my account, almost half of them (96) are new modules in 2012. The reasons the number of distributions is high include: Perinci modules family being split into many distributions (and then some, to avoid recursive dependencies problems that I seem to keep bumping into), the various Task distributions, and also the fact that releasing CPAN modules is so darn fun! A little too much fun, I'm afraid.

New CPANTS Site

I've finally launched a new CPANTS website: http://cpants.cpanauthors.org/

Some of the new features follow:

BackPAN support

Almost all the BackPAN distributions have also been analyzed.

Personal Feed

You can subscribe your kwalitee report feed of your distributions (http://cpants.cpanauthors.org/author/PAUSEID/feed).

Metrics

Finally Moose and friends are correctly considered as "use strict" equivalents, and new valid_signature metric is introduced (both have been implemented in Module::CPANTS::Analyse 0.86 months ago, but have not been introduced on the previous site for various reasons). On the other hand, some of the experimental metrics about debian packages are disabled because the data source has not been updated for a while.

Issues?

If you find anything, tell me via github's issue tracker:

https://github.com/charsbar/www-cpants/issues

Happy holidays!

Merry XS-mas!

Some time ago, I've acknowledged the LWP::Protocol::Net::Curl existence here. Lots of things changed since then due to the feedback received, so thank you all, guys! Today, I am proud to announce the reach of the stable milestone with the version 0.011.

YAPC::Europe 2013 in Kiev, week minus 33. Countdown correction. Dates. Site

Dear YAPC::Europe attendees and those who would like to come to Kiev in August 2013,

We are very happy to announce the launch of the conference site: yapc.eu/2013.

ye2013site.jpg

Together with that, I am correcting the week countdown counter: there's no week minus 34, and the week -35 is followed by the week -33. The dates of the conference are 12-14 August 2013. There's a negligible small change that the dates will be changed, so we will make additional announcement when we are ready. It's Christmas and New Year time, that's why we have to wait a little bit more to be 100% sure. Vyacheslav vti and Anatoly sharifulin have just returned from Saint Petersburg where they attended the celebration of the 25th birthday of Perl, which is a good excuse :-)

Re-Announcing Mojolicious::Plugin::InstallablePaths

A few days ago, I announced the release of Mojolicious::Plugin::ModuleBuild. After some thinking I realized that without much (any?) changes it would work more generally, even with the ExtUtils::MakeMaker toolchain. Therefore I am now announcing the availability of Mojolicious::Plugin::InstallablePaths.

The general concept is that Mojolicious applications assume a certain directory structure for use locally. To make a CPAN-installable distribution out of that application one must move some directories. Further, if packaging using Module::Build, even more changes had to be applied.

Mojolicious::Plugin::InstallablePaths allows a consistent usage in all phases of development and with either build tool (EUMM or Module::Build). Hopefully this helps encourage people to think of their Mojolicious apps as candidates for CPAN and makes it easier for them to share them with the world that way!

The old module will be marked for deletion and the old blog entry will be removed as well, so don’t try to use it, its going away.

Perl 5 Porters Weekly: December 10-December 16, 2012

Welcome to Perl 5 Porters Weekly, a summary of the email traffic of the perl5-porters email list.

Topics this week include:

  • RFC: Adding a prototype attribute
  • Undocumented %ENV behaviour
  • rand() on Windows only uses 15 bits of entropy

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.