- Hashcards ist eine Local-First-App für Spaced Repetition, ähnlich wie Anki oder Mochi, verwendet aber Markdown-Dateien statt einer Datenbank
- Jede Lernkarte wird als Klartext geschrieben und unterstützt die Formate Frage (Q), Antwort (A) und Cloze Deletion (C); die Wiederholungsplanung wird mit dem FSRS-Algorithmus verwaltet
- Kartendaten werden über Text-Hashwerte identifiziert, während der Wiederholungsverlauf in SQLite gespeichert wird; über ein Git-Repository sind Versionsverwaltung und Teilen möglich
- Das System wurde mit dem Ziel entwickelt, die Probleme von Ankis komplexer Oberfläche und Mochis ineffizientem Algorithmus zu lösen, mit Fokus auf minimale Eingabereibung und vollständige Datenhoheit
- Die Kombination aus Markdown-Basis, Git-Integration und FSRS-Scheduler bietet einen neuen Ansatz, mit dem Entwickler und Lernende transparentes und automatisiertes Lernmanagement umsetzen können
Überblick über Hashcards
- Hashcards ist ein lokal ausgeführtes Open-Source-System für Spaced Repetition, das ein Lernerlebnis ähnlich wie Anki oder Mochi bietet
- Die Wiederholungsplanung wird mit dem FSRS (Free Spaced Repetition Scheduler)-Algorithmus verwaltet
- Die Weboberfläche läuft auf
localhost:8000, und der Wiederholungsverlauf wird in einer SQLite-Datenbank gespeichert
- Der zentrale Unterschied ist die Struktur, bei der keine Datenbank für die Karten verwendet wird, sondern jede Lernkarte als Markdown-Datei verwaltet wird
- Beispiel:
Cards/Math.md, Cards/Chemistry.md usw.
- Jede Datei enthält mehrere Q/A- oder Cloze-Deletions-Karten
Textbasierte Kartenstruktur
- Lernkarten werden in einem einfachen Textformat geschrieben
- Da die Markdown-Syntax direkt genutzt werden kann, entsteht ein Arbeitsgefühl ähnlich wie beim Schreiben normaler Notizen
- Der Befehl zum Starten einer Wiederholung hat die Form
$ hashcards drill <path>
Designphilosophie und Vorteile
- Das Design von Hashcards setzt „reibungsloses Kartenschreiben“ als oberstes Ziel
- Wenn das Erfassen und Bearbeiten von Karten schnell und intuitiv ist, steigt das Lernvolumen
- Durch die Verwendung von eckigen Klammern (
[]) wird die Eingabe von Cloze Deletions verkürzt
- Die Integration mit Git-Repositories bietet unter anderem folgende Vorteile
- Versionsverwaltung, Änderungsverfolgung, Zusammenarbeit und öffentliches Teilen
- Karten können mit standardmäßigen Unix-Werkzeugen oder Skripten gesucht und bearbeitet werden
- Aus strukturierten Daten wie CSV lassen sich Karten automatisch erzeugen
- Karten werden über Text-Hashwerte identifiziert, wodurch stabile inhaltsbasierte Referenzen möglich sind
Bewertung bestehender Systeme (Anki, Mochi)
- Anki
- Vorteile: Open Source, FSRS-Unterstützung, umfangreiche Statistiken, automatische Kartenerzeugung über note types
- Nachteile: komplexe und wenig intuitive Oberfläche, Ineffizienz der WYSIWYG-Eingabe, Abhängigkeit von Plugins
- Mochi
- Vorteile: aufgeräumte UI, Markdown-basierte Eingabe, bedienung per Tastenkürzeln
- Nachteile: umständliche Cloze-Deletions-Syntax, keine note types, einfacher Algorithmus
- Der bisherige Algorithmus arbeitet mit einem einfachen Multiplier-Modell und ist für das langfristige Behalten ineffizient
- Kürzlich wurde zwar FSRS-Beta-Unterstützung hinzugefügt, die bestehenden Probleme bei der Kartenplanung bleiben jedoch bestehen
Implementierung und Workflow von Hashcards
- Nutzer können Karten direkt in einem Texteditor schreiben und bearbeiten
- Beispiel:
Q: What is the atomic number of carbon? / A: 6
- Auch mehrzeilige Karten oder komplexere Formate lassen sich innerhalb von Markdown natürlich ausdrücken
- Karten lassen sich leicht an verändertes Wissen anpassen
- Durch Markdown-Dateien pro Kapitel kann die Struktur eines Lehrbuchs nachgebildet werden
- Verwandte Konzepte können in benachbarten Karten angeordnet werden, was die Navigation bei Änderungen effizienter macht
- Mit Git-basierter Verwaltung lassen sich folgende Funktionen nutzen
- Vollständige Versionsverwaltung mit Commits, Branches, Merges, PRs usw.
- Teilen von Lernmaterial und Zusammenarbeit über öffentliche Repositories
Synergie des textbasierten Ansatzes
- Über Editor-Makros sind automatische Kartenerzeugung und Navigation möglich
- Mit Unix-Befehlen (
wc, awk usw.) lassen sich Kartenstatistiken und Massenänderungen durchführen
- Mit Skripten und Makefiles können Karten aus externen Daten wie CSV automatisch erzeugt werden
- Über eine Veröffentlichung auf GitHub kann der persönliche Lernprozess geteilt werden, was zur Verbreitung einer Lernkultur beiträgt
Fazit
- Hashcards ist eine neue Form von Spaced-Repetition-System, die ein einfaches Textformat, einen fortgeschrittenen Scheduling-Algorithmus (FSRS) und Git-Integration kombiniert
- Es minimiert die Reibung beim Erstellen von Karten, garantiert vollständige Datenhoheit und bietet gleichzeitig Automatisierung und Skalierbarkeit
- Es wird als Werkzeug präsentiert, das sowohl Entwicklern als auch Lernenden eine transparente und kontrollierbare Lernumgebung bietet
Noch keine Kommentare.