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

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.

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!

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!

Still Some Moose To Go

Well not much moose in the moose-pen again. Like I said in my last post I am getting nearer to that programmer nightmare (at least for me) of documenting and packaging up my project to get it ready for CPAN. But there is still a little Moose left.

One of the neat things about test driven development is all the bugs one find and squish long before you code ever gets out there, today is a good example.

I decided to add in a few more features to my Accessor, (yes I know scope creep) namely I want it to be hard to do a update or delete without having either a static or dynamic condition set.

So I added in two new attributes

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!

You Wouldn't BELIEVE what I saw at YAPC::EU!!!

We turned up in Cluj via Wizz Air to probably one of the best pre YAPC parties ever located on three levels on the rooftop of Evozon‎’s plush city centre offices. We were well supplied with excellent wine, snacks and the local Ursus beer and had many interesting conversations with old friends.

YAPC::Europe::2016

My impressions on this year conference are here!

Binary Moose

Well after 1001000 days and getting close to the programming phase of my Accessor.pm I think I might as well do a quick state of the Moose-pen post

Well for a quick recap

Posts 1~14

I gave the background story of Accessor, some of the planning and some API/design related posts

Posts 15~31

I started on some test driven prototyping and proof of concept coding. This gave me a firm idea of how I was going to work things out when I started the real programming.

Posts 32~45

I started to play in the Moose-pen creating a real name-space ans sticking withing tanking my PoC code and creating the first run at Accessor.pm and did some planning and introduced a few neat Moose concepts.

Log::Any 1.042 Released

Since CPANTesters for Log-Any are all showing green for last week's trial release, I've pushed a new standard release of Log::Any 1.042 to CPAN.

Do not pass perl globals as arguments to subroutines

Recently I faced this problem when loose an exception message in Mojolicious

What do you think is wrong here

$c->helpers->reply->exception($@) unless eval { $next->(); 1 };    

For first sight nothing. We eval code and then catch exception if it is and pass error into sub. But we forget that when arguments are passed into subroutine they are aliased into @_ NOT COPIED (Maybe we forgot that because of it is not documented here ) but, thanks, documented here

 The array @_ is a local array, but its elements are aliases for the actual scalar parameters.

So @_ contain aliases. What does that matter? Look please at this small example:

Dancer2 0.203000 improves session security, fixes decoding bugs

Dancer2 0.203000 is on its way to a CPAN mirror near you. This version brings some important security improvements and bugfixes:

  • It is considered good security practice to change a session ID whenever any change in privilege level occurs (such as logging into an app). Not only is this a good practice, but it is a requirement of some established security standards. To account for this, a new method, change_session_id() was added to make it easy for developers to issue a new session ID on privilege change.

At some point in the not-too-distant future, session drivers will be required to implement a _change_id() method to support this. In the meantime, Dancer2 will perform the operation for session drivers that lack this method.

Thanks to Ctrl O and InfoSaaS for sponsoring SysPete’s work on this important functionality!

No Merit Moose

Well today in the Moose-pen I do not have very much moose to look at as I am getting close to finishing off the Accessor.pm at least code wise, hey I even started to write up the POD for it so the end game is near.

So for today cleanup I noticed that in an earlier post I planed this

00~09 basic sanity tests
10~19 Database::Accessor Classes sanity test
20~29 DAD load tests
30~39 Accessor.pm static tests
40~49 Accessor.pm dynamic tests
50~69 Integration.

was my general plan for testing Accessor.pm.

Seems I did both the static and dynamic tests in the same 30~39 range should. Well that is nothing much just a bunch of code movement out of the 30 range and into the 40 so I am not going to bore you with that here.

Parsing: an expanded timeline

My latest blog post expands my timeline of the history of parsing.

Perl 5 Porters Mailing List Summary: August 15th-21st

Hey everyone,

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

I Botched a Perl 6 Release And Now a Robot Is Taking My Job

Deconfusion note: if you're just a regular Perl 6 user, you likely use and only ever heard of Rakudo Star, which is a distribution that includes the Rakudo Perl 6 Compiler, some modules, and the docs. This post details a release of that compiler only, which gets released more often than Rakudo Star. So please don't think there's a new release, if Star is all you use.

Part I: Humans Make Errors

Today is the third Saturday of the month, which is an awesome day! It's when the Rakudo Perl 6 Compiler sees its monthly release. I was at the helm today, so I chugged along through the Rakudo release guide and the NQP release guide, whose release is part of the process as well.

We're All Green To Go

As I was nearing the end of the process, the first hint of a problem surfaced when a user joined the #perl6-dev IRC channel:

Moose Jaw Lawyer

Today in the Moose-Pen I decidedt to fillan give another go at trying to enforce my DAD writers to include a sub like this

 sub retrieve {
        my $self = shift;
        if ( $self->alias() ) {
            return $self->name() . "  AS " . $self->alias();
        }
        else {
            return $self->name();
        }
    }
in their DAD drivers that would be added in this case to the Database::Accessor::Element class. This you might remember from my earlier posts

Sparrowdo automation. Part 6. Sparrowdo modules - getting a bigger things using light primitives.

This is what have been seen before:

Well, while keep writing a sparrowdo tutorial the tool keep growing too. Let me introduce something new and excited about sparrowdo automation - how one can easily create a higher level entities using so called sparrowdo modules.

Sparrowdo modules ...

So far we have talked about some sparrowdo primitives. They are light, they are small and they relate to a small specific tasks, under the hood they are just sparrow plugins with parameters - sparrowdo tasks.

Well, here is the list to recall a few:

  • System packages - package-generic plugin
  • CPAN packages - cpan-package plugin
  • Users and groups - are user and group plugins
  • Linux Services are represented by service plugin
  • And more and more and more ...

Perl Executing Browser version 0.2

I am happy to announce the release of version 0.2 of Perl Executing Browser (PEB) - our minimalistic HTML GUI for Perl desktop applications similar to Electron and NW.js.

Despite its low version number, PEB is already used in a small, specialized EpiDoc XML application called Epigraphista and is proving its usability.

PEB also contains an HTML interface for the default Perl debugger. The debugger output is displayed together with the syntax highlighted source code of the debugged script and its modules. Syntax highlighting is achieved using Syntax::Highlight::Engine::Kate CPAN module by Hans Jeuken and Gábor Szabó.

I will be glad to read any comments, suggestions or feedback.

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.