YAPC::NA has a suggestion box that you can vote on

JT set up a Mob Rater instance for YAPC::NA at ideas.yapcna.org. You can suggest ideas for YAPC and vote on what other people have suggested. This isn't a commitment to act on any of the ideas, but it's a great way for organizers to see what people want and how many people like the idea.

This doesn't have to be suggestions for new things, either. Don't like something? Maybe everyone else does too. Tell Mob Rater you want to get rid of it. See what other people think.

This is even simpler than voting for lolcats. You get a Yes, No, or Skip without having to see a single kitten or forward anything to your friends.

YAPC::NA Idea Collector

YAPC::NA Idea Collector :

We’ve set up a site specifically for you to submit and vote on ideas for YAPC::NA 2012. Whether it be ideas for about speakers you’d like to come see present, or the subject of talks you’d like to see, or maybe a social activity you’d like to participate in. Any idea is welcome. And then everyone can vote on those ideas so that the most popular ideas will float to the top. 

Activate ipv6 on Windows

$ cpan IO::Socket::INET6

t/blocking.t .......... IO::Socket::INET6: socket: Address family not
supported by protocol at t/blocking.t line 34.

t/blocking.t (Wstat: 27136 Tests: 0 Failed: 0)
Non-zero exit status: 106
Parse errors: Bad plan. You planned 2 tests but ran 0.
t/host6.t (Wstat: 27136 Tests: 0 Failed: 0)
Non-zero exit status: 106
Parse errors: No plan found in TAP output
t/io_sock6.t (Wstat: 27136 Tests: 0 Failed: 0)
Non-zero exit status: 106
Parse errors: Bad plan. You planned 20 tests but ran 0.
Files=9, Tests=10, 14 wallclock secs ( 0.09 usr 0.05 sys + 1.72 cusr 2.23
csys = 4.09 CPU)
Result: FAIL

$ netsh interface ipv6 install
The following helper DLL cannot be loaded: DGNET.DLL.
Ok.

$ cpan IO::Socket::INET6

All tests successful.
Result: PASS
SHLOMIF/IO-Socket-INET6-2.69.tar.gz
/usr/bin/make install -- OK

CPAN Testers Summary - November 2011 - Sounds of the Universe

November turned into a rather more traumatic month than I would have liked. It didn't start well with the old hosting company issuing us a invoice for 1 year's hosting, which we had previously cancelled due to their appalling service regards our loss of data. They now claim we still owe them a month, regardless of the month outage we suffered due to their incompetence and failure to replace our mirrored HDD before the second one failed. I'm now seeking compensation, but I'm not hopefully it'll get very far.

The SQLite issues are still surfacing. Following a complete rebuild of the SQLite database, Andreas is still seeing errors for some searches. Though not all, so those of you who use the SQLite download, may see intermittent faults. I have no idea why this happens and if there are any SQLite experts out there, feel free to get in touch.

How to parse HTML, part 2

This is the second of a series of posts that details a Marpa-based, "Ruby Slippers" approach to parsing liberal and defective HTML. This post assumes you have read the first post.

First, reduce the HTML to a token stream

Most computer languages can be viewed as a token stream. HTML is not an exception. HTML tokens can be blocks of text; comments and various other SGML entities; HTML element start tags; and HTML element end tags. The HTML token stream is unusual in that some of its tokens can be quite complex internally.

In parsing computer languages, it is a frequent practice to divide the work between a tokenizer ("lexer") and a high-level parser . The lexer takes the raw input and turns it into a token stream. Tokenizing HTML is a difficult job, and one for which there is an excellent CPAN module: HTML::Parser . Marpa::HTML relies on HTML::Parser to do its tokenization.

Marpa::HTML

CPAN Testers - "Can't locate FindBin/libs.pm in @INC"

Following my recent update to Catalyst::Plugin::ErrorCatcher I’ve taken some time to scan through the CPAN Testers Reports for the module.

I have to admit to being somewhat perplexed at one of the common test failures [example report]:

Can't locate FindBin/libs.pm in @INC

I’ve specified the library as a ‘TestRequires’ dependency in my Dist::Zilla dist.ini file:

[Prereqs / TestRequires]
DateTime = 0
File::Slurp = 0
FindBin::libs = 0
...

The generated Makefile.PL contains this as a ’BUILD_REQUIRES’ dependency:

"BUILD_REQUIRES" => {
    # ...
    "File::Slurp" => 0,
    "FindBin::libs" => 0,
    "HTTP::Request::Common" => 0,
    "IO::File" => 0,
    # ...

I’ve also installed ErrorCatcher via cpanm on a perlbrew setup with FindBin::libs missing … and it was installed as a dependency.

There are so many of these reports that it can’t be one or two ‘unusual setups’ as the root cause. Either something has changed, or I’ve done something really stupid during the development of the module.

It’s slightly frustrating only being able to see the output of ‘make test’ and not anything from ‘perl Makefile.PL’.

Previous releases:

Official Hash Tag: #yapcna2012

If you make any posts about YAPC::NA 2012 and wish to tag it, please use #yapcna2012 as the official hash tag.

Using system or exec safely on Windows

Passing a list of arguments to another program on Windows in perl is much more complicated than it should be. There are several different issues that combine that lead to this.

(mostly copied from a post I made on PerlMonks)

First is that argument lists are always passed as a single string in Windows, as opposed to arrays like on other systems. This is less of a problem than it appears, because 95% of programs use the same rules for parsing that string into an array. Roughly speaking, the rules are that arguments can be quoted with double quotes, and backslashes can escape any character.

The second issue is that cmd.exe uses different quoting rules than the normal parsing routine. It uses a caret as the escape character instead of backslash.

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.