Plinking Away Part the Fourth

Well my last post trying to work with MooseX::ClassCompositor was a bit of a bust as it is not what I needed. So onto the next one one my list 'MooseX::ShortCut::BuildInstance' so lets have a look and see what this one can do for me.

Well at first glance it seems a hybrid of the last two, it does follows the same basic pattern, give a base class add some roles and then get a instance. With this mod I don't have to build a factory class like I do for MoosX::Facotry but I can supply a base class which I could not do for MooseX::ClassCompositor so things look promising.

This one also has the best documentation but it still is very sparse but informative. The tests are a little more elaborate but still very basic and a funny thing he uses them in the synopsis in the POD haven't seen that often.

So lets give it a try

Polish Perl Workshop 2014 - Callforpapers!

The Call for Papers is open!

We are eagerly waiting for your talk proposals! A title and a short description is enough for now.

The proposals deadline is 1st of April. The acceptance decision will be made by 15th of April.

The schedule should be available by 1st of May.

Propose a talk

When you are ready, please prepare your slides and send us a copy.

Questions? Feel free to ask!

Dispute resolution failure in (financial) electronic systems

The original article

The paper referred to by that article


A Less Smart Smartmatch

The smartmatch operator (~~) introduced in Perl 5.10 (and borrowed from Perl 6) has been the subject of much criticism. Its behaviour changes based on the types of its arguments (arrays vs hashes vs numbers vs strings vs ...). perlop lists over twenty different behaviours based on different combinations of arguments. Although the operator normally does what you want, what people would want from certain combinations (%hash ~~ @arr anybody?) is nor always clear.

(Aside: in Perl 6 which has a stronger type system, the behaviour of smartmatch is more predictable.)

For this reason, it has been proposed that the smartmatch operator be simplified, or perhaps even removed in a future version of Perl 5. To this end, Perl 5.18 has introduced some warnings about its experimental nature.

Plinking Away Part the Third

In my last post I had a look at how MooseX::Abstract::Factory worked and what it could do for me. Today I will continue down my little list and have a look at
'MooseX::ClassCompositor' and see if this one fits into what I am trying to do.


Well at first glance it seems this could really work for me. Start with an empty class and add in all the roles. So lets have a closer look. Like the last module the documentation is slim and the test suit contains little more than the synopsis so no pointers there.

Well this might be good for game time but I am not sure if it will work with my present class structure and trick. Seem I have to have everything a role. Well lets give it the old collage try

Renaming Perl client for Elasticsearch

Dear Perl'ers

I need your help to choose a new name for the official Perl client for Elasticsearch.

Read more here: http://www.elasticsearch.org/blog/renaming-perl-client/

Perl and Me, Part 12: The End of the Beginning

This is part 12 of an ongoing series where I explore my relationship with Perl.  You may wish to begin at the beginning.

This week we look at how to start putting it all together.

Last week I talked about the trade-offs of DWIM, and wondered if it might be time to try to make sense of all the various parts and perspectives.  Thus, this is the end of the beginning.1  This is the convergence of all my reminiscences.

The CPAN new dist a month contest

Inspired by Chris Madsen's once a week, every week contest, and the monthly new distribution challenge 2014 quest on Questhub, I've created the CPAN new dist a month, every month contest. Release a new CPAN dist each month. How many months can you keep that up for?

This is a mashup of ideas from BOOK, KENTNL, and myself. Which is funny, since KENTNL turned out to be the current leader.

Plinking Away Part the Second

In my last post I identified three MooseX modules that might help me out and end the perhaps some tedious typing and bring a more structure design into my ADD game. The first of this is MooseX::Abstract::Factory.

Despite its name it does not actually create 'Abstract' classes in the sense of a class that cannot be instantiated like a 'Java Abstract Class'. I guess what they mean is a 'Factory that is Abstract' i.e. not tied to any one class or name-space.

blogs.perl.org users being phished

I've received a number of 'Verify the email address associated with your Apple ID' emails in the past week targeted at phishing my Apple ID. Upon further examination, the list of email addresses in the to: line (yeah these guys are slick!) corresponds to a subset of the email addressed stolen when blogs.perl.org was hacked.

So if you have an apple ID and a blogs.perl.org account, watch out for these phishing attempts.

