# Victor's logbook This logbook is created to summarize and record my advancements during the mooc: Reproductible research. Below I will add all useful information as well as other relevant notes. ## Notebook indexing after [John Locke](https://en.wikipedia.org/wiki/John_Locke) The main idea of this indexing method resides in how the actual index is conceived. Either in the end or at the beginning of one's notebook, the index shall be constructed by combinning each alphabet letter with a vowel (here y is considered as being i). Each combination shall be written in a line like: - (A--Z) a: - (A--Z) e: - (A--Z) i: - (A--Z) o: - (A--Z) u: and respecting the alphabet order. At the bottom/top/sides of each notebook page a keyword of its contents shall be written and it is this keyword that will be pointed to in the index. The firs letter of the keyword points to the main group in the index and the first vowel controls the subgroup. In the end, what will be annotated (in the index) is the page number. As an example, suppose we use the keyword (one can use as many as he sees fit) COMPOSANT in page 101 and CALCULATIONS in page 15. In the index one should then annotate as: COMPOSANT: - C o: 101 CALCULATIONS: - C a: 15 For each new keyword falling in the same index entry, the subsequent page numbers must be separated by some punctuation mark, ike the usual virgule. ## Tags, labels and search engines The same way we do with latex to reference floating objects, we can create labels inside files to highlight some specific information contained inside it. Inside files containing code, for example, one could put labels inside commentaries. Let's take an example where a FORTRAN .f90 file contains a FFT subroutine which we want to label for future use. We could then do: ```fortran ! FAST FOURIER TRANSFORM :FFT ``` where we put the label :FFT. One can choose any label, they only rule is to follow logic and be organized, do not just create random label forms each time labelling is needed. The above logic can also be applied to metadata (image files) by adding specific fields in the file header. Now, to search these labels inside files we need an appropriate engine. Inside linux, the easiest way is to `grep` or `pdfgrep` expression. During the course the following desktop applications were suggested: - [DocFetcher](http://docfetcher.sourceforge.net/en/index.html) - [Recoll](https://www.lesbonscomptes.com/recoll/) - [Tracker](https://wiki.gnome.org/Projects/Tracker) for files containing text and metadata. For images, [Imagemagick](https://imagemagick.org/script/index.php) and [Exiftoll](https://exiftool.org/) can also be employed.