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.

use Validator::Custom;

my $vc = Validator::Custom->new;

# my $data = {
  name => 'kimoto',
  age => '   19   '
};

# Create rule
my $rule = $vc->create_rule;

# Check
$rule->require('name')->check('not_blank');
$rule->require('age')->filter('trim')->check('int');
$rule->optional('height')->check('int')->default(-1);

We introduce some of the features of the Validator :: Custom 0.27.

Easily verification of multiple elements

In HTML form, it is quite boring to validate multiple values because we think abount the following patterns and handle each element.

1. the value does not exist
2. an empty string
3. the value is one
4. the value is more than one

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

 
sub emit_async {
    my $self    = shift;
    my ($emitter) = @_;
    use Async;
    
    my $proc = Async->new(sub { 
        
        $self->emit($deligater);}
   );
  
 }

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.

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.