Fail the Moose Test

It is start something new day here in the Moose-Pen

Today I wanted to start writing up my first Database::Accessor::Driver, so I quickly came up with this

Dancer2 0.205000 improves application speed, deprecates request->dispatch_path

Dancer2 0.205000 is on it’s way to CPAN, and brings with it a number of bug fixes, documentation improvements, and enhancements. The changes with the most potential impact to your existing applications include:

[Off topic] PHP syntax is (version && context) dependent

PHP accepts or rejects certain syntax depending on the context.

Let's hope you never have to deal with things like this.

Shire Calendar Update

I have recently adopted modules Date::Tolkien::Shire and DateTime::Fiction::JRRTolkien::Shire.

The releases to date have been relatively minor fixes, but the development releases of a couple days ago are more significant, to the extent that I thought users of these modules should get a "heads up."

  • Common code and data have been factored out into Date::Tolkien::Shire::Data. This module also provides time formatting, allowing the implementation of a strftime() method in both the original modules.
  • The direct conversion of dates between Gregorian and Shire in both modules has been replaced by calculations in terms of Rata Die days. Regression tests have been provided (in xt/author/regression.t) to try to ensure that this did not break anything.
  • DateTime::Fiction::JRRTolkien::Shire has been provided with most of the DateTime interface. The known missing pieces are:
    • Duration and date arithmetic. I hope to add this in a subsequent release.
    • format_cldr(). I am not sure whether this will be added or not; at the moment the implementation path is unclear to me.
    • era(), which is marked as deprecated in the DateTime code.

I can not imagine that there are any mission-critical uses of these modules, but interested parties should probably take a look at the revisions, and let me know if anything untoward turns up.

Tom Wyant

Nail that Moose

Well it back to the Moose-Pen for me.

Seems I have kinda drifted far from my original intent of all this blogging get a useable version of my Database::Accessor module out on CPAN. Though the last little while has been a very good learning experience for me it is time I get back on track to make sure I get a version out by Christmas.

In my first round of Moose-Pen post I gave a good example of how test driven development really does work well. The very short cycle of write a small test for requirement, write a little code, pass the test, reactor the code if needed and rerun test, it you pass out start the cycle again.

I also spend a good deal of time getting into Dist::Zilla and in this round of coding I am going to see how add in a little Dist::Zilla and Pod::Weaver to start along with my test driven development works out.

That moment when your auto-scaling, self-healing servers and...



That moment when your auto-scaling, self-healing servers and continuously integrated and continuously deployed codebase all start working together seamlessly and flawlessly. 

If none of that made any sense to you, then just understand this: 

muhahahahah! *rubs hands together while laughing maniacally*

[From my blog.]

Perl Developer Survey 2017

We’re doing a survey for the entire Perl community to find out some specifics and peculiarities about Perl and more importantly, about Perl developers. The survey itself is meant to gather some perspective regarding how developers are using Perl, where are they using it and how Perl is used with other technologies. This is basically a State of Perl in 2017 survey.

The survey will be open from the 7th of March to the 14h of April.

Please share it within your local Perl communities, every answer counts and makes this survey more relevant. The results will be available for the entire community to see, we will publish them the following week after the end of the survey. The data acquired through this project will show just how Perl is used and how the developer community is presenting itself at this point in time. It has 31 questions and it covers personal programming preferences, employment facts, geographical criteria, community events, tech stack data and more.

This is a great opportunity to capture the state of Perl as a language and as a community.

Join us to paint the picture of Perl in 2017!

Fill in the survey here!

Don’t forget to share!

Originally published on Builtinperl.com

A happy mod_perl story

10:26 < kd> me:  "how do I integrate the REST API with our psgi/mod_perl abomination?"
10:26 < kd> colleague:  "aah I've been wanting to do that for a while, do you really need it?"
10:26 < kd> me:  "yeah it would be good"
10:26 < kd> [waits two days]
10:26 < kd> colleague:  "here, have a code review"
10:29 < kd> meanwhile it gave me the opportunity to prototype an important thing via a semi-abomination that would never be acceptable in production.  So 1. We got a feature we really needed, and ensures the longevity of the platform, and 2.  I got to do the important thing of  getting my thing wrong on the first try.

Dist::Zilla Its a Wrap VI

Last one I promis in the Dist-Pen

The go of my Dist::Zilla~Pod::Weaver round up.

Dist::Zilla Gets More Legal

Went back to law school in this post. Has a look at three section plugs ins [Legal::Complicated], [Legal::Supplemented] and
[LegalWithAddendum] all of wich let you tweak your leagize the way you want.

Dist::Zilla Gets Used

I had a look at the [ Requires ] section plugin today which is good on two fronts;
  1. you should list your deps someplace in your POD and
  2. it will find out all mods that are used so you can find ones that you many not require

Dist::Zilla Needs Support The first

Looking at the [Support] in this post and found that it was quite extensive so only covered its default functionality.

Dist::Zilla Needs Support The Second

A closer look at the [Support] section plug-in in this post. Took out some parts I did not like and added in bits and costom content to my likeing.

Perl 5 Porters Mailing List Summary: February 27th - March 5th

Hey everyone,

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

Enjoy!

Camel Doctor version 0.1.0

