Proposed Projects
Table of Contents
- CPAN Governance
- PAUSE
- CPAN clients
- Module metadata
- Build & install systems
- Module testing
- Automated testing
- Quality metrics and assessment
- Benchmarking
- Documentation
- Perl 5 Core
- Perl 6 CPANish client and ecosystem
- YAML Ecosystem
- Code Coverage
- Spectest coverage for "Perl 6.0.0"
- General support, food, drinks, notes-taking
CPAN Governance
- Discuss and hopefully form a body with a mandate to act as a last-ditch-effort protecting the fragile CPAN ecosystem from PAUSE authors. Currently there isn't an actual hard proposal. At this point all that is being gauged is interest in the broadest sense possible.
— by ribasushi +1, user:garu, Karen Etheridge (Ether), Neil Bowers (NEILB), Aristotle, Olivier Mengué (dolmen), Leon Timmermans (leont), Jens Rehsack (Sno), H.Merijn Brand (Tux), others???
PAUSE
Improve Web UI
- Port mod_perl1 interface to PSGI
- Make it easier to change permissions for those who maintain a lot of modules.
— by Kenichi Ishigaki (charsbar), Aristotle, (Tatsuhiko Miyagawa (miyagawa) is happy to help on PSGI related) others?
Other PAUSE issues
Check https://github.com/andk/pause/issues
- Finally kill off the remnants of the module list (website pages, underlying code, supporting tables)
— by ???, Aristotle, ???
CPAN clients
Improve CPAN::Testers::Common::Client (hopefully fixing most/all reports) and make CPAN::Reporter and cpanminus-reporter use it more thoroughly.
— by user:garu
Work on an extremely light, dependency-free script to send (or at least gather) reports on smoker boxes that can't have Metabase and Test::* pre-installed.
— by user:garu, H.Merijn Brand (Tux)!
cpanm
Big improvement/rewrites to make cpanm a regular CPAN module (and extract useful bits as standalone modules as well). This will also include hooks and plugins, although that might be a bit too ambitious for even a 4-day project.
Support for distroprefs.
- Tatsuhiko Miyagawa (miyagawa)
Carton/Carmel
Work on https://github.com/miyagawa/Carmel and release 1.0, to make it a successor of Carton (or call it Carton 2.0, if the transition is transparent enough). Also need to close a bunch of outstanding issues on Carton, some of which would be problematic in Carmel as well.
- Tatsuhiko Miyagawa (miyagawa)
Module metadata
Build & install systems
Module::Build replacement
Finish various components of a planned Module::Build replacement, including
- Finish Build::Graph, a dependency engine that doesn't suck
- Write a plugin architecture that doesn't suck, this will probably require some kind of IOC.
— by Leon Timmermans (leont), Aristotle
Module::Install
- Fix META generation: make v2 META (to have properly split build/test requires)
- Inject Module::Install and plugins as develop/requires prereqs
— by Olivier Mengué (dolmen)
Compilation and Linking tools
Portable yet flexible (cross) compilation/linking tools are most welcome.
— by: Leon Timmermans (leont), H.Merijn Brand (Tux), Jens Rehsack (Sno)
Installed module database / Packlists replacement
Start writing that .packlist replacement we discussed in Lancaster.
— by Leon Timmermans (leont), Jens Rehsack (Sno), Aristotle, Tatsuhiko Miyagawa (miyagawa) others?…
MakeMaker::Extension
Start writing an easy to use EUMM extension framework and some early adopter plugins as
* make test-cover
* install config files to etc, smooth File::ShareDir::Install successor
— by: Jens Rehsack (Sno), others?
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
PPM::Make
PPM::Make could use other toolchain modules/services to gather package information.
— by Kenichi Ishigaki (charsbar)
Module::Metadata
pare down https://github.com/Perl-Toolchain-Gang/Module-Metadata/issues/, especially in-progress features and bug fixes:
- evaluate module version in safe compartment
- interfaces to parse module by module name, filename, filehandle, which will properly allow us to understand utf8-encoded modules
- close the behaviour gap with MM->parse_version and PAUSE, allowing MMD to be dropped into PAUSE seamlessly
— by Karen Etheridge (Ether)
File::ShareDir and File::ConfigDir
* discuss with interested people how File::ShareDir and File::ConfigDir will fit into modern OS file system layout and how to deal with Filesystem Hierarchical Standard, the typical bin/, etc/, lib/, libexec/, man/, share/, sbin/, var/ ... layout for dedicated installations etc.
— by Jens Rehsack (Sno)
Module testing (not automated testing)
Update Modules for Test-Stream
Find popular/common test modules on cpan (Test::Fatal, Test::exception, etc) that do not utilize Test::Stream. Update them to take advantage of Test::Stream enhancements when possible. In most cases this means working fine on old versions of Test-Simple while using new features when they are present already. For some modules the author and users may be fine with bumping the minimum Test-Simple version, but that will not be assumed.
This project should generate a lot of pull requests, and will also require a lot of communication with authors of the modules we update. With any luck most authors will be present!
-- by Chad Granum (Exodist)
Automated testing (not module testing)
Travis CI
Travis CI GmbH has their HQ in Berlin (Rigaer Straße 8) and I have a few friends working there (although most of them are remote). If someone wants to work on better build environments for perl on Travis CI, I'd be happy to connect with them. -- Tatsuhiko Miyagawa (miyagawa)
Question by H.Merijn Brand (Tux): native perl6 support?
Benchmarking
Based on earlier work (and a new release of Tapper) I plan to resurrect my Perl::Formance project about measuring Perl 5 performance.
In addition, I would like to incorporate benchmarking from other sources into Tapper, maybe from Perl6, Parrot releases, or CPAN module tests. In contrast to earlier years, this year I want to have my Tapper release work finished before arriving, so that I have time to talk to others about how to cooperate with existing projects.
If you are interested in any kind of performance evaluation related work, please talk to me at the hackathon.
— by Steffen Schwigon (renormalist)
CPAN Testers
- Add MessageQueue to reports feed
- Add MessageQueue to page builder
- Fix Admin process for alerting tester to accept marked reports
- Add Admin process to re-attribute a report to a different distro
— by Barbie.
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), H.Merijn Brand (Tux) others?
CPANTS Web
- Make it analyze more frequently so that people can check the analysis just after they upload.
— by Kenichi Ishigaki (charsbar)
Dashboard / Adoption / PRC
I have three different systems in various stages of production, all based off data assembled from various places. I'm working on a unified design for a public & open system which covers all 3. Would like to talk to CPANTS, CPAN Testers, MetaCPAN etc on interface model.
CPAN dependency graph in Neo4j
Experiment with building a graph database of CPAN dependency
information. Initially looking at distributions, but then possibly
looking at modules too.
P5 TAP::Harness parallel testing on Win32
I made a <strike>crude prototype of parallel testing on Win32 https://rt.perl.org/Public/Bug/Display.html?id=120330</strike> good prototype https://github.com/bulk88/Win32-APipe but TAP::Harness, which is extensively OO designed, but it needs serious work to fit a different, non-select() based event loop into it. I can do the Win32 side of things, but I looking for someone who is willing to call themselves the "architect" of TAP::Harness to help me.
— by bulk 88
Test::Harness is very inefficient
After profiling TAP::Harness with NYTProf, it is a very inefficient testing harness. Try running a "make test" on https://metacpan.org/pod/Acme::Shining (this module is a load tester of TAP), you might want to edit the Makefile.PL to say "TEST_VERBOSE=0" since it is "TEST_VERBOSE=1" by default. Compare with top or your favorite task manager the CPU usage of the 2 perl processes, 00-run.t is 5% or less the cpu usage of of the test harness perl process. I did a NYTProf run of Test::Harness. There is alot of optimize to do, or possibly a total rewrite Test::Harness into a "lite" version without the bloat. Next paragraph is how to get a copy of the NYTProf results I ran.
Goto nytprof-1-mil-tests.7z.ascii85 click on "Edit this page", copy paste the text to a file called nytprof-1-mil-tests.7z.ascii85, then run "perl -MConvert::Ascii85 -E" $/ = undef; binmode(STDIN); binmode(STDOUT); print Convert::Ascii85::decode(<STDIN>);" < nytprof-1-mil-tests.7z.ascii85 > nytprof-1-mil-tests.7z", then extract the .7z file.
— by bulk 88
Documentation
CPAN culture
Pull together some kind of statement of CPAN culture, with the values and principles that we choose to live by.
Being a good CPAN author
It's clear from my mailbox at the moment that we don't have very good documentation on the toolchain / CPAN development process for new authors. I'd like to sketch out a guide that takes someone from complete n00b to reliable CPAN contributor. I'll start this before the QAH, but the QAH is a great opportunity to get guidance & input.
revise perlguts
perlguts is seen by some community members as impossible to understand. Most of it was written between 1997 and 2000. After 2000, it has only received narrow scoped quick fly-by patches. Senior XS/C developers dont use perlguts, since they already know how to do things from experience. Amateurs say it is too difficult to understand and use Inline::C or FFI solutions or not Perl. XS tutorial talks often pop-up at YAPCs because of this. A meeting of some senior XS/C devs to write answers and some amateurs to provide questions and criticism about the layout of the document I think would be useful.
— by bulk 88
Perl 5 Core
Test::Smoke
Pick up the pieces
-- by Abe Timmerman (abeltje), H.Merijn Brand (Tux)
Perl 6 CPANish client and ecosystem
Discuss the architectural big picture
Currently things are not much documented, and some parts of the toolchain have serious deficiencies. A roadmap on how to tackle that would be most welcome.
— by Leon Timmermans (leont), Tobias Leich (froggs)
Finish TAP::Parser
Current list of open issues:
- Parallel console outputting
- Rule based parallel scheduling
- SourceHandlers other than ::Perl6
- Various prove arguments
- Serialize/deserialize YAMLish
— by Leon Timmermans (leont)
YAML Ecosystem
Make significant progress on these goals:
- Comprehesive shared YAML test suite
- Pegex YAML grammar
- YAML.pm parser Pegex based
- YAML.pm and YAML::Tiny shared cores
- YAML{.pm,::{XS,Tiny,Syck}} convergence
Code Coverage
- Tidy some of the edges in cpancover.com
- Improve the HTML creation (404 errors)
- Integrate with metacpan
- List each dist at most once: latest developer if there is one, and latest non-developer
- Fix Devel::Cover problems resulting from op tree changes for 5.22
— by Paul Johnson (pjcj), Helmut Wollmersdorfer (wollmers) (and maybe a bit of Neil Bowers (NEILB))
Spectest coverage for "Perl 6.0.0"
- Mark certain test files and also single tests or code blocks as applicate for a certain release of Perl 6.
- Extract per release tests from roast, the spectest repository.
Food, drinks, cleaning, note taking and transcribing, general support and distractions
- I will take care of food and drinks at the venue (including shopping), and cleaning the mess that you nerds leave behind (but please, clean up after yourself).
- If you need somebody to take notes and transcribe the notes (for future use), I will be of service.
- If there is something else to be done that I can help with, just ask me. I will try to distract you as little as possible.
— by Wendy Van Dijk (woolfy)
version 60 saved on 01/04/15 11:22 by bulk 88
Home | Tags | Recent changes | History