Strawberry Perl 5.22.0.1 released

Strawberry Perl 5.22.0.1 is available at http://strawberryperl.com

More details in Release Notes:
http://strawberryperl.com/release-notes/5.22.0.1-32bit.html
http://strawberryperl.com/release-notes/5.22.0.1-64bit.html

I would like to thank our sponsor Enlightened Perl Organisation for resources provided to our project.

Mojo::Snoo - alpha release

Hi everyone,

Long time no blog. I posted on reddit about my new module, Mojo::Snoo. I'm shooting for a funky Perl wrapper around the reddit API. Right now, I'm the only one using it (I think), but would like that to change.

So...feedback welcome! Install, break, complain, etc.

Oh, and I will be hosting a hackathon at Miniconf this weekend in NYC. So, feel free to say hi and help me with some development.

Links:
http://www.reddit.com/r/perl/comments/38eca1/feedback_welcome_mojosnoo/
https://github.com/aggrolite/Mojo-Snoo
https://metacpan.org/pod/Mojo::Snoo

Bounty for fixing CPAN modules

Yesterday I had this idea of creating a site where people and companies could offer bounties for fixing specific bugs in a piece of open source code. Then I ran a search and found Bountysource .

I wonder, have you or the company where you work ever used it? Would your company be ready to offer bounties for fixing specific issues in a CPAN module or even in core perl? (bugs or new features alike.)

Would such bounties be a better way for TPF to spend their grant-money?

Hubble, Bubble, Toil and Trouble: Catalyst, Bootstrap and HTML::FormFu

I thought I would share a little trick I use to get these three complex and idiosyncratic frameworks to play nice with each other.

Catalyst and HTML::FormFu are a powerful combination that allows you to tie the form displayed by your view to the form processed by your controller. This direct link means: 1) your field names in your generated HTML will always match the field names used in form processing, 2) default and redisplay field values set by your controller will always match up with the values displayed by the view, and 3) any constraint or validation issues detected by the form processing logic in your controller can be directly associated with the fields displayed by your view. Without this link, keeping a form defined in our view in sync with the form defined by our controller is a large source of potential bugs.

In this presentation that I gave at MadMongers last month, I...



In this presentation that I gave at MadMongers last month, I show you how to use AngularJS as a front-end to your Perl backends. Presentation files available as well.

[From my blog.]

Adventures in Dist::Zilla (among other things)

(Wow, has it really been almost 6 months since I last posted here?  Man, I’m slacking ...)

A while back, I decided to play with Dist::Zilla, and one of the first things I decided to do was make my own plugin bundle.1  Now, if you don’t know what a plugin bundle is ... well, that’s a bit above and beyond the scope of this article.2  Suffice it to say that, if you want to get the most of out DZ, you want to create your own plugin bundle.  (And, if you don’t want to do that, then you probably want to be using something simpler than DZ, like Dist::Milla or Minilla or Zilla::Dist.)

So I created one a long time ago but then I never did much with it.  I personally don’t have enough CPAN distros to juggle to make spending a lot of time fiddling with DZ a priority.  But lately I’ve decided I want to get back into it.  So I started out by installing the latest version I’d put out on CPAN.

Well, trying to install it, anyway.

New module, Role::Pg::Sequences

Blog about it

MetaCPAN Welcomes Liquid Web as a Hosting Sponsor

MetaCPAN would not exist as we know it, if it weren't for our sponsors. I'm particularly happy to say that we have some incredibly supportive hosting sponsors who understand our needs and provide us with the gear that helps us keep up with our demand.

Introducing Test::Requires::Git

Git is a wonderful tool, and there are a lot of git wrappers written in Perl on CPAN. They all depend on running git in their test suite.

Test::Requires::Git offers a simple way to declare which versions of git a test depends on, so that it can be skipped if the available git does not match the specification.

Veure: Artists and Narrative Designers

This has been a busy week with Veure. As usual, my daily routine is:

  • Wake up
  • Hack a couple of hours on Veure
  • Work for $client
  • Have dinner
  • Optionally hack more on Veure

Hack, in this case, does not simply mean "write code." There are many other things involved, including research, research, and more research. And legal stuff. And writing. And hiring.

