Moose Identity Round Up. Part the First

Its identity round-up day here in the Moose-Pen

I decided to add in another test;

YAML::PP Grant Report March 2018

Hello readers,

I hope you had a nice easter weekend.

I had another busy month and worked about 25 hours on YAML.

I attended Gotanda.pm

Yesterday, I attended Gotanda.pm, which is a Japanese local pm group organized by karupanerura.

A lot of interesting talks were presented there. I especially enjoyed codehex's talk, where he introduced how to write closures in XS. You can read his blog post for the more detailed explanation.

And I gave my talk about writing perl with w0rp/ale, which is an Asynchronous Lint Engine for vim8. There is already a blog post about it by oalders, so you may notice it.

If you write Perl with vim, why don't you try ale together with my simple syntax checker skaji/syntax-check-perl?

Programming the Raspberry Pi with Perl; eBook fundraiser

A few weeks back, it was pointed out to me that Timm Murray was proposing to write an eBook for using Perl on the Raspberry Pi. Due to my extensive work on that platform over the last two-plus years, I had keen interest in the project.

Timm will be writing the bulk of the content using various distributions including my RPi::WiringPi along with all its related distributions, and I will be adding at least one chapter to cover my indoor grow room single-webpage environment controller, as well as performing editing duties and testing of the code.

We've been working together for a couple of weeks now, and today, I'm proud to announce the official launching of the fundraiser for the new book.

Whether you're interested in working on the Raspberry Pi, or just want to donate to a good cause for other Perl hackers, please have a look.

Thanks!

Take Another Look Moose

Its re-think things day here in the Moose-Pen

Well I eally do not like this part;

 container => [
              {first_name=>'Bill',id=>"",last_name =>'Bloggings'},
              {first_name=>'Jane',id=>"",last_name =>'Doe'},
              {first_name=>'John',id=>"",last_name =>'Doe'},
              {first_name=>'Joe' ,id=>"",last_name =>'Blow'},
              ],
of my tests from yesterday . Remembering to stick in that 'id' in the values to be inserted will take away from utility of my API. Needless to say that sending an empty value for an create/insert is confusing at the least and downright disturbing to some. Therefor I will have to make this revised test;

Perl 5 Porters Mailing List Summary: March 5th-25th

Hey everyone,

Following is the p5p (Perl 5 Porters) mailing list summary for the past three weeks.

Enjoy!

The Perl Conference Newsletter: 3/25/18

In This Issue:

Keynote Speaker:  VM (Vicky) Brasseur

VM (aka Vicky) spent most of her 20 years in the tech industry leading software development departments and teams, and providing technical management and leadership consulting for small and medium businesses. Now she leverages nearly 30 years of free and open source software experience and a strong business background to advise companies about free/open source, technology, community, business, and the intersections between them.

 

She is the author of Forge Your Future with Open Source, the first book to detail how to contribute to free and open source software projects. Think of it as the missing manual of open source contributions and community participation. The book is published by The Pragmatic Programmers and is now available in an early release beta version. It's available at https://fossforge.com.

 

London Perl Monger - Tech Meet #1

Last Thursday, I attended the London Perl Mongers Tech Meet at the Zoopla. This was my second time attending tech meet. I must say this was better than the previous meet, in many ways. First there were more people this time than compare to the last one, I attended. Second, this time talk was more Perl-ish. And last but not the least, plenty of food and drinks, thanks to all the sponsors.

More Identity Moose

Its still identify day here in the Moose-Pen

Yesterday I made a good start with my 'identity' flag and today I carry on with this using this test;

Plack::Middleware::RedirectSSL

