Logo ognion
Perl QA Hackathon 2014

March 13-16, 2014 in Lyon

Logo ognion
 

Perl QA Hackathon 2014

March 13-16, 2014
in Lyon, France

Logo PQAH  

March 13-16, 2014
in Lyon, France

Proposed Projects

Table of Contents

  • PAUSE
  • CPAN clients
  • Module metadata
  • Build & install systems
  • Module testing
  • Automated testing
  • Quality metrics and assessment
  • Benchmarking
  • Perl 5 Core
  • Perl 6 CPANish client and ecosystem

PAUSE

Implement Lancaster distribution name indexing rules

In Lancaster, we agreed that distribution uploads must match a module name within to be indexed (with a grandfather list). This work needs to be completed and tested

— by Ricardo Signes (‎rjbs‎), David Golden (‎xdg‎)

PAUSE ID registration and release

In Lancaster, we agreed to automate registration and release unused names after a period of time. These need to be implemented

— by ???

Automating CPAN directory cleanup

In Lancaster, we agreed to rules for automated directory cleanup. These need to be implemented

— by ???

No longer publishing the module list

In Lancaster, we agreed to publish an empty module list as a stepping stone to shutting down registration. This needs to be implemented. (Patches may exist and merely need to be applied.)

— by ???

Relationship between PAUSE permissions and indexing

Should PAUSE permissions and indexing be fully separate? For example, if the metadata for a dist specifies `no_index` on a module, should you still get permission for that module, thus preventing anyone else from uploading the same module name (with or without `no_index`)?

— by Neil Bowers (‎NEILB‎), Andreas König, David Golden (‎xdg‎)

Yearly email to PAUSE users

A periodic (probably yearly) email to PAUSE authors, to give them some kind of useful dashboard, and in the process check validity of their contact email address, recording this in the PAUSE db.

Discussed this briefly with ANDK at LPW 2013, hoping to hammer out a design and get at least a first cut working.

— by Neil Bowers (‎NEILB‎), Andreas König, Barbie

Use Module::Metadata for distribution analysis

If M::M can be fixed (see below), it could replace PAUSE's legacy analysis for greater consistency.

— by Karen Etheridge (‎Ether‎), David Golden (‎xdg‎)

Identifying distributions that need help and possibly adoption

Working out the best way to get this information into MetaCPAN, and possibly looking at other factors that should be included.

— by Neil Bowers (‎NEILB‎), Olaf Alders (‎oalders‎), Barbie

BackPAN index

We still don't have an open-source BackPAN index and having one would help install older versions of modules.

Also, an historicised version of the index is something that can be valuable for building a CPAN time machine.

— by ???

I'm interested in this, as I'm using one index for my CPAN::ReleaseHistory, but I have to transform it before caching, and there are additional features I'd like. For example I'd to think of it as an index of all CPAN historical releases, with a flag against each saying whether it's still on CPAN, or only on BackPAN.

-- by Neil Bowers (‎NEILB‎)

Other PAUSE issues

Check https://github.com/andk/pause/issues

— by ???

CPAN clients

Patch CPAN.pm to use CPAN::Common::Index

Using CPAN::Common::Index would reduce memory usage and allow fast online module lookups (like cpanminus). Also might need to upgrade URI::cpan to generate a direct path to a CPAN tarball.

— by David Golden (‎xdg‎)

Add backends to CPAN::Common::Index

CPAN::Common::Index has pluggable backends. Adding backends for other indexing web services would reduce dependence on Miyagawa's service.

— by ???

Refactoring code from all CPAN clients into CPAN::Common::*

They do similar things in slightly different ways, but their major difference ought to be UI/features. If they can use a single set of low-level libraries for "unpack, build, test, install", that would be quite useful for reduced maint and would allow future innovation in CPAN clients.

— by David Golden (‎xdg‎)

It should be possible to have hooks around those basic steps, so that it's possible to extend *all* clients in the same straightforward way. (Thinking about my attempts with Git::CPAN::Hook here.)

