Build an RPM in the Cloud

If you are as frustrated as I am when you try to launch a stock Amazon AMI as an EC2 instance in Amazon's cloud and then try to do any kind of Perl development, then here's an AMI image or you.

Search the community AMIs for this: ami-0043036a

The image contains pre-installed tools so you can easily roll a new RPM using cpanspec and rpmbuild.

Amazon AMIs are now shipped with Perl version 5.16 and unfortunately Amazon's rpm repo does not contain all of the modules you might want or need. If you enable the epel repo, you'll find some incompatibilities with those rpms and things quickly get frustrating.

Adding to the frustration is the fact that cpanspec from the epel repo itself has a broken dependency and if you manage to figure out how to work around that, you'll find yourself cursing either Perl, Moose, epel, Amazon or maybe all of the above.

Help needed updating Gedcom::Date

Since DateTime was reworked, I (as the current maintainer of Gedcom::Date) have received many failing test reports: Can't locate object method "long_date_format" via package "DateTime::Locale::FromData"...

Perl 5 Porters Mailing List Summary: November 16th-22nd

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week. Enjoy!

Test::More: Clearing up some confusion

I want to clear up some confusion about the Test::Stream/Test::Builder work.

I will try to be as clear and concise as possible:

  • Test::More is not changing in any significant way.
  • Nothing is being removed from Test::More.
  • Nothing is being added to Test::More.
  • There are no changes to Test::More::is()
  • Test::More::cmp_ok() is not being removed
  • Test::More is not breaking.

There has been a lot of FUD about this lately, I don't think any of it was malicious, but rather due to a misunderstanding. Test::Stream is a new namespace, and includes a new toolset modeled after Test::More. This new toolset has a new implementation of is(), and for a while did not have a cmp_ok(). These differences are opt-in, you have to use Test::Stream instead of Test::More to be effected. There are no plans to ever port these differences to Test::More, that would break things, and I am not willing to do that.

So what is changing?

Doing testing in a swat way

Hi I wrote an informal introduction into swat, trying to highlights some benefits one could gain using swat in web test development. Feedback is appreciated. Thanks.

A Date with CPAN, Part 4: Construction Time Again

[This is a post in my latest, probably long-ass, series.  You may want to begin at the beginning.  I do not promise that the next post in the series will be next week.  Just that I will eventually finish it, someday.  Unless I get hit by a bus.

IMPORTANT NOTE!  When I provide you links to code on GitHub, I’m giving you links to particular commits.  This allows me to show you the code as it was at the time the blog post was written and insures that the code references will make sense in the context of this post.  Just be aware that the latest version of the code may be very different.]


Last time I babbled on for a while about my general plans, and finally came up with a name other than “my perfect date module.” This time we stop screwing around and finally write some code.

I decided to start out with the date class.  In retrospect, I sort of wished I’d started with the datetime class, as that would’ve been a lot simpler.  But the date class was more interesting, and more immediately useful, so that’s where I started, so that’s where we’ll start as well.

OSCON Call for Papers

The OSCON Call for Papers closes this Tuesday, 24th November, at Midnight (US EST) and at this moment there are no papers submitted on Perl.

OSCON has become increasing less language-specific over the years and now doesn’t have language tracks or rooms, however Perl has a long association with this conference including the fact that it evolved from the original Perl Conference and for many years hosted the State of the Onion.

As we approach 2016 with a major new version of Perl in the shape of Perl6 and an ever-vibrant and yearly releases of Perl5 the idea of not having a presence at OSCON is quite strange.

So I am asking all of you to consider if you can submit a talk to this event. We have a very good chance of getting a main room spot if we talk about Perl6 especially since O’Reilly have been pushing known Perl authors on the idea of a Perl6 book. This could be a turning point where we get new Perl5 books as well.

Perl Regular Expression Awesomeness

This week at work I overheard some coworkers talking about a programming problem. The type that you might get in an interview. The idea was that if you had a string of words smushed together without spaces, how would you go about parsing the string into words again?

I thought about it for a bit and pretty quickly decided to load all of /usr/share/dict/words into some kind of regexp. The main difficultly is that you can't just be greedy or be nongreedy because either could fail. Imagine the inputs:

yougotmail          => you got mail
yougotmailed        => you got mailed
yougotmailman       => you got mailman (or: you got mail man)
yougotmailmanners   => you got mail manners

As you can see, regardless of greedy or nongreedy, you need backtracking. Hmm. Regular expressions have backtracking. Problem solved!

Improved Syntax Highlighting in the Debugger

You may recall me writing about DB::Color a few years ago. That module let you do this with the debugger:

Perl Debugger with Syntax Highlighting

It has some issues, including the fact that syntax highlighting Perl code is, um, not always perfect, but it does the job. The main drawback, however, is that it runs about as fast as a sloth with a spinal injury. It was so bad that even I stopped using it, and I love the damned thing. Today, I may have fixed that.

