Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW]: The nnlib2 library and nnlib2Rcpp R package for implementing neural networks #2876

Closed
40 tasks done
whedon opened this issue Dec 1, 2020 · 78 comments
Closed
40 tasks done
Assignees
Labels
accepted C++ published Papers published in JOSS R recommend-accept Papers recommended for acceptance in JOSS. review TeX

Comments

@whedon
Copy link

whedon commented Dec 1, 2020

Submitting author: @VNNikolaidis (Vasilis Nikolaidis)
Repository: https://github.com/VNNikolaidis/nnlib2Rcpp
Version: v.0.1.7.a
Editor: @kakiac
Reviewers: @schnorr, @MohmedSoudy
Archive: 10.5281/zenodo.4780958

⚠️ JOSS reduced service mode ⚠️

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/ef16eef177a97389ded60b15ef4687aa"><img src="https://joss.theoj.org/papers/ef16eef177a97389ded60b15ef4687aa/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/ef16eef177a97389ded60b15ef4687aa/status.svg)](https://joss.theoj.org/papers/ef16eef177a97389ded60b15ef4687aa)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@schnorr, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @kakiac know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Review checklist for @schnorr

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@VNNikolaidis) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @MohmedSoudy

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@VNNikolaidis) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
@whedon
Copy link
Author

whedon commented Dec 1, 2020

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @schnorr it looks like you're currently assigned to review this paper 🎉.

⚠️ JOSS reduced service mode ⚠️

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

⭐ Important ⭐

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Dec 1, 2020

PDF failed to compile for issue #2876 with the following error:

Can't find any papers to compile :-(

@kakiac
Copy link

kakiac commented Dec 1, 2020

@whedon generate pdf from branch JOSS

@whedon
Copy link
Author

whedon commented Dec 1, 2020

Attempting PDF compilation from custom branch JOSS. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Dec 1, 2020

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@kakiac
Copy link

kakiac commented Dec 2, 2020

👋 @agisga @billchenxi @MohmedSoudy @paragkulkarni11 would any of you be available to review this submission for JOSS? We carry out our checklist-driven reviews here in GitHub issues and follow these guidelines: https://joss.readthedocs.io/en/latest/review_criteria.html

@MohmedSoudy
Copy link

MohmedSoudy commented Dec 2, 2020 via email

@kakiac
Copy link

kakiac commented Dec 3, 2020

Thank you @MohmedSoudy - I will now assign you as a reviewer 😃

@kakiac
Copy link

kakiac commented Dec 3, 2020

@whedon add @MohmedSoudy as reviewer

@whedon whedon assigned kakiac and MohmedSoudy and unassigned kakiac Dec 3, 2020
@whedon
Copy link
Author

whedon commented Dec 3, 2020

OK, @MohmedSoudy is now a reviewer

@kakiac
Copy link

kakiac commented Dec 3, 2020

👋 Dear Lucas (@schnorr) and Mohmed (@MohmedSoudy),

Many thanks for kindly agreeing to review Vasilis' (@VNNikolaidis) submission for the Journal of Open Source Software (JOSS), we’re delighted to have your help. 🥳

This is the review thread for the paper. All of our communications will happen here from now on.

