LPW2018 Gold Sponsor - Perl Careers
Sponsors make it possible for us to run LPW without charging for tickets, and as an organiser last year Pete Sergeant knows just how important this is! Thank you Perl Careers for your ongoing support.
Sponsors make it possible for us to run LPW without charging for tickets, and as an organiser last year Pete Sergeant knows just how important this is! Thank you Perl Careers for your ongoing support.
Here is the coverage of Faster.xs in the module Gzip::Faster:
http://cpancover.com/latest/Gzip-Faster-0.21/Faster-xs--branch.html
It suggests that most of these statements aren't tested. But actually they are, more or less.
What seems to be happening is that SvTRUE is a macro with about five or six different tests:
https://github.com/Perl/perl5/blob/blead/sv.h#L1761
and so to get "coverage" of all the SvTRUEs here I'd need to send a string, an integer, a floating-point number, and so on and so on. But would that actually tell anything about Gzip::Faster? In fact it wouldn't. It would just be testing whether SvTRUE from Perl's core was working correctly or not.
The latest version of Dancer2 is out the door, and it is chock full of changes! A few new features worth noting include:
no_default_middlewares
setting to allow Dancer2 applications to work with ETag (and similar) middlewares in the Plack stack (veryrusty)There have been a lot of documentation improvements made, driven largely by the members of our awesome community.
The full changelog is as follows:
Final final final clean up day here in the Moose-Pen
Just a quick postette today cleaning up the last of my messages on my error retruns. Starting with this one;
'Database::Accessor Database::Accessor::add_condition Error:
The following Attribute is required: (conditions->left)
With constructor hash:
{
'predicates' => {
'operator' => undef,
so two thing to get rid of here, get rid of that 'Database::Accessor::' in front of 'add_condition' and change that constructor has so it dose not show that hidden 'predicates' key
the first fix is easy enough;
With the workshop just over a week away we have created the schedule. You'll notice we still have room for a few talks, so if you have something you would like to talk about then don't hesitate to submit a talk
We have tweaked the schedule a bit from previous years to start a little later than normal and allow a little more time for lunch. You'll also notice we have a dedicated Perl 6 track and a dedicated "mentoring / beginners" track.
We also have room for more lightning talks and will favour those that are submit early. Note we may tweak the schedule slightly to make room for more talks and/or depending on other factors.
As always, thanks to our sponsors:
- Eligo
- Perl Careers
- CV Library
- Oleeo
- The Perl 6 Community
- Adzuna
I've been reviewing the coverage of the tests of modules using metacpan.org.
It is pretty handy for finding stuff which is not tested.
I tried it on this module:
https://metacpan.org/release/Directory-Diff
I noticed that a lot of the code had no tests, and there were also some completely unused subroutines.
I removed some of the unused subroutines and wrote some tests for the remaining things, and was able to improve the coverage:
This seems quite handy.
After this weeks discussions about naming a shovel a spade, and how that would increase sales in the hardware store. I hope to start a substantive discussion around promoting Perl.
Dear Reader, please don't let the above metaphor become a stumbling block. Your ingenuity is desperately needed.
The first hypothetical question I would pose is:Its get back on track day here Moose pen.
I left off with the add_sort and did some refracting that when a little awry but I did get back on track. As it stands I have this originalAfter fixing some strangling bugs and implementing some unimportant but fickly to implement
features rakudo.js now passes our targeted test subset. Some of the fickly features where
things like basic support storing fetching and ++'ing int64/uint64 variables etc. (rakudo.js is 32bit because that's what fits into basic JavaScript numbers).
Focus has now moved to running the roast tests in the browser itself.
For this I'm first precompiling the test files (which has it's own share of problems that I'm working around as rakudo doesn't yet fully support precompling scripts only modules).
For example all the compile time deps are recorded with a custom CompUnit::Repository
Then I'm bundling them together with parcel into a single .js file.
I'm running it with a Karma runner and Headless Chrome.
When running under karma the nqp runtime intercepts the TAP on STDOUT and reports the results to the karma harness.
Greetings all!
After a brief break (and local hosting of The Perl Conference 2017), we are again hosting the DC-Baltimore Perl Workshop in Silver Spring, Maryland on Saturday April 6, 2019! The day will be dedicated to two tracks of Perl-related technology talks, targeting all levels of programming experience.
Our Call For Presenters is open! Find some info on our site, or jump directly to the talk submission form.
I'm looking forward to learning a few things, making new friends, and greet returning attendees on our ... mmm... 6th iteration of this workshop :)
Direct questions to dcbpw-organizers@googlegroups.com.
I've like to propose adding a ROADMAP section to module documentation.
It would be a *short* summary of planned changes for future versions, noting what features would be removed or changed, or upcoming new features that will be added.
More detailed roadmaps should be put in a separate file (e.g. `ROADMAP` or `ROADMAP.md`) that should be referred to in the section. Or link to the roadmap if it's online.
Is may be the end of the errors Day here in the Moose-Pen.
I spen quite a bit of time mulling over the various options and possible solutions to the rater large mess I made yesterday with my recursive call to a eval.
I did manage to do a very long coded version where de-factored my code back to what it was when I starter earlier this week. A block of code for each 'undef' sistuation.
I wasn’t really satisfied with that as it was ugly, unmaintainable and I think very fragile once I got into more that two levels of recursion on my evals.
What to do?
Well I had a peek at the guts of 'AllErrors' MooseX and from the I could see that it was warping anything I was doing a new with its own 'around BUILDARGS' so that explain why I was getting three errors rather than just one. I also means that I have to do another shameful act;We're in Chicago and we're hacking on MetaCPAN.
Read the full post.
On behalf of the development team, it brings me great pleasure to announce the 6.d ‘Diwali’ major version release of the Official Specification of the Raku Perl 6 programming language.
Please see the PDF of our Release Brochure for all the details: marketing.perl6.org/id/1541379592/pdf_digital (print-friendly version is also available on marketing.perl6.org)
If you are unable to view PDF documents, most important details are also available as a plain text file in the repository github.com/perl6/roast/blob/master/docs/announce/6.d.md
Compiler releases with 6.d as their default language version will follow their standard release scheduling (for Rakudo compiler, release process will start on 2018-11-17)
Happy Diwali!
Do you want to post an article in this year’s #mojolicious #AdventCalendar? I’ve just posted a call for articles in the mailing list. You do and know things that other people want to learn about, I promise!
Read more in Call for posts: Advent Calendar 2018!
(Please reply there, as I don’t get notifications from this site on comment.)
Still stuck in error land in the Moose-Pen.
As I finally got the 'add_condition' to work I still needed to add in a few more tests for the other three 'dynamic' attributes, gather, link and sort.
Well I started with the easiest first 'sort' and on the 'undef' I am getting the now very familiar;
Attribute (name) is required at D:\GitHub\database-accessor\lib/Database/Accessor/Types.pm line 348
It did not take me very long to back track this one to the '_element_coerce' sub in my 'Types' class;
As this had the same sort of fall though 'if' case like '_predicate_array_or_object' I at first added my check for undef code in the final 'if' of that statement;
While writing plugins we can do something:
$app->plugin( Auth => {
user_check => sub{
my( $user ) = @_;
# authentication_code_here;
},
);
But I prefer to keep my sturtup sub clean. Thus I route to controller’s action:
$app->plugin( Auth => { auth_check => 'auth#check' } );
Doing so I need to check in my plugin passed value. Is it sub or shortcut auth#check
?
And to simplify checking I implement next route shourtcut
DBD::SQLite 1.59_03 (with SQLite 3.25.2) is a release candidate of the next stable DBD::SQLite. Notable new features by the upstream are PostgreSQL-style UPSERT (3.24.0), ALTER TABLE table RENAME COLUMN oldname TO newname (3.25.0), and window functions (3.25.0), among others.
It also contains a fix that changes how to store values in a PerlData virtual table. If you use PerlData virtual table, this may affect your applications.
I'll wait for about a month as always, and release 1.60 at the end of November if there's no blocker nor request to wait more. Thank you for patience.
Thanks to the hard work of Shadowcat Systems, the individual videos are now available:
cPanel Theatre
Zoopla Theatre
Pirum Theatre
It is another shame day here in the Moose-pen
I never like taking out code but that is the first thing I had to do today. So all the code changes from yesterday have been rolled back and I still have the same problem;
Attribute (predicates) does not pass the type constraint because: Validation failed for 'Predicate' with value undef (not isa Database::Accessor::Predicate) at D:\GitHub\database-accessor\lib/Database/Accessor/Types.pm line 349#
Namely an error message that tells me nothing of where my mistake;
$da->add_condition( undef);
happened.
I take a good number of 'warn' statements throughout my 'Types' class finally find a spot where I can intercept and create a better error message.
I eventually tracked it down to the '_predicate_array_or_object' sub in the 'Types' class;blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.