Skeleton Week: Perl plugin for collectd

This is the first year that I can recall during which I have not been at $work. I like the easy commuting, empty car parks, long lunches etc. then taking leave when everyone comes back.

UUArgSS.jpg

Since you won't be releasing (will you), it's a great time to work on some "we really should" projects.

Enhancements to monitoring are great candidates. There is always something else that can be graphed or alerted upon.

I stumbled upon this article detailing how to create a perl plugin for collectd. The author scrapes the html from the web interface of an ADSL modem, retrieving various stats which collectd then reports.

Check it out: https://apfelboymchen.net/gnu/collectd/collectd-perl.html

RPerl at the London Perl Workshop

Only a few days after our Paris presentation, RPerl Team went to London for the London Perl Workshop.
It took place at the University of Westminster, in central London. We had an RPerl booth, and Will gave a talk about Perl 11.

If you missed the talk, here's a quick summary: Perl 11 is not (yet) a version of Perl, but is a philosophy, or a way of thinking about Perl toward reuniting Perl 5 and Perl 6. There are several projects that fall under the Perl 11 philosophy, RPerl, cperl, and WebPerl for example.

A quick Q&A followed, which continued at the RPerl booth. Also, the Team RPerl appeared one last time during Lightning Talks, giving a commercial for RPerl & Perl 11 as requested by the London Perl Workshop organizers.

It was a very enjoyable day, we got to make new friends among the community, and see old ones. We would like to express our gratitude to the London Perl Workshop organizers, for helping Team RPerl have a presence in the UK. Also, thank you to our friends Wendy & Liz for welcoming us to London after welcoming us to Glasgow, and thank you for the photo!

RPerl_LPW.jpg

Hiya peeps!

We're looking for more talk submissions for the DC-Baltimore Perl Workshop (April 6, 2019, Silver Spring, MD)! Submit by Jan 31 (OR SOONER) at http://bit.ly/dcbpw-cfp and learn more at https://dcbpw.org/dcbpw2019/.

The DC-Baltimore Perl Workshop is a 1-day, 2-track conference (Saturday, April 6). The attendees are Perl Programmers and enthusiasts, interested in the latest technology and techniques -- Beginner, Advanced, Bizarre... all of the things!

Example talk topics:

  • How regexes work
  • Debugging techniques
  • Art & Code
  • Unicode!
  • Perl5! Perl6! (Perl...4?)
  • Agile project planning
  • Porting Perl to my Roomba
  • GraphQL ... how does THAT work?!
  • Dockerize / Kubernetesifying Things

You are welcome to submit more than one talk. We will accept submissions until January 31. That will then give us time to share the schedule with attendees!

If your talk is accepted and confirmed by you, we will send you a special invitation link to free registration as a speaker.

Email further questions to dcbpw-organizers@googlegroups.com, and learn more at our website, https://dcbpw.org/dcbpw2019/

Update: Perl Mongers 🐫🦋 at 35th Chaos Communication Congress

This is a follow-up to the previous blog post Perl[56] on the 35c3.

The Perl community will be officially present on the 35th Chaos Communication Congress! We have several well known developers on site and registered a space dedicated to Perl for everyone to visit—at this event it's called an assembly and our's is named Perl Mongers 🐫🦋 (including the cute Unicode symbols).

You've got a ticket but can't attend? Some of our folks didn't receive a ticket and would love to jump in. Please contact us!

You're going there? Of course visit our assembly yourself, maybe take a seat or store your belongings at our tables. Don't forget to wear your Perl t-shirts and bring other swag!

You need accommodation? I still have beds in private flats available while all hotels seem to be sold out! Please contact me via IRC or e-mail at dboehmer@cpan.org.

We share information and organize via IRC and an Etherpad session. You can chat with us and find the link to the Etherpad at #35c3 on irc.perl.org (Webchat via Mibbit).

See you soon in Leipzig

Continued contribution to CPAN ecosystem: secret?

Here are the real people who accepted my contributions and motivated me to carry on. I have compiled some really nice comments to help me when ever I feel low.

Distribution: Mojolicious::Plugin::NoReferrer
Author: Renee Baecker (RENEEB)
Pull Request: #1

Distribution: DBD::mysql
Author: Michiel Beijen (MICHIELB)
Pull Request: #246

Distribution: Perl::Critic::Git
Author: Guillaume Aubert (AUBERTG)
Pull Request: #9

Distribution: Plack::Middleware::PrettyException
Author: Thomas Klausner (DOMM)
Pull Request: #1

