Bring your dirty YAPC::EU 2013 money to YAPC::EU 2014

Nicholas Clark:

It turns out that it’s quite hard to change Ukrainian Hryvnia back into your local currency. Apparently you need to get a special form to do it, which seems to be about as common as a Ryanair refund.

Given that quite a few of us aren’t that likely to return to Ukraine any time soon, it implies that there’s quite a lot of paper money sitting around various Perl monger’s desks, drawers etc, not earning its keep. For each individual it’s not much in value, but I suspect that all together it adds up to a few thousand Pounds/Euros/Dollars etc. Meanwhile, the Ukrainian central bank is very happy about all currency it got in return for selling us [its] bits of paper.

So I thought that it would be a good idea if we put the notes carefully to one side, and then all took them to Sophia next year, where at YAPC::Europe 2014 someone from Kiev can come with a big bucket, collect the money, and take it back to do useful things with it.

I assume that the intervening events have not made changing the currency any easier…

In any case I’ll be bringing my 70 along, and bulk88 has expressed interest to buy, should none of our attendants from the Ukraine want them.

Type::Tiny Tricks #2: Types Are Objects

When you use code like this:

   package Local::Eg2;
   use Moose;
   use Types::Standard -types;
   
   has foo => (
      is      => "ro",
      isa     => Int,
      coerce  => 1,
   );
   
   __PACKAGE__->meta->make_immutable;

Perhaps you don't think very much about what that bareword Int is actually doing. Well, it's a function that returns a blessed object. This object is used by Moose to check whether values are integers. Yes, Moose uses the object, and you can use it too!

Item Design in MMORPGs

Still hard at work hacking on Veure (the image to the right is a freighter, by the way). I tend to get up early in the morning so I can get a couple of hours in before turning to my primary contracts. Now I'm redesigning the item system and it's a slow, frustrating process because I have such limited time. And if there is one thing that frustrates many game designers, it's how to design items in games. Fortunately, I have a fairly clear approach, thanks to a comment Aristotle made a long time ago. I'm implementing a "web friendly" version of the Entity-Component-System pattern (ECS).

CPAN Day - 317 Uploads and 21 Guns

Sometime in May 2014, ETHER mentioned on IRC that she would soon be passing me up on this leader board. I was number 20 and she wasn't far behind. I guess I took that as a challenge, because this past weekend on CPAN day, I moved into the #6 spot. This post explains how.

I've created a couple CPAN packagers over the years, like Module::Install, and Module::Package, but earlier this year I decided to give up on those and just use Dist::Zilla, so I moved most of my active stuff to that. In the past year, as an Acmeist, I started doing a lot of real programming in Bash, and recently I made a Bash-heavy wrapper around Dist-Zilla called Zilla-Dist.

Type::Tiny Tricks #1: Quick Intersections

Type::Tiny objects overload the & (bitwise and) operator to build a type constraint intersection. For example:

   package Local::Eg1;
   use Moose;
   use Types::Standard -types;
   
   has foo => (
      is  => "ro",
      isa => ArrayRef[Int] & HashRef[Int],
   );
   
   __PACKAGE__->meta->make_immutable;

Though that example isn't especially useful. Do you remember Venn diagrammes? Intersections are that small overlapping section in the middle. So the value for foo needs to be something that is simultaneously an arrayref and a hashref. (Which no value could satisfy.)

But there are ways intersections can be used more usefully.

The 19th CPAN Day and the 1st

Yesterday (August 16th 2014) we celebrated the anniversary of the first upload to CPAN by Andreas König (ANDK) (as he worked on what became PAUSE). It was the 19th anniversary, but the first that we've marked in this way.

In one day, 107 people uploaded 775 releases, 41 of which were the first uploads of new distributions, and 10 of which were the first upload by new CPAN contributors. The first two numbers were outright records, and the second equalled the previous best. All of those numbers were higher than I expected.

CPAN Day winner?

I didn't think it was a contest but I think Ingy won CPAN Day....

View image

Kephra XP ded prototype works

Mark eting may prefer vampires, but here's a different why Kephra keeps evolving, for all that are interested in dev tools, written in Perl. Oh , btw, it go ready on CPAN day - mere coincidence. :)

About blogs.perl.org

blogs.perl.org 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 run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.