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]: MicroFloatingPoints.jl: providing very small IEEE 754-compliant floating-point types #7050

Closed
editorialbot opened this issue Jul 29, 2024 · 106 comments
Assignees
Labels
accepted Julia published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 7 (CSISM) Computer science, Information Science, and Mathematics

Comments

@editorialbot
Copy link
Collaborator

editorialbot commented Jul 29, 2024

Submitting author: @goualard-f (Frederic Goualard)
Repository: https://github.com/goualard-f/MicroFloatingPoints.jl.git
Branch with paper.md (empty if default branch): main
Version: joss2024_accepted
Editor: @danielskatz
Reviewers: @matbesancon, @dannys4, @mkitti
Archive: 10.5281/zenodo.13777404

Status

status

Status badge code:

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

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

@matbesancon & @dannys4 & @mkitti, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review.
First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @danielskatz 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

Checklists

📝 Checklist for @matbesancon

📝 Checklist for @mkitti

📝 Checklist for @dannys4

@editorialbot
Copy link
Collaborator Author

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

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

@editorialbot commands

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

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

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

OK DOIs

- 10.1145/221332.221334 is OK
- 10.1109/ARITH.2013.22 is OK
- 10.1145/2785965 is OK
- 10.1145/3368086 is OK
- 10.1137/19M1251308 is OK
- 10.1007/11787006_1 is OK
- 10.1007/978-3-030-50417-5_2 is OK
- 10.1145/3585515 is OK
- 10.1145/2382196.2382264 is OK
- 10.3389/fninf.2023.1099510 is OK

MISSING DOIs

- No DOI given, and none found for title: tkgunaratne/BFloat.jl

INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

Software report:

github.com/AlDanial/cloc v 1.90  T=0.03 s (1385.0 files/s, 149335.3 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Julia                           29            385            798           1397
SVG                              2              1             28           1100
Markdown                         7            257              0            733
TeX                              1             19              0            147
YAML                             4              3              4             59
TOML                             3              3              0             26
-------------------------------------------------------------------------------
SUM:                            46            668            830           3462
-------------------------------------------------------------------------------

Commit count by author:

    60	Frédéric Goualard
     1	Frédéric GOUALARD

@editorialbot
Copy link
Collaborator Author

Paper file info:

📄 Wordcount for paper.md is 610

✅ The paper includes a Statement of need section

@editorialbot
Copy link
Collaborator Author

License info:

🟡 License found: GNU Lesser General Public License v3.0 (Check here for OSI approval)

@editorialbot
Copy link
Collaborator Author

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

@danielskatz
Copy link

@matbesancon, @dannys4, and @mkitti - Thanks for agreeing to review this submission.
This is the review thread for the paper. All of our communications will happen here from now on.

As you can see above, you each should use the command @editorialbot generate my checklist to create your review checklist. @editorialbot commands need to be the first thing in a new comment.

As you go over the submission, please check any items that you feel have been satisfied. There are also links to the JOSS reviewer guidelines.

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, reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention openjournals/joss-reviews#7050 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 either of you require some more time. We can also use editorialbot (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 (@danielskatz) if you have any questions/concerns.

@matbesancon
Copy link

matbesancon commented Jul 29, 2024

Review checklist for @matbesancon

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 https://github.com/goualard-f/MicroFloatingPoints.jl.git?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@goualard-f) 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
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • 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?

@mkitti
Copy link

mkitti commented Jul 29, 2024

Review checklist for @mkitti

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 https://github.com/goualard-f/MicroFloatingPoints.jl.git?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@goualard-f) 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
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • 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?

@dannys4
Copy link

dannys4 commented Jul 30, 2024

Review checklist for @dannys4

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 https://github.com/goualard-f/MicroFloatingPoints.jl.git?
  • License: Does the repository contain a plain-text LICENSE or COPYING file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@goualard-f) 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
  • Data sharing: If the paper contains original data, data are accessible to the reviewers. If the paper contains no original data, please check this item.
  • Reproducibility: If the paper contains original results, results are entirely reproducible by reviewers. If the paper contains no original results, please check this item.
  • Human and animal research: If the paper contains original data research on humans subjects or animals, does it comply with JOSS's human participants research policy and/or animal research policy? If the paper contains no such data, please check this item.

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: Does the paper have a section titled 'Statement of need' that clearly states what problems the software is designed to solve, who the target audience is, and its relation to other work?
  • 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?

@dannys4
Copy link

dannys4 commented Jul 30, 2024

