From f5334b5ba4a2bf8bc4e1abbbf5f7890c3891b701 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Sun, 18 Feb 2024 16:33:05 +0200 Subject: doc: Update for version 0.1.7 --- doc/gnosis.info | 185 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 94 insertions(+), 91 deletions(-) (limited to 'doc/gnosis.info') diff --git a/doc/gnosis.info b/doc/gnosis.info index 712033c..348e70a 100644 --- a/doc/gnosis.info +++ b/doc/gnosis.info @@ -15,12 +15,11 @@ Gnosis (γνῶσις), pronounced "noh-sis", _meaning knowledge in Greek_, is a spaced repetition system implementation for note taking and self testing. -This manual is written for Gnosis version 0.1.5, released on 2023-01-29. +This manual is written for Gnosis version 0.1.7, released on 2023-02-18. • Official manual: • Git repositories: - • main: - • sourcehut (mirror): + • * Menu: @@ -29,6 +28,7 @@ This manual is written for Gnosis version 0.1.5, released on 2023-01-29. * Adding notes:: * Note Types:: * Customization & Extension:: +* Gnosis Algorithm:: -- The Detailed Node Listing -- @@ -47,16 +47,15 @@ Note Types Customization & Extension -* Adjust string comparison:: +* Adjust for typos | String Comparison:: * Creating Custom Note Types:: -* Customizing Gnosis Algorithm:: -* Auto push changes:: -Customizing Gnosis Algorithm +Gnosis Algorithm -* Gnosis Algorithm Initial Interval:: -* Gnosis Algorithm Easiness Factor:: -* Gnosis Algorithm Forgetting Factor:: +* Initial Interval:: +* Easiness Factor:: +* Forgetting Factor:: +* Auto push changes::  @@ -79,10 +78,8 @@ File: gnosis.info, Node: Installation, Next: Adding notes, Prev: Introduction 2 Installation ************** -Gnosis is not currently available in any ELPA, the recommended way to -install gnosis is via straight.el: - - +Gnosis is available via MELPA + • * Menu: @@ -256,43 +253,41 @@ the ANSWER must be either 121 (‘y’) or 110 (‘n’), as those correspond to the character values used to represent them.  -File: gnosis.info, Node: Customization & Extension, Prev: Note Types, Up: Top +File: gnosis.info, Node: Customization & Extension, Next: Gnosis Algorithm, Prev: Note Types, Up: Top 5 Customization & Extension *************************** To make development and customization easier, gnosis comes with -‘gnosis-dev’ module, that should be used to create a custom database for -testing. +‘gnosis-test’ module, that should be used to create a custom database +for testing. - To use ‘gnosis-dev’, first you have to ‘(require 'gnosis-dev)’ & run -‘M-x gnosis-dev-test’. This will create a new directory 'testing' with -a new database. + To use ‘gnosis-test’, first you have to ‘(require 'gnosis-test)’ & +run ‘M-x gnosis-test-start’. This will create a new database 'testing' +with random inputs. - To exit the testing environment, rerun ‘M-x gnosis-dev-test’ and then -enter ‘n’ (no) at the prompt "Start development env?" + To exit the testing environment, rerun ‘M-x gnosis-test-start’ and +then enter ‘n’ (no) at the prompt "Start development env?" * Menu: -* Adjust string comparison:: +* Adjust for typos | String Comparison:: * Creating Custom Note Types:: -* Customizing Gnosis Algorithm:: -* Auto push changes::  -File: gnosis.info, Node: Adjust string comparison, Next: Creating Custom Note Types, Up: Customization & Extension +File: gnosis.info, Node: Adjust for typos | String Comparison, Next: Creating Custom Note Types, Up: Customization & Extension -5.1 Adjust string comparison -============================ +5.1 Adjust for typos | String Comparison +======================================== -You may adjust ‘gnosis-string-difference’, this is a threshold value for +You can adjust ‘gnosis-string-difference’, this is a threshold value for string comparison that determines the maximum acceptable Levenshtein distance between two strings, which identifies their similarity Let's illustrate with an example: (setf gnosis-string-difference 1) - In this scenario, we set 'gnosis-string-difference' to 1. This + In this scenario, we set ‘gnosis-string-difference’ to 1. This implies that two strings will be recognized as similar if they exhibit a difference of at most one character edit. @@ -301,7 +296,7 @@ similar, considering that the latter involves just one additional character."  -File: gnosis.info, Node: Creating Custom Note Types, Next: Customizing Gnosis Algorithm, Prev: Adjust string comparison, Up: Customization & Extension +File: gnosis.info, Node: Creating Custom Note Types, Prev: Adjust for typos | String Comparison, Up: Customization & Extension 5.2 Creating Custom Note Types ============================== @@ -333,22 +328,23 @@ should be done. ‘gnosis-display’ functions  -File: gnosis.info, Node: Customizing Gnosis Algorithm, Next: Auto push changes, Prev: Creating Custom Note Types, Up: Customization & Extension +File: gnosis.info, Node: Gnosis Algorithm, Prev: Customization & Extension, Up: Top -5.3 Customizing Gnosis Algorithm -================================ +6 Gnosis Algorithm +****************** * Menu: -* Gnosis Algorithm Initial Interval:: -* Gnosis Algorithm Easiness Factor:: -* Gnosis Algorithm Forgetting Factor:: +* Initial Interval:: +* Easiness Factor:: +* Forgetting Factor:: +* Auto push changes::  -File: gnosis.info, Node: Gnosis Algorithm Initial Interval, Next: Gnosis Algorithm Easiness Factor, Up: Customizing Gnosis Algorithm +File: gnosis.info, Node: Initial Interval, Next: Easiness Factor, Up: Gnosis Algorithm -5.3.1 Gnosis Algorithm Initial Interval ---------------------------------------- +6.1 Initial Interval +==================== ‘gnosis-algorithm-interval’ is a list of 2 numbers, representing the first two initial intervals for successful reviews. @@ -362,85 +358,92 @@ you will see it again tomorrow, if you successfully review said note again, the next review will be after 3 days.  -File: gnosis.info, Node: Gnosis Algorithm Easiness Factor, Next: Gnosis Algorithm Forgetting Factor, Prev: Gnosis Algorithm Initial Interval, Up: Customizing Gnosis Algorithm +File: gnosis.info, Node: Easiness Factor, Next: Forgetting Factor, Prev: Initial Interval, Up: Gnosis Algorithm -5.3.2 Gnosis Algorithm Easiness Factor --------------------------------------- +6.2 Easiness Factor +=================== -‘gnosis-algorithm-ef’ is a list that consists of 3 items. +The ‘gnosis-algorithm-ef’ is a list that consists of three items: - The first item is the increase factor, used to increase the easiness -factor upon successful review. + 1. Easiness factor increase value: Added to the easiness factor upon a + successful review. - Second item refers to the decrease factor, used to decrease the -easiness factor upon an unsuccessful review. + 2. Easiness factor decrease value: Subtracted from the total easiness + factor upon a failed review. - The third item is the initial total easiness factor, used to -calculate the next interval. + 3. Initial total easiness factor: Used to calculate the next interval. - The basic's of how this is used is that it's being multiplied with -the last interval upon a successful review, e.g if you last reviewed a -note 6 days ago, and the easiness factor of this note is 2.0, your next -interval would be 6 * 2.0 & the total easiness factor would be 2.0 + -increase-factor as well. + 4. How this is used: - Example: + Multiplies the last interval by the easiness factor after a +successful review. - (setq gnosis-algorithm-ef '(0.3 0.3 1.3)) + For example, if the last review was 6 days ago with an easiness +factor of 2.0, the next interval would be calculated as 6 * 2.0, and the +total easiness factor would be updated by adding the increase factor. + + Configuration example: + + (setq gnosis-algorithm-ef '(0.30 0.25 1.3))  -File: gnosis.info, Node: Gnosis Algorithm Forgetting Factor, Prev: Gnosis Algorithm Easiness Factor, Up: Customizing Gnosis Algorithm +File: gnosis.info, Node: Forgetting Factor, Next: Auto push changes, Prev: Easiness Factor, Up: Gnosis Algorithm -5.3.3 Gnosis Algorithm Forgetting Factor ----------------------------------------- +6.3 Forgetting Factor +===================== ‘gnosis-algorithm-ff’ is a floating number below 1. - It's used to calculate the next interval upon an unsuccessful review, -by being multiplied with last interval. + Used to determine the next interval after an unsuccessful review. - Example: + Multiplied with the last interval to calculate the next interval. +For example, if ‘gnosis-algorithm-ff’ is set to 0.5 and the last +interval was 6 days, the next interval will be 6 * 0.5 = 3 days. - (setq gnosis-algorithm-ff 0.5) + Example configuration: - For a note with a value of last-interval of 6 days and a ff of 0.5, -upon an unsuccessful review the next interval will be 6 * 0.5 + (setq gnosis-algorithm-ff 0.5)  -File: gnosis.info, Node: Auto push changes, Prev: Customizing Gnosis Algorithm, Up: Customization & Extension +File: gnosis.info, Node: Auto push changes, Prev: Forgetting Factor, Up: Gnosis Algorithm -5.4 Auto push changes +6.4 Auto push changes ===================== -When setting ‘gnosis-auto-push’ to ‘t’, at the end of every review -session the changes to ‘gnosis-db’ will be pushed to the pre-configured -push remote. You have to set your push remote manually. +You can interactively use ‘gnosis-vc-push’ & ‘gnosis-vc-pull’. + + As the name suggests, they rely on ‘vc’ to work properly. + + Make sure you have setup a git remote for gnosis. + cd ~//gnosis # default location for gnosis + git remote add # - (setf gnosis-auto-push t) + Depending on your setup, ‘vc’ might require an external package for +the ssh passphrase dialog, such as ‘x11-ssh-askpass’.  Tag Table: Node: Top246 -Node: Introduction1419 -Node: Installation1899 -Node: Using straightel2268 -Node: Installing manually from source2780 -Node: Adding notes3469 -Node: Note Types4885 -Node: Cloze5109 -Node: Basic Type6082 -Node: Double6360 -Node: MCQ (Multiple Choice Question)6706 -Node: y-or-n7115 -Node: Customization & Extension7541 -Node: Adjust string comparison8267 -Node: Creating Custom Note Types9063 -Node: Customizing Gnosis Algorithm10198 -Node: Gnosis Algorithm Initial Interval10540 -Node: Gnosis Algorithm Easiness Factor11131 -Node: Gnosis Algorithm Forgetting Factor12135 -Node: Auto push changes12713 +Node: Introduction1277 +Node: Installation1757 +Node: Using straightel2034 +Node: Installing manually from source2546 +Node: Adding notes3235 +Node: Note Types4651 +Node: Cloze4875 +Node: Basic Type5848 +Node: Double6126 +Node: MCQ (Multiple Choice Question)6472 +Node: y-or-n6881 +Node: Customization & Extension7307 +Node: Adjust for typos | String Comparison8020 +Node: Creating Custom Note Types8856 +Node: Gnosis Algorithm9966 +Node: Initial Interval10190 +Node: Easiness Factor10697 +Node: Forgetting Factor11602 +Node: Auto push changes12162  End Tag Table -- cgit v1.2.3