The State of the Acmeism in 2012

Ingy döt Net will give a talk at YAPC::NA 2012 described as:

Acmeism is trying to hack in several programming langugaes at once. Come learn you an Acmeism for great good.

In this talk Ingy döt Net will talk about a module that he has released and maintains in over 6 programming languages. He will talk about his primary acmeist tools: C’Dent, Pegex, TestML and Stardoc, and how they helped him in the process.

[From the YAPC::NA Blog.]

make test errors failed to map segment from shared object

I had to install a version of Storable 2.30 for a client on their server and was getting the following error

failed to map segment from shared object: Operation not permitted
Can't load '/tmp/del/Storable-2.30/blib/arch/auto/Storable/Storable.so' for module Storable: /tmp/del/Storable-2.30/blib/arch/auto/Storable/Storable.so: failed to map segment from shared object: Operation not permitted at

The error was due to the fact that I was trying to build and run the tests on a /tmp directory which had noexec enabled , moving to a different directory solved this issue

Perl 6 Tablets: what happened this week

We're consolidating. Quality of about 50 entries was raised, escape chars for zero width assertions added, precedence table updated, better explanation of this compile time / runtime thing, the flipflops and zip operator.

And hurray i got help from raiph mellor, who has ambition to stay and constantly raise the quality.

But main news is something else. Im done with socialtext. Really. I had to dance around the syntax all the time, never knowing how this character would be displayed or if I had to put {{ }} around it. But even that doesn't helped --> which is used in Perl 6 in signatures to define the return type. And to make headlines, that also work as a link to the top of the page was sheer impossible. Lets not speak about beauty. So I left the wiki and moritz++ was kind to set up the URL http://tablets.perl6.org/, were further development will take place. This means you can easily fork it. Its just html for now, but lot more automation for generating html, pdf and pod (for Perl6::Doc) I expect to happen.

Marpa v. Parse::RecDescent: some numbers

The application

In a recent blog post, Flavio Poletti described an unusual language, one which he'd written a parser for, using the very traditional method of recursive descent. Specifically he'd used Perl's Parse::RecDescent module. Several people asked me how Marpa would do on this language. This post contains a comparison, including a benchmark.

The reader who wants an exact description should look at Flavio's post and code . I call it a Dyck-Hollerith language because it combines Hollerith constants (strings preceded by a count), with balanced parentheses (what is called a Dyck language by mathematicians). Here's Flavio's example:
A2(A2(S3(Hey)S13(Hello, World!))S5(Ciao!))

When I did a Marpa versus Perl regexes comparison, I was very careful to choose an application which showed Marpa in a good light. Here I did not pick the application, and it is almost as if it was designed to show recursive descent in a good light.

Why my()?

Bruce Gray will give a talk at YAPC::NA 2012 described as:

Why do you use “my” instead of “our”? When should you use “our”? Why not “use vars”?

Why does `use strict` catch “$typo”, but not “$Data::Dumper::typo”?

Why do *you* need to care about namespaces? And what are they really?

Why does your module name need to agree with your “package” statement? What happens if it doesn’t?

Most of the answers are easy to learn, but much harder to remember, so many Perl programmers end up doing the right thing only through repeated references to examples and docs.

The answers become both clear *and* memorable in this talk, via a rapid walk through the history of Perl. 

As we skim the timeline of key language elements, you will see the problems they were needed to solve, and understand where and how they should be used.

[From the YAPC::NA Blog.]

Nordic Perl Workshop 2012 - June 4-5 in Stockholm, Sweden

On the 4th and 5th of June the 2012 edition of Nordic Perl Workshop takes place
in Stockholm, Sweden. It'll be two days of presentations, hacking, socializing
and other interesting stuff around Perl5, Perl6, the community, projects and
related topics.

Regular attendee fee is 50 EUR and for students a reduced fee at 25 EUR.

Afterwards my hope is to have a hackathon and some touristy stuff for those
who are interested.

In order for the workshop to be great we also need interesting presentations
which my hope is that you attendees will provide! Last submission date is May 6th.

Thanks to Init AB who are sponsoring this year.

See you in Stockholm early June!

To register, submit talks or more information visit the workshop site at
http://act.yapc.eu/npw2012/

/Claes Jakobsson, Stockholm Perl Mongers

Avoiding use_ok in t/00-load.t

There's a discussion on Perl-QA about whether the use of use_ok should be discouraged. I argue that it should be. It really doesn't gain us much, it's historically been buggy, and simply using the module is enough to cause a test failure if the module doesn't compile. So someone asked how to write this t/00-load.t if we didn't have use_ok:

State of the Velociraptor

At YAPC::EU 2012 Matt S Trout will tell you something about the "State of the Velociraptor":

"What shall we do tonight, mst?"

"Same thing we do every night: Try to conquer the world"

As usual, mst presents a madcap recap of the last year in the perl5 community combined with some thoughts on how both madness and method can inform our approach to our language, community and culture over the next year.

Mojito Undocumented

Mateu Hunter will give a talk at YAPC::NA 2012 described as:

This talk will walk through some of the major features of Mojito, a web document system, that have not yet been documented:

  • nested formatters (markdown, POD, HTML etc)
  • document collections (grouping, ordering)
  • advent calendar view
  • pastie like support
  • commit diffs
  • CPAN recent synopsis feed