In addition to being able to replicate the results presented in the documentation and use these types accordingly, it seems I can easily and successfully employ these types in functions I've written previously without any adjustments (in accordance with the goals of JuliaLang), so I'd consider the functionality phenomenal. While I might recommend automating the tests on the GitHub CI, all tests (which seem very comprehensive) do pass locally.

The documentation on the repo is very thorough and incredibly well written! A few minor points on the "tour":

  • I think there should be using PyCall; plt=pyimport("matplotlib.pyplot") (or using PyPlot or whatever it is) included at the top for users who are perhaps unfamiliar with the PyCall terminology.
  • It seems you are missing a plt for imshow in the tour regarding the plot "Exhaustive search for rounded sums in Floatmu{2,2}".
  • I believe you're missing a using Distributions in the last code box of the tour
  • While there's developer docs, it seems like you're missing contributor guidelines (per the checklist).

Again, great job, and I wish all developers paid as much attention to detail as you.

The document is largely well-written. The only (excessively) minor comment is that "fractional" needs to be spell checked on the caption of Figure 1.

After these minor points above are addressed, I'd be more than happy to recommend acceptance.


As a final note, in the spirit of JOSS' suggestion we stay objective, this has no bearing on acceptance or rejection; however, I'd urge you to consider using Julia package extensions for future endeavors (example here) to decouple "extra dependencies" (particularly plotting capabilities) from the "core competency" of the package. While the documentation makes a great example of how the plotting can be used as an educational and demonstrative tool, this could very well be an optional tool that can be used on top of the package as opposed to an absolutely necessary "strong" dependency.

@danielskatz
Copy link

Thanks @dannys4

@danielskatz
Copy link

👋 @matbesancon & @mkitti - how are your reviews coming along?

@danielskatz
Copy link

👋 @goualard-f - Do you have any comments on what @dannys4 brought up? And on the issues that @matbesancon opened? The JOSS review is an iterative process, where you don't need to wait for reviewers to complete their initial passes, but can respond to them as they make comments/suggestions.

@matbesancon
Copy link

Hi all,
The paper is clear in terms of description of the software. The package is still early maturity as far as Julia packages go, hence the issues I opened on the repository itself. Having performance gotchas seems problematic for fundamental types like floating points.

The paper motivates a use case of the package:

MicroFloatingPoints.jl was, for example, instrumental in our understanding of the flaws of the algorithms computing
random floating-point numbers by dividing a random integer by a constant (Goualard, 2020):
being able to execute the algorithms for all possible inputs and to quickly display the results
graphically in Jupyter gave us the impetus to demonstrate rigorously that such procedures
cannot ensure an even distribution of the bits in the fractional parts of the random floats,
rendering them useless for applications such as differential privacy

It is not clear to me what the point of the use of Jupyter is here, is it some usability aspects of the library that are highlighted? What changes compared to other floating point types and libraries?

@mkitti
Copy link

mkitti commented Aug 13, 2024

The authors provide a package for small IEEE-754 compliant floating point types. This is implemented via parameterized Floatmu{szE,szf} type where szE are the number of bits representing the exponent and szf are the number of bits representing the fractional part. The total number of bits used is 1 + szE + szf.

Floatmu stores this information in two 32-bit integers as mentioned in a footnote in the documentation. This is somewhat perplexing since often the goal of creating such minifloats is to minimize the storage needs of the numbers as to store more values in memory. The first of the two 32-bit integers stores the bits of the floating point value itself. The second stores an inexact flag which can take values -1, 0, or 1. The type of the first value could be parameterized while the second value could be made smaller to use a type such as a Int8.

That is rather the current definition of the Floatmu type as follows.

struct Floatmu{szE, szf} <: AbstractFloat
    v::UInt32
    inexact::Int32
end

The type could be made more flexible in the following manner:

struct Floatmu{szE, szf, T} <: AbstractFloat
    v::T
    inexact::Int8
end

The proposed Floatmu{1, 6, UInt8} would only require two bytes rather than eight bytes in the current implementation.

Additionally a global 32-bit inexact_flag is used. This global state creates a thread safety issue should these numerical types be used in a multi-threaded environment. Perhaps one way this could be addressed is by using task local storage.

The paper and documentation do not mention the Julia package BFloat16s.jl although the author does reference BFloat. The author should reference this package and explain the relationship of this work to that prior work as part of explaining the State of the Field.