Yes, hiring. For example, we think we've found a great artist. If it works out, we can replace my crappy concept art of a space station:

New ships can be done, new background graphics, and so on. In fact, this could turn into a full-time job for him if Veure is successful. But that's not all we're hiring.

CPAN PR-Challenge: May Report

Somehow I missed to post my April report. Don't remember well what was the PR. It was something basic, as I lack the time for real work.

This month I prepared a Pull Request on removing HTML from result entries obtained with WWW::Wikipedia. Now, waiting to see if it gets merged. It seems I have no luck on my PRs to be merged...

MetaCPAN Thanks Bytemark for Two Years as a Hosting Sponsor

Today I'd like to take a moment to recognize Bytemark, which has been a MetaCPAN hosting sponsor for over 2 years now. When our original hosting sponsor was no longer able to support us, we found ourselves in a tight position. We had 30 days to find a new solution in order to keep MetaCPAN online. Thanks to a very quick response from Bytemark (and Mark Keating, who helped us set up this arrangement) we had a seamless transition to our new host and new hardware.

Release the Validator :: Custom 0.27 - improvement of grammar, handling of a multiple values, improvement of the OR validation

Validator::Custom 0.27 is release. This is a form validation module made of Perl. I was released it on CPAN.


Validator::Custom 0.27 Release

In the recent changes, while it keep backword compatibility, it is an effort to get the Mojolicious::Validator grammar. Validator::Custom is more customizable than Mojolicious::Validator yet now.

How I didn't fix AnyEvent::ForkManager

For April, I was assigned AnyEvent::ForkManager, which claims to provide an interface similar to Parallel::ForkManager, but compatible with AnyEvent. The module had some CPAN testers’ failures as well as an issue reported on GitHub, so I tried to fix it. I wasn’t quite successful, though.

Which CPAN distributions include jquery.js ?

Further playing with the JavaScript based view of CPAN I've added a new page in the lab called files. You can type in a name of a file (e.g jquery.js) and it will list you all the distributions that include this file.

You can also search for directory names such as js or css.

Let me know if you find something strange!

Oh and if you'd like to learn how to build the client side of the web application, register on the course I run before YAPC::EU.

Perl Zombie Ate My Brain

zombiePerl.png

Well something like that. The whole story is that I wanted to add in some new code on a rather old web-page. As the new code took some time to run I wanted to do it as an asynchronous call. So my new code would run off line and not slow down the already slow response time.

So I being a module sort of guy I had a try with Async and all seemed to work correctly in dev so we moved it into production and it seemed to work fine

Until

our Nagios started to complain and a quick 'top' gave us

Tasks: 1515 total,   1234 running, 670 sleeping,   6 stopped,   654 zombie

Well a after a pull-back of the code and then a clean up with a number of kill commands I got rid of them.

So what was the problem??

well the code was simple enough

Plack::Middleware::SignedCookies

I released Plack::Middleware::SignedCookies some time ago because I went looking for it and came up empty. This is a middleware that signs outgoing cookies on the server with a HMAC digest and verifies the digest on incoming cookies. If a cookie doesn’t pass the signature test, it is dropped on the floor and your application never gets to see it.

There are several framework-specific plugins that do the same job, but I wanted to get rid of as much framework-specific code as possible.

New CPAN Modules

I have found myself in a bit of a CPAN exuberance these last few months. While I have released several new modules, I haven’t found time to announce them individually. Here then is a joint announcement of what I’ve been doing on CPAN lately.

My Second NYC Perl Hackathon experience

On May 2nd 2015, the Second NYC Perl Hackathon event took place and this time around it was a completely different experience from the First NYC Perl Hackathon that took place in 2013. In early February, Jim Keenan made a call for a Perl Hackathon venue space in the NY.pm mailing list and Peter Martini from Bloomberg L.P. arranged a meeting to discuss the possibility of having Bloomberg L.P. host the event ( This is where my adventure started ). Jim Keenan reached out to me to assist him as a co-organizer ( and I excitedly said Yes ! ).

Veure: Arbitrary Mission Actions

This little baby makes me very happy:

That is a screenshot from the completion of a level 1 mission "Find Amaidoo's E-slate." The code was painful to integrate, but it makes things like the above simple to do.

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.