Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: How do you keep notes of things you learn
45 points by mraza007 on May 11, 2020 | hide | past | favorite | 42 comments
I think keeping notes is really useful especially in a career like software engineering. How do you manage your notes or knowledge base that you build everyday


My goals for my personal knowledge base are that it's comprehensive (i.e., it has a lot of stuff) and it's accessible.

To achieve this, I need a way to support these two different phases of notes:

* The first phase is "get-it-down."

* The second phase is "refine."

The "get-it-down" phase needs to be fast. It's important for me that I don't need to think about where to write. The "refine" phase is where you can delete, organize, edit, and build off of what you've written. It should also be fast.

I always had to use two tools to satisfy these needs. I needed one place where I could write fast/loose, and one place that's more organized and structured. This resulted in me writing to the "organized" knowledge base less. So I was less likely to get the most out of the things I was learning.

That's why I built bytebase.io.

With Bytebase, you jot things down into a temporary space called "No Man's Land." Then you organize your notes using keyboard shortcuts. If you want to check out our closed beta, email me at cara@bytebase.io. Would love any feedback.


Really like your product Do you have to be a paid user to get access


Great to hear! Currently Bytebase is free to use.

When we move out of Beta, we'll have both free and paid tiers.


Just sent request acsess


There is one category of Knowledge Base tools where you're putting stuff in yourself: Emacs org-mode, Notion, Evernote, Roam etc. There's definitely benefit in that. You could even take notes in the form on Anki cards.

The other category, which is quite under-served in my biased[1] opinion, is the Knowledge Base that grows automatically and is maintained for you.

You learn by spend time on various different articles, some of them you upvote on Hacker News. You do a number of such things all day everyday. Wouldn't it be great if a tool compiled all that information automatically, "your history" if you will, and made it easily available to you? That's https://histre.com/

[1] biased because I'm solving this problem by building Histre.


I love this, and have had the same idea. Said another way, the goal is to convert your wasted "data exhaust" into potential energy in the form of automatically organized knowledge.


Thanks! Exactly! You create so much signal just by doing things online and all that is being thrown away. Histre works towards putting that to good use for yourself.


At the risk of pumping my own project, and recognizing that this is an untested methodology, I've just recently created this project to do exactly that:

https://github.com/senorprogrammer/til

I spend most of my day in the command line, so having a fast, simple way to capture things is the goal.


Wow i really like this project Its simple and easy to use especially for some one who’s an avid commandline user


If you give it a try and have any feedback, please do let me know via GitHub.


Sure definitely Do you think if we can search to it that would be great


Will take a look!


Being a developer ;) I built an application for exactly that purpose: https://contextualise.dev/. Saying that, check out apps like Roam Research and TiddlyWiki. For more examples of apps to manage your knowledge check out this resource: https://github.com/brettkromkamp/knowledge-graph-radar


I really like your app


Thanks. If you have any questions, just let me know.


I used to have an elaborate system, but I converged on a simple solution: I stash everything in a single Google Docs document.

I made the conscious decision to optimize for ease of use, so that the friction/effort to write something down is minimized.

At the same time, I also made a decision to not to adopt any organization system -- anything that increases the friction of use is eschewed. Search was all I needed. I've been using this system for the past 5 years or so, and it's been very productive.

To extract ideas from it, I routinely re-read stuff (it's in log format, so it's very easy to read) and use the Fieldstone approach (Weinberg) to coalesce similar and interesting thoughts and rewrite into larger thoughts. I've gotten a lot of actionable ideas this way (that I actually go on to execute on).

So it's a system optimized for postprocessing rather than pre-processing. I find that pre-processing systems are unsustainable over the long term unless you're exceptionally disciplined. I try to build systems that don't rely on sustained human discipline.


I have a markdown file that I don't actually view in markdown, but rather in my editor so that the syntax colors can break things up be it sections (e.g. the bash section v the git section). Further I'll write the command, and then write an explanation in the comment which is a different color.

I can do a ctrl + f for "_git_" and get to my git section straight away.

_git_

- git checkout $deleting_commit^ -- $deleted_file <!-- undelete $deleted_file, ^ will grab the previous commit before the $deleting_commit-->

- git checkout develop .circleci/scripts/feature_branch_deploy.sh <!-- pull in the develop version of feature_branch_deploy.sh -->

- git clean -f <!-- revert all local changes on branch -->

- git reset HEAD~ <!-- undo most recent local commit -->


