So I am finally back to Moose after many many days with Dist::Zilla and Pod::Weaver as to today I am going to see how I can use the Moose::MOP, Dist:Zill and Pod::Weaver all together.
What I am look at today is the [Consumes] section plug-in which is suppose to run out read the meta-classes of my Moose objects and then print out all the Roles that a class consumes. I am not sure what results I will get but is should be fun to see.
So all I need to do is add this in my 'weaver.ini'
So we all know
the COMPSCI 101 method of swapping two variables: $tmp = $x; $x =
$y; $y = $tmp;
And we all know the better way of doing it: ($x, $y) = ($y,
$x);
And yet, I
found the following in PRODUCTION CODE, that a contractor was PAID ACTUAL DOLLARS TO WRITE: ($tmp_x, $tmp_y)
= ($x, $y);
($x, $y) = ($tmp_y, $tmp_x); Weird that
they knew about parallel assignment but not that you could just apply it to two
variables directly.
Anyhow, this
wasn’t nearly as bad as the code I found in a different module (same vendor) to
swap all the 1s and 0s in a string. Now this is a somewhat less trivial
problem than simply swapping two variables, but $str
=~ tr/01/10/;
does the job nicely. Alas, in the same vein as the variable-swap, the method
that vendor went with was:
$str =~ s/0/2/g;
$str =~ s/1/3/g;
$str =~ s/2/1/g;
$str =~ s/3/0/g;
Here is my latest post about Sparrowdo configuration management tool written in Perl6 -
Sparrow plugins vs ansible modules - an attempt of informal comparison of sparrow and ansible eco systems.
In my last post I had a look at [Contributors] section plug-in and today I am going to look at not one but three plug-ins
CommentString
CollectWithAutoDoc and
CollectWithIntro
CommentString
This simple plug-in lets you do your own 'Comment' sections like we have seen with [Name] and [Contributors]. It works in much the same way as the [Collect] plug-in, you supply the 'name' for the section and then a 'key' to match on.
For example if I want to have a section for 'Notes' for any comments I may make I could do that by adding this into my 'Weaver.ini' file
I've been rather quiet lately because between building Tau Station and working with some clients, I'm running around faster than a long-tailed cat in a room full of rocking chairs.
I'll be in Brussels for the February 4/5 2017, FOSDEM, talking about Building the Tau Station Universe in Perl. I was planning on giving a talk about testing, but I was specifically asked if I'd talk about Tau Station. While I love the project, I tried to think of a way it wouldn't sound like a 40 minute infomercial at an open source conference.
Relaxing in a high-tech hotel room in a space station.
I recently
ran across an article (http://neilb.org/2016/08/08/quoted-words-arrayref.html)
by neilb, advocating for a qa() operator that
returns an arrayref instead of a plain array: our
$cars_ref = qa(sedan hatchback coupe);
I love this idea, and I would use it a lot.
I’d like to
add onto this proposal another qw()-style
operator to quote the keys of a membership hash. I suggest qk() for “quote keys.” So our
%is_color = qk(red
blue green);
is the same as our
%is_color = map { $_ => 1 } qw(red blue green);
or our
@colors = qw(red blue green); our
%is_color = map { $_ => 1 } @colors;
Carrying from my last post today I am going to look at the [Contributors] section plug-in. This particular plug-in is of little value so for to my 'Database::Accessor' project as I have no other people working on it with me but one can always dream big that I may have some helpers as time goes on. So it is is work a look.
I wanted to see if anyone else is using this plug-in so I did a Reverse Dependency look up and found that there are thirty-six other distributions that use this so I have few places where I can go an peek and see how it is being used.
Hi! Sparrowdo is a modern configuration management tool written on Perl6. If you wonder how sparrowdo makes a difference you may read this article - Sparrow plugins evolution - an informal introduction to core part of sparrowdo - sparrow plugins.
In may last post I had final look the various [Bug] section plug-ins so today I am going to look at Merit-badges. I am really talking about that great feeling you had when you earned your first badge in Cubs, Brownies or Young Pioneers. You know the ones I mean the ones for learning to build a fire, sew on a badges, help an old man across the street or showing true will in conforming with the collective.
You can get the same feeling all over again in the programming world as well. All joking aside the [Badge] section plug-in is a quick way to get visual display information to potential users of your software such as this;
So at a glace you know it is passing its testing and you need at least perl 5.10 to use it.
Why doesn’t
Perl have a symbolic logical xor operator (spelled “^^”)? As far as I can tell, the only reason
is that C doesn’t have one...
At a minimum,
it would remove the need for parentheses in expressions like $flag =
($subflag1 xor $subflag2);
instead allowing $flag = $subflag1
^^ $subflag2;
…like you can now do with and and or, as long as you spell them “&&” and “||”.
Would I use
this a lot? No. (I would have for maybe the 2nd time yesterday, which is what
made me think of it.) But as someone who loves completeness, the absence of a symbolic
xor absences from
Perl has always bothered me.
All are just a variation on the [Bugs] plug-in and none of them have the 'header' attribute. I will give you the .25$ trour;
BugsAndLimitations
This plugin requires that you enter the 'bugtracker' key-value pairs under the 'resources' meta key and you can do that by either using the [Bugtracker] or the [MetaResources] to set these values up for you. With my present 'dist.ini' it will produce the following output
Hi ! Sparrowdo is lightweight and very flexible configuration management system written on Perl6. I have started a blog site where going to drop technical notes and others news related sparrowdo project, welcome to https://sparrowdo.wordpress.com !
I'm super excited to be helping organize this year's largest north-american perl conference! Myself and the other DC-Baltimore Perl Workshop organizers are pitching in big time, and it's all starting to come together. Here is our CFP (which we'll keep posting all over the place) :)
The Perl Conference 2017 in DC (known in a parallel universe as YAPC::NA 2017) will be held at the US Patent and Trademark Office (USPTO), in a historic suburb of DC, from June 18-23!
We are happy to open up submissions for talks and tutorials, you can see all the details and submit at www.perlconference.us/tpc-2017-dc/cfp/. We are looking for talks about anything interesting to Perl Developers of all experience levels -- from specific techniques and libraries to good ways to organize an agile team or Getting Things Done ... related technologies like your favorite data storage engine or how you automated your home. If in doubt -- submit!
I am happy to announce the release of version 0.6.0 of camel-harness (former CamelHarness.js) - a small Node.js - Electron - NW.js library for asynchronous handling of Perl 5 scripts.
The library is already an NPM package with a clear, object-based API. Now camel-harness can start long-running, event-driven Perl scripts and communicate continuously with them writing on their STDIN.
As usual, any comments and suggestions are quite welcome!