I’ve been using Anki for a couple of years and it’s great. It’s a flashcard software - basically a tool for memorizing things. If you’re not familiar with it, Gwern has an introduction and Robb Seaton has some helpful tips.
For a long time, I thought Anki was cool, but I didn’t really know how to use it. I wasn’t actively studying any foreign languages or anything like that. The topics (like mathematics) I was learning about didn’t seem to be that amenable for memorizing. It took me a while, but I’ve now figured out a way that works for me, and it applies to almost any topic.
Whenever I need to look something up twice, I add it to Anki. For example, English is not my native language, so I often look up definitions of English words in a dictionary. If I look up a word twice in a short period of time, I add it and its Finnish definition to Anki. If a word strikes me as especially important, I might add it already on the first lookup. Now my deck has cards for words like flaccid, amygdala, and pithy (that’s a hard one, I always mix it up with pitiful).
I’ve had success with memorizing mathematical identities as well. After years of struggling to remember the formula for the limit of a geometric series, I finally added it to Anki and now I remember it. I have some more abstract mathematical cards, too. I had to think it through a couple of times recently, so now added a card ”What’s the relationship between Borel sets and the Lebesgue measure?” to my deck (answer: ”Borel sets are Lebesgue measurable but not vice versa”).
People sometimes oppose memorizing because you can just look things up when needed, especially now that we have Internet, or derive them when it comes to mathematics. You can’t always look up or derive everything, though. First, it takes too much time, and second, it’s easier to look things up when you already know something related to them.
I figure that if I need to look up something repeatedly, I might as well add it to the base of condensed knowledge in my head.