YAMP

Yep. You guessed it. Yet Another Moose Post. Today in the Moose-Pen just a quick bit of code cleanup

I stumbled upon some of my early notes for this project today and it seems I forgot to include a MooseX I was keen on using from the beginning, I guess I forgot about it, so a little back programming today.

The MooseX is called ' MooseX::AlwaysCoerce ' and it does what it says, forces all of your attributes to have

coerce   => 1,
unless you set them to

coerce   => 0,

Perl 5 Porters Mailing List Summary: September 5th-11th

Hey everyone,

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

Reply to David Golden "Comparison of Class::Tiny and Object::Simple"

p5p pumpking David Golden wrote the following topic.

Comparison of Class::Tiny and Object::Simple

I'm pleasure he is interested in Object::Simple even if the entry criticize Object::Simple.


----------------------------------------
Yes, you can create custom constructors, but that defeats the syntactic simplicity of Object::Simple.
----------------------------------------

No, No. Custom constructor is very very easy. Nothing is difficult.


-------------------------------------------
Very soon, you'll have re-invented the semantics of BUILD/DEMOLISH.
-------------------------------------------

No, No. Perl calls constructors and destructors in correct order if we use only single inheritance.

I strongly recommend single inheritance in object-oriented programming.

See Object::Simple(CPAN) for more details. I add FAQ section to reply this question.

Docker::Engine::API 1.24 starting point giveaway

As part of a demo/POC I hacked together a complete Perl binding for the Docker Engine remote API v1.24 (Docker Engine 1.12).

We are sadly not using Perl where I currently work so after demoing some stuff we will move forward using other tech.

There exist some modules on CPAN already but they are not complete and did not work with the new features in Docker.

Perhaps if someone wants to continue the work they can fork and/or merge with the other modules to create a definitive Perl binding for Docker.

Here is the project

* No support will be given
* Rewrite needed
* Look at the Golang binding for ideas for the next steps, eg. types instead of handling everything as JSON

Moose Police Get out of My Dreams

Well the Moose-Pen is not dead yet as I still found some Moose to blog about, and I though I was so close.

On thing that really bugs me about Perl is the fact you can have a lovely interface like this

  my $thingy = $object->get_some_thing();
  $object->set_some_thing(“Not my thing”);
and then some smarty-pants RFB comes by and does this

  my $thingy = $object->{some_thing};
  $object->{some_thing} = 'Not my thing';
Anyone who ever comes from a OO background say in Java or even C# usually can be heard screaming into the halls of a Perl shop cursing the very day Larry said “let's create some disruption” and have 'c' with types.

3 interviews about Perl projects

Recently I've started a new interview series published both as videos and as a Podcast.
The first 3 episodes were with Perl developer: Jason Crome on Dancer 2, Sawyer X on Perl 5 Porters, and Joel Berger on Mojolicious

The 4th episode is Tom Hudson on gron that helps making JSON structure grepable.

Alpine Perl Workshop Videos (Day 1)

I have uploaded videos from the first day of the Alpine Perl Workshop (Innsbruck, 2016): https://www.youtube.com/channel/UCLsVz9vprzs6U6PmcI4tnqA. The second day of videos should be done uploading by the same time tomorrow. Some observations from recording/processing/uploading the videos:

Perl 5 Porters Mailing List Summary: August 29nd - September 4th

Hey everyone,

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

Osti d'épais de marde d'orignal

Today in the Moose-Pen I am going to solve a little problem with Moose.

So cleaning up a lot of Moose poop over the last few days and part of that effort is to ensure some of my proposed features with this post. Now I have re-factored that a little today into this sub

Dancer2 0.203001 improves speed of apps, fixes missing dependency

Dancer2 0.203001 is on its way to a CPAN mirror near you. It is essentially a maintenance release, with only two minor changes:

  • Class::Load was replaced by Module::Runtime. This will result in a slightly faster execution time for your Dancer2 apps. This had been applied previously, but was erroneously undone by another commit. Thanks to veryrusty for noticing and fixing!

  • The minimum version of List::Util needed by Dancer2 was omitted from 0.203000, causing some headaches for users of older versions of List::Util.

The full changelog follows:

Simplest class builder "Object::Simple" 3.17 released!

Simplest class builder "Object::Simple" 3.17 released! I rewrite document in this release. I describe the benefits at first.

Simplest class builder, Mojo::Base porting, fast and less memory

  • Simplest class builder. All you learn is only has function!
  • Mojo::Base porting. Do you like Mojolicious? If so, this is good choices!
  • Fast and less memory. Fast new and accessor method. Memory saving implementation.

Check latest Object::Simple document!

backseat YAPC::EU

Cluj was my ninth YAPC and it was different for me in many ways. Please read this especially if you never been to a YAPC.

MooseX for No Poop

Well there still lots of life in the a little Moose-Pen today seem I still have plenty of poop to cleanup.

Well in my last post I cleaned up a little moose poop and today I am going to take a major step forward and clean up allot more. So far most if not all the poop I have been generation comes from my efforts of either

  1. Having required attributes
  2. Coercion into classes or
  3. Type errors
Well one would think there will be a large amount code to cover in a single post but thanks to Moose I really only have to add

 use MooseX::Constructor::AllErrors

Introducing Terminal::Print

After a long incubation period of intermittent hacking, I am pleased to present Perl hackers worldwide with the option to quickly and easily print to their console screen.

Ok.. why?

From the module's README:

Terminal::Print intends to provide the essential underpinnings of command-line printing, to be the fuel for the fire, so to speak, for libraries which might aim towards 'command- line user interfaces' (CUI), asynchronous monitoring, rogue-like adventures, screensavers, video art, etc.

Let's first point out that this module is a serious attempt at solving a relatively frivolous problem. There are plenty of existing text display engines (hello, ncurses!), game engines, and other Perl modules that already solve many command line display (CLD) issues.

However: ncurses is not re-entrant. Furthermore, its UTF-8 support is (understandably) bolted on. Looking around at other C library options, it came to dawn on me: why was I involving "native" options, anyway?

The Math::BigRat Trap

rat tail

With the latest stable release of perl, v5.24.0, you could easily get trapped into using a problematic combination of math modules. Here is how, and what you should do to avoid trouble.

Announcing Veure at The Perl Conference

I'm back from Romania and had a lovely time at YAPC::EU, er, The European Perl Conference, er, or this:

I unveiled that suggested logo at my opening keynote only to discover that many Perl devs had no idea what I was talking about. My sense of humor is shouting "get off my lawn."

However, I gave a lightning talk announcing Veure, including the game's name and blog! Veure is officially known as Tau Station and sign up for our newsletter to find out more, including keeping up with the alpha. Or just read our blog to see what's happening with it (but you really want to sign up for that newsletter).

Many thanks to Evozon for hosting a great conference!

Cleaning Up Moose Poop

Well sometimes the Moose-pen is empty and sometimes it is filled up today I am sort of up in the air what state I am in today.

One thing we have seen in many of my posts is great lines of I like to call moose poop or the lines upon lines of error reports. Many times they even confuse me and send me running down all sorts of Moose holes.

So I am going to try to clean a few of them up. The first one I am going to get after is not even an error just a waring telling the programmer that a DAD cannot load which we first saw in this post . The moose poop was about 40 lines of stuff when really only the first line counted.

Do you need "Fast Perl"? Look at "Static Perl" project at once.

Do you need "Fast Perl"? Look at "Static Perl" project at once.

Static Perl - Fast calculation, parallel process, GC, static typing, VM with perlish syntax without XS

CamelHarness.js version 0.2.1

I would like to announce the release of version 0.2.1 of CamelHarness.js - a small JavaScript library that can start Perl5 scripts from applications based on Electron or NW.js. I will be happy if someone finds it useful!

Perl 5 Porters Mailing List Summary: August 22nd-28th

Hey everyone,

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

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.