Distribution: OpenAPI::Client
Author: Jan Henning Thorsen (JHTHORSEN)
PUll Request: #11

Distribution: Mango
Author: Olivier Duclos (ODC)
Pull Request: #30

Distribution: decorators
Author: Stevan Little (STEVAN)
Pull Request: #6

Distribution: EventStore::Tiny
Author: Mirko Westermeier (MEMOWE)
Pull Request: #11

Distribution: Text::PerlPP
Author: Christopher White (CXW)
Pull Request: #28

Distribution: Map::Tube::Nuremberg
Author: Stefan Limbacher (STELIM)
Pull Request: #5

A big THANK YOU to all authors for the support.

SPVM Document beta 1.0

I start to write SPVM Document beta 1.0 by Japanese.

SPVM Doument beta 1.0(Japanese)

It's the Twelve Days of Dancer!

(apologies for not posting this sooner)

It's the Twelve Days of Dancer! This year, we have opted for a mini-advent calendar rather than a full 24 articles. This year's calendar has a lot to offer, including (*hint*) some crossover articles with another framework. Be sure to check it out!

Happy Holidays from the Dancer core team!

RPerl in Paris - Part I

The RPerl team is back! On November 21st, Will "the Chill" Braswell gave a presentation to the Paris Perl Mongers, at the Fondation pour le Progrès de l'Homme, or FPH. For those of you who've been to Paris, it is located in the Bastille area, not far from the opera house. The Foundation exists thanks to the generous legacy of Charles Leopold Mayer, and hosts a Linux meeting every Thursday. We were able to use this place thanks to Emmanuel Seyman, member of the Paris Perl Mongers, who organized this meeting.

The bullet points of Will's presentation were:

- The RPerl compiler, how it works, what it does
- Cloudforfree.org, a free platform to write code and use the compiler
- The Perl 11 philosophy, and the various projects among the open source community based on its principles

Many thanks to the Perl Mongers who joined us, Sébastien Aperghis-Tramoni, Laurent Rosenfeld (author of Think Perl 6), Jean Forget, and of course Emmanuel Seyman.

We'll be back at the FPH soon...

48052379_2158618961054495_3183407043713171456_n.jpg

Moose Still gets a A

It is follow-up day here in the Moose-Pen

Having gotten 100% in Database::Accessor it is time now to see what my coverage level with Driver::DBI. On the first run I got;

Thanks for Imager::File::WEBP

Thanks TONYC for authoring and releasing Imager::File::WEBP

All three major browsers now support WebP in a backwards compatible way, so with a few small changes to our Imager scripts our webpages can load faster and bandwidth be used more efficiently. Huzah!

PostgreSQL 11 Server Side Programming - Quick Start Guide

Last week my book PostgreSQL 11 Server Side Programming Quick Start Guide was released.

cover.png

The book is a Quick Start Guide, that means it goes straight to the point, in this case, programming on the server-side of PostgreSQL.

Why is this related to Perl?
Well, one very cool feature of PostgreSQL is the capability to execute functions, and therefore triggers and procedures, in pretty much any programming language available out there. And this of course, means Perl!
In fact, Perl is very well supported in PostgreSQL to the point that the DO statement does allow you to use PL/Perl code instead of the PL/pgSQL one.

The other language I show, as a "foreign" language, in this book, is Java. My idea was to show to the readers the differences between using a language like Perl and one that requires a full compile-deploy cycle.

Hope the book can be useful.

namespace::local above, below, and around

My namespace::local module has got some new switches in v.0.04:

  • -above (0.04) emulates namespace::clean:

    package My::Package;
    use Lots::Of::Imports; # imports will only be available until end of scope
    use namespace::local -above;
    
    
    sub do_things { ... }; # this will not be hidden
    
  • -below (0.03) hides everything that follows it from outside view:

    package My::Package;
    sub public { ... };
    use namespace::local -below;
    sub private { ... }; # not available outside this module
    
  • default mode still confines imports and/or functions between the use line and end of scope:

    package My::Package;
    
    
    # cannot frobnicate here
    {
        use namespace::local;
        use Some::Crazy::DSL;
        frobnicate Foo => 42;
    }
    # can't frobnicate here, too
    

I also added a list of symbols that this module shall not be fiddling with, which is most likely incomplete.

Still it looks more like an Acme:: toy, to be honest. Who needs to hide their private functions? Just document the public ones to the point where nobody cares to look inside! =)

Have fun.

A++ Moose

Still in cover mode here in the Moose-Pen

I found another sub that was not being tested seem I never call 'da_warn' in my tests.