I am happy to announce the initial release as an independent application of Camel Doctor - a simple HTML user interface for the default Perl debugger implemented as a Qt 5 executable. The debugger output is displayed together with the corresponding syntax highlighted source by a small formatting script. Syntax highlighting is achieved using Syntax::Highlight::Engine::Kate CPAN module by Hans Jeuken and Gábor Szabó. Camel Doctor is an implementation of an idea proposed by Valcho Nedelchev and provoked by the scarcity of graphical interfaces for the Perl debugger. Camel Doctor was started as a part of Perl Executing Browser in 2014.

As usual, any ideas and feedback are quite welcome!

Make your CPAN module static installable

CPAN modules are normally distributed with Makefile.PL or Build.PL, so that people can install them by

> perl Makefile.PL
> make
> make test
> make install

This makes CPAN modules installable without any CPAN clients help unlike other programing language ecosystem (such as ruby(gem), node(npm)).

On the other hand, today, people mostly use CPAN clients (such as CPAN.pm, cpanm) to install CPAN modules. And it seems that when CPAN modules are not "complicated", CPAN clients easily expect how to build/test/install them even without executing Makefile.PL or Build.PL.

Now we have the concept Static Install. That is, if CPAN modules are not "complicated" and set x_static_install 1 in their META.json, then we may install them statically.

Dist::Zilla Its a Wrap V


Another non creative day here in the Dist-pen


Well another ten to do. Getting close to the end! This is the spot where I start my series of going over most of the available Section plugins.


Dist::Zilla Ready and Available

The first post of many looking at the various section plug-ins that are left over. The [Avaliability] plug-in is one works closely with Dist::Zilla and I also left you hanging with a problem I was having.

Dist::Zilla Flash Bugs

Well still suck in the [Availabillity] plug-in but I did find a bug which I patched locally and got the plug-in to work correctly for me. I think that is the second bug, well maybe 1.5 bug I have found since I started playing with Dist::Zilla.

Dist::Zilla Report Bugs

Well in post I am no longer finding bugs but I did look at the [Bugs] plug in so at least in my next POD I will have a blurb on reporting bugs.

You Tried HOW MANY Times?

OK, the tag “worst Perl” might be overstating the case, but we ran into a funny error message yesterday from a program that runs on all of our production equipment. As each lot is tracked into a piece of equipment, the program running on it contacts our MES (manufacturing execution system) to verify information about the lot. Because the MES used to run on a really slow server, timeouts were common, so at some point the function to look up a lot was wrapped in a function to retry a few times in that event. The MES server has since been upgraded, but we never took out the retry functionality. Here's the code in question:

DBD::mysql - even more utf8-issues fixed, super CI

In my previous post I explained how many utf-8 related issues are now fixed in the latest DBD::mysql development release, and I asked for feedback and testing from our users.

Even better utf-8 handling

I'm happy to inform you that, thanks to your feedback, we've now released yet another development version, with even more UTF8 issues fixed. Tanabe Yoshinori reported that column names and database warnings were not properly encoded and prolific contributor Pali Rohár fixed that issue, and much more.

Serialization issue under taint mode

One other issue which was reported by amavisd users has to do with how perl stores values internally under taint mode, which is the default way amavisd is run. This is now fixed, see for more information https://github.com/perl5-dbi/DBD-mysql/issues/78.

Extreme CI testing setup

Telegram Keyboard Button Encoding

I wrote a blog entry about it, also introducing a new module to handle this. Enjoy!

Dist::Zilla Its a Wrap IV

Well still a few more of these in the Dist-Pen

Time to nock off another ten posts!

Dist::Zilla Tempate

In this post I decided to dig deeper into the Pod::Weaver template well really I just explain that the 'weaver.ini' file is the template/

Dist::Zilla On Style
This post I go a little deeper into the varios differnt template bundles out that and show the template works a in a little more depth.

Dist::Zilla Takes it in the Name
The first in my rathder long series of review of the various 'Section' plug-ins. To start the rather simplistic [Name]

Dist::Zilla Plots Version
A look at the [Version] section plugin a little more complex than the last.

Dist::Zilla Regional Report
This post deal with one of the more common section plugins [Region] and I intoduce the concept of moving stuff about and build an ordered document out of an bunch of unorded parts.

Perl 5 Porters Mailing List Summary: February 20th-26th

Hey everyone,

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

Enjoy!

Perl 6 IO TPF Grant: Monthly Report (February, 2017)

This document is the February, 2017 progress report for TPF Standardization, Test Coverage, and Documentation of Perl 6 I/O Routines grant

Timing

I'm currently running slightly behind the schedule outlined in the grant. I expect to complete the Action Plan and have it ratified by other core members by March 18th, which is the date of the 2017.03 compiler release. Then, I'll implement all of the Action Plan (and complete the grant) by the 2017.04 compiler release on April 15th. This is also the release the next Rakudo Star distribution will be based on, and so the regular end users will receive better IO there and then.

Your own template engine in 4 flavors. With Benchmarks!

This time on blog I'll show you how to write your own template engine - with syntax and behavior tailored for your needs. And we'll do it in four different ways to analyze pros and cons of each approach as well as code speed and complexity. Our sample task for today is to compose password reminder text for user, which can then be sent by email.

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.