Learning and retaining information is one of the biggest challenges for programmers. So if there was a way to increase the efficiency of one's learning, it would be very useful. Luckily, there is such a thing: spaced repetition. TLDR: you create flashcards, each of which contains one piece of information you want to remember, and review them at intervals that psychology has determined are optimal for learning.
There are already tools for this - Anki is a popular example. However, there are often limitations with these tools:
- closed source
- not very much control over data
- hard to understand
- confusing configuration
- features I don't need as a programmer
- not for the CLI
That brings us to the subject of this project:
clsr. The idea is to do spaced repetition like other tools, but with a few special traits:
- as a command line tool
- with data stored as JSON, which lets enables the user to track it with version control
Goal for this Hackweek
- Rework the data model so that cards store a record of past data, rather than the next review date.
- Work on "import from Anki" functionality.
- Many other possible things - we will see how far we get!
Keywords: golang go tcell json git mercurial svn cobra pflags
This project is one of its kind!