MakeMaker among the stars

It is part of our solar system now.

Now that’s legacy.

Maybe the fault is, indeed, not in our stars.

Benchmark your failures

Ever given any thought as to what the expense of catching exceptions with Try::Tiny or even eval might be?

Recently a colleague was having some issues with a legacy codebase that was having requests exceed their nginx proxy timeouts. We discussed increasing those timeouts, but considered that a last resort.

One block of code being executed was along the lines of

eval { do_this() };
if (! $@) {
  plan_a()
} else {
  plan_b()
}

Alien::Base 0.020 and #native

This week we rolled out the latest version of Alien::Base which includes a new feature and a bug fix. The most important change in this version are the two new avenues of communication that we have adopted, so I will discuss that first.

The first is that we have established the #native channel on irc.perl.org to discuss interactions with native interfaces. This includes Alien in general, Alien::Base specifically, and we also intend it to be a place to discuss FFI (Foreign Function Interface or NativeCall), as there is a degree of overlap for the people involved. You can now click on a big red button from the metacpan page for the project that will log you into IRC and allow you to start asking questions (or complain at us if that is what needs doing).

Add a LICENSE file to your distribution - it's easy!

Every distribution should have a LICENSE file, that corresponds to the licensing information contained in your Makefile.PL.

You can create this file from the command line by installing App::Software::License - e.g. cpanm App::Software::License. Then, just invoke the software-license command.

More about YAPC::BR


So we have a new fresh face to our site.

http://yapcbrasil2015.org

Also there is still time to get a cheap plane ticket to come :).

The system that we are using to make the payment only works on Brazil but you can just drop an email to the organization and we will arrange everything to you.

I have to share with you that just changing the layout of the website the visits grow three times. Kind of obvious but the ugly site works ok with us from the community but not for "outsiders". Even to reach perl programmers that usually does not participate of the groups the "beautiful site" works way better.

Testing your sqitch changes

