Dist::Zilla Get More Friends

Plug-in test day yet again here in the Dist-Pen.

After getting my Legal test to work in yesterday's post, funny thin is metacpan still show ver 0.02 as the latest not 0.03 for some reason, I am going to plink away at seven more sisters today;

NewVersion

This one is a 'Release' test case for those out there that will do not automatically increment their version in some way. At this point I want to try, once I get all my testing in order, to use the Dist::Zilla::plug-in::Git::NextVersion plug-in so I will leave this one out for now, but will keep is in the tool bin just in case I can't play nice with my GitHub account.

David Farrell's berrybrew updated

berrybrew is the equivalent of Unix's perlbrew for Windows platforms, which uses Strawberry Perl portable instances.

With David's permission and blessing, I've merged the numerous updates and features I wrote into my berrybrew fork into his.

If you want or need his previous version, do a checkout of this commit (6bc28ae).

Many thanks go out to David for originally providing this software, and being polite and easy to deal with. I don't use Windows as my every-day platform, but when I do, this made it much more enjoyable.

Finding cheaters with k-mers

This semester I'm teaching Perl 6 to beginners. On a recent homework, student A came to see me for help, so I pretty much wrote the script (if you come for help, you get help!). With every assignment, I provide a "test.pl6" script that lets the students know if they will pass. I stress that they don't need to code for edge cases -- just look to pass the test suite. Well, two students, B and C, copied student A, changed a variable name, and submitted.

If I had only checked for passing tests, I wouldn't have noticed, but I like to see how different students try to solve the problems. I'm often pleasantly surprised as a couple of students have some programming background and try to really use the language's strengths. On this occasion, I was disappointed to find that student's B and C (who have little prior coding experience) had turned in my own code.

Salt Lake Perl Mongers - 11/08/16 - "High Availability Perl with Kubernetes"

Scott Wiersdorf's presentation on Kubernetes and how to use it to deploy your Perl applications.

Dist::Zilla Hates Bugs

Today in the Dist-Pen I am going to have a quick Post-ette.

In yesterday’s post I was a little disappointed with Dist::Zilla::Plugin::Test::Legal not working, so for today’s post I was going to have a look at it and see why.

Well to start off I did do a force install yesterday which is never a good way to do things but I was a little short of time. Looking at the code in Dist::Zilla::Plugin::Test::Legal the part I we are interested in is only a few lines long;

Multi-user feeds in Perlmodules.net!

Perlmodules.net, the site that notifies you about new releases of your favorite modules, just got better for groups, with Multi-User feeds.

If you're part of a project team, and wish to have your team members be able to view and/or modify your feed(s), as of today you can.

The owner of the feed grants read or write access rights to any users they want. If one of these guest users modify the owner's feed (i.e. adds or removes some modules which are tracked by this feed), the owner will get notified by email about all modifications at the end of the day (only if such modifications have occurred).

Bouncy balls with Perl 6

I've never written games before, but I previously posted a Hangman that I thought was fun. I love the examples of forest fire and Game of Life and wanted to create something like those. I originally wanted to create Pong but decided to try a simple ball that bounces off the walls of a container.

I showed this to my daughter, and she asked if there could be more than one ball, so I added that. They don't, however, bounce off each other, and this gets at the same problem I was mulling with regard to adding obstacles in the field that should deflect the balls. I have a feeling that two-dimensional arrays would help me add this feature. Support for that is coming. Anyway, on to the script!

Perl 5 Porters Mailing List Summary: November 1st-6th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past week.

Enjoy!

Dist::Zilla Sorry Today


Well seven more sisters to have a look at in today Dist-Pen

The plug-ins for today are Fixme A 'Release' test case that implements Test::Fixme. Well if you are the sort of programmer who loves to make comments like this

# FIXME – Replace this with a fractal algorithm

App:Asciio 2.0

I started gathering requirements for the next version of Asciio which will probably be written in Perl6 (Go is a strong contender albeit not as much fun)

bunny.png

Help by adding your requirements as an issue at https://github.com/nkh/Asciio-2.0

Integration with Ditaa is on the list since someone made most of the work, without even contacting me once. http://wiki.cornempire.net/_media/asciiart/diagram2.png

SVG output will be via a2s, https://github.com/dhobsd/asciitosvg, as the author is already an asciio user and some of his users are too.

The project welcomes help.

"the times they are a-changin'"

Karen Pauley Steps Down as TPF President

