Τὸ Gnosis (γνῶσις) εἶναι ὑλοποίηση συστήματος ἐπανάληψης μὲ διαστήματα (SRS) γιὰ λήψη σημειώσεων καὶ αὐτοέλεγχο, γιὰ GNU Ἤμαξ.
Τὸ Gnosis δὲν χρησιμοποιεῖ μάθηση τύπου καρτῶν μνήμης· ἀντ’ αὐτοῦ χρησιμοποιεῖ δυαδικὴ τιμὴ γιὰ νὰ ἀξιολογήσει τὴν εἴσοδο τοῦ χρήστη. Δηλαδή ἢ ξέρεις τὴ σωστὴ ἀπάντηση, ἢ δὲν τὴν ξέρεις· δὲν ἐμπλέκεται καμία δική σου βαθμολόγηση.
Περὶ
Στὸ προηγούμενό μου ἄρθρο, Παράπονα γιὰ λογισμικὸ ἐπανάληψης μὲ διαστήματα, παρουσίασα ἕνα σχέδιο γιὰ αὐτὸ ποὺ θεωρῶ βέλτιστο σχεδιασμὸ ἑνὸς SRS, ποὺ καλύπτει τὶς δικές μου προσωπικὲς προτιμήσεις.
Ἔτσι, ἀνέπτυξα τὸ δικό μου SRS, gnosis (γνῶσις), προφερόμενο «GNU-sis», ποὺ σημαίνει γνώση στὰ ἑλληνικά. Αὐτὸ τὸ SRS ἀντιμετωπίζει τὶς ἀνησυχίες ποὺ εἶχα ἐπισημάνει προηγουμένως. Πρὸς τὸ παρόν, τὸ βρῆκα ἐξαιρετικὰ ὠφέλιμο καὶ, ὡς ἐκ τούτου, ἀποφάσισα νὰ τὸ μοιραστῶ μὲ ὅλους σας.
Διαφορὲς μὲ ἄλλα SRS
Τὸ Gnosis δὲν ὑλοποιεῖ συνεδρίες ἐπανάληψης μὲ κάρτες μνήμης ὅπου ὁ
χρήστης βαθμολογεῖ μόνος του τὴν ἀπάντησή του σὲ αὐθαίρετη κλίμακα.
Ἀντ’ αὐτοῦ ὑλοποιεῖ τύπους «σημείωσης» ποὺ ἀπαιτοῦν εἴσοδο χρήστη.
Κάποιοι ἀπὸ αὐτοὺς τοὺς τύπους σημειώσεων, ὅπως τὸ MCQ
ἐρώτηση πολλαπλῆς ἐπιλογῆς, ἐπιτρέπουν ἀκόμα καὶ τὴν προσομοίωση
ἐξετάσεων πραγματικῆς ζωῆς.
Σὲ ἀντίθεση μὲ ἄλλες ὑλοποιήσεις SRS γιὰ GNU Ἤμαξ, τὸ gnosis δὲν
βασίζεται στὸ org-mode, ποὺ ἔχω βρεῖ ὅτι δὲν εἶναι ἰδανικὴ ἐπιλογὴ
ὡς ἀντικαταστάτης βάσης δεδομένων. Ἀντ’ αὐτοῦ ἐπιλέγει βάση
sqlite μὲ
git γιὰ παρακολούθηση ὁποιωνδήποτε
ἀλλαγῶν, ἐπιτρέποντας ἀποδοτικὴ διαχείριση δεδομένων, χειρισμὸ καὶ
ἀκεραιότητα δεδομένων.
Ἐπιπλέον, ἐφόσον τὸ Gnosis βασίζεται στὸν Ἤμαξ καὶ εἶναι γραμμένο σὲ Emacs Lisp, προσφέρει βολικὴ καὶ (ἐλπίζω) εὐχάριστη ἐμπειρία προσαρμογῆς σύμφωνα μὲ τὶς ἀτομικές σου προτιμήσεις.
Ὡστόσο, ἕνα μειονέκτημα τῆς χρήσης τοῦ Gnosis εἶναι ὅτι πρὸς τὸ παρὸν δὲν ὑποστηρίζεται σὲ κινητὲς συσκευές, καθὼς ὁ Ἤμαξ δὲν ἔχει ἀκόμα ἐπεκτείνει τὴ συμβατότητά του σὲ τέτοιες πλατφόρμες.
Ἐγκατάσταση
Μπορεῖς νὰ πάρεις τὸ gnosis ἀπὸ τὸν προσωπικό μου git διακομιστὴ ἐδῶ ἢ χρησιμοποιώντας αὐτὸν τὸν ἀντίγραφο στὸ SourceHut.
Straight.el
(straight-use-package
'(gnosis :type git
:host nil
:repo "https://git.thanosapollo.org/gnosis"))
Χειροκίνητα
$ git clone https://git.thanosapollo.org/gnosis
Πρόσθεσε αὐτὸ στὴ διαμόρφωση Ἤμαξ σου:
(add-to-list 'load-path "/path/to/gnosis")
(load-file "~/path/to/gnosis.el")
(require 'gnosis)
Προσθήκη σημειώσεων
Ἡ δημιουργία σημειώσεων γιὰ gnosis μπορεῖ νὰ γίνει μὲ ἁπλὸ
M-x gnosis-add-note
Τὰ πάντα γίνονται μέσω τοῦ mini-buffer. Ἡ προσωπική μου ροὴ ἐργασίας
ἐκμεταλλεύεται αὐτὸ μὴ φεύγοντας οὐσιαστικὰ ἀπὸ τὴν προτροπὴ
gnosis-add-note μέχρι νὰ τελειώσω τὴ μελέτη ἑνὸς κεφαλαίου/τμήματος,
χρησιμοποιώντας
pdf-tools ἢ
nov.el.
Νομίζω δὲν θὰ χρειαστεῖς πολλὴ καθοδήγηση στὴ δημιουργία σημειώσεων
γιὰ ὁποιονδήποτε τύπο σημείωσης, ἐκτὸς ἀπὸ cloze.
Δημιουργία σημειώσεων τύπου cloze
Οἱ ἐρωτήσεις σημειώσεων τύπου cloze μορφοποιοῦνται παρόμοια μὲ τὴ σύνταξη τοῦ Anki, ὡς ἑξῆς: > Ἡ {c1:κυπροεπταδίνη} εἶναι {c2:ἀνταγωνιστὴς ὑποδοχέων 5-HT2} ποὺ χρησιμοποιεῖται γιὰ τὴ θεραπεία τοῦ {c2:συνδρόμου σεροτονίνης}
ΣΗΜΕΙΩΣΗ: Μπορεῖς ἐπίσης νὰ μορφοποιήσεις clozes σὰν Anki ἂν τὸ
προτιμᾶς· π.χ. {{c1::Cyproheptadine}}
Γιὰ κάθε ἐτικέτα
cXθὰ δημιουργηθεῖ σημείωση τύπου cloze· τὸ παραπάνω παράδειγμα δημιουργεῖ 2 σημειώσεις τύπου cloze.Κάθε ἐτικέτα
cXμπορεῖ νὰ ἔχει πολλαπλὰ clozes, ἀλλὰ κάθε cloze πρέπει νὰ εἶναι ΜΟΝΑΔΙΚΗ λέξη (ἢ μοναδικὸς συνδυασμὸς λέξεων) στὴ δεδομένη σημείωση.
Προσαρμογὴ ἀλγορίθμου gnosis
gnosis-algorithm-interval
Αὐτὴ εἶναι μιὰ λίστα 2 ἀριθμῶν, γιὰ τὰ πρῶτα 2 διαστήματα μετὰ ἀπὸ ἐπιτυχῆ ἐπανάληψη. Γιὰ παράδειγμα:
(setq gnosis-algorithm-interval '(1 3))
Μετὰ τὴν πρώτη ἐπιτυχῆ ἐπανάληψη μιᾶς σημείωσης, θὰ τὴ δεῖς ξανὰ αὔριο· ἂν ἐπαναλάβεις ἐπιτυχῶς τὴν ἴδια σημείωση ξανά, ἡ ἑπόμενη ἐπανάληψη θὰ εἶναι μετὰ ἀπὸ 3 μέρες.
gnosis-algorithm-ef
Αὐτὴ εἶναι ἡ τιμὴ τοῦ «παράγοντα εὐκολίας» gnosis· βασικὰ εἶναι μιὰ λίστα ποὺ ἀποτελεῖται ἀπὸ 3 στοιχεῖα. Τὸ πρῶτο στοιχεῖο εἶναι ὁ παράγοντας αὔξησης, ποὺ χρησιμοποιεῖται γιὰ νὰ αὐξήσει τὸν παράγοντα εὐκολίας μετὰ ἀπὸ ἐπιτυχῆ ἐπανάληψη. Τὸ δεύτερο στοιχεῖο ἀναφέρεται στὸν παράγοντα μείωσης, ποὺ χρησιμοποιεῖται γιὰ νὰ μειώσει τὸν παράγοντα εὐκολίας μετὰ ἀπὸ ἀποτυχημένη ἐπανάληψη. Τὸ τρίτο στοιχεῖο εἶναι ὁ (ἀρχικὸς) συνολικὸς παράγοντας εὐκολίας, ποὺ χρησιμοποιεῖται γιὰ τὸν ὑπολογισμὸ τοῦ ἑπόμενου διαστήματος.
Τὰ βασικὰ τοῦ πῶς χρησιμοποιεῖται εἶναι ὅτι πολλαπλασιάζεται μὲ τὸ τελευταῖο διάστημα· π.χ. ἂν ἐπανέλαβες τελευταία φορὰ μιὰ σημείωση πρὶν 6 μέρες, καὶ ὁ παράγοντας εὐκολίας (συνολικὸς) αὐτῆς τῆς σημείωσης εἶναι 2.0, τὸ ἑπόμενο διάστημά σου θὰ ἦταν 6 * 2.0 & ὁ ἑπόμενος συνολικὸς ef θὰ εἶναι 2.0 + increase-factor.
Παράδειγμα διαμόρφωσης:
(setq gnosis-algorithm-ef '(0.3 0.3 1.3))
gnsois-algorithm-ff
Αὐτὴ εἶναι ἡ τιμὴ τοῦ παράγοντα λήθης (ff) gnosis· πρέπει νὰ εἶναι ἀριθμὸς κινητῆς ὑποδιαστολῆς κάτω ἀπὸ 1. Χρησιμοποιεῖται γιὰ τὸν ὑπολογισμὸ τοῦ ἑπόμενου διαστήματος μετὰ ἀπὸ ἀποτυχημένη ἐπανάληψη, πολλαπλασιαζόμενη μὲ τὸ τελευταῖο διάστημα. Ἂν γιὰ μιὰ σημείωση μὲ τιμὴ last-interval 6 ἡμερῶν καὶ ff 0.5, μετὰ ἀπὸ ἀποτυχημένη ἐπανάληψη τὸ ἑπόμενο διάστημα θὰ εἶναι σὲ 6 * 0.5 μέρες
Παράδειγμα διαμόρφωσης:
(setq gnosis-algorithm-ff 0.5)