New artice: Understanding Marpa-style action subs parameters

Click me!

Bootstraping test infrastructure for mojo application using swat

Install swat mojo command

You need a swat mojo command to generate swat tests scaffolding for mojo application.

cpanm Mojolicious::Command::swat

Bootstrap mojo application

Then you need to bootstrap mojo application or choose existed one.

mkdir myapp
cd myapp
mojo generate lite_app myapp.pl

Define http resources ( mojo routes )

As well as define your routes.

In “Cede Your Soul”, an episode of a tv show called “Blindspot”...



In “Cede Your Soul”, an episode of a tv show called “Blindspot” one hacker disses another hacker for using Perl instead of Python. You can see it around the 18:20 mark. 

The diss is that you can develop code faster in Python than Perl. The two languages are pretty similar in terseness. And any hacker worth their salt is going to build libraries in their language of choice. So would language even matter at that point? I think not, but what do you think? When seconds matter, what language would you reach for?

[From my blog.]

One more month in the 2015 CPAN PR Challenge

So far 487 people have signed up for the 2015 CPAN Pull Request Challenge. Each month participants (who have just joined or completed the previous month) get a semi-randomly assigned distribution, and have one month to submit a pull request.

A lot of those 487 never did a PR, or did one and then dropped out. But plenty have stuck with it, and 56 perl hackers have had a November assignment so far. There are stragglers spread through the year as well, determined to submit a damn PR for the distribution they were assigned.

We're hoping to end on a bang: so far more than 30 past participants (who had submitted at least one PR) have rejoined just for December. Back in January I told RJBS that I hoped 100 people would do a PR in December. He said that'll never happen. Help me prove him wrong!

It's not too late to join, and just do one last PR in December: send email to me (neil at bowers dot com) with your github username and your PAUSE id if you have one. I'm giving a talk on the PRC at the London Perl Workshop, and it would be great if we could pass 500 sign-ups by then...

Perl 5 Porters Mailing List Summary: November 10th-15th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week. Enjoy!

CMS based Mojolicious

Recently I published an initial release of CMS for a blog creation based on Mojolicious - http://mojoblog.net/en/

I want to ease the installation of this product by users who are not perl programmers. It makes sense to pack all Perl modules, including all dependencies, in the CMS distributive (in the 'lib' directory) to do this. I would like to ask the experienced Perl programmers how risky is this strategy?

Is it possible and which way is the best to do it?

I found the technology for identification of all dependencies for Perl modules here -
http://perlmaven.com/how-to-fetch-the-cpan-dependency-tree-of-a-perl-module

Formal deprecation of GraphViz V 2.19 - Use GraphViz2

With the help of a pull request from Patrice Clement (as part of the CPAN Request Challenge) I've released GraphViz V 2.19.

What should Rakudo-js aim for first?

I'm considering applying for a TPF grant to allow me to fully focus on working on getting Rakudo to target JS. To focus the grant application (and pin down the deliverables) I need to choose a use case for rakudo-js to focus on. Possible ones (ideas for new ones are appreciated).
  • running a single page app in a browser (using react.js/jquery or just vanilla js).
  • running on top of node.js
  • running on top of react.native on a mobile phone
  • exploring Perl 6 in your browser (having a awesome REPL, being able to execute snippets etc.)

is firewall of server blocking my script ... ?!

hello and this is one of my first scripts, which are not executable at present.
one year ago, there was no problem to use this script as shell-script (not yet in perl) like here :

#!/bin/bash
awk '{
for (i = 1; i <= NF; i++)
if ($i ~ /^SRC=/)
print substr($i, 5)
}' /var/log/syslog | sort -u | while read ip;
do
printf ' INVALID STATE ' && printf ' === %s ===\n' "$ip"
whois "$ip" >> log-002.txt;
done

I have used this script to filter syslog output after connections who are knocking on
the phone-lines ...

Now this script seems always to be stopped by the firewall of my provider. One year ago or 6 months ago this script was not stopped by third person (or program).

the output of today is the same like as one week ago:

INVALID STATE === fe80:0000:0000:0000:0a95:2aff:fe7a:bca7 ===

Is this the firewall of the provider stopping my script ?!

Another awesome Sydney-PM

Thanks to the 14 people who attended and our three speakers, John, Peter and Mandy. Hopefully their slide decks will be available shortly.

In the "Good news everyone!" category, there are a couple of Perl shops in Sydney who are hiring right now (afaik, local not remote workers). People should feel free to ask after them via the Sydney.PM on Facebook page or the Email list

By popular demand, we will be convening again in December - speakers and a venue are all up for grabs. Use the above two links to volunteer.

Perl 5 Porters Mailing List Summary: November 2nd-9th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week, including Monday the 9th. Enjoy!

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.