My Favourite Test::* Modules

If you don't test your code, what makes you think it works?!

Here are some of my favourite modules for testing Perl code.

Finding my computer

A couple of days ago I replaced my computer at work with a new one. This morning, working from home, when I tried to log in, it didn't respond.

I realized promptly that I had forgotten to ask the sys admin to update the MAC address on the DHCP server and so it just got some random IP from the pool.

Still Plinking Away, Part the First

So of you might remember this post some weeks ago where I came up with a huge org-chart of all the different roles they I thought i would need for may AD&D characters.

Well I was just now getting into the actual instantiation of characters and having them do something well I ran into a number of differing choices that I sort of discussed here on this post. I found that the visitor pattern worked very well for character creation (that one is almost all wrapped up) now that I am getting to the other side of the game I have t0 make a choice of which design or pattern to use.

Stupid Lucene Tricks: Storing Non-Documents

Lucene's search capabilities are so powerful that it is tempting to store more than documents -- and that is OK. Here are some hints to make storing non-documents easier:

Const::Exporter Released

A few days ago, I released Const::Exporter to CPAN.

Basically, it's a module that allows you to define a module with exportable constants that:

  • can be read-only scalars, arrays, or hashes (as well as the standard constant functions);
  • can refer to each other;
  • can be grouped into export tags, and added to multiple tags without repeating the value;
  • and easily interspersed with POD describing the constants.

A more detailed discussion of it is on my blog here.

New module Path::Iterator::Rule::RT

I use Request Tracker (RT) all the time for work and home projects. What this means is I am left with ticket litter--lots of directories with names like test, examples, ETL, Proof of Concepts, foo, bar, baz, x. It all adds up to lots of ticket litter. Now I have a ticket for everything I do. (More on that later.)

That left me with a new problem. I had directories full of ticket numbers. It became overwhelming, and I needed a solution.

And so was born Path::Iterator::Rule::RT.

Using two packages from CPAN this was easy work.
Path::Iterator::Rule
RT::Client::REST

Path::Iterator::Rule is extendable with custom rule subroutines. Using this with RT::Client::REST made it very easy to add RT ticket information into a rule to select directories.

Here are some examples using Path::Iterator::Rule::RT.

# This will print all tickets in the directory that have resolved tickets.

One Moose, Many Mooses, or is that Mise?

Now that I am getting into the game play part of AD&D I am finding there are more and more times where I want to keep a record of some attribute not just a running total.

For example after a successful encounter experience for monsters killed or defeated (making them run away is defeating them) and the value of all treasure taken in gold peices is summed and then split evenly across all party members, including henchmen and friendly NPC, who actively engaged in the encounter as Expreriance Points or EP for short.

Well a running tally for each player is needed, as well player always like to look back and see how bad ass they are so a history of encounters is needed, as well players like to know how many monsters they whacked in an encounter and of course the list goes on.

Polish Perl Workshop 2014 is coming!

I can proudly annouce that Polish Perl Workshop will take place in Poznan, Poland on 16-18th of May!

I have the pleasure of inviting you.

You can register HERE.

We (poznan.pm) will be glad if you come!

The Drone Papers

I've uploaded to my web site chapters 1 .. 5 of:

The Drone Papers

Chapter 1: Drone + Virus = Shock + Awe
Chapter 2: Using Drones to Hijack Government Policy
Chapter 3: Using Drones for Arson, Sabotage and Quarantine-busting
Chapter 4: A Child is Frightened of Drones
Chapter 5: The Drone Papers FAQ

-------
A note re Movable Type: Make sure you preview your articles 1 or 3 times. The 2nd time the display is blank, except for 2 buttons in the middle of the screen. Save and Re-edit entry.

Weird man, as we used to say back in the '60s.

Planet Moose - February 2014

Welcome to Planet Moose, a brief write up on what's been happening in the world of Moose in the past month, for the benefit of those of you who don't have their eyes permanently glued to the #moose IRC channel, or the MetaCPAN recent uploads page.

If you'd like to contribute some news for next month's issue, you can do so on the wiki.

Moose

There have been a couple of minor releases of Moose this month (2.1203 and 2.1204) aimed at squelching a bug exposed by a recent update to Module::Runtime. (See Ovid's blog post on the issue.)

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.