Moose Stumbles a Little

Is why tinker with a good thing day here in the Moose-pen

Just carrying on with my extended or as I like to call it my practical test cases. I figure I can skip the rest of the simple where conditions as I have already used most of them in the previous test cases. To start I added a new test case '32_where_operators.t' with this test;

YAML::PP Final Grant Report

This is the final report on my TPF Grant Complete YAML::PP

It's a final report, but it's also a TODO report.

I did way more work on YAML::XS and YAML.pm than I would have thought. Both modules will stay around. YAML::XS because of its speed and its usage of the widely used (or ported) libyaml; YAML.pm because for simple data it mostly just works, so there is at least no urgent need for changing to a YAML 1.2 processor.

I think fixing some annoying bugs and incompatibilities improved the state of YAML in Perl a lot.

This is something that was not part of my initial grant proposal.

On the other hand, during implementing the YAML::PP, I learnt more about YAML and saw the need to implement things in a more generic way. If done right, you can do cool things with it. If you are the kind of person who likes to write their programs in latin, you might appreciate that you can now tell the YAML loader to read roman numbers into integers! (And the other way around).

This takes more time to implement and is one of the reasons why loading and dumping generic perl objects is not implemented yet.

A widespread and broken Perl idiom

The following code is using a widespread Perl idiom, taking advantage of features designed for one-liners:

my $content = do { local ( @ARGV, $/ ) = ("$file"); <> };

Another trick here is the array assignment, which slurps all elements of the list into @ARGV, leaving $/ to undef; that way, the diamond operator will read the entire file at once.

I've been using and publicizing this local @ARGV idiom for years. And I've spent several days last week chasing a bug caused by this line of code.

Amusewiki 2.222

Hello Perl community,

I realized that it's more than one year since I last announced an Amusewiki release on blogs.perl.org, so here we are again. Yesterday I released Amusewiki 2.222.

Unofficial Debian packages can be found, as usual, at packages.amusewiki.org (together with installation instructions).

The codebase is pretty stable by now, but over the past year it saw a couple of interesting improvements.

The Xapian-powered search now is a full-fledged and fast faceted search. See for example https://amusewiki.org/search

As a side-product of this improvement, I contributed to the Xapian documentation, which can now produce Perl examples as well: (to the extent permitted by the Search::Xapian module).

git clone https://github.com/xapian/xapian-docsprint

cd xapian-docsprint

make html LANGUAGE=perl

More and More Moose Tests.

It carry on as if normal day here in the Moose-Pen.

The next little test I want to try out is this one;

The Missing Contributors of Perl 6

Read this article on Rakudo.Party

Today, I came across a reddit post from a couple months back, from a rather irate person claiming themselves to be possibly the only person to never receive any credit for their work on Perl 6.

I was aware that person committed at least one commit and knowing the contributors list is generated automagically with a script, I thought to myself "Well, that's clear and provable bullshit." And I went to prove it.

Moar No More

I looked up the commit I knew about, looked at the release announcement for the release it went into and… that person was indeed missing! It was the 2017.02 release, which I released. So what was going on? Did I have an alter-ego that shamelessly erased random people from the contrib list without my having any memory of it?!

Five Years of The Swiss Perl Workshop

A summary of the last five years of workshops, in anticipation of this year's event: https://leejo.github.io/2018/07/04/five_years_of_spw/

GraalVM/Truffle backend update

