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??

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.

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

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.

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....

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

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.

On The Mojolicious Codebase

There has been some discussion this week about forks of pieces of Mojolicious. Frustrating discussions over what is proper and how to discourage forking. It has been a long week to be honest (and thankfully the recent incident has been peacefully resolved, see postscript).

But then finally, just today, I’ve chosen to see things a different way. I’m really happy to see what lengths people are willing to go to in order to use Mojolicious. This includes addressing a perceived need for streamlining by taking a maintenance burden onto themselves and forking that code that which they need. They see the value in Mojolicious’ code, if not the value in the toolkit as a whole.

Help required: The SVG module & mouse effects

Can anyone show me code using mouseover etc with the SVG module? I'm afraid the docs are too terse for me. FWIW: I'll be using jQuery/jQuery UI.
TIA.

Virtual Spring Cleaning (part 1 of X)

At the 2016 German Perl Workshop in Nuremberg I first released and demonstrated a simple local search engine created from Elasticsearch with Perl for the surrounding infrastructure. The search application is distributed via CPAN as Dancer::SearchApp.

A Tutorial for using LibXML from Perl

In my ongoing crusade to direct people away from XML::Simple and towards XML::LibXML, I've recently published a documentation project called "Perl XML::LibXML by Example". The primary target of this documentation is the desperate Perl hacker who might otherwise reach for XML::Simple without realising the awful horrors that module will inflict upon them. My hope is that by pointing people at this documentation we'll be able to help them solve their problems sooner and with less pain.

In helping people with their Perl and XML problems I've come to realise that in order to become proficient with XML::LibXML what people really need (and what I've aimed to provide) is:

New to Perl? Come to The Perl Conference in Orlando for only $50.

Perl is a thriving language backed by an active community that continues to grow daily as newcomers discover what the language has to offer. The Perl Conference (also affectionately referred to as “YAPC::NA”) is the premiere North American event featuring training, workshops, hackathons for all things Perl and for all skill levels.

If you are new to Perl and have never attended YAPC before, The Perl Foundation is pleased to announce a very special welcome gift for a few lucky individuals. If this is your first time, you could join the Perl community at YAPC::NA::2016 in Orlando, Florida June 19th through 22nd for only $50.

Here’s what your $50 will get you:

  • Free admission to the main conference event, including all track talks, all keynotes, and some fun social events. (Regular ticket price is $250).
  • Free hotel accommodations June 19, 20, and 21 (The lowest room rate is $119/night)
  • Free Zero to Perl 5 Beginner Class. (Regular ticket price is $75).

That’s over $650 worth of YAPC for only $50!

SparrowHub - a repository of reusable testing/monitoring suites

Hi all!

SparrowHub - is a test/monitoring suites repository. SparrowHub repository contains collections of reusable testing/monitoring suites which are also called plugins. These are test suites for various use cases. From testing web services to checking disk available amount on your server. Sparrow suites are runnable via console script called sparrow which produce TAP output. It could be used in whatever monitoring , testing task and could be easily integrated into existed monitoring / deployment / configuration / automation systems. Sparrow plugins to be written on outthentic DSL and to be extended by Perl.

I have just added two 5 minutes tutorials for those who:

  • wants just to use sparrow suites in monitoring / testing purpose
  • wants to develop new sparrow plugins

A helper managing your PM social media

Social media will absolutely help you grow your local PM. Through consistent social media usage, when combined with consistently holding meetings, Sydney PM meeting attendance has grown from a motley crew of ~6 people 18 months ago to a venue busting 25 last month.

Attendance was so unexpectedly large we had to move out of our hosts board room (thanks Broadbean) to their general staff area. Thankfully their wall mounted status TV was quickly re-purposed for presenters and the show went on smoothly.

Social media for us has been Facebook and our pm.org email list, with Meetup being recently reinvigorated along with #australia on irc.per.org (does that count as social media?)

Heres a strategy: Facebook is very good at gently reaching out to people who can be convinced to play around with perl and come along to your meetings. They might not have used perl in a while, or at all, and everything in between. These people can be gradually enticed to come along via your PM's Facebook page.

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.