I just shipped 1.300 of this module to the CPAN and it occurs to me that I’ve never talked about it here. I suppose I figured that what it does is so simple that there’s not much to say about it. But it‘s useful if you need what it does, and I wrote it because nobody else had.

  1. Do you have a web site being served over HTTPS?
  2. Do you want to redirect visitors coming in over HTTP to HTTPS?
    (I.e. send visitors of
     http://example.org/some/where to
    https://example.org/some/where instead.)

If you answered yes once, you almost certainly answered yes twice. Right? It’s such a common thing to need.

But when I went looking for a way to make my PSGI application do that, I found nothing on CPAN.

Update to XML::LibXML Tutorial

I've just updated my tutorial document Perl XML::LibXML by Example to include a section on Working With Large Documents.

This new section introduces the XML::LibXML::Reader API which is a pull-parser style with much lower memory overheads that a traditional DOM parser. It also covers hybrid operation where the Reader API is used to scan through the document and extract sections as DOM fragments for further interrogation via XPath.

ANTLR4::Grammar v0.1.0 to Perl 6 CPAN

ANTLR4::Grammar lets you convert ANTLR4 lexer and parser grammars from ANTLR to Perl 6. It currently works with all of the basic EBNF constructs, and for the moment chooses to ignore the features of ANTLR that the native Grammar type doesn't support. When I've added the basic Action class I'll probably add support for ANTLR4 modes. ANTLR4 types make a bit of sense as they've at least got string and int types, but actions don't make much sense as if you're using the tool, you're likely porting an existing Java- or C-based grammar over to Perl 6 and the existing Java code wouldn't make sense.

Future additions include automatically generating a basic Action class, and possibly enough code to build an object-only AST from the grammar itself.

Running Down Moose

It running out of things to do day here in the Moose-Pen

So I am getting very close to being code complete on both Database::Accessor and Driver::DBI I thing I only have a few more little things to add. One that I am going to look at today is the problem of 'identity' fields.

97.654321% (a number pulled out of me arse) of SQL DB have some sort of auto-sequence field or a flag on the field to make the primary key auto increment on insert. There is only one main-stream DB that does not have this and that is ORACLE though there are some other out there I might not know about.

Numbers and Strings in JSON

We needed to upgrade from EL6 to EL7 at work. After the upgrade, we noticed some of the JSONs returned from the APIs had changed: some numbers were suddenly enclosed in double quotes, while some others lost the quotes, which broke customers’ code written in strongly typed languages (e.g. Java).

We used the system default perl to drive our web application, using libraries provided by the vendor. While Perl’s version changed from 5.10.1 to 5.16.3, the version of JSON::XS responsible for creation of JSON data jumped from 2.27 to 3.01. Both the changes contributed to the problem.

Rakudo.js update - working source maps and adhoc fixes

Four backends now for GUIDeFATE...but the struggle continues

Just as you are thinking you got the hang of something, believing you know how to work the system, imagining you have a problem licked, then you wake up to find out it was just a dream. That has been my experience in developing GUIDeFATE (A contrived acronym for the project - Graphical User Interface Design From A Text Editor).

No More Moose Case

Its rethink my case day here in the Moose-Pen.

Some of my loyal readers (if there are any) my remember when I started playing with the 'Case' statement I had a few iteration with the naming convention for my API. I finally settled on 'whens' that holds all the case conditions and 'statement' for the 'then' part of the case like this;

Perl Module Tools (pmtools) v2.2.0 Released - Many RT Fixes

Perl Module Tools (pmtools) v2.2.0 has been released (and updated on GitHub). The focus was on fixing RT bugs. The only outstanding RT issue will be 52851, which is a feature request for pmeth to also display a description for the method. This will require some contemplation to see if I can do this in a reasonably simple manner.

(I say "will be" because rt.cpan.org does not yet have 2.2.0 as a valid version number for pmtools.)

Yancy - Mojolicious CMS - Version 1 released

I'm happy to announce the release of version 1 of Yancy, a simple content management system for Mojolicious websites. Yancy is designed to be added to your website to make it easier to develop a web application and manage the content inside.

screenshot.png

Yancy features a responsive web application that uses your database schema to build forms to edit your site's content. Yancy currently understands databases like Postgres, MySQL, and SQLite, and the DBIx::Class ORM.

Pi Day!

Yesterday, when I published and wrote a blog about my new RPi::StepperMotor distribution, I didn't even think that the very next day was Pi Day.

So, although nothing significant could be done in the meantime, I updated that dist with a cleanup() method which resets the GPIO pins at the end of your script, and published version 2.3623 of RPi::WiringPi, which is the top-level framework that allows you to safely pull in all of the other RPi:: distribution objects.

Changes include:

  • bumping GPSD::Parse prereq due to having added some convenience methods to it

  • Documentation fixes and updates (all broken links now work!)

  • incorporation of said RPi::StepperMotor distribution

Nothing major, but since most of my personal programming time the last two years has gone into Raspberry Pi work for Perl, thought I'd do at least something :)

byterock, this one's for you...

byterock_moose.jpg

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.