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.<p>To achieve this, I need a way to support these two different phases of notes:<p>* The first phase is "get-it-down."<p>* The second phase is "refine."<p>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.<p>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.<p>That's why I built bytebase.io.<p>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.
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.<p>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.<p>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 <a href="https://histre.com/" rel="nofollow">https://histre.com/</a><p>[1] biased because I'm solving this problem by building Histre.
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:<p><a href="https://github.com/senorprogrammer/til" rel="nofollow">https://github.com/senorprogrammer/til</a><p>I spend most of my day in the command line, so having a fast, simple way to capture things is the goal.
Being a developer ;) I built an application for exactly that purpose: <a href="https://contextualise.dev/" rel="nofollow">https://contextualise.dev/</a>. Saying that, check out apps like Roam Research and TiddlyWiki. For more examples of apps to manage your knowledge check out this resource: <a href="https://github.com/brettkromkamp/knowledge-graph-radar" rel="nofollow">https://github.com/brettkromkamp/knowledge-graph-radar</a>
I used to have an elaborate system, but I converged on a simple solution: I stash everything in a single Google Docs document.<p>I made the conscious decision to optimize for ease of use, so that the friction/effort to write something down is minimized.<p>At the same time, I also made a decision to <i>not to adopt</i> 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.<p>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 <i>Fieldstone approach</i> (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).<p>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.<p>I can do a ctrl + f for "<i>_git_</i>" and get to my git section straight away.<p><i>_git_</i><p>- git checkout $deleting_commit^ -- $deleted_file <!-- undelete $deleted_file, ^ will grab the previous commit before the $deleting_commit--><p>- git checkout develop .circleci/scripts/feature_branch_deploy.sh <!-- pull in the develop version of feature_branch_deploy.sh --><p>- git clean -f <!-- revert all local changes on branch --><p>- git reset HEAD~ <!-- undo most recent local commit -->
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.<p>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.
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.
<a href="https://www.giuspen.com/cherrytree/" rel="nofollow">https://www.giuspen.com/cherrytree/</a><p>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.<p>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.<p>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.<p>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.<p>I'd show but funnily enough I'm moving the hosting right now from Github Pages to Google Firebase so the page is down.
I have to be honest, I just take notes on paper. It is not optimal for finding stuff across old notebooks though.<p>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 <a href="https://colab.research.google.com/" rel="nofollow">https://colab.research.google.com/</a> 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.<p><a href="https://roamresearch.com/" rel="nofollow">https://roamresearch.com/</a>
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.
found this react native open source Joplin but unsure of privacy using webview <a href="https://joplinapp.org/" rel="nofollow">https://joplinapp.org/</a>