— by Philippe Bruhat (‎BooK‎)

Eliminate duplication/forking of interfaces with PAUSE

There's a number of distributions that download and/or parse PAUSE files,
including:
PAUSE::* (neilb), Acme::CPANAuthors::Utils::* (charsbar), Parse::CPAN::*.
It would be great to identify the superset of useful features and fold them
into a canonical implementation and turn the remainder into wrappers.

— by Karen Etheridge (‎Ether‎), David Golden (‎xdg‎), Kenichi Ishigaki (‎charsbar‎), Neil Bowers (‎NEILB‎)

Module metadata

Module::Metadata

M::M has a number of flaws and potential security holes. It needs fixing.

— by Karen Etheridge (‎Ether‎), David Golden (‎xdg‎)

Create one static VERSION finding module

Several tools scan .pm files for $VERSION assignments. We should get one good module to do that and then use it everywhere. Look at Module::Metadata, V, Parse::PMFile,
Module::Extract::VERSION,
Module::Info,
InstalledVersion">Module::InstalledVersion,
Module::Version (which uses ExtUtils::MakeMaker under the hood)
...

— by ???

CPAN::Meta::Merge

This is a smart merging engine for CPAN Meta fragments. This will require CPAN::Meta::Converter to be able to handle fragments first.
— by Leon Timmermans (‎leont‎), others?…

x_no_use and x_cpants META fields

See https://github.com/cpants/www-cpants/issues/39

— by Philippe Bruhat (‎BooK‎)

Harmonize meta validator and tester modules