When you work on larger projects, you'll often find that database changes are hard. Multiple developers, working on the same project, changing the same tables, can be difficult. Database migration tools often (but not always), come with one or more standard flaws:

  • Reliance on migration numbers (in other words, two or more developers commit migration number 6 and get a conflict)
  • Reliance on an ORM, such as DBIx::Class (sucks for the Python devs)
  • Reliance on something other than the Data Definition Language, or DDL (sucks when your custom tool can't represent the stored procedure you want to define)

There are plenty of other ways database migration tools fail, but the best standard tool I've worked with so far is sqitch. Its documentation needs some work, including more explanations of how to deal with common failure modes, but it avoids the above problems and provides you with a rich set of tools to make database migrations easier for large teams.

However, its common failure modes include:

Grants for applications (vs. Perl infrastructure)?

Somebody asked me:

Is the Foundation mainly interested in grants to help fund work on Perl's own infrastructure -- the language itself, key modules, and other community projects -- or would it also be open to considering funding open-source applications created with Perl, but which don't primarily exist to support Perl itself? (And which, perhaps, might help further Perl's reputation, and provide the world with more high-quality example code?)

Our grants program does not specify such scope. So our official answer is: "just send a proposal for review". I also went through the historical grants, both approved and rejected, and found no grant proposals in this area.

Anyway, even without specific grant proposals, I thought it would be interesting to ask this question to the public. Should we fund application development Perl?

Finding Common Ground ... in Both Directions

Last week I formulated an interesting problem in text processing while working on one of my hobbies.  Since I was only able to devote an hour or two here and there, it took me a few days to get the solution up and running, which indicated to me that it wasn’t as simple as I’d thought it would be at first.  And since “not simple” often means “interesting,” I thought I’d share it here with you.  (Note that I don’t claim this is the best solution, or the most efficient, or the most elegant.  I’m perfectly happy to receive suggestions for improvement if you’re so inclined.)

Test failures in File::LibMagic

My June assignment for the CPAN Pull Request Challenge was File::LibMagic. The module had 50 FAIL reports at CPAN Testers, so I decided to start from them.

You're not too late for the CPAN Pull Request Challenge

The CPAN Pull Request Challenge has now been running for half a year. Hundreds of people have done pull requests on CPAN distributions. Many have fallen by the wayside, as life and other distractions caught up with them, but more than 50 are still in the game. If you haven't tried it yet, it's not too late — you can sign up any time before 31st December.

Grant idea - pack and unpack on streams

Merijn Brand gave me this proposal. As it’s too long for our grant ideas list, I am posting here.

a perl5 to Java compiler - work in progress

I've been adding support for Java in Perlito5 in the last few days.

This is what it does so far:

Simple and efficient formatting of relative date/time using Time::Moment

swat - Simple Web Application Test ( Tool )

As devops I update a dozens of web application weekly, sometimes I just have no time sitting and wait while dev guys or QA team ensure that deploy is fine and nothing breaks on the road. So I need a tool to run smoke tests against web applications. Not tool only, but the way to create such a tests from the scratch in way easy and fast enough. So this how I came up with the idea of swat.

Keywords - perl, curl, Test::More, TAP, prove, bash
---
https://github.com/melezhik/swat

Grant ideas

I made a list of grant idas. Nothing fancy but it's just a start.

Share grant ideas. Use the ideas. Improve Perl.

The Seven Steps to Perl Mastery by Tom Christiansen

(Reposted - originally by Tom Christiansen, preserved by Ilya Chelpanov at http://i72.narod.ru/perl-mastery.html, reposted here for convenience and posterity.)

The Seven Steps to Perl Mastery
by Tom Christiansen.

A Perl Novice ...
- Thinks CGI and Perl are interchangeable terms.
- Still thinks Perl looks like bad C code viewed over a noisy modem.
- Is insecure about the concept of dollar signs and at signs.
- Thinks Perl should be more like sh or tcl.
- Has heard of the `` Unix mindset '', but hopes it's a treatable condition.
- Can not figure out how to read input from the keyboard.
- Thinks regular expressions are somebody cursing.
- Wonders why no one can give him a straight answer about whether Perl is
compiled or interpreted.

Perl in Universities

A very late comment on a small portion of Brian's remarks to Dave's thoughts on recruitment in December. In a blow to my work productivity, I can now login again so I'll clear out some of the drafts I've had hanging around. I don't need to know why I can now or couldn't before. The Truth is I had real work to do and the Universe was telling me to focus. Collateral damage is unavoidable.

In this post, I make short, tangentially relevant comments on why grabbing Perl mindshare is important and a couple of ways for sneaking it into universities through the back door.

I have no explanation for this
I'm a little concerned that the We have enough is bordering on the complacent. I'm not sure how many exciting COBOL projects are out there. There are enough COBOL programmers and they are paid well, but you'll need a hobby to make life interesting.
- quote from December's draft. Maybe you can enlighten me on what I was thinking.

blogs.perl.org... Perl's Death by 1,000 Cuts

Just trying to log into blogs.perl.org to comment on David Mertens' PDL features I'd like to see in Perl 6 was a huge pain in the ass... in fact just getting the login to work for this was also but I won't go there.

Imagine how many would-be contributors have been turned off by what is described below.

Sydney PM July 2015

Hi All

Broadbean have again kinldy offered to host us this month, thanks be to Peter Harrison for setting the wheels in motion once again.

What: Sydney PM
Date: Tuesday, 21st July 2015
Time: 6-9:30pm
Where: Broadbean, Suite 8.03, 9 Hunter Street, Sydney

Speakers are needed!

Here are some ideas:

Anything to do with rapid creation or consumption of rest/soap/xmlrpc/other apis
Getting started on perl testing
Using perl in funky cloud services like Digitial Ocean, codio, heroku etc
Maybe something on logging, log4perl, Log::Any, Log::Dispatch
Something cool that you did, just a fun little tool or something

There is a projector with all the usual trimmings and wifi access may be available.

Lightning talks would also be really great!

Meeting after that? August! Date TBD.

Perl5 to Perl6 conversion a la Perl::Critic

Over the last few days I've put the Perl::Critic framework to a new use, that of upgrading old perl5 code to shiny new Perl6. The result of this is currently residing on https://github.com/drforr/Perl-Mogrify as it's not quite ready for CPAN yet. There's quite a bit of gruntwork to do replacing the existing Perl::Critic documentation, and I want to add a few more features, but the list of what it converts over is pretty extensive.

(I'm aware of Util's Blue-Tiger project and in fact cribbed some code from it, but I wanted the ability to let others contribute without having to make a pull request.)

From the README:

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.