The overall paper is quite short with a single figure showing a flaw discovered by using the tools within the paper. In contrast the documentation is extensive with multiple figures and a guided tour. The paper could be extended to include a more thorough description of the package and perhaps include some elements from the documentation and guided tour.

There are several software engineering issues that the other reviewers have pointed out. I have submitted some pull requests to the package to try to alleviate some of these issues. The issues include

  • Unused dependencies
  • Confusion in the structure of the package and documentation environments
  • Inclusion of Python and matplotlib as strong rather than weak dependencies

I am still working through the numerical analysis and my review is ongoing.

Overall, the package seems mainly situated as a package meant to analyze the properties of small floating point types rather than providing practical minifloats for use in computational algorithms. Practical use of the package could be improved by addressing the software engineering issues, the global inexact flag, and the size of the Floatmu type. While the work could be evaluated and published purely as an analysis package, I highly recommend that the authors consider some changes to improve the practical use of the package.

@danielskatz
Copy link

thanks @mkitti for your thoughtful and detailed comments.

@goualard-f
Copy link

@dannys4

I think there should be using PyCall; plt=pyimport("matplotlib.pyplot") (or using PyPlot or whatever it is) included at the top for users who are perhaps unfamiliar with the PyCall terminology.

Added some text at the beginning of Section Graphics with MicroFloatingPoints.MFPPlot to remind the user to add using PyPlot when necessary.

It seems you are missing a plt for imshow in the tour regarding the plot "Exhaustive search for rounded sums in Floatmu{2,2}".

Corrected, even though it did not seem to hinder proper compilation.

I believe you're missing a using Distributions in the last code box of the tour

Corrected (it was performed under the hood).

While there's developer docs, it seems like you're missing contributor guidelines (per the checklist).

There is a section called Contributing and reporting issues at the beginning of the documentation but it does not say much, I am afraid, apart from requiring pull requests to contribute.

The document is largely well-written. The only (excessively) minor comment is that "fractional" needs to be spell checked on the caption of Figure 1.

Corrected.

As a final note, in the spirit of JOSS' suggestion we stay objective, this has no bearing on acceptance or rejection; however, I'd urge you to consider using Julia package extensions for future endeavors (example here) to decouple "extra dependencies" (particularly plotting capabilities) from the "core competency" of the package. While the documentation makes a great example of how the plotting can be used as an educational and demonstrative tool, this could very well be an optional tool that can be used on top of the package as opposed to an absolutely necessary "strong" dependency.

I was not aware of the existence of package extensions. Thanks for pointed them out. I will be sure to investigate them.

Thank you very much for your detailed remarks. I have committed the modifications to the joss2024 branch.

@goualard-f
Copy link

@matbesancon

The paper is clear in terms of description of the software. The package is still early maturity as far as Julia packages go, hence the issues I opened on the repository itself. Having performance gotchas seems problematic for fundamental types like floating points.

Two of the issues have been closed, thanks to @mkitti contributions.

I have removed the global variable containing the inexact flag and replaced it by functions with closures. I have also added some text at the beginning of the documentation to make it clear to the prospective user that the package is not about performances but about the versatility of easily defining new floating-point types with different precisions and ranges, something that is not offered by packages such as BFloat16s.jl and other packages with a fixed format.

The paper motivates a use case of the package:

MicroFloatingPoints.jl was, for example, instrumental in our understanding of the flaws of the algorithms computing
random floating-point numbers by dividing a random integer by a constant (Goualard, 2020):
being able to execute the algorithms for all possible inputs and to quickly display the results
graphically in Jupyter gave us the impetus to demonstrate rigorously that such procedures
cannot ensure an even distribution of the bits in the fractional parts of the random floats,
rendering them useless for applications such as differential privacy

It is not clear to me what the point of the use of Jupyter is here, is it some usability aspects of the library that are highlighted? What changes compared to other floating point types and libraries?

I have modified the wording in the paper to make it clearer that Jupyter only brings to the table an integrated environment in which it is easier to test many snippets of code and see the results, thanks to the scripting nature of Julia.

Thank you for your remarks that help make this package better!

@editorialbot
Copy link
Collaborator Author

Done! archive is now 10.5281/zenodo.13777404

@danielskatz
Copy link

@editorialbot recommend-accept

@editorialbot
Copy link
Collaborator Author

Attempting dry run of processing paper acceptance...

@editorialbot
Copy link
Collaborator Author

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

✅ OK DOIs