Come gather around people
Wherever you roam
And admit that the waters
Around you have grown
(The Times They Are A-Changin' lyrics © Bob Dylan Music Co.)

As of the 7th November 2016 Karen Pauley has officially stepped down as President of the Perl Foundation. Replacing Karen at this present time will be long standing Perl Foundation member Jim Brandt

So that is how it is officially announced and let’s quickly move away from such formal tones for the rest of this article.

It is with a great sense of melancholy, and probably an even profounder sense of respect and gratitude that I am writing this piece so please bear with me if the style seems somewhat stilted or unusual. I know that some people will feel regret at the loss of Karen, I want to stop you all now, don’t think about what we may be losing, think of the changes that have been made.

Log::Any 1.044-TRIAL released

A new trial of Log::Any (1.044) has been released. This release has a couple changes that make Log::Any a bit more predictable:

  • Passing in objects to formatted log methods now handles objects that overload stringify correctly. Previously, these objects would be given to Data::Dumper, which violates object encapsulation. Thanks Philipp Gortan (@mephinet)!
  • The imported Log::Any object (use Log::Any '$log') can now be named anything (like $LOG or $foo).

Since CPAN Testers is still catching up from its little bit of downtime a few weeks ago, I won't be releasing this as stable until I get some success reports in. So, you've got some time to test this against your own codebase if you need to. Please report any issues to the Log-Any Github repository.

Dist::Zilla In The Sky

Its plow though some more test plug-ins day again here in the Dist-Pen.

So in my last post had found one plug-in that was useful, today I hope to find another from this list of Dist::Zilla::Test plug-in CPAN::Changes A 'Release' test case that will run 'Test::CPAN::Changes' so in-effect does the same thing as 'Dist::Zilla::Plugin::Test::CheckChanges' not one I am going to use.https://www.cpan.org/modules/04pause.html#before CPAN::Meta::JSON A 'Release' test case that will run ' Test::CPAN::Meta::JSON '. Now in my distribution I am using the MetaJSON plug-in which generates my Meta.Json so I see no need for this one either.

Shadertoy progress and the state of OpenGL in Perl

Ultra Liquid Bokeh Shadertoy The shader is a modification of a shader by Inigo Quilez, hacked up by Weyland.

After the initial rush of success, I spent this week working more on the UI side of the app, putting off adding support for geometry generation for later. Prima proves to be a solid UI toolkit and to me it feels closer to using Delphi or Visual Basic, API wise.

Seeing the SQL in DBIx::Class

There's no question that DBIx::Class is the dominant ORM in Perl. That's because it's fast, it's flexible, and sane. Well, mostly sane, until you need some introspection (if anyone knows a better way to do this, I'm all ears!):

sub _get_json_columns ( $self, $schema_class ) {
    state $json_columns_for = {};
    unless ( exists $json_columns_for->{$schema_class} ) {
        my $columns = $self->schema->resultset($schema_class)
          ->result_source->columns_info;
        $json_columns_for->{$schema_class}
          = [ grep { 'json' eq $columns->{$_}{data_type} } keys %$columns ];
    }
    return $json_columns_for->{$schema_class};
}

But what's terribly frustrating to many devs is getting DBIx::Class to show the queries it's executing, along with the bind parameters (one without the other is often useless).

How I got re-acquainted with Perl's Grand-Pa!

granpa.png

And suddenly I remembered that I promised myself, at YAPC::EU, that I would write a tmux plugin to implement a yakuake like pane handling.

With some time and energy on my hands I created a directory, initialize a repo and was on my way to write some perl. I took one hour to draw a few ideas and that's when GranPa Bash knocked at the door.

I know, you know, everyone knows that Perl build a lot on bash, at least its syntax, and in this very case it seemed to me that writing this in Bash would be better. It's mainly command calling, there is no complicated process to map, it should be quite easy in bash.
And I was in the mood!

Every second year I beat myself up because I always refuse to learn more sed or awk. It's not that I don't use them, it's just that every time I do, I get so frustrated that I end up writing some Perl.

Dist::Zilla Likes Toys

Yeah another test play-date here in the Dist-Pen.

Playing with testing and Dist::Zilla over the last few posts has not only introduced me to a the newer 'Perlish' way to ogranize your test cases but I have seen a good number of plug-ins that might be interesting for me to add into my '.ini' file. Now besides the two I really wanted and have added in '[Test::Kwalitee]' and '[Test::Perl::Critic]' I know very little about the others so I am just going to plow though them alphabetically.

So my first batch of test plug-ins for today are

What talks would you like to see (at LPW)?

This post was originally going to be an exhortation to potential speakers, to take the plunge and submit a proposal to the London Perl Workshop. I thought I could list some generic types of talks.

Then I realised I'm not entirely sure what kind of talks everyone is going to want to attend. So instead, I'm asking you, particularly if you're going to be at the LPW:

What talks would you be interested in attending?

Lessons learned developing modules? Comparisons of similar modules? How to use specific modules (which ones?)? Do's and Don'ts when developing with Perl (frameworks)? Experiences transitioning from Perl 5 to Perl 6, or vice versa?

Please add comments with the kind of talks you're interested in, as that might encourage people to submit talk proposals.

DateTime::Calendar::Christian updated

I have been granted co-maintainership of DateTime-Calendar-Christian, and version 0.04_01 went out October 30. Because this module is new to me, and because this is the first release in 13 years, I would like to encourage anyone with an interest in it to try out the new release and let me know of any problems.

The current release migrates the module to the DateTime locale interface, replacing the long-deprecated and recently removed language interface, and adds a today() instantiator. I hope to see enough CPAN testers results by the weekend to give me the confidence that I can do a production release

The plan is for subsequent releases to clean up the code, upgrade the metadata, and implement the DateTime interface more fully.

Modern OpenGL with Perl

For a long time, I've wanted to actually make use of the modern hardware I have at home. The graphics card is capable of OpenGL and OpenGL now has a fancy little language to actually bring images to life. For example [https://www.shadertoy.com] has great so-called "shaders" that show off what can be done with them.

Because I also want to toy around with programming some shaders, I want to get a live environment running. So during the weekend, I took the Glew library, wrote a small Perl script to convert the header files to XS, and then fought with OpenGL until I had a driver that could run shaders from Shadertoy.com:

shadertoy-01-seascape-still.png

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.