Hacker News new | past | comments | ask | show | jobs | submit login
Using spaced repetition systems to see through a piece of mathematics (cognitivemedium.com)
256 points by uijl 71 days ago | hide | past | web | favorite | 52 comments

>"You might suppose a great mathematician such as Kolmogorov would be writing about some very complicated piece of mathematics, but his subject was the humble equals sign: what made it a good piece of notation, and what its deficiencies were. Kolmogorov discussed this in loving detail, and made many beautiful points along the way, e.g., that the invention of the equals sign helped make possible notions such as equations (and algebraic manipulations of equations).


(I found Kolmogorov’s essay in my University library as a teenager. I’ve unsuccessfully tried to track it down several times in the intervening years. If anyone can identify the essay, I’d appreciate it. I’ve put enough effort into tracking it down that I must admit I’ve sometimes wondered if I imagined the essay. If so, I have no idea where the above story comes from.)"

Can anyone find the essay mentioned above? Maybe a Russian speaker could track down the original (as presumably what Michael Nielsen is referencing here is an English translation).

There are a bunch of Kolmogorov essays that might be relevant, judging by their titles.


Perhaps "On the school definition of identity", Matematika v shkole 1966

* * *

Maybe a Russian speaker wants to go search? There doesn’t seem to be an English translation of most of Kolmogorov’s essays online.


A great article on a relatively similar topic, equality and isomorphism:


Judging from http://kolmogorov.com/ there seems to be a fair chance the original is in French. But I can't find anything that looks like the essay in question... Might be a bit easier if the name of the essay was known...

Perhaps it is the article On Sense and Reference by Gottlob Frege?


You guys might like this:


Polar is an SRS based document management platform and personal knowledge repository I've been working on.

It syncs with anki and allows you to create and read flashcards directly in the reader itself.

Supports text annotations, highlights, comments, keeps track of where you're reading in documents, supports tags, rich formatting of notes, etc.

It's also Open Source and supports cloud sync across your desktop machines.

I’ve also been working on something similar for the past couple of years.


Vocabify is a tool to help you remember the words you come across. It uses a basic implementation of spaced repetition to help you remember the words and phrases you add.

Having Polar sync with Anki is an interesting idea, thinking about it now, I might have been able to get further with my own tool by leveraging Anki as well. Food for thought.

> Vocabify is a tool to help you remember the words you come across. It uses a basic implementation of spaced repetition to help you remember the words and phrases you add.

Cool idea. I suggest improving the onboarding experience of your product dramatically with minimal effort by adding this sentence to your site. Like so: https://snag.gy/iqOlFC.jpg

Good shout! Added. https://snag.gy/JHfXKT.jpg

The Vocabify "definition" is added for any new users, so you'll need a fresh browser instance to check it out. Thanks!

Wow, thanks a lot for this. I was considering building something similar but barebones, and now I can use this and hopefully contribute!

Particularly happy about offline first!

Thanks.. I think one of the cool things is it supports HTML capture so you can take pages you see on Hacker News and store them for posterity!

Sure! I was using evernote and later pocket for this but they ended up as a bin for past read content. With polar that can further go to anki and then to my memory :)

Looks pretty good for building a first pass of more atomic Anki notes. I've found that over time, I need to make multiple editing passes on Anki Cards, to try to boil them down into something actually recallable. How has your experience been?

Incremental reading is exactly what I've been looking for. Thanks for sharing!

I've not really used this beyond just installing this now, but I'd encourage anyone that sounds a bit interested from this comment to go checkout the website. If the features it talks about are smooth, it looks absolutely wonderful.

As a long-time SRS user, I've really enjoyed Michael's recent essays on the subject though I haven't had much luck using SRS to learn structured, abstract things, despite several attempts. These days I use it mostly for things that are naturally atomic--vocabulary words, quotations, etc.

It seems he and I approach SRS very differently. I see it as a place to drop bits of information I want to remember, and once the info is in there, I no longer have to think about it, outsourcing the effort of remembering to the algorithm. He seems to use it as a tool to mentally digest a subject, constantly revising his understanding and readjusting his cards. That process isn't foreign to me, but I prefer to use something besides SRS for it. If I had to constantly revise my cards, that would seem to defeat the purpose of using SRS anyway.

Very interesting to get a different perspective on this though, so I'll have to think more about his approach. I'm also interesting in the creation details of his math-cards. Does he use LaTex? Maybe he goes into it in one of his earlier posts...

Glad you enjoyed the essays. On LaTeX - I sometimes cut-and-paste screenshots, but usually just write raw LaTeX or pseudo-LaTeX (i.e., something LaTeX-like that wouldn't compile, but is easier to read). It'd be much, much better to use some kind of plugin that turned it into images, but I've been too lazy to try.

This has, incidentally, made many of my matrix-based Anki cards rather ugly. I'll probably update a bunch of answers with cut-and-paste from this essay.

Not to put too fine a point on it, but it's pretty bad I'm using raw LaTeX in this way - I'm sure it hurts my understanding! On the other hand, I've written so much LaTeX over the years that reading it seems really natural.

You wouldn't even need la plugin. Anki supports [latex][/latex] out of the box, provided you install LaTeX in a way that Anki can find it.


Anki also supports Mathjax natively, so you can put the latex-ish code between a \(\) or \[\] and you don't need the image file step.

I think it doesn't work in Android version

I have this at the bottom of my card templates. Works on desktop and Android: https://pastebin.com/uqUrJBdZ

I write my cards on Linux, review on Linux and android. The latex support is definitely helpful, but yeah, you need to 'render' it on desktop to get the images

Thanks for following up. It's definitely a hard problem to solve. I've considered just writing whatever expression I want to learn on an ipad with an apple pencil, then figuring out some nice way to pipe that into my SRS.

It would be easier to use SRS to "mentally digest" things if it had dependency support - a feature where they "show card X only if card Y, Z, W... have reached long repeat intervals". I'm surprised that Anki doesn't easily allow this, for instance.

Even in something as basic as language learning, it would allow to commit idioms and common collocations (words "often used together") to memory once you know the original words - a nice "next step" after pure vocab.

That's a really intriguing idea! Though even equipped with a tool like this, I think it would be difficult to use SRS for learning math or computer science concepts. The process might look something like:

1. learn the concept

2. break it into atomic question/answer pairs

3. define some dependence relation for all these pairs (X is foundational to Y and Z but not A)

4. input them into your SRS of choice

Each of these steps require significant amounts of time and brainpower. Also it would be harder if you were still learning the concept since you'd continually need to go back and redefine relations as your understanding grew.

On the one hand all this would be a great way to understand a subject. On the other, one could argue that it's very inefficient, and it would be better to not bring SRS into it all all. Compare this to say a vocabulary card, which you make, enter into SRS, then you're done. So far this (the vocab thing I mean) is the only SRS use-case that makes sense for me.

Thing is, many people use SRS to keep things memorized that they don't want to forget about. For this use case, you don't need to care much about dependencies and the like, so making your own deck should be quite simple. The "learn/figure out new stuff" case is somewhat different, and plenty of people use pre-made decks with advanced features e.g. to learn vocab, or some sort of basic knowledge in some other subject.

Another possibility might be to show X, and then if the user fails, work back through the dependencies.

The hard part might be the UI for finding and selecting the dependencies for a new item.

> If I had to constantly revise my cards, that would seem to defeat the purpose of using SRS anyway.

There's actually an addon to help out with that - one I'm personally really satisfied with.


Long story short: Take notes in a LaTeX document (or take notes somewhere else and then put them in a LaTeX document, this will be your ground truth). If you format your document based on the addon's guidelines, you can automatically "compile" your document to Anki flash cards. That way if you have to change stuff, just change the document and recompile.

I love Michael Nielsen. He's so earnest and thoughtful.

His recent forays into spaced repetition have been an interesting glimpse into his thought process. I am a bit of a spaced rep fanatic, but use it to internalize more general "Mental Models" (a la Farnam Street), useful tidbits e.g. how to horizontally align using flexbox, or surface-level concepts like product management frameworks.

I love the effort Michael puts into grappling with ideas to strengthen his intuition. This is something I'd like to do more of, but feel that few of the ideas in my day-to-day are sufficiently complex (I don't have any use for linear algebra proofs, for example).

Anyways, that's my word salad on Michael Nielsen and spaced repetition.

How do you form flashcards out of mental models you encounter and want to remember and use? Could you post an example?

Sure thing.

I’ll typically make a few cards at first trying to test different aspects of the MM (general concept, example applications, given definition identify the MM, quiz any internal associations I have with it like if I learned it in a specific context, etc.) then I can delete ones that aren’t useful and/or add others later.

