Zaki, not Aki. Darned autocorrect... (Mobile)
> On Aug 31, 2015, at 4:51 AM, Craig DeForest <defor...@boulder.swri.edu> wrote: > > I apologize to everyone for staying silent so long. I support the plan for a > dual pathway. I have been of two minds about the current resurgence: on the > one hand I am delighted that at the work Aki and Ed are doing; on the other > hand I have been worried for stability of existing projects of some > importance that build on PDL (for example, PDL is used to identify new > emerging magnetic flux on the Sun in real-time by the SDO mission; to carry > out fundamental data reduction steps for STEREO; and as the basis of many > unique hybrid C/Perl codes of some complexity). Developing the new core > and/or split under PDLA seems like a great way to go, much like the even/odd > version number split in Perl itself: it mitigates the risk of breaking > existing important tools, while keeping further development from bogging > down. Well done. > > My main remaining concern is that, if PDLA were to become a true fork of PDL, > not feeding back into the legacy namespace at intervals, it could derail both > projects. I hope that a permanent fork is not the intent of PDLA... > > (Mobile) > >> On Aug 30, 2015, at 6:50 PM, Chris Marshall <devel.chm...@gmail.com> wrote: >> >> All- >> >> Here is a status update on "the big split" from my >> perception and the accelerating PDLA development to >> that effect. Ed/Zaki, please amend/comment. >> >> First off, while making a PDLA:: agile copy of PDL:: >> seemed clunky to me, it ended up being the _perfect_ >> answer to my concerns about breaking PDL usability >> while the split and architecture are evolving. The >> PDLA work is already going and I'm relieved that the >> stability and usability of PDL is being maintained, >> even if not understood by all developers. >> >> Second, the "big split" boils down to migrating all >> PDL modules that depend on external libraries into >> their own distributions on CPAN. This will make their >> development more agile as well but there may be some >> hiccups in the process so be prepared. You should >> always have a version of the existing, monolithic PDL >> distribution to fall back on. >> >> Third, any current or lurking PDL developers should >> read and participate in this discussion or forever >> hold your piece. We are making these changes and, >> while I've been slow to move because of my concerns >> about the transition and PDL usability for new or >> non-guru users, I'm fully behind the PDLA and PDL::Core >> and PDL3 work. >> >> Finally, kmx has fixed the outstanding build problems >> in our longlong-double-fix branch. We need folks to >> test this and add tests for large memory operations: >> - manipulation of large piddles >> - mapflex of large files >> - make sure things don't break on 16GiB objects,... >> >> With this fix in a PDL-2.014 release, I think we'll >> have the perfect metastable version of the existing >> PDL distribution to rest on while the PDLA split and >> development takes place. >> >> Regards, >> Chris >> >> >>> On 8/30/2015 12:36, Chris Marshall wrote: >>>> On 8/25/2015 13:42, Zakariyya Mughal wrote: >>>>> On 2015-08-24 at 23:48:51 +0000, Chris Marshall wrote: >>>>> PDL Developers- >>>>> >>>>> With the addition of two active and highly motivated PDL >>>>> developers >>>>> (Zakariyya Mughal and Guggle "Ed" Worth) we've made significant >>>>> progress >>>>> in cleaning up the PDL distribution itself and the development process >>>>> itself. PDL is now run through test builds automatically on git commit >>>>> via the Travis-CI framework of github. Many perl platforms and PDL >>>>> configuration options are exercised. PDL-2.013 was the best tested >>>>> pre-release release ever. >>>>> ...snip... >>>>> >>>>> Let the discussions begin! >>>> Hello Chris, >>>> >>>> First off, thank you for starting this conversation. >>>> >>>> Ed and I have been working on and off as time permits on preparing for >>>> the split. The work we've been doing hasn't really generated much >>>> traffic on the pdl-devel mailing list, but the #pdl and PDLPorters >>>> GitHub organisation shows a very different story. There is a lot going >>>> on there every few days. The discussion on those two mediums is a little >>>> more agile than the mailing list or SourceForge and helps with >>>> formulating >>>> >>>> I highly recommend joining both by watching the repositories in >>>> PDLPorters and following the IRC by either joining in a client or >>>> tracking the backlog with <http://irclog.perlgeek.de/pdl/>. >>> >>> I also recommend participating in the mailing list. Collected information >>> such as you have provided is the only way to track complicated >>> discussions >>> on #pdl or other irc sessions. Thanks for the translation, Zaki. >>> >>>> >>>> I'd like to summarise some of what we came up with on GitHub/IRC: >>>> >>>> 1. A split is necessary to not only make releases easier, but also >>>> development. We have worked on reducing the time required to build >>>> PDL across multiple environments down to a little over 1 hour. >>>> >>>> This is still too long when you have perhaps 1.5 hours of tuits >>>> that >>>> day. So the work inevitably gets spread out over weeks. >>>> >>>> A split would help decrease this friction. >>>> >>>> 2. Making `cpanm PDL` always work has always part of the plan. >>>> Improving the PDL devops has helped with that. The plan is to >>>> continue doing that. >>>> >>>> But large refactors such as this split can be quite daunting. We >>>> can't be sure we will stick the landing right the first time. But >>>> the job needs to move forward or it will fail via analysis >>>> paralysis >>>> even before it has begun. >>>> >>>> 3. Ed and I have been thinking about releasing a more agile, friendly >>>> fork of PDL under the PDLA namespace (for PDL Agile). The >>>> repositories will continue to live under the PDLPorters GitHub >>>> organisation. >>>> >>>> We will start by applying the split. This will be followed by >>>> improving code coverage, fixes to the 64-bit indexing, formalising >>>> the badvalue semantics for more functions, and bug-fixes. >>>> >>>> We plan on making sure that libraries such as PDL-Stats, >>>> PDL-IO-CSV, >>>> etc. remain compatible with this library. I believe there is a way >>>> to do this without making changes to the original code (via a >>>> subref >>>> in @INC). >>>> 4. The modules that come from the split will each be improved so >>>> that >>>> they are easy to install on their own. We already have plans to >>>> write Alien::Base modules for all of them. >>>> >>>> 5. In parallel with this, we will begin reaching out to distribution >>>> packagers. PDL has not been updated on many of them (some of which >>>> are on 2.4.x). This is already on the wishlist at >>>> <https://github.com/PDLPorters/pdl/issues/139>. >>>> >>>> 6. The current PDL distribution will remain as it is. Bugfixes will >>>> continue on PDL and they will be backported from PDLA. This >>>> approach >>>> has worked well for IPython/Jupyter (which underwent a split >>>> earlier >>>> this summer)[^jupyter-split]. Back porting fixes was a large part >>>> of what they had to go through. >>>> >>>> 7. Eventually, after we are sure that PDLA has maintained >>>> compatibility with PDL, the changes of PDLA will replace the >>>> current PDL repository. >>>> >>>> Finally, I also have some ideas for PDL3 that I will post in about a >>>> month's time. One of the top priorities on the feature list of PDL3's C >>>> API needs to be the ability to do optmisations such as loop fusion. I >>>> need to ponder on how to combine this with the Moo-like metaprogramming >>>> that we envision. The Julia developers seem to be working on this, but >>>> there are still big unresolved questions on the issue tracker. >>>> >>>> By the way, I think it might be better to avoid putting a number in the >>>> name of this next major version of PDL. It's a personal opinion that >>>> stems from marketing issues that are similar to what happened with >>>> Osborne 1 <https://en.wikipedia.org/wiki/Osborne_effect> and somewhat >>>> with Perl 6. This isn't a strongly held opinion, but I feel that it is >>>> worth bringing up. >>> >>> The PDL3 moniker is just a way to identify the "new architecture/api >>> work" >>> from the existing PDL-2.x engine for reference to previous >>> discussions. I >>> agree that putting numbers in module names is not good. >>> >>> --Chris >>> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> pdl-devel mailing list >> pdl-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/pdl-devel >>
------------------------------------------------------------------------------
_______________________________________________ pdl-devel mailing list pdl-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-devel