To build novel ideas, you need to fetch the base ideas into working memory, operate on them, and then store the result. If the base ideas are not recalled, the novel idea cannot be formed.
On memorisation
Our claims of “learning is not memorization” may sound poetic in the abstract, but when asked to break them down concretely, we find our explanations start to sound more and more like “tower-building is not nailing wood, not welding steel, not balancing load, it is none of those mechanical things, it is the emergent grace of brushing the heavens.” Which is completely devoid of instructional value, and entirely unhelpful to any aspiring tower-builder, aside from possibly inspiring a fleeting spark of motivation that spends itself searching for a place to spend itself. - Justin Skycak
Memories decay
The probability of recalling something decays with time — steeply at first, then flattening out.
Approximately, 80% of what you learn today will be forgotten by the next week. The number is not made up — it survives contact with its source, Ebbinghaus (1885), and with a modern replication. But it is a worst case rather than a constant, and worth reading with the caveats attached.
Percentage of original learning time saved when relearning the same list, against time since learning (log scale). At six days, a quarter of the learning survives.
Hence, to effectively retain what has been learned, it is necessary periodically revise it.
Is the 80% number made up? — Ebbinghaus 1885, and its replication
What the curve actually measures. Ebbinghaus memorised lists of nonsense syllables, waited, then relearned the same list. The y-axis is not “how much can you recall” but savings: the fraction of the original learning time he no longer needed on the second pass. Savings and recall are not interchangeable — savings is the more forgiving measure, so a free-recall curve would sit lower still.
His fitted equation. He described the decay with
b(t)=(log10t)c+k100k,k=1.84,c=1.25
where t is minutes elapsed and b the percentage saved — the smooth blue line above. He gave no derivation for it, and cautioned that the constants “may find expression in other constants … under other circumstances”. Modern models drop it for an exponential, R=e−t/S, where S is the memory’s stability. That S is precisely what a scheduler like FSRS estimates per card from your review history, which is why the curve isn’t just history — it’s the object being fit.
The replication. Murre & Dros reran the whole thing 130 years later and recovered the shape, including the small upward bump around the 24-hour mark (a sleep effect — the curve is not perfectly smooth). Their tail falls much harder: 4% saved at 31 days against Ebbinghaus’s 21%.
Interval
Ebbinghaus 1885
Murre & Dros 2015
20 min
58.2
47.2
1 hr
44.2
37.3
9 hr
35.8
27.6
1 day
33.7
31.7
2 days
27.8
23.0
6 days
25.4
16.8
31 days
21.1
4.1
The verdict. At six days Ebbinghaus retained 25% and the replication 17% — 75–83% lost. So “80% in a week” is a fair reading of the source rather than an invention. The caveats are what matter: both are n=1 self-experiments, and nonsense syllables are the least learnable material there is, chosen precisely to strip out meaning. Anything understood, or hooked into what you already know, decays far more slowly. Take the number as directional — the shape is the durable finding, not the constant.
Growing up, revision involved re-reading the entire syllabus before an exam. The revision of chapters would start from the least recently learned chapter to the most recent one. I repeated this until the paper was in front of me on exam day.
This “technique” is called massing, and though it feels better, literature suggests that spaced repetition is more focused and effective.
Spacing vs Massing - Kornell & Bjork
Across experiments, spacing was more effective than massing for 90% of the participants, yet after the first study session, 72% of the participants believed that massing had been more effective than spacing….When they do consider spacing, they often exhibit the illusion that massed study is more effective than spaced study, even when the reverse is true (Kornell & Bjork, 2008, (replicated), via gwern)
Spaced repetition techniques intend to “reset” the starting point of the forgetting curve. If you get a flashcard correct, the time between subsequent reviews will increase exponentially (and vice versa). In other words, a card is surfaced only when you are about to forget its contents.
Why anki?
Anki is a spaced repetition ecosystem. It has an amazing community encompassing it. Before making your own deck, I would urge you to go through the community created public decks here.
The community is fascinating and fun. While trying to create my own flashcard deck, I came across -
deck for Instilling Novel habits (like avoiding sugar cravings) article
Audio-visual decks for language learning and learning poems,
add-on that allow you to run a slot machine everytime you get a card right (to gamify memory),
add-on that shows a jumpscare upon opening the app (apparently it helps with memory formation)
huggingface hosted datasets created after collecting years of anki usage (used to tune the spaced repetition algorithm presets).
Anki provides cross-platform support. To me, the ability to revise a deck anywhere using a phone was non-negotiable.
The AnkiDroid app solves this for android. It also provides a widget that shows the number of cards and the approximate amount of time it would take to revise them. Placing this on the home screen acts as a cue to complete the daily cards.
Cloud backups via AnkiWeb.
AnkiMCP to create cards via Claude Desktop, connected to anki via the AnkiDesktop add-on.
Anki Setup
claude + ankimcp to create cards, Ankidroid to practice anywhere.
Creating cards
The gold standard is creating cards manually. Using LLMs saves a lot of time, with revising the cards wherever the content is inaccurate.
Add custom fields
code for revising algorithms
graphs and images for visual relationships (e.g front: recall the relationship between retained knowledge and time, back: ebbinghaus_forgetting_curve.jpeg)
Making cards “atomic” is popular advice - in my experience, there are some concepts that NEED to be revised together. Imagine a tree graph formed by linking related concepts. Visiting and revising a parent node and its children together is more efficient than revising a parent, switching context and revising an unrelated node, and then coming back and revising the child. If a card is too atomic, the context switch cost accrued while revising unrelated cards is not productive. There is a happy medium to be achieved while creating the card.
Pretty formatting via custom html
tag cards liberally - by difficulty, core concept; flag to relearn or edit/delete the card.
Schedule
Revise daily, at a fixed time. I prefer doing it in the morning, after coffee.
5-10 cards per day, 3 minutes per card. This can vary based on the type of cards. Having a hard time limit, 15 minutes - works better for me.
Effort
Set the card time limit to 3 minutes, and think hard. Do not see the answer until the time limit is reached. (like the Budget Forcing strategy used in LLM inference link)
Putting in effort helps forge neuronal pathways that embed the content into long term memory. Effort is everything!
The cards should be difficult enough to feel challenging, but easy enough to be recallable. Failing a card after 4-5 tries is a sign to re-learn the concept or break the card down to smaller constituent components.
I like to flag and edit cards, and replace them with cards that represent concepts with more clarity (elicits the feeling of something opaque rotating to become transparent). I find this to be an underrated benefit of spaced repetition, revisiting the same concept with a different lens is a way to understand the concept better.
How reviewing a card deepened understanding — Kahn's Algorithm complexity
A card on the time complexity of Kahn’s Algorithm (topological sort) that I refined over several reviews, each pass sharpening the underlying idea:
First attempt. I answered O(V) — reasoning “we visit every node once”. Wrong.
Edit: 1 a nudge on the front. I added a prompt: “Think of the exact operation on the data structure that ‘visiting a node’ translates to.” That pushed me past counting nodes to counting edges, and I landed on O(V+E).
The gap We loop over V vertices, and each one walks its edges — so why isn’t it O(V⋅E)? I couldn’t resolve the multiplication into a sum.
Edit 2: the derivation on the back. Writing the sum out cracked it. The work per vertex is degout(u), notE. Summed over all vertices, every edge is counted exactly once (it has a single source), so the counts collapse to E, never V⋅E. Each edit didn’t just fix the answer — it left me understanding why.
while q: node = q.popleft() res.append(node) for neighbor in adj[node]: indegree[neighbor] -= 1 if indegree[neighbor] == 0: q.append(neighbor)
Time:O(V+E)
Space:O(V) — for the queue and indegree array (O(V+E) for the adjacency list)
Key slip: inside the loop, work per vertex is degout(u), not E. Replacing the variable with E gives ∑uE=V⋅E. Wrong.
Collapse: every edge has exactly one source, so ∑u∈Vdegout(u)=E. Each edge counted once, never V times.
Rule: nested loops multiply only when the inner count is fixed. If the inner count depends on the outer element, it’s a sum, which can sit far below the product.
What is worth remembering?
Knowledge is useful only if it is applied. Recreational learning is fun though.
data structures and algorithms
Instilling novel thought patterns and habits
e.g Front: <3 minutes ; Back: If a task should take less than 3 minutes to complete, I will just do it instead of postponing it
succesfully recalling a card containing a parent concept should update the child concepts as well - ref Fractional Implicit Revision - justin skycak / MathAcademy
Personal motivation
bad at memory
stigma of “rote” learning
compensate by rederiving, ineffective as scale increases