View Source Memorex.Scheduler.Config (Memorex v0.2.4)

The configuration for the Anki SM-2 algorithm.

See a detailed list of the Anki settings in this Anki forum The Anki manual also contains a lot of information.

These values are modified by deck config toml files, and also by environment variables (see config/runtime.exs).

Memorex SettingAnki SettingAnki Default
new_cards_per_daynew cards per day20
max_reviews_per_daymaximum reviews per day200
---
learn_ahead_time_intervallearn ahead time (in settings?)20 minutes
---
learn_stepslearning steps[1 min, 10 min]
graduating_interval_goodgraduating interval1 day
graduating_interval_easyeasy interval4 days
---
relearn_stepsrelearning steps[10 min]
---
initial_easestarting ease2.5
---
easy_multipliereasy bonus1.3
hard_multiplierhard interval1.2
lapse_multipliernew interval (? I think so)0.0
interval_multiplierinterval modifier1.0
---
ease_again<not in settings>-0.2
ease_hard<not in settings>-0.15
ease_good<not in settings>0.0
ease_easy<not in settings>0.15
ease_minimum<not in settings>1.3
---
max_review_intervalmaximum interval100 years
min_review_intervalminimum interval1 day
---
leech_thresholdleech threshhold8 lapses
---
min_time_to_answer<not in settings>1 sec
max_time_to_answermaximum answer seconds1 min
---
relearn_easy_adjNOT SURE WHERE THIS IS FROM1 day
---
timezonetimezone1 day

Link to this section Summary

Functions

Returns the default Memorex.Schedler.Config as returned from the application environment (e.g., environment variables. Converts from the application env map to an actual Memorex.Scheduler.Config struct.

Merges in a map into the Memorex.Scheduler.Config. This is used to merge in deck-specific configuration from toml config files.

Link to this section Types

@type t() :: %Memorex.Scheduler.Config{
  ease_again: nil | float(),
  ease_easy: nil | float(),
  ease_good: nil | float(),
  ease_hard: nil | float(),
  ease_minimum: nil | float(),
  easy_multiplier: nil | float(),
  graduating_interval_easy: nil | Timex.Duration.t(),
  graduating_interval_good: nil | Timex.Duration.t(),
  hard_multiplier: nil | float(),
  initial_ease: nil | float(),
  interval_multiplier: nil | float(),
  lapse_multiplier: nil | float(),
  learn_ahead_time_interval: nil | Timex.Duration.t(),
  learn_steps: nil | [Timex.Duration.t()],
  leech_threshold: nil | non_neg_integer(),
  max_review_interval: nil | Timex.Duration.t(),
  max_reviews_per_day: nil | non_neg_integer(),
  max_time_to_answer: nil | Timex.Duration.t(),
  min_review_interval: nil | Timex.Duration.t(),
  min_time_to_answer: nil | Timex.Duration.t(),
  new_cards_per_day: nil | non_neg_integer(),
  relearn_easy_adj: nil | Timex.Duration.t(),
  relearn_steps: nil | [Timex.Duration.t()],
  timezone: nil | String.t()
}

Link to this section Functions

@spec default() :: map()

Returns the default Memorex.Schedler.Config as returned from the application environment (e.g., environment variables. Converts from the application env map to an actual Memorex.Scheduler.Config struct.

Link to this function

merge(default_config, deck_config)

View Source
@spec merge(map(), t()) :: t()

Merges in a map into the Memorex.Scheduler.Config. This is used to merge in deck-specific configuration from toml config files.