Ask HN: How to take notes?
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?
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?
[+] [-] hprotagonist|5 years ago|reply
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.
[0]: https://www.splasho.com/upgoer5/
[+] [-] spaceisballer|5 years ago|reply
[+] [-] mlok|5 years ago|reply
[+] [-] alexpetralia|5 years ago|reply
This "two-pass" process aids my retention substantially (maybe from 30% retention to 70%).
[+] [-] nikivi|5 years ago|reply
https://github.com/nikitavoloboev/knowledge/blob/master/SUMM...
On mobile, I take quick notes with Telegram's Saved Messages.
This kind of question has been asked many times before on HN and elsewhere. Here are some links I collected around note/wiki management.
https://wiki.nikitavoloboev.xyz/other/wiki-workflow#links
Oh and for effortless sharing of notes, I use my tool gitupdate to automatically push changes made to my folder of notes. i.e. here is a commit where I add this very thread to my wiki under `wiki-workflow.md` topic. To do it, I pressed two buttons (`+v) (https://github.com/nikitavoloboev/dotfiles/blob/194d8453b2af...) which runs a KM macro (https://i.imgur.com/fmXgUYv.png).
https://github.com/nikitavoloboev/knowledge/commit/cfaab75dd...
[+] [-] kirubakaran|5 years ago|reply
This is a great idea. I use it all the time. I use the Histre integration to push these Telegram notes automatically to https://histre.com/ (disclaimer: mine) for a full proper notes with tags, searchability, sharing etc: https://histre.com/blog/take-notes-with-telegram/
[+] [-] runjake|5 years ago|reply
Do you auto generate the SUMMARY.md files, if so how? A script doing a simple recursive directory walk?
[+] [-] technoryt|5 years ago|reply
- For programming, you can use org-babel to write short snippets that you can then run directly in your note (a la IPython notebook, but for pretty much any language). Super-useful if you are learning a new programming language. Alternatively, you can add an org link to specific files/functions inside a code base.
- To promote recall by generating flashcards directly from your notes, add anki-editor to sync with Anki, or org-drill. With Anki you can do reviews from your phone.
- To quickly incorporate a screenshots, use M-x org-download-screenshot (useful while taking notes off an online video or presentation)
- To refer to sources: file links (e.g., PDFs) and web links work out of the box; for academic papers, use org-ref and BibTeX files; if you are on macOS, you can also link to emails (useful to keep track of projects); I am still figuring out the synchronizations with PDF annotations.
- If you need math equations, use LaTeX snippets inside your org file and org-fragtog to automatically render them inside your notes (without having to export/compile the entire file as LaTeX).
- Use ag or pt to search through all your notes using fuzzy searching.
Notes are just text files all in the same directory, so you can use git/Dropbox/Google Drive to sync. If you use Dropbox and have an Android phone you can use Orgzly to edit your notes. The most useful feature is that from any app you can "Share" with Orgzly, and add it to one of your notes (I use it to add notes related to podcasts).
I concur with other commenters about making your note taking as frictionless as possible (I have Emacs opened all the time, so org-roam was an easy choice for me)
[+] [-] Yvonne_McQ|5 years ago|reply
1. The Cornell note-taking system
First, divide the page into three parts: one narrow column on the left side, one wide column on the right side, and one section at the bottom part of the page.
Write your notes in the right column of the page. That’s your note-taking column.
As soon as possible after the lecture is over, use the left column to create questions for every part of the notes. That’s your cue column.
When this task is completed, write a short summary in the bottom section of each page.
That’s it! Congratulations!
2. T-notes method
Just divide a page into 2 parts. One part is for writing down terms, equations, formulas and theories. The other part is for definitions, examples, evidence and proof.
3. Mind map method
Write down the main idea in the center of the page. Then draw “branches” every time you need to add a sub-topic or a detail to your scheme. At the end of the lecture you’ll have a detailed flow chart of the content you listened to.
4. Flow note-taking method
A flow-based note-taking method is the most effective way to take notes if you are a fast learner.
The principle of the flow note-taking technique is to represent the ideas you hear using textual and visual information recorded on the page.
The flow note-taking method includes a lot of tables, schemes, arrows, points, offshoots – anything that helps you to represent your “mental model.”
More details and examples are here https://ivypanda.com/blog/everything-you-need-to-know-about-...
[+] [-] entha_saava|5 years ago|reply
[+] [-] mikece|5 years ago|reply
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...
[+] [-] zomglings|5 years ago|reply
0. https://en.wikipedia.org/wiki/Serge_Lang
[+] [-] psahgal|5 years ago|reply
Consider taking notes by hand instead of using a computer. I found one study from some time ago that suggested handwritten notes are better: https://journals.sagepub.com/doi/abs/10.1177/095679761452458... I personally find taking notes by hand better for me. Since I can't find any studies replicating the result of the one I cited, I suggest trying it out and see if it helps!
When I was taking notes for class lectures, I would split sections of notes by date, titling subsections in a given day as appropriate. This sort of chunking will help you remember the notes better, rather than writing in one continuous stream. If you're taking online courses to learn some programming languages, I think this method will work! If not, I would suggest keeping a notebook per programming language and just organize your notes by day.
When taking notes, you do NOT want to copy what's on screen or what's being talked about verbatim. You want to capture just the highlights, so that they'll jog your memory later. I generally write tons of bullet points instead of complete sentences, and I end up with more of an outline at the end than paragraphs of information. If you need the finer details, it's better to go back and review the source material itself.
Once you have your notes, you can review them by going day-by-day. For your case, if you need to refer to previous sections quickly, consider bookmarking them with sticky notes. (Not sure how you would do this digitally.) You might be surprised to find that the act of writing down the notes was enough to keep them in your head, and you may not actually need to review your notes often.
Hope this helps!
[+] [-] specialist|5 years ago|reply
Taking minutes for meetings, I have to use a computer. I'm able to kind of get into a stenographer flow state. I capture a lot but remember Little.
I have no idea how or why these strategies work.
[+] [-] TadasPaplauskas|5 years ago|reply
If you're into apple ecosystem, nothing beats Apple Notes - seamless access right from the spotlight search, you can paste images or files right into notes (surprisingly few apps have that feature - it's a must for me), to-do lists that just work, cloud-sync, so on. And it all comes built-in, for free. I've tried all major alternatives and I always come back.
Paper notebook for daily plans and short-term notes. I don't expect to refer back to those notes in the distant future, so I choose to optimize for writing experience, and nothing I've tried beats paper.
A personal blog for anything worth sharing. In my case it's a bunch of markdown files in a static site generator.
[+] [-] eindiran|5 years ago|reply
As other commenters have pointed out, don't worry too much about sticking obsessively to one system. Just try one out, and if it works well (enough) for you stick to it.
There are several old threads that are pretty helpful covering this topic as well:
https://news.ycombinator.com/item?id=20101911
https://news.ycombinator.com/item?id=21419478
https://news.ycombinator.com/item?id=22473209
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
[+] [-] D13Fd|5 years ago|reply
[Creation date] [Subject]
So if I'm taking notes on, for example, Regex use in Python, the text file is titled:
2020-07-15 Python Regex
The notes themselves are loosely formatted with markdown, including code blocks for code.
I have about 3k of these files at this point, all in one folder and easily searchable.
I've found this is the best way to take short notes, for me at least. Even if you can't remember what you would have titled a note, it's always pretty easy to remember about how long ago you took it.
There are a variety of text editors with interfaces that designed for this style of note taking, displaying the text files in a searchable list with syntax highlighting for Markdown and the internal code blocks in the notes. Here are some (on Mac, but there are others):
- Notational Velocity (ancient and outdated)
- nvAlt (old)
- nvUltra (in eternal closed beta)
- Ulysses
Currently I use Ulysses and it works pretty well. The syntax highlighting for Markdown and internal code blocks is decent, with a great UI. It does tend to get bogged down with super long files, so you need to break those up.
Before this system I tried many alternatives over many years. But eventually every program becomes outdated, and then you are dealing with incompatible file formats etc. The good thing about this system is that in the end it's just a folder of text files, and there will probably always be good text editors.
[+] [-] specialist|5 years ago|reply
I will often remember when I was thinking about something. Using your system, I'd be able to better retrieve stuff.
I will also remember where. In a future perfect world where you and I create the ultimate notes app, we'll have to also add geolocation to each note's metadata.
[+] [-] kirubakaran|5 years ago|reply
- It suggests appropriate tags you. #python etc. This lets you review things by topic.
- Tags are inlined in your notes. You don't have to create them first
- If you want to publish some of these notes, you just add #pub
- You can also publish notebooks (collections of notes). You can think of it as lightweight super fast blogging. This will help you get a following on a subject, without having to spend a lot of time doing it.
Examples: SaaS Pricing https://histre.com/notebooks/03lt8gml/saas-pricing/ ; New Project https://histre.com/pub/notebooks/x6rfhtd5/links-for-starting...
- Highlight sections in the web page you like to review later
[+] [-] ChuckNorris89|5 years ago|reply
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.
[+] [-] gorbachev|5 years ago|reply
It's a re-usable (original version can be wiped with microwaving it) paper notebook designed to be OCRed into Evernote, Google Drive, Dropbox and others.
[+] [-] varbhat|5 years ago|reply
[+] [-] tablet|5 years ago|reply
[+] [-] chrisbai|5 years ago|reply
Learn what a Zettelkasten (https://en.wikipedia.org/wiki/Zettelkasten) is, how it can help you and make yourself familiar with its concept.
[+] [-] testcase_delta|5 years ago|reply
You can always refer to the flash cards like regular notes, but by memorizing the information instead of just jotting it down you greatly increase the speed at which you learn new things.
[+] [-] kd5bjo|5 years ago|reply
[+] [-] cborenstein|5 years ago|reply
Most people's notes have two phases [0]:
1) Jot-down
2) Organize
In the jot-down phase, you write down thoughts and gather any raw resources that are useful to you (code snippets, links, etc.). These notes are messy.
In the organize phase, you pull notes from your jot-down that are worth keeping and refine/categorize them. These become your reference notes.
Usually people use two different tools - one for jot-down and one for organize. This leads to lots of copy-paste and things being more difficult to find later. Working on a tool [1] for fast jot-down and organize in one place,
--
[0] over 90% of people surveyed used Apple Notes, Google Keep, or raw text files for their notes.
[1] https://bytebase.io
[+] [-] jokab|5 years ago|reply
[+] [-] jcun4128|5 years ago|reply
Try to avoid getting into rote learning. I learned that way as a kid, I'll find myself writing squiggly notes just because somehow it makes me remember stuff the act of writing something.
For coding stuff I don't really have notes about "coding" more on random neat tricks/concepts(like about Git/Systemd), which means store them somewhere eg. an app that has a global search like OneNote/Evernote/Notes(Mac).
For general fast learning I recommend crash courses on YouTube eg. by Traversy Media/others.
Also using sandboxes where some code is already setup so you can have something to work from.
Generally though I think practice is what will make it stick and personal desire to achieve/build something that you want.
[+] [-] Peteris|5 years ago|reply
[+] [-] varbhat|5 years ago|reply
[+] [-] madaxe_again|5 years ago|reply
I find I memorise concepts well when there’s some kind of physicality to them, and I’ve therefore repeatedly gone for the “serial killer wall” method of note taking - in my case, it tends to be multiple A4 sheets with handwritten notes or printed reference sheets plastered on every visible surface around my workspace, using cork pinboards for more space, with an arrangement of information that makes sense to me - I like a four coloured biro for splitting out either dimensions or topics of information, and sharpie or string to link disconnected areas together. This translates well for digital applications, like coding and electronic engineering, physical applications, and more abstract learning efforts, like cramming a masters in physics, or learning a language.
Yes, you can replicate this with a wiki or hyperlinked whatever, and I sometimes do for pocket guides, but being able to fetch information at a glance is key to making that recall just happen without looking, for me.
The structuring of the notes takes an effort in understanding, in creating a landscape of interconnected information - and the structure of the notes becomes the physical representation of the structure of the information framework. I then, later, when referring to some part of some knowledge acquired this way, find my mind’s eye using that same structure to identify the relevant information.
Anyway. It really is whatever works for you, and trial and error will get you there - for me, it’s paper, pen, and somewhere to put it all.
[+] [-] devan23|5 years ago|reply
[+] [-] rramadass|5 years ago|reply
1) Use paper and pencil/pen to write down everything. You can use a computer based tool later for transcribing it into electronic form(weekly/monthly). Studies have shown that writing by hand engages the whole mind/body and helps in retention.
2) Use a simple system like the "Cornell Note-taking System"(http://lsc.cornell.edu/study-skills/cornell-note-taking-syst...) or anything else of your choice. It should not be too complex so as not to unnecessarily distract from the object of the study.
3) As you take the notes mix both textual and graphical methods to express and amplify the idea/concept as required. The key is to use whatever feels natural to express clarity and facilitate understanding. Use precise mathematical notation/graphs as much as possible eg; Venn diagrams, Tree diagrams, X-Y co-ordinates, Statistical graphs etc (the book Mathematical Notation: A Guide for Engineers and Scientists is helpful to gain fluency in mathematical notation). I suggest writing text on the vertical left half-side of the page and pictures/graphs on the other half similar to how some Maths texts show their graphs on the margin next to the text (think also "Literate Programming"). Take a look also at Leonardo da vinci's notebooks for inspiration.
[+] [-] bollu|5 years ago|reply
- 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.