aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2020-05-30Corrected a few words for more clarityMohammad Akhlaghi-2/+2
An "internally" was added to the part about core GNU tools accounting for the differences between POSIX-compatible systems. One extra word was also removed in the next sentence.
2020-05-30Corrected a few words to make POSIX-fuzzyness paragraph more clearMohammad Akhlaghi-2/+2
Hopefully, it is more to the point with these few word-corrections.
2020-05-30Discussion on issues with POSIX and minor edits to shorten paperMohammad Akhlaghi-39/+47
Konrad raised some very interesting points in particular about the limitations of POSIX as a fuzzy standard that does not guaratee reproducibility. A relatively long paragraph was thus added in the discussion to address this important point. In order to fit it in, the paragraph on "unwanted competition" was removed since the POSIX issue was much more relevant for a curious reader. Throughout the text, some other parts were edited to decrease the length of the paper while making it easier to read.
2020-05-30Minor edits removing redundant sentencesMohammad Akhlaghi-4/+3
Some of the redundant sentences have been removed and some minor edits made.
2020-05-29Minor tidying of about half a dozen wordsBoud Roukema-11/+11
The changes in this commit are best shown with `git diff --word-diff` or `git patch --word-diff`. There are about half a dozen changes of 1-2 words or a comma, the reasons should be obvious. The sentence with "can not just" seems to be correct formally, but "can not only" seems to me better to warn the reader that this is a phrase of the form "can not only do X but can also do Y"; "can not just" sounds a bit like "You cannot just enter the room without knocking" - it doesn't require a second part.
2020-05-29Edits to the text, making it slightly shorter and more clearMohammad Akhlaghi-62/+54
One major point was that following Konrad's suggestion the issue of not being familiar with the Lisp/Scheme framework of GWL is now removed. We actually mention the main problem we have had with Guix, but also highlight that their solution was one of the main inspirations for this work.
2020-05-29TeX installation crash because of different tarball versions fixedRaul Infante-Sainz-2/+58
Until this commit, when the user have previous TeX tarball already present, the project crashed when trying to re-configure, if there was a newer version of TeX. This is because TeX are updated yearly. With this commit, this bug has been fixed. Now, during the installation of TeX, it checks if this problem happens. If this is the case, then it moves the old tarball, download the new one and install it. If not, it will just install the already present tarball or crash because of any other reason. This probem was recurrent, and each time TeX was updated, the previous tarball had to be removed manually. But now, with this commit, it is done automatically. The detection and fix of this bug has been possible with the help of Mohammad Akhlaghi, thanks!
2020-05-29Adding small paragraph for Raul's biographyRaul Infante-Sainz-1/+4
Until this commit, there was only a small description of me. With this commit, I have added a small paragraph with my biography. I know we are very restricted because of the word limit so I tried to be very short!
2020-05-29Minor typos correctedRaul Infante-Sainz-5/+6
With this commit, I have corrected several minor typos.
2020-05-29Minor corrections in abstract and introductionRaul Infante-Sainz-9/+9
With this commit, I did some minor changes in these Sections. Main changes are: define the contraction `OS' from Operating System and use only `OS' later on, and not use contractions like `isn't'
2020-05-29Cut down biography and inclusion of a mention to reproducibilityRoberto Baena-Gallé-5/+5
Before this commit: Roberto's bio was about 120 words. With this commit: it is now less than 100 words. A comment about reproducibility has been added.
2020-05-29Reproducible research based on open-access papersBoud Roukema-3/+2509
Publishing a paper on reproducible research without making it easy for readers to read the references would defeat the point. Of course we have to make some compromises with some journals' reluctance to shift towards the free world, but to satisfy scientific ethics, we should at least provide clickable URLs to the references, preferably to the ArXiv version if available [1], and also to the DOI, again, preferably to an open-access version of the URL if available. I was not able to fully get this done in the .bst file, so there's an sed/tr hack done to the .bbl file in `reproduce/analysis/make/paper.mk` to tidy up commas and spaces. This commit also reverts some of the hacks in the Akhlaghi IAU Symposium `tex/src/references.tex` entry, to match the improved .bst file, `tex/src/IEEEtran_openaccess.bst`, provided here with a different name to the original, in order to satisfy the LaTeX licence. [1] https://cosmo.torun.pl/blog/arXiv_refs
2020-05-29pdftotext only called if present in system, minor editMohammad Akhlaghi-6/+8
David and Raul had both reported that because 'pdftotext' wasn't available on their system, the project failed (even though the PDF was built!). So with this commit, we first check if the system has 'pdftotext' and call it only if its is available. Some minor edits were made, building upon Boud's previous commit.
2020-05-29Section V - small changesBoud Roukema-25/+26
This commit provides mostly small changes. There didn't seem much point in repeating the `lessons learned` jargon and claiming that we draw good conclusions - insights - from our experience. Better just state what hypotheses we have generated from the experience rather than give the misleading impression that our hypotheses are well-established facts. In the comments, I put a suggested translation of what the `lessons learned` jargon means. I seem to have first heard this term in the mainstream media a few years after the US 2003 attack on Iraq, when a US military representative stated that the US forces had "learned lessons" after having started a war of aggression against Iraq.
2020-05-29Sentence with the clerk who can do it, software as uncountable nounBoud Roukema-2/+2
This commit changes two lines. (1) Keeping the exact quote with the clerk while having a sentence that makes sense in plain English cannot be done, it seems to me, without making the sentence a bit longer. Here's one option that seems about the best we can do, even though it still sounds a bit funny, because it's hard to write a future conditional with the present "can". Since it's a quote, it will probably survive the proofreaders. (2) Software is an uncountable noun [1], so we say "software is", like "water is"; "used software" sounds odd; I added "is itself" to emphasise that we're especially talking about the full chain of software for running the project. This commit modifies the "When the ..." sentence and hopefully sounds better. [1] https://en.wiktionary.org/wiki/software#Noun
2020-05-29Added top-make.mk as a listing for demonstration, minor editsMohammad Akhlaghi-31/+55
To help show the simplicity of 'top-make.mk', it was included as a listing. I also went over some of Boud's corrections and made small edits. In particular: - The '\label' and '\ref' to a section were removed. I done this after inspecting some of their recent papers and noticing that they generally have a simple flow, without such redirections. - In the part about the RDA adoption grant, I moved the "from the researcher perspective" to the end. Because Austin+2017 is mainly focused on data-center management, not the researcher's. They do touch upon researcher solutions that can help data-base managers, but not directly the researchers. In effect with this grant, they acknowledged that our researcher-focused solution confirms with their criteria for data-base management.
2020-05-29Many small changes to Section IV - proof of concept: maneageBoud Roukema-60/+63
Possibly the least trivial edit in this commit is that the previous text appeared to state that it's normal to find that a project prepared with `maneage` may be ... unbuildable. Which would defeat our whole claim of reproducibility! Obviously, `maneage` is still in a rapid development stage and might still have significant, not-yet-detected bugs. But the wording has to explain that this would constitute a bug in `Maneage` (in a particular version of it), not an expected regular event. :) This commit aims to fix that and other minor wording issues in IV. Pdf word count 5855.
2020-05-28Cherry-pick 7bf5fcd to make merging easierBoud Roukema-6/+3
This series of commits aims to edit sections II+III, but first implements the changes from 7bf5fcd, apart from one that conflicts in the abstract: this commit has ``Maneage'' without `(managing+lineage)` in the abstract. From Mohammad: this commit has been rebased after several other parallel branches, so some things may differ from the message.
2020-05-28Fixed TeXLive crash because of differing local and server versionsRaul Infante-Sainz-3/+80
Until this commit, when the user had a previous TeXLive tarball already present (in their software-tarball directory) compared to the CTAN server, the project crashed in the configure phase. This was because TeXLive is updated yearly and we don't yet install TeXLive from source (currently we use its own package manager, but we plan to fix this in task #15267). With this commit, we fix the problem by checking the cause of the crash during the installation of TeX. If the crash is due to this particular error, we ignore the old tarball and download the new one and install it (the old one is still kept in '.build/software/tarballs', but will get a '-OLD' in its name. This probem was recurrent, and every year that TeXLive is updated, the previous tarball had to be removed manually! But with this commit, this is done automatically. The detection and fix of this bug has been possible with the help of Mohammad Akhlaghi, thanks!
2020-05-25Unified reference to GNU/Linux and free softwareMohammad Akhlaghi-10/+10
One of the main reasons to building Maneage is to properly acknowledge/attribute the authors of software in research. So we have adopted a standard of never referring to the GNU-based operating systems running the Linux kernel simply as "Linux", we avoid terms like "Open Sourse" and use Free Software instead (in the same spirit). With this commit, a few instances of the cases above have been corrected, they had slipped through our fingers when we initially imported them into the project. In the special case of the "Journal for Open Source Software", we simply replaced it with its abbreviation (JOSS). This was done because in effect we were generally using journal name abbreviations in almost all the citations already. To avoid any inconsistancies, the names of the three other journals that weren't abbreviated are also abbreviated.
2020-05-23Some minor edits on Boud's recent correctionsMohammad Akhlaghi-12/+12
Generally they were great, but after looking through them I thought a hand-full of them slightly changed my original idea so I am correcting them here. Boud, if you feel the changes aren't good, let's talk about it and find the best way forward ;-). They are mostly clear from a '--word-diff', just some notes on the ones that have changed the meaning: * On the "a clerk can do it" quotation, since its so short, I think its better to keep its original form, otherwise a reader may thing there were paragraphs instead of the "to" and we have changed their intention. * In the part where we are saying that the workflow can get "separated" from the paper, I mostly meant to highlight that the data-centers and journals (hosts) may diverge in decades, or one of them may go bankrupt, or etc. Hence loosing the connection. The issue of it evolving can in theory be addressed through version control, so I think this is a more fundamental problem. * In the part about free software, in the list, the original point was the free software that are used by the project, not the project itself (after all, the project itself falls under the "Open Science" titles that is very fashionable these days, but my point here is to those people who claim to do "Open Science" with closed software (like Microsoft Excel!).
2020-05-23Section III edits - 5901 wordsBoud Roukema-43/+43
This commit makes several small changes to Section III, some of which are quite significant in terms of meaning. It was difficult to improve the clarity without extending the word length. Now we're at 5901 words.
2020-05-23Section II edits + definition of solutionsBoud Roukema-23/+23
This commit implements quite a few minor changes in section II. The aim of most is to clarify the meaning and remove ambiguity. A few changes are that the reader will normally assume that successive sentences in a paragraph are closely related in terms of logical flow. It is superfluous - and considered excessive - to put too many "Therefore"'s and "Hence"'s in (at least) modern astronomy style. These are supposed to be used when there is a strong chain of reasoning. One change is done in the Introduction, because if we're going to use "solution(s)" throughout to mean "reproducible workflow solution(s)", then we have to clearly define this as jargon for this particular paper. It's probably preferable to RWS - reproducible workflow solution - or RWI - reproducible workflow implementation. But we can't just keep saying "solution" because that has many different meanings in a scientific context. Pdf word count = 5880
2020-05-23Cherry-pick 7bf5fcd to make merging easierBoud Roukema-1/+1
This series of commits aims to edit sections II+III, but first implements the changes from 7bf5fcd, apart from one that conflicts in the abstract: this commit has ``Maneage'' without `(managing+lineage)` in the abstract.
2020-05-23Main text: implement most of David's changesBoud Roukema-31/+33
This commit implements most of David's changes from c76727b, but excluding some, such as the proposal to use 'which' in a restrictive clause in the abstract. This is allowed, but the Fowler brothers' rule tends to followed in science writing: https://ell.stackexchange.com/questions/5/is-there-any-difference-between-which-and-that A few points on the abstract: * an immediate solution = singular * The "immediate, fast short-term" benefits sentence sounded like it was redundantly superfluously repetitively repeating doubled-up information. Hopefully this edit is better. * in the %Conclusion, "solutions" is vague, like people who say "technology" when they're only talking about software, so this edit reminds the reader to make the sentence more self-contained and understandable.
2020-05-23New software: Valgrind and PatchBoud Roukema-1/+105
With this commit, Maneage now includes instructions to build the memory tracing tool Valgrind and the program 'patch' (to apply corrections/patches in text files and in particular the sources of programs). For this version of Valgrind, some patches were necessary for an interface with OpenMPI 2.x (which is the case now). Also note that this version of Valgrind's checks can fail with GCC 10.1.x (when using '--host-cc'), and the failures aren't due to internal problems but due to how the tests are designed (https://bugs.gentoo.org/707598). So currently if any of Valgrind's checks fail, Maneage still assumes that Valgrind was built and installed successfully. While testing on macOS, we noticed that it needs the macOS-specific 'mig' program which we can't build in Maneage. DESCRIPTION: The mig command invokes the Mach Interface Generator to generate Remote Procedure Call (RPC) code for client-server style Mach IPC from specification files. So a symbolic link to the system's 'mig' is now added to the project's programs on macOS systems. This commit's build of Patch and Valgrind has been tested on two GNU/Linux distributions (Debian and ArchLinux) as well as macOS. Work on this commit started by Boud Roukema, but also involved tests and corrections by Mohammad Akhlaghi and Raul Infante-Sainz.
2020-05-23Added TeXLive's ulem package to also be builtMohammad Akhlaghi-1/+1
David reported this problem, it happened right after importing IEEEtran, but for some reason, it didn't happen for me.
2020-05-23Corrected name of listings package when installing it with texliveMohammad Akhlaghi-1/+1
When entering the name of the "listings" package, I had forgot to add the final 's', so it wasn't being installed on a clean system! I didn't have a problem until now, because it remained from previous builds.
2020-05-23Biography style reverted to CiSE PDF mode (different from webpage)Mohammad Akhlaghi-18/+8
After a look at the PDFs of the linked papers of the previous commit and a few 2020 papers, we noticed that the biography format of the webpage and PDFs are different! So it is now back in its old way (which is how biographies are presented in the PDF). A few other minor edits were made in the text.
2020-05-23Affiliations CiSE styleBoud Roukema-6/+19
It appears from looking at https://ieeexplore.ieee.org/document/5725236/authors#authors https://ieeexplore.ieee.org/document/7878935/authors#authors that the affiliations section needs to start with a one-phrase definition of the author's main affiliation. In 5725236, the typesetters/proofreaders swapped van der Walt and Colbert, so don't be confused by that. It shows that nobody proofread properly. With this commit, each author's institute (single hierarchical level) is written as the first paragraph of the author's affiliation section. Since 5725236 allows a very-well-known acronym, I'm guessing that IAC can be defined for Mohammad and then re-used for the others. I've added a brief CV for me. If necessary, we could compress my main research together as "observational cosmology", but let's see how we go in the word count. I have not (yet) worked through the main text. There is also one minor language fix - `Because is complete` was incomplete. Pdf word count: 5873
2020-05-23Edits, to make the text more readableMohammad Akhlaghi-84/+81
After one day not looking at the first draft of this new version (commit 7b008dfbb9b2), I went through the text and done some general edits to make its presentation and logic smoother.
2020-05-23Typo and style corrections in the text, Roberto's bio addedRoberto Baena-Gallé-37/+41
Before this commit: several typos were present along the text. With this commit several typos have been corrected (types listed below) and my bio has been added. a) double words b) general typos c) comas after adverbs at the beginning of a sentence d) contractions are removed, e.g., don't vs do not e) three sentences in parenthesis have been removed since I think they were out of context or unnecessary f) etc
2020-05-23Corrected name of produced demonstration tableMohammad Akhlaghi-2/+2
In order to correspond to the updated datalineage plot, the name of the plotted columns was changed to 'columns.txt', but I had forgot to update it in the LaTeX source and since the old file still remained I hadn't noticed. This was found by Boud and corrected.
2020-05-22Software citation: removed abstract entry from BibTeX infoMohammad Akhlaghi-7/+0
Until now, two of the software BibTeX sources (Matplolib and Sympy) had an "abstract" entry that was long, not similar to the rest, and not relevant in this context, so they are removed with this commit.
2020-05-22Corrected copyright notices to fit GPL suggested formatMohammad Akhlaghi-240/+357
In time, some of the copyright license description had been mistakenly shortened to two paragraphs instead of the original three that is recommended in the GPL. With this commit, they are corrected to be exactly in the same three paragraph format suggested by GPL. The following files also didn't have a copyright notice, so one was added for them: reproduce/software/make/README.md reproduce/software/bibtex/healpix.tex reproduce/analysis/config/delete-me-num.conf reproduce/analysis/config/verify-outputs.conf
2020-05-22Re-write of the paper to fit in ~6000 words and IEEE formatMohammad Akhlaghi-159/+428
Following the fact that the DSJ editor decided that this paper doesn't fit into their scope, we decided to submit it to IEEE's Computing in Science and Engineering (CiSE). So with this commit the text was re-written to fit into their style and word-count limitations.
2020-05-08Added the option -e in the configure Gnuastro warning messageRaul Infante-Sainz-1/+1
Until this commit, when the version of Gnuastro doesn't match with the version that the project was designed to use, the warning message saying how to run the configure step was not showing the option `-e'. This situation is normal when updating the version of Gnuastro to the most recent one (with the project already configured). However, the use of this option is more convenient than giving the top-build directory, etc, every time. With this commit, the warning message has been changed in order show also the option `-e' in the re-configure of the project.
2020-05-08Installing Scamp with the option --enable-plplot=noRaul Infante-Sainz-1/+3
Until this commit, Scamp was installed with the option `--enable-plplot=yes' (the default). However, Maneage does not have PLplot included. As it is possible to install Scamp without PLplot (in that case it won't generate plots), with this commit this option has been set to `no'. As a consequence, Scamp will be installed even if the host system does not have PLplot without crashing (but it won't make any plot).
2020-05-08GNU Gettext built as a dependency of BashRaul Infante-Sainz-98/+69
Until now Maneage used the host's GNU Gettext if it was present. Gettext is a relatively low-level software that enables programs to print messages in different languages based on the host environment. Even though it has not direct effect on the running of the software for Maneage and the lanugage environment in Maneage is pre-determined, it is necessary to have it because if the basic programs see it in the host they will link with it and will have problems if/when the host's Gettext is updated. With this commit (which is actually a squashed rebase of 9 commits by Raul and Mohammad), Gettext and its two extra dependencies (libxml2 and libunistring) are now installed within Maneage as a basic software and built before GNU Bash. As a result, all programs built afterwards will successfully link with our own internal version of Gettext and libraries. To get this working, some of the basic software dependencies had to updated and re-ordered and it has been tested in both GNU/Linux and macoS. Some other minor issues that are fixed with this commit - Until this commit, when TeX was not installed, the warning message saying how to run the configure step in order to re-configure the project was not showing the option `-e'. However, the use of this option is more convenient than entering the top-build directory and etc every time. So with this commit, the warning message has been changed in order use the option `-e' in the re-configure of the project. - Until now, on macOS systems, Bash was not linking with our internally built `libncurses'. With this commit, this has been fixed by setting `--withcurses=yes' for Bash's configure script.
2020-05-06Corrected latex citation of sip_tpv program (no more \ before _)Mohammad Akhlaghi-1/+1
Until now there we had manually inserted a `\' before the `_' of sip_tpv program. However, we also recently added a step in the configure script to add a `\' before every `_' when writing the final LaTeX macro. This was because some C compilers (when the host's is used) have an `_' in their version that we had no control over. With this commit, the `\' is removed from `sip_tpv' in its build-rule and we let the backslash be inserted automatically.
2020-05-06Software are rebuilt automatically with change of versionMohammad Akhlaghi-227/+232
Until now, when you changed the version of a software in an already-built system, its tarball would be downloaded, but it wouldn't actually build. The only way would be to force the build by deleting the main target of that file (under `.local/version-info/TYPE/PROGRAM'). This was because the tarballs were an order-only prerequisite which was implemented some time ago based on some theoretical argument that if the tarball dates changes, the software should not be rebuilt (because we check the checksum). However, the problems this causes are more than those it solves: Users may forget to delete the main target of the program and mistakenly think that they are using the new version. The fact that all the numbers going into the paper also contain this number further hides this. With this commit, tarballs are no longer order-only and any time a version of a software is updated, it will be automatically built and not cause confusion and manual intervention by the users. As a result of this change, I also had to correct the way we find the tarball from the list of prerequisites.
2020-05-02First implementation of style in IEEEtran styleMohammad Akhlaghi-552/+830
The paper is no longer using LuaLaTeX, but raw LaTeX (that saves a DVI), it is so much faster! Initially I had used LuaLaTeX to use special fonts to resemble the CODATA Data Science Journal, but all that overhead is no longer necessary. Therefore I also removed the MANY extra LaTeX packages we were importing. The paper builds and is able to construct one of its images (the git-branching figure) with only 7 packages beyond the minimal TeX/LaTeX installation. Also in terms of processing it is so much faster. The text is just temporary now, and mainly just a place holder. With the next commit, I'll fill it with proper text.
2020-05-01Added a .gitattributes file to avoid merging some filesMohammad Akhlaghi-0/+6
As explained in the new `README-hacking.md', this files greatly helps in avoiding un-necessary conflicts.
2020-05-01Imported recent changes in Maneage, minor conflicts fixedMohammad Akhlaghi-651/+733
A few small conflicts showed up here and there. They are fixed with this merge.
2020-05-01Fixed OpenSSL deprecation bug on some OSs, causing problems in libgit2Boud Roukema-1/+16
Until this commit, the configure step would fail with an error when compiling libgit2 on a test system. The origin of this bug, on the OS that was tested, appears to be that in OpenSSL Version 1.1.1a, openssl/ec.h fails to include openssl/openconf.h. The bug is described in more detail at https://savannah.nongnu.org/bugs/index.php?58263 With this commit, this is fixed by manually inserting a necessary components. In particular, `sed` is used to insert a preprocessor instruction into `openssl/openconf.h`, defining `DEPRECATED_1_2_0(f)`, for an arbitrary section of code `f`, to include that code rather than exclude it or warn about it. This commit is valid provided that openssl remains at a version earlier than 1.2.0. Starting at version 1.2.0, deprecation warnings should be run normally. We have thus moved the version of OpenSSL in `versions.conf' to the section for programs that need to be manually checked for version updates with a note to remind the user when reaching that version. Other packages that use OpenSSL may benefit from this commit, not just libgit2.
2020-05-01Abstract: three minor language editsBoud Roukema-4/+4
The difference between `that` and `which` is not strictly required, but it helps clarify the difference in meaning, which is important in science and software :). This is best shown by an example: * Maneage provides reproducibility, which is a good thing. The sentence would make sense if we drop `, which is a good thing.` The last part of the sentence is a comment rather than a necessary part of the sentence. * Maneage provides a quality of reproducibility that is missing from other implementations. The sentence would not quite make sense if we drop `that is ...`, since we would not know what sort of quality is provided. The fact that the quality is missing is key to the intended meaning of the sentence.
2020-05-01Merged David's suggestions, further edited to be more clearMohammad Akhlaghi-7/+5
It is also slightly shorter with this commit, without loosing anything substantial.
2020-05-01Minor edits in abstractDavid Valls-Gabaud-7/+7
No need to invent a new word (archive-able) when an existing one (archivable) does the job. One issue that we have not included and which perhaps we could discuss in the paper (space permitting), is that this tool could bypass the use of blockchains in this context.
2020-05-01Minor edits in abstract, link between analysis and narrative addedMohammad Akhlaghi-3/+3
As discussed by Boud in the previous commit, this is an important feature that was lost in the new abstract. So I added it as a criteria.
2020-05-01Several minor edits to the title + abstractBoud Roukema-12/+13
Most are minor English tidying, e.g. * spelling: achieving * archivable - https://en.wiktionary.org/wiki/archivable * `i.e.` does not look good in an abstract; * `when` didn't sound quite right; Comment: we no longer state one of the most interesting aspects of Maneage - producing the draft paper that is submittable for peer review in a way that makes it natural for the authors to achieve automatic consistency between the calculations/analysis and the values in the paper. But this is hard to describe in a compact way without disrupting the overall argument of the abstract, so it's a bit of a pity, but people will learn about it anyway from the body of the article (or from trying out the package!) `Peer-review verification` does not directly state producing a pdf. Related to this absence of talking about reproducing the *paper*, not just the calculations, I suggest dropping `, with snapshot \projectversion` from the abstract initially sent to the journal (they can't stop us updating it afterwards), because without the context of explaining that the paper itself is produced from the package, it's not clear what the snapshot means - a snapshot of the abstract? In the `real` paper, it makes sense, because the reader will have access to the rest of the paper.