Let’s use the mental model of inversion as an example. I found this one in a Farnam Street blog post about Charlie Munger. Here are some cards I might create:

Front - what is the principle of inversion?

Back - when you want to try to maximize something, instead try minimizing its converse. Or vice-versa.

Front - what mental model might help if you’ve unsuccessfully tried implementing programs to increase innovation in your company?

Back - inversion. Rather than thinking of ways to increase innovation, can you instead think of things that are decreasing innovation and eliminate those?

Front - what’s another way to think about reducing time spent on work tasks?

Back - invert the problem. Try to increase time saved on nonessentials (e.g. laundry service, meal prep, outsourcing)

Front - what’s it called when you work backwards through a problem you’ve already tried to work through forwards?

Back - inversion

Front - what would Charlie Munger ask you if you came to him with a tough optimization problem?

Back - “have you tried inverting it?”

This is a bit contrived, but I hope this gives you a sense of how I think about creating cards for mental models.

Does anybody know a good math course covering all the high school and college subjects implemented in a collection of flash cards? I have no idea what do "normal matrix", "diagonalizable by" and "unitary matrix" mean (of course I can look these particular up) mean so far but I feel like I would like to try learning up to this level (including what I've learnt in the college and completely forgotten right after the exams) this way.

Those are all linear algebra concepts, I would suggest Gilbert Strang's series of lectures which can be found on YouTube. They should be fairly accessible without prerequisites.

While "all the high school math" is somewhat clear, the "all the college math" should be clarified a bit.

Are we talking about math for social studies majors, engineers, physicists, economists or mathematicians?

For example, there are books like [0] for engineers which serve as a boot camp of sorts. There are no theorems, proofs or deep math in it. There are many different kinds of engineers, so books like this don't include everything an engineer needs to know. For instance, there's no automata or group theory in [0]. It has a part at the beginning called Foundation Topics which could serve as "all the high school math one needs". In fact, this whole book could probably serve as "all the math an advanced high school student needs".

There are books like [1] for physicists. They are meant to introduce physics majors to a wide array of math topics in a relatively pain-free way. This book is much more rigorous and contains a LOT more material than [0]. Basically, a theoretical minimum for a physics major.

Economics majors also get somewhat rigorous math load where measure theory features a lot more prominently than it does in other majors (except mathematics proper).

List of subjects for math majors vary from place to place, but you'll have much easier time down the road if you master the (rigorous) rudiments of linear algebra (vector spaces), group theory, number theory and real analysis. Of course, knowing more math (say topology, complex analysis, category theory, combinatorics etc) is always good.

Before you get started with math for mathematicians, you'll want to learn their jive. A good intro is [2]. It's free and a really nice book. Another really nice book with non-existent pre-reqs is [3].

A pitfall that awaits a lot of people new to math is a concept of "multivariable calculus". This concept is a mess and means everything to everyone. Oftentimes it means surface level discussion of concepts in scalar fields (functions from R^n to R) and a little bit of talk about differential geometry of curves and surfaces (functions from reals and planes to R^n). The treatment is often not rigorous and n is limited to 2 and 3. After this laughable bullshit, one is thought ready to jump straight into the rigorous analysis of manifolds, granted they know a bit of real analysis. This is like jumping from 3rd grade straight to 9th grade. Along the way the most important thing missing is the rigorous treatment of vectors fields (say, at the level of Rudin). Some nice books here include [4]. Since diff geo (in particular, that of curves and surfaces) is its own thing entirely and there are a lot of really nice books for that like [5]. Also, note there's a nice new intro to "manifolds and stuff" [6] which is like what's calculus is to analysis.

Before I forget, most intro to stats books are written for science majors and are entirely inadequate for math majors, but there are elementary intro to stats books for math majors like [7].

Originally, I wanted to write a more fleshed out and huge comment, but I am running out of time.

Good Luck.

[0] Engineering Mathematics by Stroud/Booth



[1] A Course in Modern Mathematical Physics: Groups, Hilbert Space and Differential Geometry by Peter Szekers


[2] Book of Proof by Richard Hammack


[3] Linear Algebra: Step by Step by Kuldeep Singh


[4] An Introduction to Analysis by Wade


[5] Differential Geometry of Curves and Surfaces by Tapp


[6] A Visual Introduction to Differential Forms and Calculus on Manifolds by Fortney


[7] Statistics for Mathematicians: A Rigorous First Course by Panaretos


Thanks. So many great recommendations. Not a single link to a flash cards collection that I could use with Anki however.

It's better making cards yourself - not just better, using someone else's pack seems utterly pointless to me. Why would you want to miss this step?

It reminds me of the situation with books of transcribed jazz solos, which at first seem like gold. But they're actually worse than useless, as you miss out on everything you learn from transcribing solos yourself.

I get the point, yet..

> Why would you want to miss this step?

Because I don't really have much time for every step. I don't need it to be fun, I need it to be efficient (requiring as little time and effort as possible). In fact I had always wanted an app of a sort that would feed me math in concise pre-digested twitterish pieces.

Of course I can't expect somebody to do this for me but if somebody has done and shared I'd like to make use of that. I am certainly going to share if I find time to make the cards.

pretty much any good linear algebra course should do the trick


I wonder if that Kolmogorov essay on the equal sign might not rather be Frege's Begriffsschrift (the Wikipedia page links to a facsimile version: https://en.m.wikipedia.org/wiki/Begriffsschrift).

Aside, but is there an SRS that will send me flashcards as notifications on my phone? I'd rather not have to set aside large chunks of time to memorize things, I'd rather refresh my memory throughout the day.

Hello Michael, I've read your 2 articles about anki. I am an avid user of anki myself and I use it for math as well.

In your 2 articles you tell about using it to understand and retain memory of an Alphago paper and to do the same for the theorem about orthogonal diagonalizability of normal matrices.

I wonder, how do you organize anki cards and in which order do you study them? Personally I put all cards in one deck and anki shows them in kinda random order, so I might get a question about convex optimization, then a question on numerical linear algebra, then a question on some dance moves. I take it you do it in a different way? Because you create many small cards for a topic I think you would spend too much time context switching if you did random order like me. For this reason I make larger cards, e.g. "Prove that for any linear operator on a finite dimensional complex vector space there is a basis such that the operator has upper triangular matrix in it"; and when preparing for an exam in institute I might even create a card "Definition, existence, uniqueness, and computational complexity of SVD". Also I think creating small cards might be bad for chunking, i.e. you won't get large chunks of all the related knowledge about a theorem and instead you will have small chunks - a chunk per card.

Another question is how do you add all this information to anki? Anki obviously sucks as an exploratory medium. I often find that even clearing up my paper notes, taking photos of them, cutting them, and putting them into anki takes a lot of time; typing it up in LaTeX is even longer. Any tips or insights here?

This article seems the describe what it means to grok something; and that maybe one (easy?) way to reach that is via spaced repetition systems.

> You might suppose a great mathematician such as Kolmogorov would be writing about some very complicated piece of mathematics, but his subject was the humble equals sign:

I've only just discovered Kolmogorov.. not being particularly mathematically talented myself I'm happy to find his work conceptually fascinating from an amateur's perspective, I hope the essay is found.

Anyone wanting to innovate in tools to optimize learning, I’m building a team doing just that and I’d love to chat: turadg@quizlet.com.

(Some of my earlier work: http://j.mp/aleahmad-thesis )

> The converse is also true (and is much easier to prove, so we won’t be concerned with it): a diagonalizable matrix is always normal.

It is actually more difficult to prove. [2, 1; 0, 1] is diagonalisable (via [1, -sqrt(2)/2; 0, sqrt(2)/2]) but not normal.

I mean diagonalizable by a unitary matrix. Fixed.

I never knew you were on HN but I'll use this opportunity hoping that you'll read this. Recently I finished my masters thesis in quantum machine learning (I'm a physicist) and I think without the amazing book you wrote with Isaac Chuang I would not have been able to do it. So this is meant as a huge thank you! I tried other QC books but I found yours the most insightful and approachable.

On another note I also enjoy your essays on SRS and it encouraged me to start learning Japanese using it.

You might also want to mention early that when you talk about the length of a row or column, you do not mean its (thanks, Apple, for autocorrecting that to it’s) length (i.e. number of elements), but its L2 norm. That just caused me to lose half an hour...

There are defined ways of simplifying mathematics, computationally, such as via the CSP-NT computational laws

I'm not sure what this has to do with the content of the article. Could you elaborate?

in case anybody's curious, the Einstein letter mentioned in the article is Appendix II of Hadamard's "The Psychology of Invention in the Mathematical Field" (ISBN 0486201074).

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact