Perl5 to Java compiler - 2nd hackathon

We've had another hackathon at work. This time Bosko, Bruno, Frederico, Yati, and I hacked on the Perlito Perl5-to-Java compiler.

We started adding unit tests - so that we can automatically extract a list of implemented features; the existing Perl tests are not properly organized "by feature".

The latest additions to the Java backend are:

Enlightened Perl Organisation sponsors Strawberry Perl

I am pleased to announce that Enlightened Perl Organisation (EPO) has kindly extended the support of Strawberry Perl project by sponsoring our build server (VPS) for the next 12 months. I would like to thank Mark Keating for arranging the funding.

For those interested in technical details: the build server is MS Windows 2012 virtual private server, 4 CPU, 16 GB RAM, 120 GB HDD.

And just for curiosity: the server sits (at least they claim so) in the heart of Europe, in the neighbourhood of this beautiful gothic castle (it does not make it run faster but still...).

If you are also considering supporting Strawberry Perl project you can do it indirectly by becoming EPO member or via donating EPO.

YAPC::EU 2015

Rather than crossposting content, click here to read instead.

Asynchronous, parallel and... dead. My Perl 6 daily bread.

I love Perl 6 asynchronous features. They are so easy to use and can give instant boost by changing few lines of code that I got addicted to them. I became asynchronous junkie. And finally overdosed. Here is my story...

I was processing a document that was divided into chapters, sub-chapters, sub-sub-chapters and so on. Parsed to data structure it looked like this:

    my %document = (
        '1' => {
            '1.1' => 'Lorem ipsum',
            '1.2' => {
                '1.2.1' => 'Lorem ipsum',
                '1.2.2' => 'Lorem ipsum'
        '2' => {
            '2.1' => {
                '2.1.1' => 'Lorem ipsum'

Every chapter required processing of its children before it could be processed. Also processing of each chapter was quite time consuming - no matter which level it was and how many children did it have. So I started by writing recursive function to do it:

    sub process (%chapters) {
        for %chapters.kv -> $number, $content {
            note "Chapter $number started";
            &?ROUTINE.($content) if $content ~~ Hash;
            sleep 1; # here the chapter itself is processed
            note "Chapter $number finished";

My YAPC::EU 2015: The Art of Community


YAPC is always a special time - for all of us. YAPC::EU was my first YAPC and no matter which YAPC I attend, I always remember it as the first YAPC I had (back in Italy), where I met Ovid, Aristotle, and other people I nowadays get to call friends, for the first time. It was my first community event.

New Dancer2 release en route to CPAN: 0.162000

Yet another Dancer2 release hitting CPAN as we speak, all the way from Granada, Spain, courtesy of YAPC::EU 2015.

We've made a few interesting changes, highlights of which I would like to share with you.

An Unexpected Journey

I had not been expecting to attend YAPC::EU this year. In fact, I have never been to YAPC anywhere. But about a month ago, the announcement in Perl Weekly caught my eye. Skimming through the program of talks, I became more intrigued. The location in Granada also looked enticing.

The main obstacle was that I live on the southern tip of Africa. The journey would be long, arduous and expensive. Nevertheless, plans were drawn up, family and colleagues consulted, and funding secured. This was going to happen.

Twenty four hours after setting out from Cape Town, I arrived in Granada. Over the next five days I got various doses of Perl education, folklore, insights, whizz-bang craziness, and inspiration. I was also struck by the diversity and camaraderie of the Perl community, and the cultural richness of Granada.

But perhaps the most uplifting take-away for me was the realisation that Perl is a state of mind, an approach to problem solving, more than it is a particular language, and that this transcendent aspect will probably be as present in Perl 6 as it was in all the previous Perls. As I prepare for the long journey home with my bag of virtual goodies, it is this one that I treasure most.

Swiss Perl Workshop 2015 - Perl 6

The Swiss Perl Workshop was recently hosted in Olten, Switzerland, at the end of August, 2015. The Perl 6 team is targeting an official release by Christmas of 2015, and the workshop provided a great opportunity for core Perl 6 developers to complete a lot of Perl 6 development and training.

One of the last big changes before we're ready for Christmas is the Great List Refactor - an effort to improve performance, syntax and semantics of lists (especially lazy lists) in Perl 6.

At the workshop, we were working hard on the GLR - finalizing any outstanding design decisions, going through the ticketing system, the design docs, and the test suite. By the time the workshop was over, we were down to 100 failing tests (out of over 100,000), and the module installer (panda) was working with the newest version. Many new tests were added supporting the new behavior.

About 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 hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.