
Ask HN: How do you keep notes of things you learn - mraza007
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
======
cborenstein
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.

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

~~~
cborenstein
Great to hear! Currently Bytebase is free to use.

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

~~~
mraza007
Just sent request acsess

------
kirubakaran
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/](https://histre.com/)

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

~~~
adamfeldman
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.

~~~
kirubakaran
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.

------
senorprogrammer
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](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.

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

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

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

------
brettkromkamp
Being a developer ;) I built an application for exactly that purpose:
[https://contextualise.dev/](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](https://github.com/brettkromkamp/knowledge-graph-radar)

~~~
mraza007
I really like your app

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

------
wenc
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.

------
strangelove026
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 -->

~~~
mraza007
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)

~~~
strangelove026
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 ```

------
akg_67
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.

~~~
mraza007
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.

~~~
akg_67
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.

------
nvarsj
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.

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

------
Viliam1234
[https://www.giuspen.com/cherrytree/](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.)

------
itsmeamario
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.

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

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

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

------
tmaly
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.

------
coffeeling
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.

------
samrohn
I use [https://colab.research.google.com/](https://colab.research.google.com/)
for long form notes like setup instructions, code snippets Anything small, I
use google keep

------
fractalf
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

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

[https://roamresearch.com/](https://roamresearch.com/)

~~~
mraza007
Looks cool seems like you have to request access to it

------
cyberpip
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.

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

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

------
dubs333
found this react native open source Joplin but unsure of privacy using webview
[https://joplinapp.org/](https://joplinapp.org/)

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

------
grimborg
Notion.

