Konsolid

Download

The program

Spanish vocabulary files

Japanese vocabulary files

The Konsolid User Manual

What is Konsolid?

Konsolid is a simple flashcard system written in Python, originally created to help me study Japanese.

What does Konsolid stand for?

Konsolid is a play on Konsole, the standard terminal emulator for the K Desktop Environment, and memory consolidation, which is a cognitive process stabilizing a memory trace after the initial acquisition. The main goal of Konsolid is to train the long term memory through a simple, unintrusive user interface.

Why yet another flashcard system?

There are a number of notable free open source flashcard systems that employ most of the features of Konsolid, including Anki, Granule, and Mnemosyne. Why then, you might ask, write yet another flashcard system? The reason is that I wanted a system with a very simple interface, so that it can be used in conjunction with other programs. By requiring only a terminal and Python installed, this program can be used in many different contexts. For example, one can use SSH to access a server with Python installed, and run it from there. In addition, making the terminal background transparent, one can watch a movie in the background while rehearsing vocabulary in the foreground. In the future I plan to add command line functionality, which will make it possible to connect Konsolid to games.

Features

Despite the simple look, Konsolid employs several tricks to boost learning efficiency.

Spaced Repetition. For effectively committing a large number of items to the long term memory, the spaced repetition technique is absolutely essential. Increasing the intervals of time between subsequent review of previously learned material appeals to the spacing effect, which refers to the fact that we more easily learn items when studied a few times over a long period of time. As a secondary effect, easy words are quickly separated from hard words, making sure that no time is wasted on repeating words one already knows.

Active Learning. It is asked of you not just to recall the answer, but also to type it. To avoid an answer being correct in intent but not an exact match, a fuzzy matching algorithm is applied. In case the input is not a fuzzy match either, it is possible to overrule the judgement by pressing o. Moreover, if a card is unwanted, it can be deleted from the deck by pressing d.

Randomization. To avoid that a sequence of words is always encountered in the same order, a slight randomization in scheduling time is added.

Statistics. Because it can be motivating to visualize your progress, it is possible to display a histogram of the cards by rehearsal interval. On top it shows X/Y, which means that of the Y cards in the deck, X are scheduled for rehearsal. To the right it shows the number of cards in the pool.

Autosave. To avoid losing your progress after a crash, the scheduler is autosaved after each card that is rehearsed. In addition, a backup is saved every time you quit the program.

Unicode. By supporting Unicode, languages with non-latin characters can be rehearsed.

System Requirements

To run Konsolid all you need is a terminal and Python installed on your system.

How to use Konsolid

To start Konsolid, open a terminal, change to the installation directory, and type python Konsolid.py in the command line and press enter. You will now see the Main Menu, which will list several options:

Reading the manual. From the Main Menu you can always read this manual by choosing Read Manual. Alternatively you can just open the file README.txt in any text editor.

Creating a scheduler. To get started you will need to create a 'scheduler', which is a file that keeps track of the items you are learning and their rehearsal schedules. To do this, select New Scheduler from the Main Menu.

A new screen will pop up, asking what you would like to name your scheduler. On top all scheduler files in the current directory are listed, so that you can make sure not to overwrite a pre-existing scheduler file. Enter a name of your scheduler, for instance Japanese.sch.

The next screen will show you all vocabulary files in your current directory. Each of these vocabulary files contains a collection of 'cards', which are the items that you will rehearse. After choosing one of the vocabulary files, the cards inside will be added to the 'pool' of your scheduler, which is where your scheduler draws from whenever you're ready to start learning new cards. Pressing a key will return you to the Main Menu.

Saving the scheduler. From the Main Menu you can save the scheduler by selecting Save Scheduler.

Quitting Konsolid. From the Main Menu you can quit the program by selecting Quit.

Loading a scheduler. The next time you start Konsolid you can load this scheduler by choosing Load Scheduler. You can then select the scheduler from the next screen.

Injecting vocabulary. From the Main Menu you can always add the cards from other vocabulary files into your pool, by choosing Inject Vocabulary. You will encounter the same screen as before.

The vocabulary trainer. Once you have created a scheduler with cards in its pool, you can start rehearsing by selecting Vocabulary Trainer. You can always return to the home screen by pressing escape. The scheduler will remove the first ten cards from your pool and add them to your 'deck', which is the collection of cards that you are rehearsing.

How does it work in theory? Each of the cards will have their rehearsal time set to the present, so that all ten cards can be rehearsed immediately. If a card is rehearsed correctly, the new rehearsal time will be set to the current time + its rehearsal interval, which is initially 1 hour. After that, the rehearsal interval will be multiplied by 7 (so that the next time you answer correctly, the card should be rehearsed 7 hours later, then 49 hours, etc.). If you answer incorrectly, the rehearsal time will be set to the current time and its rehearsal interval will be reset to 1 hour. When there are no cards left with rehearsal time before the current time, ten new cards from the pool will be added to the scheduler.

How does it work in practice? Once inside the vocabulary trainer, the first line will show you the 'front' of the card. The second line shows > together with a cursor, where you should type your answer. On pressing enter, your answer will be compared to the 'back' of the card. The next screen shows you whether your answer is a fuzzy match (green) or not (red), the front of the card, the back of the card, and corresponding notes (if any).

Vocabulary Trainer Menu. At any time you can press F2 to open the Vocabulary Trainer Menu. From there you can

  1. Print a list of cards in the deck

  2. Print a list of cards in the pool

  3. Show a histogram of the cards in your deck by rehearsal interval

  4. Quit to the Main Menu

  5. Return to the Vocabulary Trainer

Acknowledgment

I wish to express my gratitude to Jean-Laurent d'Etoile Ladage, for beta testing.

Contact

If you have a feature request, a bug report, or simply enjoyed using the program, please drop me a line.