Mnemosyne aims to be a user-friendly flash card program, with a clean, deceptively simple interface that does not require you to wrap your head around complicated concepts before you can start using it. At the same time, under the hood it is very powerful, and its architecture allows infinite extensibility and customisibility through plugins and a scripting API, for the benefit of power users. Optional Dependency: texlive (for entering mathematical equations in cards)