The Company Culture - the process

This week I will be starting the company promotion that I mentioned in my last blog post (https://blogs.perl.org/users/shadowcat_mdk/2015/03/perl-and-the-company-culture.html). I thought I would take a few moments to explain some more what I am doing and what the process will be.

As I said previously this is not a structured approach, there is no definite action or reward to be achieved and no promises on time. My plan is to keep collecting the information and to promote one company each week until I run out of information and/or companies.

Test-More status update

The new Test-More stuff will NOT be part of 5.22 as originally planned. Instead the latest stable with ship with 5.22. The reason for this is a perl-qa consensus about a design decision that should be changed.

Back when performance was a problem I tried out using array based objects instead of hash base ones. In profiling, the object system was one of the big time eaters. While I changed the base to arrays I also changed how the accessors were built, and how some other parts of the objects worked. In the end my profiling showed huge improvements. Unfortunately I failed to measure the array base and other optimizations independently. I also failed to record my data, making it impossible for me to provide a sound argument for the array based design.

How things get done in Djet

How things get done in Djet

CPAN PR-Challenge: March Report #1

This month I was assigned Exobrain. My first problem is that I can not install install it at all because dependencies are failing. The first failing dependency was Data::Structure::Util.

Looking around in Testers Matrix I found that is was failing only on 5.20 or above. Then, looked up the failing test, and understood Perl changed the way undef are passed to subroutines as first argument. After reading the Perl Delta and discussing with Andy Armstrong (the module maintainer) about that, the test was removed (it was based on a bug or not standard behavior). I did not get a chance to create the PR as AndyA fixed the code and released a new version.

Nevertheless, when trying to find the problem, I noticed the XS code was giving a lot of warnings on recent GCC, so I went out and fixed them, preparing a PR available here: https://github.com/AndyA/Data--Structure--Util/pull/3

Now waiting for Andy to release a new version.

Perl 6 for Mere Mortals - FOSDEM Video

My FOSDEM talk, Perl 6 for Mere Mortals, is now online:

You can see the rest of the Perl dev room videos here. Sadly, there were some technical problems, so a couple of videos have audio issues.

All of FOSDEM videos will eventually be here, but not all videos are ready yet.

Are you the one person left on the planet using a Palm Treo?

If you are, then I have two very important things to say to you.

First, why the hell haven't you upgraded to something - anything! - else?

Second, I just released updated versions of Palm::SMS, Palm::Treo680MessagesDB, and Palm::TreoPhoneCallDB. Now they should build with a vaguely modern perl toolchain (in the case of Palm::SMS) and will work with a modern version of Palm::PDB, which appears to have mysteriously travelled back in time and gone from version 1.29 in 2002 to version 1.016 today.

PEG: Ambiguity, precision and confusion

In my lastest blog post , I talk about PEG, the popular parsing algorithm.

CPAN PR-Challenge: February Report

Given the lack of answers and/or comments from Ovid and the Community on my Pull Request on MooseX::Role::Strict, and given my lack of knowledge on Moose internals, I will declare the February assignment as finished.

Nevertheless, if meanwhile anybody comments on my Pull Request and suggest any change, I am happy to make the PR better.

Wish list: SVG to PNG converter

I think once I used Image::LibRSVG to convert images created by SVG to PNG, but now it has 70% test fail rate and I could install it on Mac .

I wish someone saw it as a CPAN challenge, took overt the maintenance of the module and made it easy to install it.

MOJO!!!!

mojo1.jpg

Well it seems somehow I always have great luck (not sure if it is good or bad) when getting a new computer and then loading Mojolicious on it.

So twice before this has happened to me, I set it up with all my dev software, a few flavors of perl, Padre and so on. Then I add start to port over some of my web apps then I try to run them and sure enough Mojolicous gives me great grief.

It seems I have an uncanny knack to update or break in a new box just as a new n.0 version of Mojolicious comes out (this time it is 6.0, I might of actually been one of the first to download it). Well at least I am savvy enough not to update the Mojo on my production boxes as quickly, so there is no real loss money wise just some frustration.

Upcoming 2015 Sydney PM Meets

In brief...

Catalyst have agreed to host us on March 10th.

Broadbean have asked to have us on April 14th.

SiteSuite have agreed to host on the 14th of May.

Dates beyond that are up for grabs, and speakers are welcomed for any and all meetings.

Help promote by printing and hanging either the A3 or A4 poster around your workplace, university, college, local hang outs etc. (ask for permission first!)

More details to come, or subscribe to Sydney-PM mailing list

Announcing Statocles Static Site Generator

Static site generators are popular these days. For small sites, the ability to quickly author content using simple tools is key. The ability to use lower-cost (even free) hosting, often without any dynamic capabilities, is good for trying to maintain a budget. For larger sites, the ability to serve content quickly and cheaply is beneficial, and since most pages are read far more often than they are written, generating a full web page to store on the filesystem can improve performance (and lower costs).

For me, I like the convenience of using Github Pages to host project-oriented websites. The project itself is already on Github, so why not keep the website closely tied to it so it doesn't get out-of-date? For an organization like the Chicago Perl Mongers, Github can even host custom domains, allowing easy collaboration on websites.

It's through the Chicago.PM website that I was introduced to Octopress, a blogging engine built on Jekyll. It's through using Octopress that I decided to write my own static site generator, Statocles.

Uploading a new package

Since I got no answer from modules@perl.org I take the liberty to ask here.

PAUSE interface disceased the request for ownership of a new package, fine.

Now I uploaded two new packages and systematically got: Failed: PAUSE indexer report.
Why ?
Sorry if I made a so stuuuupid mistake that is too big so I have not seen it!

Example on a distribution for which I have always been the single unique uploader:

Perl and the Company Culture

A couple of recent events, and a long running conversation, have set me to thinking about all the companies who contribute to the world of Perl. When I say contribute I mean any, or multiple of the following:

  1. Use Perl;
  2. Have Perl developers;
  3. Sponsor Perl events;
  4. Send delegates to conferences;
  5. Buy Perl services from consultants;
  6. Sponsor development;
  7. Release Code;
  8. Sponsor a module creation;
  9. Manage an event;
  10. Host an event;
  11. Encourage employees to be community members;
  12. Allow employees time to pursue community participation;
  13. etc.[1]

When it comes to us talking about people who contribute to the world of Perl it can be real easy to just mention those most visible[2] as being 'paid up' or 'most contributory' participants. This is not done to disregard the others who do participate and promote but out of a lack of understanding.

So I want to change that.

Perl 6 Hackathon with Larry Wall in Switzerland

We are very proud to announce a Perl 6 Hackathon with Larry Wall as part of the Swiss Perl Workshop 2015 by end of August.

Larry already confirmed to come and it is a great honor for us to host him.

It's christmas time ;-)
Larry has announced that the Perl 6 Developers will attempt to make a development release of Version 1.0 of Perl 6.0 in time for his 61st Birthday this year and a Version 1.0 release by Christmas 2015.

This will be one of the last hackathons before September, 27.

Since this is a community event we are searching for sponsors who are willing to support this extraordinary event at Flörli in the lovely city of Olten, where the Swiss Perl Workshop 2014 took place as well.

Feel free to contact us in case you have any questions.

The Moose Slippery - February PR Challenge

Cross-posted from null.perl-hackers.net
Moose Slippery
This February my Pull Request assignment on the CPAN Pull Request Challenge was Ovid's Module, MooseX::Role::Strict . For me this was a big problem. First because it is about Moose (which I do not use) and then because it is about the Meta-Moose, the way Moose itself behaves.

The idea of the module is to allow Role users to import a role that defines a method that is already defined in the current package/object in a strict fashion. If the user declares that method will be overridden, it will work, if it doesn't, then an exception will be raised.

It was great to notice Ovid maintains a TODO list. It is not very clear what each item means, but I tried to ask him and understand. And as far as I could find, the first item of the TODO list seemed easy to implement. In fact, too easy. This Pull Request, as far as I can tell, could do the trick. But I lack knowledge on creating a test case.

So, in order to close this month's assignment, I am asking for comments, suggestions and any kind of constructive help on testing and fixing this pull request.

Adopting in the hope to improve maintenance

I am interested in getting these modules under good maintenance again:

  • Term::EditLine (Ulrich Burgbacher) (update thanks to Neil Bowers and Ulrich Burgbacher I am now the maintainer of this dist)
  • Win32API::ProcessStatus (Ferdinand Prantl) (update thanks to Neil Bowers I am now the maintainer of this dist)
  • File::Which (Adam Kennedy, Per Einar Ellefsen) (update Thanks to Adam Kennedy and the modules list I am now the maintainer of this dist)
  • Regexp::Assemble (David Landgren)
  • PerlIO::gzip (Nicholas Clark)

I am happy to adopt these modules in the event that the original authors are unable or unwilling to continue maintaining them. I have what I think is a pretty good record in adopting modules while maintaining backwards compatibility and the original author’s intent. Examples include Alien::LibYAML, Mojolicious::Plugin::TtRenderer, PkgConfig, String::Template, Test::Fixme.

No Go GSoC

I am sorry to report that the Perl Foundation will not be participating in this year's Google Summer of Code. A number of stumbling blocks were created the most important being the failure in accurately planning workload for which I take full responsibility.[1]

I have spoken with Duke and Paul who performed magnificently for me, as always, and our plan going forwards is to move the planning and preparation to a rolling event. This means that we will start gathering more ideas, volunteers and approaching students now in preparation for 2016.

So although we have failed to get onto the programme in 2015, we can perhaps make a stronger effort for next year and subsequent years.

I would like to thank all those people who took the time and effort to help out with this year's attempt and to ask them not to get too downhearted as we will be using their hard work to guarantee success in the future.

[1] This year we were struck by a lot of timing issues and some problems with the wiki which meant re-doing the whole of the wiki.

eMortgage Logic is Hiring!

eMortgage Logic, an Assurant Company, is looking for Senior Perl Web Application Developers. Our offices are located in North Richland Hills (Dallas-Fort Worth Metroplex) AND we are open to remote positions for the right candidate.

We want your experiences and talent to influence our architecture and our team. We’ve got a wide variety of projects to keep work interesting and fun, ranging from the epitome of legacy apps to self-contained services running on the latest and greatest of Modern Perl. Having an appreciation for the evolution of the Perl web development community will be your greatest asset in modernizing and growing our stack together with us.

If any of the below practices or technologies make you excited, apply at http://jobs.assurant.com/dallas/information-technology/jobid7063768-lead-software-engineer-jobs and come aboard – let’s have fun! :)

  • Agile / Scrum / Kanban
  • Moops / DBIC / Dancer2 / Mojolicious
  • PostgreSQL 9.4 / Sybase
  • Apache 2 + mod_perl / nginx
  • Sencha Ext JS / Node.js
  • git + Stash / JIRA / Confluence
  • Memcached / ActiveMQ
  • Jenkins / Docker
  • RHEL / VMware
  • ELK / Nagios / Cacti

P.S. Like contributing to CPAN? We support open source!

A big week in Oslo

Next week I will be returning once again to beautiful Oslo, for a visit brim-full of all things Perlish.

For a start, I'm running two public classes on Wednesday March 4 and Thursday March 5,
in conjunction with Oslo.pm and Redpill Linpro.

On Wednesday, I'll be teaching the follow-up to my Perl Best Practices class (which we ran in Oslo several years ago). In this new course, Perl Even-Better Practices, I'm revisiting the guidelines that I first devised nearly ten years ago now, updating my advice and suggestions to reflect the huge number of changes both in Perl itself, and in the CPAN ecosystem, during the intervening decade. I'll be demonstrating and explaining 50 new guidelines, designed to make your Perl code even cleaner, safer, and faster.

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.