I am learning programming (/languages) , new things and I think that I should take notes so that i can quickly revise/remember things if i forget.
Are cheatsheets helpful? How should i do it? Any suggestions?
1–10 of 80 posts
I am learning programming (/languages) , new things and I think that I should take notes so that i can quickly revise/remember things if i forget.
Are cheatsheets helpful? How should i do it? Any suggestions?
Cheatsheets and blog posts are what helped me most.
This and many more tricks were learned by reading "Make it Stick: The Science of Successful Learning" -- https://www.amazon.com/Make-Stick-Science-Successful-Learnin...
Features i find are actually helpful:
- keep a link to the source where you found the information summarized in the note. A url, a DOI and an equation number, whatever.
- when you can, physically recopy the data in the note. Retype the code, write ideas out long-form.
- ELI5 (explain it like i’m five) or up-goer [0] the contents of a collection of notes. Or at least write summaries or abstracts about a collection of them. Recapitulating information instead of blindly saving it makes you digest it better.
- Rubber ducking works. Go pester your partner, your pet, the potted plant, whatever.
I tried replacing it with onenote, chery tree and others. It's just not the same.
Things I write down by hand seem to be burned in my brain much easier than when I mindlessly type them on the keyboard.
- Links that I find interesting which I'd like to archive: https://bollu.github.io/todo.html
- Short pieces that are accessible to folks with background. This goes on the blog: https://bollu.github.io/. Visualizations of theorems, which are far scarcer than I like on the internet, also go up on the blog.
- Long form notes from books and courses goes into a notes repo where I write up stuff in latex: https://github.com/bollu/notes/blob/master/algebra/main.pdf [This is an example of the notes I've been taking while attending AGITTOC: Algebraic geometry in the time of covid]. The latex file: https://github.com/bollu/notes/blob/master/algebra/main.tex
- The blog and links are powered by latex-enabled markdown. (i) blog https://github.com/bollu/bollu.github.io/blob/master/README.... (ii) todo: https://github.com/bollu/bollu.github.io/blob/master/todo.md
All of these tools are motivated by a principle of being fast and easy to edit; Otherwise, I literally can't take notes because it doesn't feel as fluid. So I have symlinks to README.md and todo.md in my home folder, and similarly for whatever course I am attending currently. I edit very little, I write down the idea I am interested in and then git push.
I feel this system works well for me. I'm able to go back and review ideas that I had seen before and polish them up. It's fast, easy to write, upload, and share.
I've tried using other elaborate methods [org-mode, evernote, ...] but none of them had the simplicity of:
1. Open a plaintext file, wherever you are [I am always in a position to open a plaintext file, whether from my IDE or from the command line]. 2. Start writing 3. $$$
So I strongly recommend some system that is as simple as "open a file and start writing".
Hope this hepls.
Having said that I have in the past captured a Syntax file for a programming language I was learning e.g: https://github.com/harveytoro/TIL/blob/master/go/syntax.md
But more recently if I just want to refresh my knowledge on the syntax of a language I use: https://learnxinyminutes.com which has syntax cheatsheets for a lot of languages