Stackato - Bringing the Cloud Back Home

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

Stackato is a private/personal PaaS solution from ActiveState. Get all the simplicity of deploying your favorite Perl (and many others) apps, like you get from DotCloud or Heroku. The difference is you can host it anywhere you want, from your laptop to Amazon EC2. It’s your software, and its free.

In this talk Ingy döt Net will get everyone in the audience up and running their favorite Perl web apps on their own private PaaS in minutes. Fun!

[From the YAPC::NA Blog.]

Perl Calltrace

How to get the abs path of the script that do use modulename ?

  • In the module:
 1 package foo;
 2 use common::sense;
 3 use Cwd 'abs_path';
 4 
 5 sub program {
 6     say abs_path($0);
 7 }
 8 
 9 1;
 

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.

Managing Chaos with Perl

Ben Mouw will give a talk at YAPC::NA 2012 described as:

Booking.com is #1 online travel agency in the world (in terms of the number of online hotel room nights sold)  

In this talk I will discuss how we manage to run a large scale website using almost exclusively Perl.

I will cover our setup for running the business with Perl and Open Source, what we have done to remain agile while growing our team to over a hundred Perl developers, and some of the challenges we have faced in our rapid growth

[From the YAPC::NA Blog.]

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:

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.

Test Automation Workshop

Gabor Szabo will run a Test Automation Training Workshop at YAPC::NA 2012. The workshop will be for the two days prior to the conference (Monday and Tuesday June 11 and 12).

Yet Another Tel Aviv Perl Mongers Meeting Report

I have virtually (and somewhat physically) disappeared for a few good months, whether it was from the development community or from friends. I've needed a break from stuff, from planet Earth.

One of the things I had the privilege of doing upon returning to the surface is to organize our next Tel Aviv Perl Mongers (TA.pm) meeting. I was fortunate enough to have the help of Shlomi Fish and Gabor Szabo. I also had the pleasure of having Erez Schatz and Ido Kanner stepping up and offering to do a few talks!

2011-11-30 22.07.21-15.jpg

Ido's talk is available online.

You can read Shlomi's report and Erez also mentions in his last post.

A Zoidberg Story

I just read Buddy Burden’s recent post A Random Story and it was fun to see that his reasons for adopting Data::Random was the same as my reason for adopting Zoidberg: failing tests. The difference was that his failing tests were his own and mine were in Zoidberg.

I was a few years into using Linux and I had really fallen in love with Perl, which was my first real programming language (after Maple, Mathematica, and LaTeX), but I had never really gotten the hang of Bash. Since Perl was used in scripting, and even things that looked like shell scripting, I wondered if there was a Perl shell. I looked and I saw a few Zoidberg and Psh stood out as being functional.

Now I can’t remember what it was, but Zoidberg was the one that kept my attention, there was probably something, but I can’t remember anymore. It had a problem though, a failing test on installation through CPAN. I could install it through apt though, so no problem, right?

AI Challenge 2011 - Python, Ruby, PHP, Perl

The AI Challenge Fall 2011 (sponsored by Google) is all about creating a computer program (in any language) that controls a colony of ants which fight against other colonies for domination.

YAPC::NA Planning Meeting Tonight

It’s the first Tuesday of the month, so that means it’s YAPC::NA Planning Meeting time. If you’re in the Madison area, or don’t mind a drive there is a YAPC planning meeting tonight at the Essen Haus at 7pm. As always the food and beer are sponsored by Plain Black, and the room is sponsored by Essen Haus.

We’ve got a lot to discuss so the meeting will probably last until around 9pm, but you’re free to come and go as you please.

[From the YAPC::NA Blog.]

Is there in truth no Perl?

While working on my Tel Aviv.pm talk about DBIx::Class talk (more to follow on that), I met an acquaintance of mine from a deceased start-up I worked on a few years back. We chatted a bit, he said he's still writing in C/C++ (mainly GUI stuff), and when I mentioned I work with Perl nowadays, he said "Oh, I love Perl, I wish there were other languages like it". I, as usual, remarked that there are the Pythons, and even PHPs of the world, and he surprised me by saying "no, I mean really like Perl".

Catalyst::Plugin::ErrorCatcher - now with parameters

Following on from a recent feature request I’ve released version 0.0.8.10 of Catalyst::Plugin::ErrorCatcher.

The reports from the module now include POST and GET parameters for the request. Also included, if present, is the referer header value.

The new information looks like this:

A Random Story

For my first (real) tale, I thought I’d tell the story of how I came to be the maintainer for Data::Random.

I first came across this module when I was trying to find some way to test some date routines I was doing for $work.  Funnily enough (or not, depending on your perspective), the date routines were themselves for testing—I’m working on introducing TDD to my department, and so I try to maintain a decent library to make testing easier.  To that end, I decided to make it easier to set up records with certain dates:

    # go far back in time to avoid conflicting with real rates
    my $initial_date = '1/1/1990';
    $prop->create_billing_period(
        start_date => days_from($initial_date, 30),
        end_date => days_from($initial_date, 60)
    );

I’m happy to announce that Rimm-Kaufman Group (RKG) has...



I’m happy to announce that Rimm-Kaufman Group (RKG) has decided to sponsor YAPC::NA 2012.

RKG is a full-service digital marketing agency that combines talented and creative marketing analysts with unmatched proprietary technological capabilities to create the industry’s most efficient and effective data-driven online marketing solutions. We drive business to our clients by maximizing a full range of opportunities including Pay-Per-Click, SEO, Social Media Advertising, Comparison Shopping Management, Display Advertising and Multichannel Attribution Management Services. RKG was founded in 2003 and works with organizations ranging in size from young startups to established Fortune 500 companies in sectors including retail, travel and finance.

[From the YAPC::NA Blog.]

Two new Pod::Weaver plugins

After falling in love with Pod::Weaver, I've released two new Pod::Weaver plugins which you may find useful for assembling boilerplate POD sections in your distributions.

The first is Pod::Weaver::Section::Extends which will add a =head1 EXTENDS section with a list of everything in your @ISA at compile-time. It should work with any kind of object that modifies @ISA in a normal way.

The second is Pod::Weaver::Section::Consumes, which does the same thing for Moose roles. It will interrogate any Moose-compatible meta object for your class to find a list of roles.

The repositories for them are here and here.

Report on the Latest Tel Aviv Perl Mongers Meeting

I attended the latest Tel Aviv Perl Mongers (TelAviv.pm) meeting the other day, and am writing this report in order to encourage more people to come. We didn't have meetings in September or October due to the Jewish holidays and some renovations on the site, so it was good to finally have a meeting.

Before the meeting, I had helped publicise it on various online news channels, and thankfully quite a few people (about 20-30) came. I had a previous appointment that day at 12:00, and so returned home where I ate, worked on the computer, and rested before the TelAviv.pm meeting.

Moving to Paris

As people have been repeatedly surprised to discover that I'm moving to Paris, I thought I would mention it here in hopes that I don't have to keep explaining over and over again.

Leila and I were quite happy in Amsterdam and I enjoyed my job at booking.com. However, for a variety of reasons, not the least of which was Leila's difficulty in finding a job in Amsterdam, I decided to accept a position in Paris. I started at Weborama on December 1st. We'll be in Amsterdam for two or three months until we make the actual move. We'll likely be moving to a small town outside of Paris (we currently have our eye on Meaux), but nothing is quite decided yet.

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.