This one is a little special;

        sub da_warn {
           my $self       = shift;
           my ($package, $filename, $line) = caller();
           my ($sub,$message) =  @_;
           warn("$package->$sub(), line:$line, $message");
           
        }
it is in 'Database::Accessor::Roles::Driver' so not really part of Database::Accessor but as it is in the Accessor.pm file I think it should be tested. I have to set it up first by adding this line into the 'Database::Accessor::Driver::Test' class;

Monthly Report - November

I would like to dedicate November 2018 to the London Perl Workshop 2018. The main focus was LPW, being member of LPW Organizers. Lots of preparation went in the background to make it such a successful event. Kudos to all fellow members, community members and sponsors.

Two things are common in every monthly report and I can't live without it. One, submitting Pull Request as many as possible and second daily uploads to CPAN, as of today, 1st December 2018, is the 468th day non-stop. Post LPW event, I blogged about my experience as usual but I also talked about new ideas we (Ferguson, Rick and I) discussed. Since nothing has been finalized, it is not fair to talk about it. Just to give an idea, we talk about how to bring in more people into the Perl fold, specially school and college levels.

Rakudo.js mini update - Firefox support

One pain point when showing Rakudo.js was that it depends on a new version of Chrome due to using not yet everywhere native JavaScript big integers.
It turns out Perl 6 developers use a much wider array than your average Joe, so I decided to spend some time to support Firefox (which has a BigInt implementation under way) as well as all the bizare Chrome offshoots which might use an older V8.
I've transitioned from using the not yet avaliable everywhere native BigInts to using the replacement jsbi.
As jsbi is fresh technology porting rakudo.js even uncovered a bug in jsbi which I reported (and it got fixed by maintainers),
Once BigInts are everywhere we can transition back to using them.

namespace::local: hiding utility functions in moo[se] roles

Ever since I came up with namespace::local, clearly inspired by namespace::clean, I was wondering who would need it in real life.

Now I seem to have found an actual application: roles. Roles must be very careful about what's in the namespace to avoid conflicts. So any private subs that are there to reduce repeating code should ideally be hidden from external observer.

And it is possible with namespace::local -below. The below switch is introduced in 0.03, and it allows the names defined below the use lines to propagate above the use line, but not past the end of scope. This can be seen as namespace::clean working in opposite direction.

Example: if you comment both use namespace::local lines, this code blows up.

The Mighty Meta Moose

Find and fix a bug day here in the Moose-Pen

The great thing is the new tests I added to fix up my subroutine covers as reported by Delve::Cover revealed that I may have two new bugs in Database::Accessor.

The two fails were;

…
not ok 92 - no_create flag error on create
ok 93 - no_retrieve flag error on retrieve
not ok 94 - no_update flag error on update
…
The test is fine as it is failing with the expected error message 'Attempt to use create with no_create flag on' with the error message 'No Create, Update or Delete with retrieve_only flag'. I looked though the code and that error comes from here

LPW2018 Silver Sponsors

Without the investment from our sponsors it would not be possible to run LPW as a free event. We’re grateful for the support at a Silver level from the following four awesome companies!

Adestra
Here at Adestra we empower our clients to maximize marketing ROI through email-driven technology. Our flexible account structure, obsession with customer success, and award-winning service have gained the trust of global and growing brands alike.

We’re proud to say we treat our people well: from excellent opportunities for career development to a positive, collaborative culture and great company perks, our global offices are a fantastic place to work at any stage of your career. As our client base continues to grow, we’re looking for talented individuals who share our values to come and grow their careers with us. With opportunities in the UK, Australia, and North America, now is an exciting time to join Adestra and become part of our global success.

DBD::Oracle 1.76 released

Including a wide range of bug fixes and some helpful enhancements as detailed in the Changes file.

If you are using DBD::Oracle, there is no reason not to upgrade (YMMV)

Check it out https://metacpan.org/release/ZARQUON/DBD-Oracle-1.76 or using your preferred CPAN tools

Tackling Legacy Projects: an Experience in Perl - Free Ebook

There are several definitions for legacy code that have similar points, but overall people interpret the notion in different ways. For some it’s code without unit tests, for others it’s old code, for most it’s both. It’s not necessarily something vigorously debated, but opinions differ on what makes code legacy.

In this short ebook you’ll find more than just definitions, but a different perspective on legacy code in general and what it represents for Perl. To make things a bit clearer, the ebook also contains one of our experiences with a Perl legacy code project and the challenges that went with rewriting it.

Have a look!

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.