Recent Perl 6 survey results that the top two most wanted features are better performance and JVM support. Luckily the Truffle backend promises to kill two birds with one stone. ;)
With help from Daniel Green (MasterDuke on #perl6) we got the Truffle backend from passing the first NQP test last to passing 9 this week.
Once proper closure supports lands later this week we can start working on passing more complex ones.
One positive observation is that due to high level Truffle operates (as opposed to say a machine code generating written in C++ V8) other Truffle implementations can be a lot more easily pillaged for ideas how to implement thing in Truffle efficiently.

Moose Extends a little more

Its just a extend even more post-ette day here in the Moose Pen

Well going to start on another test case today this time '30_where_basic.t'. Now I do not have to test some of the more basic 'where' conditions as I have already proved that they work from all the other tests cases that use them so what I am going to start out with today is a function as part of a condtion;

First of course is my test;

DBD::Oracle Trial Release 2

Following our initial trial release, here's another one.

We've attended to the changes suggested from the last release (better changelog and CI integration) and we've also attracted some positive attention from the relevant authorities.

We're still looking for sponsorship to have DBD::Oracle work continue beyond this driveby. If you are interested, or know someone who's interested in chucking some cash into the pot, the best route is probably to contact me (kd) on irc.perl.org or via my cpan email address, zarquon [at] cpan.org

Wallflower improvements and issues

Wallflower is my static website generator. Well, not really: it's actually generating a static version of any Plack application, provided it behaves reasonably when seen as a static site.

(Read on, I'm asking for help towards the end!)

How I performed in June 2018 as compared to May 2018?

In my previous monthly report for May 2018, I mentioned that it was the best month ever since I started contributing. So the obvious comparison, did I do any better this month?

In short, it was not as good as it was last month. However, under the given circumstances, it was satisfactory. You might ask how do I rate my own performance. Some of the criteria are as below:

  • Pull Request
  • Git Commits
  • Pull Request Challenge
  • Perl Blog
  • PerlWeekly Newsletter
  • Adopt CPAN Module

Lets do the comparison.

Pull Request

Last month, June 2018, I submitted 46 PR as compared to 60 PR in the month of May 2018.

Overall so far, I have submitted 900 PR. The target is to reach the milestone of 1000 PR before the next London Perl Workshop in Nov 2018 looks promising with current speed.

Git Commits

Last month, June 2018, there were 412 commits as compared to 536 commits in the month of May 2018.

Test Catch-up Moose

It test post-ette day here in the Moose-Pen

Why stop a habit and as usual ona Saturday I am goting to to a quick post on the current state of the test suite for Database::Accessor and Briver::DBI.

Not a lot of changes in Accessor today
3 files changed, 151 insertions(+), 48 deletions(-)
So I am not expecting many new fails it any.

How Viable is Perl?

A few months ago, John D. Cook wrote about the viability of unpopular programming languages.

His story starts with a comment about Perl 6, to which someone replied, "Does anyone actually use Perl 6?" (or words to that effect).

"My first thought," he writes, "was, I bet more people use Perl 6 than Haskell, and it's well known that people use Haskell."

What is the relationship between popularity and viability?

The start of the GraalVM/Truffle experiment

Recently GraalVM 1.0 been released which can run Ruby, JavaScript and other dynamic and static languages on top at super fast speeds.
I have decided to see how Perl 6 will run on top of it.
If successful that should allow us to run Perl 6 hopefully very fast and use Java, Ruby and JavaScript libraries without paying a interoperability price.

Truffle which is what we are using is a language implementation frameworks that creates an efficient JIT from a (sufficiently annotated) AST interpreter written in Java.

The implementation lives in the 'truffle' (https://github.com/perl6/nqp/tree/truffle) branch of the nqp repo.

nqp-truffle run the first NQP test today and I expect to get many more to pass in the coming days.

I Got Six (YAPCs)

[This is my sixth YAPC / TPC—technically, my first TPC.  If you like, you can read about my other YAPC experiences: YAPC 2011, YAPC 2013, YAPC 2014, YAPC 2015, YAPC 2016.]


After missing a year last year, I came back to attend YAPC this year.  (Yes, yes: “The Perl Conference,” now.  But it’ll probably always be “YAPC” to me.)  And I actually spoke again (second time), this time on dates and my Date::Easy module.  If you missed it and are interested in watching it, the video is up.

This year was in Salt Lake City again, and, while I normally don’t like repeating cities (mainly because I like visiting new places instead), I do have to say the Little America Hotel is every bit the excellent venue that I remembered.  Plus it’s just barely close enough to where I live that I can drive there and take the whole family, and do a sort of “conferenscation.” Which is what we did.

My highlights from this year:

Moore Moose That I though

It carry on day here in the Moose-Pen

Today I am just going to carry on with a few 'xt' tests in my '25_exe_array.t' test case. Now I started out wanting to do an update with the execute array so I came up with this test;

$da->reset_conditions();
my $update_people = $people->update_people_data();
my $updated_people = $people->updated_people_data();
ok($da->update($dbh,$update_people),"Update Four New Users ");
ok($da->result()->effected == 4,"Four row effected");
Fortunately before I ran this I realized that the above is not going to do what I expect it to do. I think it will just update all the rows in the db four times each wilt an sql like this;

COED:ETHICS 2018

A group of Perl companies are sponsoring the COED:ETHICS conference, a one-day conference on ethics for developers and technologists, which is in London on July 13th.

perldoc.pl - A new way to perldoc

For the past decade or more, perldoc.perl.org has been a useful and convenient resource for viewing perl documentation online. However, it has suffered from lack of maintenance and mounting unfixed issues over the past few years. Being familiar with the excellent Mojolicious documentation site and how it also can display core perldocs, I reasoned that such features would be simple to provide in this modern framework. And so, what would become perldoc.pl (thanks to a domain acquired by pink_mist) was born.

Publish your gitlab project to CPAN using App::pause

Many people moved from GitHub to GitLab after annoucing that microsoft bought GitHub. So did I.

After some initial problems with the settling in, it works quite well. GitLab and the integrated CI is very useful to automatically upload your projects to CPAN if all tests are positive.

The steps are quite simple:

1.) Start with some project on gitlab. It doesn’t matter which one.

2.) On gitlab you can configure the some ci settings in your project

  • https://gitlab.com/profile/Your-Project/settings/ci_cd
  • in Variables you’ve to insert:
    • PAUSE_USER
    • PAUSE_PASSWORD
      Why here? Because you don’t want to shour your username and passwort in the build log.
      These variable are available in the CI-Job

3.) Add .gitlab-ci.yml like this example:

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.