- 10.1145/221332.221334 is OK
- 10.1109/ARITH.2013.22 is OK
- 10.1145/2785965 is OK
- 10.1145/3368086 is OK
- 10.1137/19M1251308 is OK
- 10.1007/11787006_1 is OK
- 10.1007/978-3-030-50417-5_2 is OK
- 10.1145/3585515 is OK
- 10.1145/2382196.2382264 is OK
- 10.3389/fninf.2023.1099510 is OK
- 10.1007/s10543-013-0436-2 is OK

🟡 SKIP DOIs

- No DOI given, and none found for title: tkgunaratne/BFloat.jl

❌ MISSING DOIs

- None

❌ INVALID DOIs

- None

@editorialbot
Copy link
Collaborator Author

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

Check final proof 👉📄 Download article

If the paper PDF and the deposit XML files look good in openjournals/joss-papers#5891, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

@editorialbot editorialbot added the recommend-accept Papers recommended for acceptance in JOSS. label Sep 18, 2024
@danielskatz
Copy link

@editorialbot accept

@editorialbot
Copy link
Collaborator Author

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

@editorialbot
Copy link
Collaborator Author

Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.

If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.

You can copy the contents for your CITATION.cff file here:

CITATION.cff

cff-version: "1.2.0"
authors:
- family-names: Goualard
  given-names: Frédéric
  orcid: "https://orcid.org/0000-0002-1798-1568"
doi: 10.5281/zenodo.13777404
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Goualard
    given-names: Frédéric
    orcid: "https://orcid.org/0000-0002-1798-1568"
  date-published: 2024-09-18
  doi: 10.21105/joss.07050
  issn: 2475-9066
  issue: 101
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 7050
  title: "MicroFloatingPoints.jl: providing very small
    IEEE 754-compliant floating-point types"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.07050"
  volume: 9
title: "[MicroFloatingPoints.jl]{.sans-serif}: providing very small
  IEEE 754-compliant floating-point types"

If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.

Find more information on .cff files here and here.

@editorialbot
Copy link
Collaborator Author

🐘🐘🐘 👉 Toot for this paper 👈 🐘🐘🐘

@editorialbot
Copy link
Collaborator Author

🚨🚨🚨 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.07050 joss-papers#5892
  2. Wait five minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.07050
  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...

@editorialbot editorialbot added accepted published Papers published in JOSS labels Sep 18, 2024
@danielskatz
Copy link

👋 @goualard-f - Congratulations on your publication!!

And thanks to @matbesancon, @dannys4, and @mkitti for reviewing!
JOSS depends on volunteers and couldn't succeed without you

@danielskatz
Copy link

@goualard-f - I now see that you encoded part of your title, which has made https://joss.theoj.org/papers/10.21105/joss.07050 and the associated metadata not very nice. I'm sorry I missed this while proofreading.

Can you please remove the encoding in the title in the .md file, and then I will reprocess the paper.

@goualard-f
Copy link

@danielskatz Indeed. I did not catch it either. Sorry for the inconvenience. Am I supposed to tag the new commit and send its name to you, as before?

@danielskatz
Copy link

No - JOSS doesn't need the final paper source to be in the repo, as what is archived for the paper is the PDF and the JATS versions, along with the generated metadata.

@goualard-f
Copy link

@danielskatz I have pushed the corrected paper.md to main. Is that sufficient?

@danielskatz
Copy link

@editorialbot set main as branch

@editorialbot
Copy link
Collaborator Author

Done! branch is now main

@danielskatz
Copy link

@editorialbot generate pdf

@editorialbot
Copy link
Collaborator Author

@danielskatz
Copy link

@editorialbot re-accept

@editorialbot
Copy link
Collaborator Author

I'm sorry human, I don't understand that. You can see what commands I support by typing:

@editorialbot commands

@danielskatz
Copy link

@editorialbot reaccept

@editorialbot
Copy link
Collaborator Author

Rebuilding paper!

@editorialbot
Copy link
Collaborator Author

🌈 Paper updated!

New PDF and metadata files 👉 openjournals/joss-papers#5893

@danielskatz
Copy link

Thanks @goualard-f - now https://doi.org/10.21105/joss.07050 looks good, and I'll close this issue now

@editorialbot
Copy link
Collaborator Author

🎉🎉🎉 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.07050/status.svg)](https://doi.org/10.21105/joss.07050)

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

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

This is how it will look in your documentation:

DOI

We need your help!

The 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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Julia published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review TeX Track: 7 (CSISM) Computer science, Information Science, and Mathematics
Projects
None yet
Development

No branches or pull requests

6 participants