Currently there are several modules/distributions that provide CPAN Meta
validation: CPAN::Meta::Validator (core), Test::CPAN::Meta(::(YAML|JSON))?
(barbie) that contain duplicated code. Identify where the code should live,
and have the remainder change to being wrappers. Fix common callers e.g.
Dist::Zilla. (see also
CPAN-Meta issue#44).
Also potentially: provide patches for outstanding tickets
(RT#87951,
[CPAN-Meta queue)

— by Karen Etheridge (‎Ether‎), Barbie

$VERSION handling

Identify undesirable behaviour of version.pm, cpan clients and PAUSE, such as
comparisons involving dev releases, updating meta spec as needed.

Build & install systems

Module::Build replacement

Write various components of a planned Module::Build replacement, including

  • Finish Build::Graph, a dependency engine that doesn't suck
  • Finish ExtUtils::Builder, a general purpose compiling/linking framework
  • Write a plugin architecture that doesn't suck, this will probably require some kind of IOC.

— by Leon Timmermans (‎leont‎)

Installed module database / Packlists replacement

Start writing that .packlist replacement we discussed in Lancaster.

On 21.02.2014 at 18:52 wrote Edgar Fuß <ef@math.uni-bonn.de>:

> If pkgsrc patches a Perl Module, the resulting .orig file ends up in the
> .packlist and, via PERL5_PACKLIST, in the PLIST, so is contained in the
> package.
> See devel/p5-Proc-Daemon for an example.

— by Leon Timmermans (‎leont‎), Jens Rehsack (‎Sno‎), others?…

Finish the Build.PL specification

The Build.PL specification is moving forwards very slowly, we should finish it for real.

"$ perl Build.PL" should create a Makefile by default. Discuss the pros and cons (puser:Tux)

— by David Golden (‎xdg‎), Leon Timmermans (‎leont‎)

Static cpan installation

Our current installation mechanism is very flexible (in a Turing complete way), but most of the time that isn't necessary. It could be useful if this dependency on shelling out to Makefile.PL/Build.PL could be eliminated where possible.
— by Leon Timmermans (‎leont‎), miyagawa?

Module testing (not automated testing )

More Test::Class::Moose improvements

Test::Class::Moose is becoming more popular and is being used in production environments. My aim is to improve the "out of the box" parallel testing behavior, clean up some interface issues and make it easier to migrate from a Test::Class setup by providing optional Test and Tests tags, just like we find in Test::Class. Those can be used for plan management.

I also want to introduce a Test::Class backwards-compatibility role to further smooth the transition.

— by Curtis Poe (‎Ovid‎)

Make prove treat optionally treat TODO like pass

The Test Summary Report can grow quite large and hode failures when there are a lot of TODO tests.

— by Curtis Poe (‎Ovid‎) and H.Merijn Brand (‎Tux‎)

DBI::Test

Continue extending the prototype to explore the issues and find practical solutions.

— by Tim Bunce, H.Merijn Brand (‎Tux‎), Jens Rehsack (‎Sno‎), others?…

Automated testing (not module testing )

CPAN Testers

Various projects including improving APIs, CT Admin site, CT Search, CT Statistics

— by Barbie

Automate Metabase deployment with configuration management

Doing this would allow easier testing of alternatives and upgrades without risking the current server

— by David Golden (‎xdg‎)

Smolder

A few months ago, I needed something to smoke & collect test results. I remembered Smolder, and discovered it had gone unmaintained. I merged most of the patches people had proposed on Git Hub and CPAN RT. The major work left to do is to merge with mcartmell's branch, who ported Smolder to PSGI & DBIx::Class. Then we can start adding new features, maybe including a job scheduler.
— by Sébastien Aperghis-Tramoni (‎Maddingue‎)

Maybe you could also adopt the Smolder distribution on CPAN. — Philippe Bruhat (‎BooK‎)

Tapper

Tapper is a full-coverage testing infrastructure, combining everything from machine scheduling to result database to data evaluation, built around TAP. It shares ideas with smolder. It is actively used and continued in AWS, however the approved opensource patches need to be polished and pushed to github - hopefully I get this done finally during the hackathon.

The current use-case is the resurrection of Perl benchmarking, see below; and I should discuss Tapper with the Smolder guys, see above.

— by Steffen Schwigon (‎renormalist‎)

Test::Smoke

Continue the work on Test::Smoke, the backends, the database and the web-UI

— by Abe Timmerman (‎abeltje‎), H.Merijn Brand (‎Tux‎), others?

Perl branch smoking improvements

https://github.com/tsee/cpan_perl_branch_smoke allows you to smoke multiple branches of Perl and compare results, but it could use some love. Some improvements:

  • Easier installation of prereqs
  • Easier setup of smoking config
  • Fix various bugs found while using
  • Documentation

— by Matthew Horsfall (‎alh‎)

CPAN Testers Analysis

Is it possible to extend the analysis to the diagnostics output by the test scripts? If that's too much data, maybe agree upon a specific format for the diagnostics, e.g. to provide extra information about the system, that is relevant for the distribution being tested.

— by ???

Quality metrics and assessment

CPANTS metrics

Add and improve some metrics, both for uploaded distributions, and for local projects that use
Test::Kwalitee,
Module::CPANTS::Analyse
and its friends.

— by Kenichi Ishigaki (‎charsbar‎), Karen Etheridge (‎Ether‎), Salve J. Nilsen (‎sjn‎), others?

Changes files: spec and parsing code

There are various aspects of the spec in CPAN::Changes::Spec and parsing in CPAN::Changes that people have expressed dissatisfaction with. Try and hammer out something that we can all live with.

— by Neil Bowers (‎NEILB‎), Olaf Alders (‎oalders‎), Graham Knop (haarg)?

Benchmarking

Perl::Formance resurrection

Once Tapper's new features are on github again (see Tapper above), I can resume the whole benchmarking thing.

This time with directly built-in benchmarking support in Tapper. Then I need to fix latest "built-from-git problems of the day"(tm) in Perl 5 world and I should also demonstrate the whole thing to Perl6 performance guys, if someone is interested.

— by Steffen Schwigon (‎renormalist‎)

Better benchmarking with statistics

I want to bring confidence intervals formally to benchmarking. I have some ideas and may want to discuss them or prototype an API.

— by David Golden (‎xdg‎)

Gamification of CPAN

The general question is "how can we improve the quality and usefulness of CPAN modules and the CPAN user experience, through gamification?". Example of existing games:

  • CPANTS
  • CPAN once-a-week
  • New Monthly Distribution Challenge
  • New Kwalitee indicators
    • Community support
    • Interaction metrics (uses vs. used by, stable vs. updated, many bugs vs. few, etc.)
  • Metrics visibility on MetaCPAN

Several of the dashboards created by Neil Bowers (‎NEILB‎) have potential for contests and gaming, and Neil has other interesting ideas (community engagement scores, etc), so maybe the time has come for play.cpan.org.

— by Philippe Bruhat (‎BooK‎), Neil Bowers (‎NEILB‎), Salve J. Nilsen (‎sjn‎)

Perl 5 Core

SV type preservation

Following a discussion that occurred on p5p, I think I have a way to implement a mechanism which, although it would not be as initially described, should still be extremely helpful for serializers. I'm not very familiar with p5 internals, but it can be an occasion for me to discover more. If someone is interested and want to steal the idea, I can describe it in more details on another page :)
— by Sébastien Aperghis-Tramoni (‎Maddingue‎)

Document 'require' semantics

Implement coderef/arrayref/object in @INC support for Acme::require::case and use its code (less case-sensitivity bits) as the basis of revising 'perlfunc'

— by David Golden (‎xdg‎)

rpeep

  • Test coverage
    • Separate out tests for rpeep from B/t/optree_samples and B/t/optree_specials into a new file
    • Ensure all rpeep optimisations are covered (at least at a high level)
  • Separate out optimisations from fixups. This is working towards the perltodo goal of:
optional optimizer
Make the peephole optimizer optional. Currently it performs two tasks
as it walks the optree - genuine peephole optimisations, and necessary
fixups of ops. It would be good to find an efficient way to switch out
the optimisations whilst keeping the fixups.

— by Matthew Horsfall (‎alh‎)

Deparse tests

There used to be a test.deparse makefile target. I've attempted to bring this back inside of t/TEST, but what would be better is an actual .t test that contains all of the logic (since it really doesn't belong in t/TEST). Figure out some way to do this sanely so that it can start being smoked. This will allow us to prevent deparse from getting worse, and we can slowly start trying to make it better.

— by Matthew Horsfall (‎alh‎)

Valgrind tests

The valgrind test target runs in serial and can take a VERY LONG TIME to run. I've got a patch that makes it run in parallel, howeover the output is all jumbled together and its very hard to tell which output goes with which test. I'd like to do something brilliant here and make this work sensibly.

— by Matthew Horsfall (‎alh‎)

Module::CoreList

Implement an `is_dual($module, $perl_version )` interface. Most likely
depends on getting everything properly homed into ext/, dist/, or cpan/ (see
perl RT#120080).

— by Karen Etheridge (‎Ether‎)

$! / POSIX::strerror() and Unicode

$! doesn't work well when the locale for LC_MESSAGES is non-ASCII. Check this page for details and test cases. Olivier Mengué (‎dolmen‎) wants to work on this issue as an entry point to plunging into Perl 5 core hacking, and would welcome mentoring.

— by Olivier Mengué (‎dolmen‎) and mentors ???

Perl 6 CPANish client and ecosystem

Steal^WGet ideas from Perl 5 that are known to work, in order to make the Perl 6 package installation rock solid.
The way of installating a distribution is meant to put it into a repository rather than storing it flat on disk. There is a prototype for such a repository and its handling, but it needs strengthening befor it will be the standard.

— by Tobias Leich (‎froggs‎), Salve J. Nilsen (‎sjn‎)?

Team entry for the 7-day roguelike competition?

Read more here


Last modified: 09/03/14 21:43 by Neil Bowers (‎NEILB‎)

Tags: agenda plan projects tasks work

Home | Edit this page | Tags | Recent changes | History

Proposed Projects

Table of Contents

  • PAUSE
  • CPAN clients
  • Module metadata
  • Build & install systems
  • Module testing
  • Automated testing
  • Quality metrics and assessment
  • Benchmarking
  • Perl 5 Core
  • Perl 6 CPANish client and ecosystem

PAUSE

Implement Lancaster distribution name indexing rules

In Lancaster, we agreed that distribution uploads must match a module name within to be indexed (with a grandfather list). This work needs to be completed and tested

— by Ricardo Signes (‎rjbs‎), David Golden (‎xdg‎)

PAUSE ID registration and release

In Lancaster, we agreed to automate registration and release unused names after a period of time. These need to be implemented

— by ???

Automating CPAN directory cleanup

In Lancaster, we agreed to rules for automated directory cleanup. These need to be implemented

— by ???

No longer publishing the module list

In Lancaster, we agreed to publish an empty module list as a stepping stone to shutting down registration. This needs to be implemented. (Patches may exist and merely need to be applied.)

— by ???

Relationship between PAUSE permissions and indexing

Should PAUSE permissions and indexing be fully separate? For example, if the metadata for a dist specifies `no_index` on a module, should you still get permission for that module, thus preventing anyone else from uploading the same module name (with or without `no_index`)?

— by Neil Bowers (‎NEILB‎), Andreas König, David Golden (‎xdg‎)

Yearly email to PAUSE users

A periodic (probably yearly) email to PAUSE authors, to give them some kind of useful dashboard, and in the process check validity of their contact email address, recording this in the PAUSE db.

Discussed this briefly with ANDK at LPW 2013, hoping to hammer out a design and get at least a first cut working.

— by Neil Bowers (‎NEILB‎), Andreas König, Barbie

Use Module::Metadata for distribution analysis

If M::M can be fixed (see below), it could replace PAUSE's legacy analysis for greater consistency.

— by Karen Etheridge (‎Ether‎), David Golden (‎xdg‎)

Identifying distributions that need help and possibly adoption

Working out the best way to get this information into MetaCPAN, and possibly looking at other factors that should be included.

— by Neil Bowers (‎NEILB‎), Olaf Alders (‎oalders‎), Barbie

BackPAN index

We still don't have an open-source BackPAN index and having one would help install older versions of modules.

Also, an historicised version of the index is something that can be valuable for building a CPAN time machine.

— by ???

I'm interested in this, as I'm using one index for my CPAN::ReleaseHistory, but I have to transform it before caching, and there are additional features I'd like. For example I'd to think of it as an index of all CPAN historical releases, with a flag against each saying whether it's still on CPAN, or only on BackPAN.

-- by Neil Bowers (‎NEILB‎)

Other PAUSE issues

Check https://github.com/andk/pause/issues

— by ???

CPAN clients

Patch CPAN.pm to use CPAN::Common::Index

Using CPAN::Common::Index would reduce memory usage and allow fast online module lookups (like cpanminus). Also might need to upgrade URI::cpan to generate a direct path to a CPAN tarball.

— by David Golden (‎xdg‎)

Add backends to CPAN::Common::Index

CPAN::Common::Index has pluggable backends. Adding backends for other indexing web services would reduce dependence on Miyagawa's service.

— by ???

Refactoring code from all CPAN clients into CPAN::Common::*

They do similar things in slightly different ways, but their major difference ought to be UI/features. If they can use a single set of low-level libraries for "unpack, build, test, install", that would be quite useful for reduced maint and would allow future innovation in CPAN clients.

— by David Golden (‎xdg‎)

It should be possible to have hooks around those basic steps, so that it's possible to extend *all* clients in the same straightforward way. (Thinking about my attempts with Git::CPAN::Hook here.)

— by Philippe Bruhat (‎BooK‎)

Eliminate duplication/forking of interfaces with PAUSE

There's a number of distributions that download and/or parse PAUSE files,
including:
PAUSE::* (neilb), Acme::CPANAuthors::Utils::* (charsbar), Parse::CPAN::*.
It would be great to identify the superset of useful features and fold them
into a canonical implementation and turn the remainder into wrappers.

— by Karen Etheridge (‎Ether‎), David Golden (‎xdg‎), Kenichi Ishigaki (‎charsbar‎), Neil Bowers (‎NEILB‎)

Module metadata

Module::Metadata

M::M has a number of flaws and potential security holes. It needs fixing.

— by Karen Etheridge (‎Ether‎), David Golden (‎xdg‎)

Create one static VERSION finding module

Several tools scan .pm files for $VERSION assignments. We should get one good module to do that and then use it everywhere. Look at Module::Metadata, V, Parse::PMFile,
Module::Extract::VERSION,
Module::Info,
InstalledVersion">Module::InstalledVersion,
Module::Version (which uses ExtUtils::MakeMaker under the hood)
...

— by ???

CPAN::Meta::Merge

This is a smart merging engine for CPAN Meta fragments. This will require CPAN::Meta::Converter to be able to handle fragments first.
— by Leon Timmermans (‎leont‎), others?…

x_no_use and x_cpants META fields

See https://github.com/cpants/www-cpants/issues/39

— by Philippe Bruhat (‎BooK‎)

Harmonize meta validator and tester modules

Currently there are several modules/distributions that provide CPAN Meta
validation: CPAN::Meta::Validator (core), Test::CPAN::Meta(::(YAML|JSON))?
(barbie) that contain duplicated code. Identify where the code should live,
and have the remainder change to being wrappers. Fix common callers e.g.
Dist::Zilla. (see also
CPAN-Meta issue#44).
Also potentially: provide patches for outstanding tickets
(RT#87951,
[CPAN-Meta queue)

— by Karen Etheridge (‎Ether‎), Barbie

$VERSION handling

Identify undesirable behaviour of version.pm, cpan clients and PAUSE, such as
comparisons involving dev releases, updating meta spec as needed.

Build & install systems

Module::Build replacement

Write various components of a planned Module::Build replacement, including

  • Finish Build::Graph, a dependency engine that doesn't suck
  • Finish ExtUtils::Builder, a general purpose compiling/linking framework
  • Write a plugin architecture that doesn't suck, this will probably require some kind of IOC.

— by Leon Timmermans (‎leont‎)

Installed module database / Packlists replacement

Start writing that .packlist replacement we discussed in Lancaster.

On 21.02.2014 at 18:52 wrote Edgar Fuß <ef@math.uni-bonn.de>:

> If pkgsrc patches a Perl Module, the resulting .orig file ends up in the
> .packlist and, via PERL5_PACKLIST, in the PLIST, so is contained in the
> package.
> See devel/p5-Proc-Daemon for an example.

— by Leon Timmermans (‎leont‎), Jens Rehsack (‎Sno‎), others?…

Finish the Build.PL specification

The Build.PL specification is moving forwards very slowly, we should finish it for real.

"$ perl Build.PL" should create a Makefile by default. Discuss the pros and cons (puser:Tux)

— by David Golden (‎xdg‎), Leon Timmermans (‎leont‎)

Static cpan installation

Our current installation mechanism is very flexible (in a Turing complete way), but most of the time that isn't necessary. It could be useful if this dependency on shelling out to Makefile.PL/Build.PL could be eliminated where possible.
— by Leon Timmermans (‎leont‎), miyagawa?

Module testing (not automated testing )

More Test::Class::Moose improvements

Test::Class::Moose is becoming more popular and is being used in production environments. My aim is to improve the "out of the box" parallel testing behavior, clean up some interface issues and make it easier to migrate from a Test::Class setup by providing optional Test and Tests tags, just like we find in Test::Class. Those can be used for plan management.

I also want to introduce a Test::Class backwards-compatibility role to further smooth the transition.

— by Curtis Poe (‎Ovid‎)

Make prove treat optionally treat TODO like pass

The Test Summary Report can grow quite large and hode failures when there are a lot of TODO tests.

— by Curtis Poe (‎Ovid‎) and H.Merijn Brand (‎Tux‎)

DBI::Test

Continue extending the prototype to explore the issues and find practical solutions.

— by Tim Bunce, H.Merijn Brand (‎Tux‎), Jens Rehsack (‎Sno‎), others?…

Automated testing (not module testing )

CPAN Testers

Various projects including improving APIs, CT Admin site, CT Search, CT Statistics

— by Barbie

Automate Metabase deployment with configuration management

Doing this would allow easier testing of alternatives and upgrades without risking the current server

— by David Golden (‎xdg‎)

Smolder

A few months ago, I needed something to smoke & collect test results. I remembered Smolder, and discovered it had gone unmaintained. I merged most of the patches people had proposed on Git Hub and CPAN RT. The major work left to do is to merge with mcartmell's branch, who ported Smolder to PSGI & DBIx::Class. Then we can start adding new features, maybe including a job scheduler.
— by Sébastien Aperghis-Tramoni (‎Maddingue‎)

Maybe you could also adopt the Smolder distribution on CPAN. — Philippe Bruhat (‎BooK‎)

Tapper

Tapper is a full-coverage testing infrastructure, combining everything from machine scheduling to result database to data evaluation, built around TAP. It shares ideas with smolder. It is actively used and continued in AWS, however the approved opensource patches need to be polished and pushed to github - hopefully I get this done finally during the hackathon.

The current use-case is the resurrection of Perl benchmarking, see below; and I should discuss Tapper with the Smolder guys, see above.

— by Steffen Schwigon (‎renormalist‎)

Test::Smoke

Continue the work on Test::Smoke, the backends, the database and the web-UI

— by Abe Timmerman (‎abeltje‎), H.Merijn Brand (‎Tux‎), others?

Perl branch smoking improvements

https://github.com/tsee/cpan_perl_branch_smoke allows you to smoke multiple branches of Perl and compare results, but it could use some love. Some improvements:

  • Easier installation of prereqs
  • Easier setup of smoking config
  • Fix various bugs found while using
  • Documentation

— by Matthew Horsfall (‎alh‎)

CPAN Testers Analysis

Is it possible to extend the analysis to the diagnostics output by the test scripts? If that's too much data, maybe agree upon a specific format for the diagnostics, e.g. to provide extra information about the system, that is relevant for the distribution being tested.

— by ???

Quality metrics and assessment

CPANTS metrics

Add and improve some metrics, both for uploaded distributions, and for local projects that use
Test::Kwalitee,
Module::CPANTS::Analyse
and its friends.

— by Kenichi Ishigaki (‎charsbar‎), Karen Etheridge (‎Ether‎), Salve J. Nilsen (‎sjn‎), others?

Changes files: spec and parsing code

There are various aspects of the spec in CPAN::Changes::Spec and parsing in CPAN::Changes that people have expressed dissatisfaction with. Try and hammer out something that we can all live with.

— by Neil Bowers (‎NEILB‎), Olaf Alders (‎oalders‎), Graham Knop (haarg)?

Benchmarking

Perl::Formance resurrection

Once Tapper's new features are on github again (see Tapper above), I can resume the whole benchmarking thing.

This time with directly built-in benchmarking support in Tapper. Then I need to fix latest "built-from-git problems of the day"(tm) in Perl 5 world and I should also demonstrate the whole thing to Perl6 performance guys, if someone is interested.

— by Steffen Schwigon (‎renormalist‎)

Better benchmarking with statistics

I want to bring confidence intervals formally to benchmarking. I have some ideas and may want to discuss them or prototype an API.

— by David Golden (‎xdg‎)

Gamification of CPAN

The general question is "how can we improve the quality and usefulness of CPAN modules and the CPAN user experience, through gamification?". Example of existing games:

  • CPANTS
  • CPAN once-a-week
  • New Monthly Distribution Challenge
  • New Kwalitee indicators
    • Community support
    • Interaction metrics (uses vs. used by, stable vs. updated, many bugs vs. few, etc.)
  • Metrics visibility on MetaCPAN

Several of the dashboards created by Neil Bowers (‎NEILB‎) have potential for contests and gaming, and Neil has other interesting ideas (community engagement scores, etc), so maybe the time has come for play.cpan.org.

— by Philippe Bruhat (‎BooK‎), Neil Bowers (‎NEILB‎), Salve J. Nilsen (‎sjn‎)

Perl 5 Core

SV type preservation

Following a discussion that occurred on p5p, I think I have a way to implement a mechanism which, although it would not be as initially described, should still be extremely helpful for serializers. I'm not very familiar with p5 internals, but it can be an occasion for me to discover more. If someone is interested and want to steal the idea, I can describe it in more details on another page :)
— by Sébastien Aperghis-Tramoni (‎Maddingue‎)

Document 'require' semantics

Implement coderef/arrayref/object in @INC support for Acme::require::case and use its code (less case-sensitivity bits) as the basis of revising 'perlfunc'

— by David Golden (‎xdg‎)

rpeep

  • Test coverage
    • Separate out tests for rpeep from B/t/optree_samples and B/t/optree_specials into a new file
    • Ensure all rpeep optimisations are covered (at least at a high level)
  • Separate out optimisations from fixups. This is working towards the perltodo goal of:
optional optimizer
Make the peephole optimizer optional. Currently it performs two tasks
as it walks the optree - genuine peephole optimisations, and necessary
fixups of ops. It would be good to find an efficient way to switch out
the optimisations whilst keeping the fixups.

— by Matthew Horsfall (‎alh‎)

Deparse tests

There used to be a test.deparse makefile target. I've attempted to bring this back inside of t/TEST, but what would be better is an actual .t test that contains all of the logic (since it really doesn't belong in t/TEST). Figure out some way to do this sanely so that it can start being smoked. This will allow us to prevent deparse from getting worse, and we can slowly start trying to make it better.

— by Matthew Horsfall (‎alh‎)

Valgrind tests

The valgrind test target runs in serial and can take a VERY LONG TIME to run. I've got a patch that makes it run in parallel, howeover the output is all jumbled together and its very hard to tell which output goes with which test. I'd like to do something brilliant here and make this work sensibly.

— by Matthew Horsfall (‎alh‎)

Module::CoreList

Implement an `is_dual($module, $perl_version )` interface. Most likely
depends on getting everything properly homed into ext/, dist/, or cpan/ (see
perl RT#120080).

— by Karen Etheridge (‎Ether‎)

$! / POSIX::strerror() and Unicode

$! doesn't work well when the locale for LC_MESSAGES is non-ASCII. Check this page for details and test cases. Olivier Mengué (‎dolmen‎) wants to work on this issue as an entry point to plunging into Perl 5 core hacking, and would welcome mentoring.

— by Olivier Mengué (‎dolmen‎) and mentors ???

Perl 6 CPANish client and ecosystem

Steal^WGet ideas from Perl 5 that are known to work, in order to make the Perl 6 package installation rock solid.
The way of installating a distribution is meant to put it into a repository rather than storing it flat on disk. There is a prototype for such a repository and its handling, but it needs strengthening befor it will be the standard.

— by Tobias Leich (‎froggs‎), Salve J. Nilsen (‎sjn‎)?

Team entry for the 7-day roguelike competition?

Read more here


Last modified: 09/03/14 21:43 by Neil Bowers (‎NEILB‎)

Tags: agenda plan projects tasks work

Home | Edit this page | Tags | Recent changes | History