In addition, we’ll cover the design of Mojito which builds upon Modern Perl jewels such as Plack, Moo and Web::Simple

[From the YAPC::NA Blog.]

Call for Sponsors for YAPC::Asia Tokyo 2012

We're now looking for sponsors for YAPC::Asia Tokyo 2012: http://yapcasia.org/2012/news/yapcasia-2012-sponsor.html

We accept sponsorships in increments of 50,000JPY. For our sponsors, we offer to publicize your logo on our pamphlets, and on our site, as well as a dedicated entry for you under our site (example).

If you have swag to give away, we are happy to distribute them at the venue, along with any advertising material (pamphlets or the like). If you are sending someone over to promote, we are happy to arrange something. Please contact us for details at info-at-perlassociation.org.

We hope to see you at the world's largest YAPC!

Missing cygwin1.dll Simple Fix: Put Cygwin in PATH

If you try running Cygwin from another program (say, the Ponderosa tabbed terminal emulator) and you get a "missing cygwin1.dll" error, you should check that you have put Cygwin into your Windows PATH environment variable. Cygwin does not do this by default.

(Documented in the Cygwin manual "Chapter 2. Setting Up Cygwin", section "Environment Variables" (but missed by me on the first pass).)

whack-a-mole

find the perl subroutine most in need of refactoring

fix it

repeat... virtuous whack-a-mole with https://github.com/wickline/whack

Data::Printer - A New Look on Dumping Variables

Brenno de Oliveira will give a talk at YAPC::NA 2012 described as:

Data::Printer is a simple and powerful solution to viewing your complex Perl data structures.

Contrary to Data::Dumper and similars which stringify your data in a restrictive way so it can be eval’d back into your code, Data::Printer cares only about letting you easily see what’s in there using colors, filters, a lot of customization and no hassle.

In this talk I’ll showcase Data::Printer and walk through some of its main usage scenarios, customization, filters, and general tips for you to tame your variables!

[From the YAPC::NA Blog.]

The Perl April Fools' Gag That Could Have Been

On my last entry, I told you that I have had an idea for a Perl-related April Fools' day gag, and that I would possibly reveal it on 2-April with a big disclaimer on top, just for kicks. Well, it's already 9-April, but I guess it is better late than never, right?

OK, here is the big disclaimer: THIS IS A JOKE. IT'S NOT SERIOUS. SO RELAX - IT IS NOT GOING TO HAPPEN SOON (AND HOPEFULLY WILL NOT EVER HAPPEN)..

OK, now let's move on to the gag itself:

Vim report for Devel::Cover (Perl QA Hackathon) - part 2

At last week's QA Hackathon in Paris I put together a Vim report for Devel::Cover to show coverage information as Vim signs. See https://blogs.perl.org/users/paul_johnson/2012/03/vim-report-for-develcover-perl-qa-hackathon.html

Whilst nice, and somewhat useful, this was very much a proof of concept. It only worked for statement coverage, it wasn't particularly clever, nor was it particularly pretty.

I've just released Devel::Cover version 0.86 which solves a number of these problems. It shows all types of coverage data (that Devel::Cover knows about), it seems to be pretty usable (at least in the way I use vim), and it provides a way to customise it to make it pretty (I'm fairly happy with the way mine looks).

cov1.png

In this image you can see some of the features. The column on the left-hand side shows the coverage information. Five coverage criteria are displayed as:

P - Pod coverage
S - Statement coverage
R - Subroutine coverage
B - Branch coverage
C - Condition coverage

Dancer: Getting to Hello World

R Geoffrey Avery will give a talk at YAPC::Europe 2012 described as

When attempting to learn Dancer I ran into the problem that all the documentation started from "Here is a 'Hello World' script". But that was assuming many things were set up and configured and that just was not true, at least not on my server.

This is a collection of what I learned.

Hackathon Extended!

Due to a cancellation by someone else using the building, we’ve been able to add an additional 40 seats to the Hackathon on June 11th and 12th before YAPC::NA 2012. So if you can make it into town early, and want to stop by, then by all means do so. We’ll officially have room for you. 

[From the YAPC::NA Blog.]

Avoiding use_ok in t/00-load.t

There's a discussion on Perl-QA about whether the use of use_ok should be discouraged. I argue that it should be. It really doesn't gain us much, it's historically been buggy, and simply using the module is enough to cause a test failure if the module doesn't compile. So someone asked how to write this t/00-load.t if we didn't have use_ok:

Painless RSS processing with Mojo

I wasn't looking forward to dealing with this XML feed because I hate anything that deals with XML. However, with Mojo's DOM stuff, I don't even have to know it's XML. Here's the interesting bits from a program that's not much larger than this snippet:

use Mojo::UserAgent;

my $ua = Mojo::UserAgent->new;
my $response = $ua->get( $feed_address )->res;

my @links = $response->
dom( 'item' )->
grep( sub { $_->children( 'title' ) !~ /.../ } )->
map( sub {
$_->
children('guid')->
map( sub { $_->text } )
} )->
each
;

MetaCPAN at the QA Hackathon

One week ago, I happily had the opportunity to be at the QA Hackathon in Paris. In the past I had been vaguely aware that the hackathon exists and I had some shadowy idea of what goes on at such a thing, but I just never considered getting involved. I didn't think it was very much related to the sorts of things I work on. Happily, it turns out that I was wrong.

First off, thanks!

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.