There are two checklists at the top of this issue for the reviewers, please use these to track your progress of the review. If you could like more details about the JOSS reviewing process (it's slightly more interesting than for other journals our there!), have a look at the JOSS reviewer pages.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention openjournals/joss-reviews#2876 so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for reviews to be completed within about 2-4 weeks. Please let me know if any of you require some more time. We can also use Whedon (our bot) to set automatic reminders if you know you'll be away for a known period of time.

Please feel free to ping me (@kakiac) if you have any questions/concerns.

Many thanks and looking forward to working with you for this submission.

@kakiac
Copy link

kakiac commented Dec 3, 2020

@whedon re-invite @schnorr as reviewer

@whedon
Copy link
Author

whedon commented Dec 3, 2020

The reviewer already has a pending invite.

@schnorr please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

@kakiac
Copy link

kakiac commented Dec 3, 2020

@whedon check references

@kakiac
Copy link

kakiac commented Dec 3, 2020

@whedon check repository

@whedon
Copy link
Author

whedon commented Dec 3, 2020

Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=0.29 s (150.3 files/s, 28958.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                             18           1039            748           3039
C/C++ Header                    20            712            549           2058
Markdown                         3             43              0             83
R                                2              3              2             10
-------------------------------------------------------------------------------
SUM:                            43           1797           1299           5190
-------------------------------------------------------------------------------


Statistical information for the repository '734b4b02d3f35e7bc12a12e4' was
gathered on 2020/12/03.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
Vasilis N. Nikolaidi            10          9369           1224          100.00

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
Vasilis N. Nikolaidi       8145           86.9          0.3               16.22

@kakiac
Copy link

kakiac commented Dec 3, 2020

@whedon generate pdf from branch JOSS

@whedon
Copy link
Author

whedon commented Dec 3, 2020

Attempting PDF compilation from custom branch JOSS. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Dec 3, 2020

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@kakiac
Copy link

kakiac commented Dec 3, 2020

@whedon check references

@VNNikolaidis
Copy link

VNNikolaidis commented Dec 3, 2020

As the author, I would like to thank everyone for volunteering their time and effort to the review of this paper and software, especially the editor @kakiac. This is my first substitution to JOSS, and I admit I do not know much about the JOSS reviewing process, so any guidance will be appreciated.

As suggested by @kakiac (here), the paper may gain if extended to present further details of the software for the specialist and non-specialist reader. I admit I may have written this brief paper more as an invitation for possible collaborators than a presentation to users.

I have given some thought on how this could be remedied, but hesitate to do changes before the reviewers have taken a look at the material, as I am afraid it may confuse the reviewing process.

This software is actually a combination of two entities (a C++ library and an R package), and also has two target audiences; below, I will explain what I could add for each:

(a) this software may be useful to people only want to use the ‘nnlib2Rcpp’ R package as is. The R package does contains some predefined, ready-to-use (and rather well-known) neural network models. I could easily add some demonstration material for those (and simple examples, similar to those in the package documentation).

(b) The paper also presents the ‘nnlib2’ collection of C++ classes for building neural networks. This is definitely a more advanced subject, as these classes may be used for experimentation with new, unusual or custom models and configurations. Such process also involves creating custom C++ sub-classes and recompiling the package, steps definitely not easy for the non-specialist reader. However this is, in my opinion, an interesting and unusual part of the provided functionality and, with the ‘nnlib2RCpp’ R package having an interface (the “NN” R module) for manipulating such components, this may fit the needs of some more advanced experimenters. I can also add some guidance for doing this (I have already written a brief blog post on this – it may be found here)). Maybe something similar could be helpful to the article readers.

I would appreciate if the editor and/or the reviewers give me their opinions on the above possible changes, and the ‘ok’ to proceed with such changes if they find that are needed.

@arfon
Copy link
Member

arfon commented May 22, 2021

@VNNikolaidis – forgive me if we've checked these already, but are the DOIs that Whedon is suggesting above correct for your references? If any of them are, please add the DOIs to your BibTeX file, e.g., doi=10.1163/2214-8647_bnp_e612900

@VNNikolaidis
Copy link

@arfon - on the contrary, thanks for notifying me. Of the 3 DOI suggestions, one is valid (it actually refers to a paper of my own). The other two DOIs suggested by Whedon are not, they are not the documents referred to by the paper.
I updated the BibTex file on Github but to update Zenodo I took the step to make a new release. This results in a new Zenodo DOI which is DOI: 10.5281/zenodo.4781510
i.e. DOI
Unfortunately I had to use a pseudo-version number (v.0.1.7.a) as I try to keep GitHub release versions same as those submitted to CRAN.
I hope this was the proper way to go, please excuse my ignorance, I am not familiar with the JOSS submission process, this being my first one. Thank you again.

@arfon
Copy link
Member

arfon commented May 23, 2021

@whedon set 10.5281/zenodo.4781510 as archive

@whedon
Copy link
Author

whedon commented May 23, 2021

OK. 10.5281/zenodo.4781510 is the archive.

@arfon
Copy link
Member

arfon commented May 23, 2021

@whedon set v.0.1.7.a as version

@whedon
Copy link
Author

whedon commented May 23, 2021

OK. v.0.1.7.a is the version.

@arfon
Copy link
Member

arfon commented May 23, 2021

@whedon accept

@whedon
Copy link
Author

whedon commented May 23, 2021

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented May 23, 2021

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1007/978-1-4615-2736-7_9 is OK
- 10.1504/gber.2013.050667 is OK

MISSING DOIs

- 10.1163/2214-8647_bnp_e612900 may be a valid DOI for title: Keras
- 10.1016/0893-6080(90)90030-o may be a valid DOI for title: Artificial Neural Systems: Foundations, Paradigms, Applications, and Implementations

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented May 23, 2021

👋 @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof 👉 openjournals/joss-papers#2332

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2332, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true

@arfon
Copy link
Member

arfon commented May 23, 2021

@VNNikolaidis - a couple of minor additional things. Please merge this PR which makes a few formatting fixes to your paper: VNNikolaidis/nnlib2Rcpp#12

Also, I think you should probably cite the R language. You can read about how to do that here: https://intro2r.com/citing-r.html

Finally, don't worry about making a new release for these changes to the paper unless you especially want to.

@VNNikolaidis
Copy link

I merged the formatting changes (btw, thank you for the effort, time and instructions), added the reference to R language (a valid point) and checked it on the Whedon paper preview service.

About not doing a new release: I realized a release was probably not necessary (since the paper was probably compiled from GitHub) right after I rushed to do yesterday’s release (v.0.1.7.a) only to update Zenodo with the small changes to the paper. But had done it already. No harm done (except for the extra '.a' appended to the version number – the software version is still v.0.1.7). If Whedon does not object, maybe the original Zenodo DOI ( 10.5281/zenodo.4780958 ) is actually a bit more accurate to be used in the paper. If not, it is fine as is, they both refer to the exact same software.

@arfon
Copy link
Member

arfon commented May 23, 2021

@whedon set 10.5281/zenodo.4780958 as archive

@whedon
Copy link
Author

whedon commented May 23, 2021

OK. 10.5281/zenodo.4780958 is the archive.

@arfon
Copy link
Member

arfon commented May 23, 2021

@whedon accept

@whedon
Copy link
Author

whedon commented May 23, 2021

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented May 23, 2021

👋 @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof 👉 openjournals/joss-papers#2333

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2333, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true

@whedon
Copy link
Author

whedon commented May 23, 2021

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1007/978-1-4615-2736-7_9 is OK
- 10.1504/gber.2013.050667 is OK

MISSING DOIs

- 10.1163/2214-8647_bnp_e612900 may be a valid DOI for title: Keras
- 10.1016/0893-6080(90)90030-o may be a valid DOI for title: Artificial Neural Systems: Foundations, Paradigms, Applications, and Implementations

INVALID DOIs

- None

@arfon
Copy link
Member

arfon commented May 23, 2021

@whedon accept deposit=true

@whedon whedon added accepted published Papers published in JOSS labels May 23, 2021
@whedon
Copy link
Author

whedon commented May 23, 2021

Doing it live! Attempting automated processing of paper acceptance...

@whedon
Copy link
Author

whedon commented May 23, 2021

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon
Copy link
Author

whedon commented May 23, 2021

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.02876 joss-papers#2334
  2. Wait a couple of minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.02876
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@arfon
Copy link
Member

arfon commented May 23, 2021

@schnorr, @MohmedSoudy – many thanks for your reviews here and to @kakiac for editing this submission! JOSS relies upon the volunteer effort of people like you and we simply wouldn't be able to do this without you ✨

@VNNikolaidis – your paper is now accepted and published in JOSS ⚡🚀💥

@arfon arfon closed this as completed May 23, 2021
@whedon
Copy link
Author

whedon commented May 23, 2021

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.02876/status.svg)](https://doi.org/10.21105/joss.02876)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.02876">
  <img src="https://joss.theoj.org/papers/10.21105/joss.02876/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.02876/status.svg
   :target: https://doi.org/10.21105/joss.02876

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@VNNikolaidis
Copy link

Great! To everyone involved in this review process, thank you and best regards!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted C++ published Papers published in JOSS R recommend-accept Papers recommended for acceptance in JOSS. review TeX
Projects
None yet
Development

No branches or pull requests

6 participants