Augmenting Long-term Memory
augmentingcognition.com
augmentingcognition.com
When I went to university I still believed that understanding is everything and learning will happen en passant. I read many books, pondered long about them, and forgot everything a month later.
Five years ago I started studying again (computer science) and as anki has already been usefull in learning programming for me I used it extensively during my studies. Instead of taken notes on paper I just marked important facts while reading and made anki cards for them afterward. Sometimes these where simple atomic facts like "What is the definition of XYZ?", sometimes they demanded a longer answer "How does x yield y?". It took me about 20 to 30 minutes each day to reherse my cards (while commuting to work) and learning has never been that easy.
I soon realized that understanding a fact or each step of a proof the first time you read it is not as important as often stated. Understanding often only came with learning because anki forced me to think about these facts daily. That was much more effective than pondering hard about them once.
I made a deck for each course the day it started and archived it after the exam. But not only did this help me during the exam I also forgot far less of what I have learned afterwards. Overall I would say that learning with flashcards took only about a fifth of the time it would have taken with other learning techniques that have a stronger focus on understanding (mind-maps, active reading &c.)
I'm writing my own self hosted backend for this type of thing, and I'm curious what features might be of most help for me to memorize data. Though, it's quite possibly that I'd just make a bridge to Anki, who knows.
The thing I missed the most about anki was any possibility to edit and manage my cards in plaintext files. I would have really liked to type my cards with a real texteditor like Vim instead of the integrated gtk text input field.
Well, that's exactly what I implemented with the vim plugin referenced in comment below!
https://github.com/tbabej/knowledge
It takes a plain text note file and converts it to a set of cards. Syncs the updates if the notes change, and also supports things like images.
I don't have as much time as I used to for open source development, and could certainly use some help (especially on the Anki side, as I am a Mnemosyne user now).
Note that this allows you to not only have a set of flash cards, but also a nice collection of notes grouped by topic, if you want to have an overall look at the section of your domain knowledge (say, linear algebra) in context. This is a bit hard to do with a set of cards already entered in a flash-card application.
I want to point out that the essence of these systems, Anki and the others, is that you are teaching your brain what you value.
Your brain is an organ, a kind of gland for thought, and it uses a huge amount of energy (in the form of calories and oxygen, your brain uses something like 20%-- one fifth --of all the oxygen you breath) to do its job.
The brain is only going to spend as much energy as it has to for you to survive, because evolution made it that way. It's only going to spend its energy budget on memory of "facts" if it's convinced there's important survival value to do that.
This budget is largely automatic, but you can influence it, and these flash-card systems work by doing that.
The time and attention you put into setting this up and then being able to successfully answer the questions that pop up, exactly mimic the time, attention, and reward of hunting small game.
Think about how a cat studies anything mouse-like, and compare that to the way most students treat studying...
Anki, et. al., set up a scenario where your brain is being trained to regard memory and recall of facts as a fun and easy way to scratch that survival itch.
Your brain can actually remember things instantly and permanently and without conscious effort (in the extreme, pathological case we get phobias) but it won't bother unless it's convinced you care.
Richard Hamming
To efficiently augment memory, the software (especially UI) should mimic the way we think. Each captured thought should be in some way related to one or more previous thoughts and stored in the correct context. Inputted notes should be fairly short and they should be organized in graph structure. Edges should define relations, for example: contains, depends on, implies, follows.
When retrieving a thought it should be visualized in context with other related thoughts. This graph should have same layout each time it's retrieved, for better visual navigation. If the system limits the visualization of graph up to 2nd neighbors, there should always be enough space on 2D plane to expand the graph with new thoughts. Manual layout should be discouraged because it wastes too much time.
The basic storage/retrieval model could also be expanded with additional processing to further offload brain activities: logical processing (if an assumption proves to be incorrect, all dependent thoughts should be flagged as incorrect/uncertain), goal prioritization, future event reminders.
The hard problem is entry method. Because such system should always be accessible, the candidate devices are smartphone and smart watch. So far all input methods except keyboard are too slow and error prone. Most input methods also obscure much of screen space and require visual feedback to verify that text is correct (swiping and auto-correct). I'm researching gesture-based and chording virtual keyboards, but there's nothing suitably fast.
This is on my side-project back log, but hopefully I'll find something close enough I can use instead of building from scratch. Any suggestions?
This last year I've been making a special audio player for studying languages. There's no screen, but audio input/output and 15 buttons that can glow different colors. I've programmed it to navigate through a tree structure of 'cards', where each card is (an audio clip of) a sentence in the target language and a recorded translation. The interface is all audio-based, with buttons.. hence 'TAPIR' player. Tactile Audio Player/Instructional Resource. Also it's a cute animal. :-).
The SOC has an Arm Cortex M3 with 128kB of ram, so you can run JS or lua interpreter (started looking into adding Duktape JS interpreter to the firmware a couple of days ago), and program your own interface in JS. Also planning to make a bluetooth version, where the code runs on your smartphone, and the player is rather just a special keyboard with controllable lights and a mic. Maybe it's useful for creating new notes quickly. If you wanted a visual representation of your notes however, still need a screen.
I'll make a proper demo video in the next few days, maybe I'll make a 'Show HN.' I've only got one working board atm, but I'm planning to solder up some more soon, could drop one in the post to you, if you'd like to mess around with one.
Couple of photos here:
https://photos.app.goo.gl/XWsxtQieKtixfEEJ9 https://photos.app.goo.gl/uvyfh2EYEz1G8kh88
Some related keywords / projects (from my natural memex): IdeaFlow, Mark Carranza, The Brain, Org-brain.
For input methods, I'm excited for a combination of text-to-speech and neural interfaces like Ctrl-Labs.
Given the level of augmentation users of Anki and Org-mode tout, I'd be first in line for a better interface (like the one you described).
Text-to-speech is very promising, but I could use it only about 20% of time during the day. Other problem is I would constantly have to check the recognized text for errors and have a way to delete and re-entry. So far it's been frustrating to use.
Neural interfaces are really the end goal. AFAIK current commercially available solutions are able to recognize only a dozen actions after training, not enough for text input.
There's also a Patreon which has a lot more information, among other things an "Amnesia Diaries" series where M makes videos for future-M to remember. https://www.patreon.com/BlinkPopShift
I highly recommend you learn and use Anki, especially if you're actively studying something (e.g., for a degree). I'm using Anki to (partially re-)learn mathematics, and it is gratifying to know that, with a reasonable amount of certainty, whatever I learn I'll actually remember for the long term (unlike when I did my CS degree).
There are things I know I want to remember and there are things I realize I would have wanted to remember more clearly only after I have learned some fundamentally new way of viewing the world. The former Anki solves but they're rarely things I feel a problem with, and the latter is by definition things I wouldn't have paid enough attention to to write down in Anki.
Obviously this requires connectivity but I'd rather offload the stuff to a server somewhere than carry EVERYTHING in my mind.
Android app - https://play.google.com/store/apps/details?id=com.ichi2.anki
As mentioned in the book and website "Fluent Forever" (a language learning method which also recommends Anki), it's better to translate from a picture to the new language rather than learning to translate from your first language.
"No Translation"
"Use pictures when learning new vocabulary and grammar rules. You'll discover that you can actually remember what you've learned."
[1] "Fluent Forever" suggests trying google image search in your target language because many words are not direct translations, and you'll notice differences in what types of images come up for words. gato/cat is not a great example of this though
I would try using pictures more to see whether there actually is a difference, but most words I'm practicing with Anki don't corresponding to visible objects at all.
(It was in one of their first 6 episodes, not sure what to think of the claim)
Also, damn, I've been looking for something like this for ages.