Today I was working on new test, '
15_alias.t
' which I will use to test the various alias attributes found on 'tables' and 'fields' in SQL queries. To start I just have the very simple has with the 'update_requires_condition' and 'delete_requires_condition' flags set to 0 so I can work without a 'where/conditions' clause.
This is a short announcement about the availability of amusewiki version 2.022. Since the previous announcement on blogs.perl.org, amusewiki has seen a bunch of bug fixes and improvements, both in the backend and in the UI.
Notably, the fetching of remote git archives has been made asynchronous, so it will not block other jobs when fetching large amounts of updates.
Now it's possible to define custom formats for PDF and EPUB.
As always, unofficial debian packages are available at the same time a new release is rolled out and it's still the preferred and recommended way to install amusewiki. See http://packages.amusewiki.org/
If you want to try out amusewiki without installing anything, you're welcome to try out the sandbox at http://sandbox.amusewiki.org
As I mentioned in my previous post, I'll be giving a free public lecture this week in Olso. It will be my "400 Years of Perl 6" talk, and will be held at Kulturhuset, Youngs gate 6, Oslo at 6pm on Wednesday 24 May.
Well just another post-ette day here in the Moose-pen
Just another quick post-ette today as I want to quickly add in a feature to the results class that will help end uses with de-bugging.
Presently the results class look like thin when it is dumped
$VAR1 = bless( {
'is_error' => 0,
'DAD' => 'Database::Accessor::Driver::DBI',
'query' => 'UPDATE people SET people.first_name = ?, people.last_name = ? WHERE ( people.first_name = ? AND people.last_name = ? )',
'operation' => 'UPDATE'
}, 'Database::Accessor::Result' );
useful info but it would also be nice to see what params are being used and if they are in the correct order; So a quick attribute add into the Database::Accessor::Result class;
For the second year, I have had the great privilege of attending the Perl Toolchain Summit (PTS, formerly called the QA Hackathon QAH).
This year it was held in Lyon, France, and three cheers for the organizers; it was an amazing event!
Last year I unexpectedly became involved in the Meta::CPAN project, even to the point of hosting the first (annual?) Meta::Hack a few months ago.
This year, I continued to work with them, however, the need was greater in the CPAN Testers realm and so there I went.
Perl Toolchain Summit Lyon, France, May 11-14 2017
This year I was invited to the Perl Toolchain
Summit in Lyon, formerly known as the Perl
QA Hackathon. I had organized this event two years ago in Berlin.
Having been "only" an organizer before, this time I could actually code. It was
a pleasure to work with over 35
people doing a lot of
work for the Perl 5 and 6
infrastructure and related topics.
One of them was Ingy döt Net, who I enjoy working with on
Perl and other Open Source projects regularly remotely. Since we both love the
commandline, I could learn a lot from Ingy over the last two years.
I've just returned from a 2 week (and 2 Summit!) trip to Europe, specifically
Berlin and Lyon. A couple months ago I was invited to attend the Perl
Toolchain Summit
2017
in Lyon. Whenever I go to the EU I like to drop by Berlin to visit some
friends.
One of my friends is Tina Müller, who works
with me throughout the year on various open source things. We met 2 years ago
at the Perl toolchain event in Berlin, that Tina helped organize. For the past
4 moths we've been concentrating on all of YAML as a lanuguage.
A multi-language YAML Editor for
seeing how a given YAML text works in several language implementations at
once
The YAML Testing Matrix website for seeing how all
the YAMLs work at a glance
I decided that we should have the first ever YAML
Summit in Berlin along with
our fabulous collaborator (and NimYAML
author) from Stuttgart, Felix Krause.
Well test expand posette day here in the Moose-pen.
Not that have the first test in 20_where_basic.t working I figured I might as well expand on that tests and ensure the other SQL clauses are coming out in the format I like. So I added the following in;
This was my 5th year of being invited to participate in the Perl Tool Chain Summit (formerly Perl QA Hackathon). It was a real pleasure to be invited to a rebranded version of the same helpful event.
For the second year in a row, MetaCPAN was well represented at the event. This is important because it really does allow us to get much more work done. Getting everyone in the same room allows us to make decisions quickly and often deploy new ideas on the same day they've been discussed. Just like last year, we got a lot accomplished this year. I'm only going to touch on the work which I was directly involved with.
I had the honour of being invited to the Perl Toolchain Summit 2017, held in Lyon. It was amazing to meet so many of my Perl heroes, and to work with them on Perl toolchain code for a concentrated few days.
The atmosphere, food, and company were all superb, and the opportunity to brainstorm, collaborate, and agree on things to work on in the future unmissable.
This year I had one goal for CPAN Testers: Replace the current Metabase API with a new API that did not write to Amazon SimpleDB. The current high-availability database that raw incoming test reports are written is Amazon SimpleDB behind an API called Metabase. Metabase is a highly-flexible data storage API designed to work with massive, unstructured data sets and still allow for sane organization and storage of data. Unfortunately, Amazon SimpleDB is as it says on the tin: Simple. Worse, it's expensive: Like most Amazon services, it charges for usage, so there's a huge incentive for CPAN Testers to use it as little as possible (which made some of the code quite obtuse).
Yesterday I had quite the success in taking a little more of the logic out of the DAD side side of things now the DAD writes not longer have to check to see if a predicate in a condition or filter has miss-matched parentheses or is missing at least the the default 'and' condition.
Before I move on I want to squish this little warning
Use of uninitialized value in join or string at...
which is really just sloppy programming on my part as this
This was the second year I got invited to Perl Toolchain Summit 2017 (PTS) - I think I got even more done than last year.
Having so many people all working on similar projects really does lead to an exponential amount of productivity, both across projects and between Perl 5 and Perl 6.
I could write essays on what I was involved in, but a brief summary:
Thursday
Launched new design for perl.org (babs did all the work)
Discussed and setup env for grep.metacpan.org with toddr and atoomic
Got Pete to start updating metacpan's vm
Helped Haarg test and deploy a shim so `cpanminus` clients now use the v1 metacpan api (even though they hit the old v0 API), done using Fastly user agent detection and a new site just for this back compat that haarg has written.
I will be back in Oslo next week, and we still have a few spaces available in the public class I'm teaching there next Tuesday. They'll be taking enrolments right up until 12 noon on Monday, so if you're in the area, there's still time to sign up and discover all the amazing new features and the many significant improvements that have been added to Perl in the past few years.
We'll also be organizing a public talk one evening, which I'll post about separately once the details are settled. Or you can keep an eye on Oslo.pm's Meetup page.
I didn't get as much done on the final day of the Perl Toolchain Summit because
I needed to get home for work on Monday. But I did manage to enlist others in
helping me, which is even better.
Devel::Cover has always had a problem in that top level statements (those not
in a sub) in modules cannot be covered. This is because perl throws away the
optree as soon as it has executed. My knowledge of the internals has never
been good enough to even work out a sensible plan for how to solve this, but
fortunately Aaron Crane is a good deal cleverer than me and thinks he might be
able to develop a solution. It may need perl to have extra hooks, or it might
involve deep magic, or both, but at least the end of the tunnel is not pitch
black any more. Thanks Aaron!
With all my test passing since yesterday's post I think it is time I spend a little time re factoring before I move onto other things. Now as I said many times before I would like to have whatever is going to the DAD, Driver::DBI in this case, to be as free of logic errors as possible.
In this vain I noticed that when dealing with a where clause and predicates in general there are a two rules that should be enforced before any conditions or filters are passed into a DAD, First any parentheses that is opened must be closed and second two or more predicates must be joined by a condition.
My co-worker Nicholas and I were honored to be invited to attend the Perl Toolchain Summit in Lyon, France last week. It was a great experience for both of us.
Earlier this year, I needed to answer some questions being put to me by the toolchain gang about the scope of the problem of build/test/install without . in @INC. However, grep.cpan.me was down that day. Additionally I needed to be able to execute Makefile.PL on each distro and see what happened. I tried to do some simple walking using CPAN::Mini when I was done, I played around with putting the data in git so I could use tools like git grep. On a whim I uploaded it to github but found 2 problems: 1. You're not allowed to have files over 50MB. 2. github won't search repos with over a certain number of files. I worked around the problem and uploaded the repo.
Participar en el evento es gratis y obsequiaremos a los asistentes con una camiseta, comida y café por cortesía de nuestros patrocinadores.
Os animamos a todos a venir.
Cerraremos inscripciones el viernes 19 a las 15:00.
Podríamos aceptar inscripciones de última hora, pero no garantizamos que queden camisetas para los últimos.
Podéis seguir las noticias sobre el evento en @PerlMadrid