And here we go!

Gee has it really been nearly a year since my last post I must be getting very lazy in my old age.

Well I do have something to blog about these days besides new modules and unused D&D code. Lets start off with a little background:

It all started back in 1998 or was it 99?? I was working with a really good JAVA team at the time, yes I know sacrilege. We created a number very good and well selling products for a suite of SIP servers, as a matter of fact I am still getting royalty checks after nearly 20 years, and they said I was dumb not to take the share offer in lieu of royalties.

The core of these products was a JAVA back end app that was used to access the varied DBs that managed the SIP server and client info. On fine day a few years later, the service desk started getting calls from customers that a large number of accounts where be compromised on their SIP apps.

Perl 5 Porters Mailing List Summary: March 28th - April 4th

Hey everyone,

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

Mojolicious::Plugin::AutoRoute become more stable

I release Mojolicious::Plugin::AutoRoute 0.22.

Mojolicious::Plugin::AutoRoute(CPAN)


Until now, Mojolicious::Plugin::AutoRoute depended Mojolicious internal structure, but Mojolicious::Plugin::AutoRoute become more stable because this plugin use only public features of Mojolicious. The following is the document of Mojolicious::Plugin::AutoRoute.

Mojolicious::Plugin::AutoRoute is a Mojolicious plugin to create routes automatically.

If you put templates into auto directory, the corresponding routes is created automatically.

For example:

  TEMPLATES                           ROUTES
  templates/auto/index.html.ep        # /
                /foo.html.ep          # /foo
                /foo/bar.html.ep      # /foo/bar
                /foo/bar/baz.html.ep  # /foo/bar/baz

I like PHP simplicity. All thing needed is that you put PHP files into some directory, and write program. You don't need to create routes manually.

specifying primitive data types in Perlito5

I'm trying out this new little benchmark, which imports Java primitive data types into a Perl script:

Announcing Mojolicious::Command::generate::routes_restsful and Mojolicious::Command::generate::routes_restsful_just_routes

Get everything you need from just a hash

My recent release of Mojolicious::Plugin::Routes::Restful inspired my to go a little beyond and create code that generates code.

I have never been a big fan of this getting something from nothing idea

Heisenberg_14.jpeg

I guess I can't understand the math, after I discovered that 6 x 9 = 42, it never seems to come out right.

I have used auto-generated of course and have never been that pleased with it. I have spent many a week trying to make some silly shlock together out of Dreamweaver work with real code.

I have also seen a front end just slapped onto a dump of a DB schema that was created with DBIX Class Schema Loader and even worse the same but using JAVA's Hibernate. How about a level of abstraction between??

The Perl Toolchain: PAUSE and CPAN

This is the first in a series of blog posts about the Perl toolchain and the collection of tools and modules around it that are central to the CPAN we have today. These posts will illustrate the scope of things worked on at the QA Hackathon. We'll start with the core lifecycle of CPAN modules, focusing on PAUSE and CPAN.

This post is brought to you by FastMail, a gold sponsor for this year's QA Hackathon (QAH). It is only with the support of companies like FastMail that we're able to bring together the lead developers of these tools at the QAH.

monitoring failed minion tasks with minion-check

Minion-check is a sparrow plugin to monitor failed minion tasks.

One could easily verify if any minion jobs are failed for a certain period of time. Which could be important to understand if you have any failures for your long running task executed by minion.

The installation:

$ sparrow plg install minion-check 
$ sparrow project create myhost
$ sparrow check add myhost minion
$ sparrow check set myhost minion minion-check

And the configuration:

Here you need to provide bash command to run your minion command and optionally period of time to look up failed minion tasks:

Data::Tubes

I released a new distribution - Data::Tubes.

Little Bugs

Sometimes littlest bugs can really get on your nerves

25541-004-01C5DA95.jpg

Though not as much as the little critter above.

All started with a little module I wanted to upload to CPAN, well I did all the right things, test suite, manifest, makefile, POD coverage etc. I just wanted to do one test install on a clean box so I used my own Windblows PC.

Well it unzipped fine, passed its tests and installed with no problems. Great let see if it works

Automatic testing of your reverse dependencies with Test::BrewBuild

My Test::Brewbuild module and front-end script ``brewbuild'' are now in a very workable state.

The purpose of the module is to seamlessly and automatically run your module's unit tests across any number of perl instances within your Unix perlbrew and Windows berrybrew installations. However, I have also added the ability for it to test all of your modules down-river (reverse dependencies) modules against the module you're working on, as it currently sits.

Virtual Spring Cleaning (part 2 of X) in which I release Apache::Tika::Async

In 2016, there already is a module named Apache::Tika, which does some of what my module does, but doesn't allow for asynchronous communication with the Tika process, which I need.

Regexp::Parsertron V 0.50 is on CPAN

Regexp::Parsertron is a Marpa-based parser for Perl's regexp. Yes, I've written a BNF for the regexps. The low (dev) version # tells you something important.
See the docs on MetaCPAN for details.

Announcing Mojolicious::Plugin::Routes::Restful

Have Hash Get Routes

One of my long standing mental code blocks has been trying to get me little brain to understand what a 'Route' is. This really came to a head when I first started to use Mojolicous in a big way.

68c29deb72bad94cd4e3c1aa0f3cdcd8.jpg

You see in the old days it was easy, you just had an URL that pointed to something and you could either get or a post to it. It was of course used and abused in all sorts of ways, I still have a browser bookmark that looks like this



http://www.roman-artifacts.com/Armor Fragments  Attachments/Lorica Hamata Armor Fragment/lorica hamata fragment.htm?counter=0111&pox=110103....

Upping minimum version for Devel::Cover

Devel::Cover is fast approaching its fifteenth birthday. When it was released the minimum Perl version supported was 5.6.1, and that was because the mechanism Devel::Cover needed was not introduced until 5.6.1.

Since that time, Devel::Cover has supported every new, stable version of Perl, whilst continuing to support every version from 5.6.1. Not every feature is available on every version, but most are.

I have recently pushed a commit which raises the minimum version to 5.8.1. The main reason for this is that it is becoming increasingly difficult to install 5.6.x and 5.8.0 to test against. Other reasons are that Devel::Cover has reduced functionality prior to 5.8.1, and that the official Perl toolchain now has a minimum version of 5.8.1. I'd rather spend my limited time on other aspects of Devel::Cover than supporting perl versions that are well over a decade old.

I doubt very much that anyone is seriously using current versions of Devel::Cover on versions of Perl before 5.8.1, but I'd be interested to hear from anyone who might find this new minimum requirement to be troublesome.

Otherwise, I'll plan on releasing Devel::Cover 1.22 with this new requirement in the near future.

"Wow, Perl 6!" Talk: Slides, Recording, and Answers to Questions

Last night I gave a "Wow, Perl 6!" talk at the Toronto Perl Mongers, whom I thank for letting me speak, even after I got lost for 15 minutes in the building the event was hosted at and was subsequently late.

The talk is an overview of some of the cool features Perl 6 offers. If you didn't get a chance to be at the talk or to watch it via a Google Hangout, you can still get a recording of it.

You can view the slides at http://tpm2016.zoffix.com/ and the recording of the talk is on YouTube:

Synopsis

Couch Potato:

  • Lazy lists and their uses

Molding Your Own:

  • Subsets
  • Custom operators
  • Muti-dispatch

Hyperspace: Multi-core processing at a touch of a button

  • Hyper operators
  • Hyper sequence methods
  • Autothreaded junctions
  • Promises, Supplies, and Channels

How's Your Spellin'?

  • Grammars: Parsing made easy

Whatever, man!:

  • Whatever Code
  • Meta operators
  • Model6 Object Model (very brief "teaser" overview)
  • MOP: Meta Object Protocol
  • Sets, bags, and mixes

Polyglot:

  • NativeCall
  • Inline::Perl5

Not Really Advanced Things:

The Perl Weekly needs you help

There is a new page on the Perl Weekly website listing all the authors.
It would be awesome to have a list of articles by author mapped from that page.

The problem is that the list of authors is probably not complete and many of the articles that were included in the 4+ years of the newsletter were not tagged with the author. Especially in the first 2 years. So if you have some spare time and would like to help adding the authors to the articles....

All the source code is in this repository. The source files are in the src/ directory. Including the authors.json file that holds the information about the authors. The html/ files are generated. Don't bother with those.

If you are already there, it would be nice to include the Twitter account of all the authors who have a Twitter account so the little Twitter links next to their articles (See the latest) will also include their handle. That can help people further distribute the articles and also mention the author in one click.

Long Story Short

Not a tech blog today more just a store on design and development. So here goes.

Once upon a time not too long ago and not very far away I was happily working working away when the dreaded battle started between 'The Design' and the 'The Process' types.

Well the end of this was that neither side won their little war and as the big hats came in an 'solved' the team problems by a compromise which left both sides unhappy and shall we say not on speaking terms.

So on the process side the great and glorious 'Scrum' process was adopted (btw not the choice of the Process types) and on the design side they stuck with good old Requirements and Design from the 'Waterfall' model we all know and love.

The real rub was the chief process guy was put in charge of the requirements and the chief design person was place in charge of the process. Needless to say I smelt disaster from a long way off.

cpanparty is over

Well, it was a great party but .. It seems everybody needs to get home, as home is better place than being a guest somewhere ... as Russian would say ;)

But to be serious I am going to close cpanparty project as:

  • I don't have much time to write new test cases for existed CPAN module and it seem nobody wanted to join this process

  • My initial idea behind sparrowhub was to create a repository of reusable test / monitoring suites to match various life practical cases. CpanParty is a bit different - this is specification by example / test descriptions of existed CPAN modules. Still thinking that idea is quite interesting I am going to remove cpanparty plugins from sparrowhub to keep it clean and dedicated to initial purposes so not to confuse user asking how can I use test cases for Dancer2 or Mojlicious or other great web frameworks in my daily test/monitoring tasks?

So farewell for CpanParty!

As result:

  • cpanpatry plugins will be removed from sparrowhub index
  • plugins source code will remain on my github repos though
  • let'me know if for some reasons you want to resurrect or start new cpanparty tests for some CPAN distributions ....

Binary parsing with Marpa: .class files

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

March 15th-27th

News and updates

Perl 5.23.9 is now out!

All tickets blocking 5.25.1 are now collected in Perl #127731.

Ricardo Signes and the team are reviewing all the 5.24 blockers here and here.

Steve Hay is organizing the voting file for 5.22.2.

Tony Cook providing his grant reports. In total about 38 hours and approximately 18 tickets were reviews or worked on, and 3 patches applied.

Dave Mitchell providing his grant report.

Term::ANSIColor 4.05 is now out.

podlators 4.07 is now out.

version.pm was upgraded in core to 0.9914.

Encode 2.83 is now out.

Matthew Horsfall is adding more macros from handy.h to Devel::PPPort so they are available in earlier versions of Perl.

Issues

New issues

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.