What text editor do you use to do that. I have explored vimwiki to keep track of things i learn and it has been helpful but sometimes it gets harder to maintain sometimes (thats just a personal opinion)


Yeah I hear you. I usually just keep a combination of things that I use often and some of the more fringe commands that are useful and might take awhile to find again.

I use VS Code with the atom one dark theme, but I have an atom onedark plugin installed on vim that gives me the same colors / functionality.

This is the only thing in my .vimrc ``` syntax on colorscheme onedark ```


Will you go back to your notes and refer to them after you learnt something? Personally, I use taking notes as a method of learning and not as something I will come back to refer again. I find it is easier to just google for what I am looking for rather than go back to my notes.

But, I do get good ideas to explore further when I am learning something new. Once I finish learning, such ideas don’t come back to me again. So, I use Mindmap to record such ideas and references to the material, I was learning from, when the idea came. These ideas become the basis for the projects that I pursue to further solidify the learnt material or a side project or a hobby project etc.


I think its really useful to have track of things you come across when doing a project and learning something new. Yes you can google search but if you have already written it somewhere its just easier to go back to and further more you can even share it with other people and they might discover something new too.


You are confusing “come across when doing a project” aka documenting project or information specific to a project (ex: config, strategy etc) with “learning something new” (ex: neural networks, linear algebra). They are two different activities and requires different strategies. One requires proper documentation not scribbled notes, the other requires learning and notes as a method of learning and not a tool of reference.


If you're willing to invest the time in it, org-mode will reap you dividends and a note taking system that will last you for life. org-roam, especially, is really great.


I have been thinking about it lately to learn emacs and especially for orgmode


https://www.giuspen.com/cherrytree/

Hierarchical structure of notes, which are either plain text or rich text. Supports unicode. Can store notes "one file per node" or "the entire structure in one file". Works on Windows and Linux. Is free and open source. There are no magic characters, so you can copy-paste code without further editing. (This is the part that I dislike about most alternatives; the need to add backslashes before dozens of characters whenever you make notes containing code.) Supports encryption.

How to organize the nodes? I'd say, adaptively... start with one huge file for everything, and optionally separate the parts that grow too large. Or by access rights, e.g. "this needs to be encrypted" or "this I also want to use at work, but this is private". Refactoring is simple.

Right now I have two files I use at home: "Everything" and "Private" (password-protected). One file called "Computer science", which is shared between my private and company computer. And one file I only use on the company computer, containing company-related stuff, including the projects I work on. (For example, "how to do X in project Y" would go to the company file, but general "how to do X in language Z" would go to the shared file.)


This is a very important topic for me, to be able to take notes and check them everywhere I am.

I built a portfolio / blog with Jekyll + github pages and write notes with markdown. Free was important at the start as I didn't know if I was going to keep using it.

I'd show but funnily enough I'm moving the hosting right now from Github Pages to Google Firebase so the page is down.


If I actually learn something and use it I remember it. If I come across something possibly useful I copy it to Google Keep.


Do you think are there any open source alternatives for google keep


I don't know. I use Keep because it's simple and syncs across all devices. And it's free, but not open source.


Joplin is the one I'm currently using to replace Evernote and Keep, and would probably recommend it. It's still not as quick, but it is pretty good.

Turtl is probably closer to Keep, but I didn't like it quite as much.


I have to be honest, I just take notes on paper. It is not optimal for finding stuff across old notebooks though.

If I had today's technology back when I started, I would probably digitally record it with something like an Apple pencil etc. If it was all OCR'ed I would print it with an index in book form.


I keep my project notes and useful miscellania in OneNote in separate subtrees so stuff that's inert-but-useful doesn't get mixed with the stuff that's more directly related to action.


I use https://colab.research.google.com/ for long form notes like setup instructions, code snippets Anything small, I use google keep


I keep everything from notes (markdown) to config files etc in a private self-hosted repo (gitea) accessable from anywhere. Don't trust any online provider for personal notes


I've recently started using Roam Research and have basically fallen in love with it.

https://roamresearch.com/


Looks cool seems like you have to request access to it


Markdown files using Nextcloud - I can edit and the files on my phone/browser. When it comes to note taking, I want something fast and everywhere.


one big plain text file stickied in Notepad++'s Post-It mode. hashtags and timestamps so I can search through previous notes.


ripgrep + fzf in vim are a big win, in a nv-alt-like workflow and always a keyboard shortcut away


found this react native open source Joplin but unsure of privacy using webview https://joplinapp.org/


This sounds promising I wish they offered an api to update the notes


Notion.




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

Search: