Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Do you keep track of what you learn? how?
65 points by mezod on July 21, 2017 | hide | past | favorite | 71 comments

Seems like this is an unpopular opinion, but... no. Not at all. If I have to keep a record to remember having learned something, it seems to me that I didn't learn it in the first place.

In general my bucket for "learned" means that I have a mental model of the landscape of a problem/fact area and a decent memory of the core sources (books, wikipedia pages, whatever) I used to figure it out. So far I haven't had trouble working backwards to refresh my understanding using those as a guide. And again, if I have managed to forget not only a fact but where I learned it... there's not much in my brain to refresh, is there?

I personally have found taking notes to be more reinforcing than destructive, but to each his own.

it's not a record to remember, my question was more along the lines of, you learn a new topic? you might keep 10 bulletpoints that streamline the core of what you've learnt, etc. otherwise, to me, it feels easy to forget one component or another of what i've learnt

I keep it in a personal wiki that lives in dropbox. I use this one (tiddlywiki.com), but anything with tagging and search would work. I appreciate the organization by time, tag, or list, and also the latex and markup support, but these are not essential. Semantic search would be even better. Ive used this to capture ideas, notes, code, writings and lists. It has been essential for my work/dissertation.

I see the personal wiki as an evolution of the commonplace book, that was kept in the past by the likes of Darwin (https://en.wikipedia.org/wiki/Commonplace_book). Here are some of my notes from the book Where Good Ideas Come From:

"We know much of Darwin's thinking on the development of his ideas from his extensive notebooks, which he read, and re-read and recombined. This era was the time of the 'commonplace' notebook, in which long passages of quotes from other sources and thoughts were recorded. Reading and writing were apparently quite related. These books may have struck a balance between silo'd organization, and utter chaos, allowing the development of theories beginning with hunches which could then be further developed. The key to developing a hunch into a theory appears to be writing it down "

This is a repost from a previous thread regarding ideas[1] , but 'learned information' and 'ideas' are both just types of information to be managed.


How do you cope with (if using Chrome) Chrome downloading a new copy everytime you save tiddlywiki?

very insightful and the kind of answer I was looking after, thank you

I keep track of short snippets for languages, applications, etc, using a simple CLI tool. I call it quickref, and the command is `qr`. Usage:

  $ qr
    show available quickref files (in directory $QR)

  $ qr topic
    show all lines from $QR/topic.txt
    a "topic" can be anything, but generally something like a language (py),
    application (blender), package (django), command (git). also things like audio,
    pdf manipulation, CLI image editing.

  $ qr topic pattern
    show all lines from topic.txt that match regex pattern

  $ qr topic term1 term2 ...
    show all lines from topic.txt that match all terms

  $ qr add topic "line with spaces"
    append "line with spaces" to topic.txt

  $ qr edit [topic1 [topic2 ...]]
    open specified topics with $EDITOR

I too have written a similar tool called mann (https://github.com/soheilpro/mann) for this purpose.

Could you share the tool? I'm very interested in using it myself.

Available here: https://github.com/alanbernstein/quickref - sorry for the delay!

Looks similar to terminal velocity: https://www.seanh.cc/terminal_velocity/

Yea, had I known about this a couple years ago I might have just gone with it instead.

Definitely, give me a couple days to clean it up.

No. I forget things that I've learned, of course, but I don't forget that I've learned them so if I need to use something I haven't thought about in a while it's not hard to bring that knowledge back to the surface.

I work my memory out a lot, though. Some days I'll collect license plates, or of I am reminded of something but can't remember where it comes from I'll spend hours or days working to pull that memory back to the surface. I use search engines to gain new information or for confirmation of things I'm not sure of, never ever to help me remember things I feel I should remember but have forgotten.

Reading books and writing some things by hand are both helpful. I have some favorite books that I've read repeatedly and knowing whole passages is valuable. Writing is the best aid to memory. Often I'll make notes on something and then never look at them again because the act of writing (which is slow and tedious compared to typing) has helped to fix them in my memory.

I keep offline notebooks where I basically take notes of hopefully most things, that I read or think about. Ideas for programs, proofs of theorems, lecture notes and so on.

I also start small git repos with projects, e.g. for a set of algorithms I explore.

Haven't found a good system though, a hierarchy or learn graph or mind map (mind map programs kind of bore me).

My hope is that most of what I write down will compile (so to speak) into my brain, at least a little bit. And that the mind map will emerge actually in my mind as I move along.

This system is not perfect, but I haven't started to optimize it (maybe I should).

One next step that I think about is to product short texts in a top-down fashion. That is, start with some high-level idea to express or illustrate. Then descend into special concepts and so on. Writing is to thinking, what walking is to a map.

I put it in this system (AGPL):


...which is the best thing I've found for notetaking (I'm the author). It needs simpler installation and added features but is stable and works really well, really efficient once you get familiar, and everything is on the screen. I hope to add anki-like features in the future. Contributions welcome.

Edit: this program is like a textual mind map that is highly efficient to use from the keyboard, uses postgresql, and can handle large amounts of data, having the same thing linked in more than one place, etc etc. I use it to keep lists of gift ideas, todos, calendar, all notes, personal journal, and it just gets the job done with the lowest impedance of anything i have tried or heard of. It has an auto "journal-generation" feature, some finicky import/export features, search, somewhat limited file storage, and more.

EDIT: ps: Anki is a really useful review tool, like flashcards that space things out to months or years depending on how well one knows the material (as perhaps others like it).

I keep a personal collection of dev notes in Markdown stored in Standard Notes, which I highly recommend as I have had a great experience with it so far. They're committed to security and privacy and I find it to be very portable (Android, Linux AppImage and web app all supported). I've settled on it after years of bouncing around: Text -> OneNote -> Laverna -> SN.

I write down what I learn sorta like Marcus Aurelius did in his Meditations. I find it useful to revisit them every so often, not just to remind myself what I learned, but to see what I thought was important.


Markdown files that I edit/search with NVAlt, this is kept in a clound-sync folder (dropbox currently, but whatever). They autosave, and take advantage of the cloud-sync-versions. Easy to grep, totally transparent, fast, portable.

I use name metadata for the notes with [broad topic] - [sub topic] - [optional very specific topic] - [optional date]. I'll probably revise this soon, since it doesn't work perfectly.

I wrote an automator service to insert an ISO8601 date, which is bound to cmd-|, and I use it a lot.

Example notes:

+ Work - HPC - Module Installation - PLINK GCTA KING - 2017-07-21 + The date is for when i started, but there may be sub-note dates for logged work if it happens later (lets say that the install needs to be fixed, or was broken, and I want to annotate both the discovery and the fix). I will probably change to not put dates in the filenames unless they are time-specific notes. + Work - Meeting - PERIOD GROUPNAME - 2017-07 + These ones i keep one note per month, with dated subsections for each meeting, but am considering keeping one per year (or one period). Performance for really long notes is good. Luckily, merging notes is just a cat redirection away (so easy). + CLI Notes and Snippets

For regular use I just use the built-in editor (which is ok, but not great, and has some indent issues). For serious notetaking, I use the built-in hotkey to open the file in sublime (which has much better markdown handling). Full text search makes things easy to find. Sometimes I put a keyword block at the top of the note if I think it will be hard to find/remember. I can use grep if I need to do serious searches.

I've been using this method for about a year, and have accumulated 669 note files so far.

There are a bunch of other features in NVAlt that I don't use. The ability to paste readable content from a web URL is pretty cool (though I don't use it often).

For algorithms (or things that aren't snippets of code, for that matter), I keep a notebook. Writing in a notebook with a pen forces me to make the learned item as simple as possible (e.g. by making a drawing), and the "aesthetics" of writing mean that I also feel compelled to keep my notebook tidy and interesting to look at, I feel it gives me a sense of personal accomplishment (I was never good at "arts" and making drawings e.g. of how a graph algorithm works is my way of creating "art" ;))

For things that involve code, e.g. an actual implementation or particular snippet, I use org-mode. It allows you to embed code as part of a regular document. I keep both thematic documents as well as a file per day for loose notes (the idea being that stuff that I collect will eventually be polished up and make it into thematic notes, but that never happens).

I write everything down in a simple wiki I made: https://cowyo.com. [1] I have a personal instance that is password protected. I make pages for categories (art, music, math, etc.) and use it to write quick notes.

I also have a git-based go-to journal program that I use to write down other things I learn. [2]

Other than a web browser and a terminal, these are two of my most used programs...

[1]: https://github.com/schollz/cowyo

[2]: https://github.com/schollz/gojot

I use google docs and title the doc with a broad question or the search terms. I then answer the question or put in the research in the body of the doc. The search engine for the docs is then my own personal google.

What does it mean to "keep track of what you learn"? How do you determine what it is that you are learning and when, and what is the purpose of trying to log such an experience?

sorry, the question might have been poorly worded. I just didn't want to use the word "notes" to not bias the answers. I was referring to the process of learning, when you start with a new topic, you learn a lot of things, of which we retain the most important and abstract concepts. But sometimes it helps to write it down, make some notes to come back to, etc... In a way that you can easily get back to follow your footsteps

I saw a reference to a "zettelkasten", a system for hierarchically organizing index cards containing knowledge, about 6 months ago. Interested by the idea, I put together some code to automate the process to some extent and started using it. It stores notes in a directory tree and provides commands to make it rather quick to move through the tree and print/edit things. Personally, I've gotten good use out of it: it provides some basic structure to my notes, and by aliasing the command name to something really short like 'zk' it's pretty quick to use, so I'm getting a lot better about taking notes.

Unfortunately, I wrote this in odd free moments at work and can't just release it without going through a rather convoluted process. It's only about 400 lines of Go, though, so anyone who thinks this sounds kinda neat should be able to replicate it pretty easily.

Oh, it also has commands that let you store a copy of a given file with the current note, so you could e.g. take screenshots as you're making notes and they'll live with the note.

Edit: I've played with org-mode but it's kind of a big beast and I like separating out all my notes into individual files, plus I'm only occasionally an emacs user (I get the bug, use it for a week, then get sick of it and bail out)

I read about that as well, your system sounds neat.

Re org-mode: It's easy to split out into multiple files using links. I have an index.org in my ~/org directory that links to many topics, each linking to more (or each other). It's effective for creating a personal wiki-like document graph.

If I learn something, it's usually because I want to implement it. After it's implemented, it's in a source control repo somewhere. While I often don't remember exactly how something works, I will remember where/when I implemented it, so I can just pull up the code from that repo and I have a working example, which I myself wrote.

I usually learn by doing which means that my github while a mess does encompass the things that are relevant that I have learned.

The other way would be taking notes. I'm really bad at managing notes at this time but when I take notes I can recall them for a few months.

But, going back to my previous paragraph due to the fact I learn by doing I remember things that I do repetitively.

If I actually learn it as opposed to just reading something I keep track of it by remembering it. That's what learning is.

It used to be keynote (the original)[1]. The format was really useful to me[2] in that you had the left-hand side panel, common in many PIMs, but it also had tabs to further organize by category/field.

Since I moved over to Linux, I settled on ZIM / Desktop Wiki[3]. I love that it's directory/file-based. The organization is done via directories. The content are text files. I no longer have to worry about whether alternateOSx or mobileOSy will support my content. Any filemanager will do... in a pinch.

[1] http://www.tranglos.com/free/keynote.html

[2] screenshots: http://www.tranglos.com/free/keynote_screenshot.html

[3] http://zim-wiki.org/

I started making mind maps to keep track of what I wanted to learn and what I knew already.

It was all one big mind map and was quite hard to manage so I decided to split it up and focus on semantically linking things together with mind maps and providing resources for these topics. I also decided to make it into a search engine so all have a chance to edit and fork the content.

Here is the search engine : https://learn-anything.xyz/

I still keep my notes as mind maps, just don't publish them in the search engine :


keep up with the good job!

A motley combination of a wiki (I use Mediawiki), paper notebooks, and various OpenOffice / Google Docs documents. Also, I annotate paper books with those colored sticky page flags, and - rarely - light pencil marks (I mostly don't like marking on books).

All of that said, I don't have a good, comprehensive, over-arching approach. It's a bit of a jumble right now. That said, in the name of "eating your own dog food", I will eventually be applying some of the stuff we're working on at Fogbeam Labs, especially in terms of using semantic web tech and machine learning to automatically mine rich semantics from documents and automatically link them, etc.

I use a personal wiki (I use Mediawiki) and private git repos (BitBucket).

It may make sense to open up a YouTube channel though, so I can go back and review things later on. Thanks for bringing this up, because I think that's a very actionable goal.

isn't pinboard mostly for bookmarks? does it work well for notes?

Github is a good place to store notes, etc. I use either .org or .md files for documentation.

Over the past year, I've been trying to go deeper with my Swift/iOS knowledge and creating small example programs so I have can build a reference as I learn something new:


For a better search, I load the local repo into Sublime.

In Markdown files and Google Spreadsheets.

The markdown files are published to my site...which I accidentally overwrote https://www.aizatto.com/notes/

Google Spreadsheets example: https://docs.google.com/spreadsheets/d/15J9dbIjHmKP9ShYuy3wm...

I keep track about my learnings by blogging about them. Especially in web development (React) I try to keep up with them. In addition, I write down summaries of books that I have read. [0] Unfortunately I am reading more books than I am able to summarize ...

- [0] https://www.robinwieruch.de/categories/growth/

for stuff at work i use the internal company wiki's blog option. on a day where i learned something i didn't know before and want to keep a record of it, i blog about what i learned with a"TIL" tag and subject header.

it's company-public and i've had others comment on how some of my TILs helped them. i've also had others offer their own insights to what i learned and subsequently learned more.

so in a way you guys are "microblogging" the knowledge right?

I write pretty copious notes in Markdown and put them in gists. I usually share them with my team whenever I get questions. I just search them with the firefox bar by title/subject, since github formats the markdown when you view it.

I also make Anki clozure cards for key facts to try to keep the skeleton of it in memory. Helps quite a bit to keep some points in active memory. I do the reviews daily.

are the gists public? care to share? the firefox search bar only works for those in the first page right?

I make them public gists, but they're all company internal stuff on the internal github server, so they're only public on the intranet. ;-D

The firefox search bar only works for the titles. Since I wrote them, I usually know what's in them.

I always write them locally anyway, and then push the gist up to the server. Since I wrote them locally, if I really need to search them, I just use "ack" on my directory full of gists.

Since 2010, I keep all my "projects" in folders named "projects/<year>/<mmdd>-subject/" e.g. "projects/2017/0721-hncomment".

Often they are a local git repo containing markdown, org-mode and code. The advantage is that it's easily searchable and ages well.

Over time I only keep most the most essential pieces of information.

Works for me, but your mileage might vary

I find having a GitHub repo where I write down what I'm learning in Markdown pages and also link to my coding excercises helps a lot.

Also check out AnkiApp

I keep a 3-ring binder with plenty of college ruled paper on my desk, and am continuously writing down bits and pieces of information. My keyboard is on a keyboard tray to give me room on the desk for the binder.

It's not an ideal system, but practical. In college, I remember coming across THOUGHTSTICKER, which I would recommend anyone working on e-learning to research and steal ideas from.

I try to write everything down. If it's for general purpose stuff, it goes in my Evernote. If it's technical, Bear Notes.

Why two separate apps? I find Bear Notes handles Markdown much better which is my preferred method of note taking. On the other hand, Evernote is better at OCR, media, etc.

I hope to one day transition everything to Bear Notes but until there is feature parity, this is my setup.

For books I've read I use Zotero. Easy to tag (read, want to read, which library has them) as well as organize and you can add notes including annotated pdf's easily. I use org-mode to track things I want to learn (i.e. online course, project, etc), and I archive the notes when I completed them. If I need to lookup something it's pretty easy.

To add to the other tools listed here. I like the free Cherry Tree tool. It lets me set up nicely nested categories and under that set up code folders and notes folders. All saved in a single file.


I do. I store everything I learn in an extremely complex biological machine inside my skull. It's very efficient.

I have created a very simple web application specificly for this. I find keeping things that I have learned extremly important, that's why I didn't want to use any other hosted service, so I have complete control about how I store (end-to-end encrypted) and organize (tag-based) my notes

url? :D

Interesting coinscidence. I'm just switching from Evernote (they lost my data again two days ago and this time it was pretty bad) to Google Drive and trying to figure out some efficient system. For now, it's mostly folders with text documents, directly copy/pasted from Evernote.

I live by my paper notebook. Personal favorite is the A5 grid notebook from Muji. Their .38 pens are also sublime to write with.

Something about writing stuff down with a pen on paper commits them more to memory than typing them.

Onenote... Helps me organize my thoughts and the search works well enough to find things. Not great for collecting things of the web though, as I don't think the clipper is powerful enough.

I use a tiddlywiki. Very easy to backup, easy to search. http://tiddlywiki.com/

If using on Chrome, how do you cope witg Chrome downloading a new copy everytime you save a tiddler?

I don't actually use Chrome/Chromium.

I keep track of bugs I've seen that I know I'm going to forget.

I use a markdown file, called ThingsToRemember.md, with absolutely no organization.


This. I'm loving Anki more and more for cert studying.

Agreed - also check out AnkiApp

Ew, no. The fact that they are intentionally confusing users to piggyback off Anki's success is so scummy and distasteful.

If I'm getting this correctly, there is a flashcard app called "AnkiApp" that is separate from "Anki", but uses the same name. That's very misleading.

Has AnkiApp made any improvements to Anki, or it it pretty much just a flashier UI?

Carefully organized text files in a 'Learning' folder in my dropbox, full of notes on what I've learned.

Massive OneNote on my computer with hundreds of pages of snippets and notes related to my job, but not random things.

Mindmappers used to be popular for this... not sure what happened to them.


Same. A complex set of org-mode files at home and work on various topics. Paired with git for syncing across devices (down to just one computer at home though, so this is mostly just for version control) and org-babel, I can practice and study nearly any programming topic within it.

I've started with org-drill recently (been using Anki) to try it out. Not sure if I'll switch, but may use it for topics that are inside of my org files already to help keep my memory fresh on topics.

I've also started experimenting with Incremental Reading [0] inside org-mode. I've only done this with a couple things. Take an article or ebook or other document and get it into an org-mode structure. Mark each item with READ, UNREAD, and NEXT (to track your place in the document). As I read through it I have a capture template for creating drill notes from a marked region (very basic, just makes an item with a tag of :drill: and the contents of the region). Then when you do your drills during the day, these items will be brought up for practice. When you return to the article or text (in theory, haven't been trying this long) you can pick up where you left off because you've got the important parts of the old, read sections in your memory (and practiced).

I will be trying it with some work documents soon (many spec and requirement docs for a set of systems I don't know well, pull out important details and document names so I at least know where to look for things). An experiment in building up a better understanding of complex systems that I didn't have a hand in developing. In the past, I've relied heavily on SMEs and test engineers, more than I should have, and on this project in particular we have no SMEs for the bulk of the system.

[0] https://www.supermemo.com/help/read.htm

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