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)[1] 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. (The Fieldstone approach is a method from writing, rather than knowledge management.) I find that pre-processing systems are unsustainable over the long term unless you're exceptionally disciplined (also, it's hard to know how to structure knowledge until you've processed it -- most interesting ideas are a garbled mess when first encountered). I try to build systems that don't rely on sustained human discipline or the necessity of shoehorning into known organization units.
[1] https://www.skmurphy.com/blog/2016/05/04/weinberg-on-writing...
The doc should have grown over time. Do you just append to the doc as you learn something new or do you organise learnings within the doc. I am asking this because if there is no structure there wouldn't there be too much of context switches when you go over them ?
Rewriting is a process of refining. Most ideas get rewritten and iterated on several times before anything coalesces. Also, it's common to have duplicate ideas at different times so coalescing them simultaneously consolidates them.
For instance, when re-reading my doc, when I see multiple ideas related to say topic A, I put all topic A items together (just copy-and-paste into adjacent paragraphs -- nothing more), try to see the bigger picture and then try to rephrase them more succinctly. I constant rewrite and synthesize the disparate ideas into something more cohesive, kind of like snowballs clumping with some getting bigger over time. Some ideas do die in the process (you can copy-and-paste these into another Docs document), while others grow bigger and become more precise in their expression.
The one idea behind the Fieldstone approach, often not considered in other methods, is engagement of the emotions. Of 100 ideas, I may only feel passionate about 5 at any given time because they resonate in my situation. For instance, some ideas/arguments/metanarratives which were meh to me pre-COVID now feel urgent, and with my current perspective, I've an emotional investment in pursuing and expanding them.
You can have 100 ideas but you really on need to work on the few that you really care about, ie. those whose time has come. Only pursuing ideas that you're emotional about helps you focus and not be overwhelmed by the myriad ideas that are in the document.
Inspiration is lumpy, but with a store of constantly refining/evolving potential ideas in the greenhouse -- which you cultivate over time -- you are better positioned to take advantage of those on the verge of blooming.
It reminds me of what Richard Feynman said about convincing others that you're a genius: "always have 6 important problems percolating in your head; when you come across a new idea, test it against the 6. Once in a while you will hit jackpot and find a good match between problem and solution. Everybody will then think you're a genius for seeing the connection so quickly, when in reality you may have been thinking about the problem for years." (paraphrased)
This is a serious impediment to developing any useful expertise in any area, but I have sort of made peace with this tendency. But not all is lost. It has been my experience that the next time I visit a previously learned topic, it's significantly easy for me to load everything to my "active" memory, and build-up from there. Apparently, you never truly forget the things that have once learned well. See here, for e.g.: https://www.sciencedaily.com/releases/2008/11/081117110834.h...
> Scientists at the Max Planck Institute of Neurobiology have been able to show that new cell contacts established during a learning process stay put, even when they are no longer required. The reactivation of this temporarily inactivated "stock of contacts" enables a faster learning of things forgotten.
I am no expert on memory, but from what I have read on the topic, our long-term memory is virtually unlimited, the main constraint being inability to recall rather than the memory content being erased. If you have once learned a topic well but haven't visited in a long time, you may not be able to recall it very easily, but you will be able to recognize or relearn it better than someone who doesn't have any exposure to the topic.
I agree with your this part and personally my memory behaves the same way, but I am not sure if it should be like this, because then for example if I am having a conversation with someone about a topic I studied long back but did not recall recently then I am unable to contribute anything to the conversation although back in my mind I know that I studied or read about this but because of this poor memory thing I have to remain silent.
Whittling it down, I think of it as Data, Insights, and Execution. First you need lots of data, then you get insights, and finally you can execute when you're close to maximizing on insights. Writing helps keep track of the first two, and if you want to teach then execution = communication, or how you package and present something.
Usually you get a fair amount of review just from the stuff you read while searching for other stuff you know is in there somewhere.
https://github.com/vincentntang/TIL
It's where I store my code snippets, and a way to rubber ducky to myself. Everything I write on there is directly something I had to look up and didn't know off hand. Something to note is I do add things to my TIL during work hours and spend 10-15 minute tops writing each `.md` file
I haven't really blogged much lately but this makes it easier to transition after. I wrote a React useState and useEffect guide this morning from my TIL notes
https://www.vincentntang.com/react-use-effect-explained/
I highly recommend making a daily TIL since I can rich search all my notes for copy paste code I can use for projects
To that end, I keep a mistake log, into which I insert an entry after doing something that either caused down-time or that caused my team to lose over an hour of productive time. It now has over 500 entries in story format, along with the relevant code. Some example titles (along with their tags in square brackets):
- [gotchas] references to relative file paths are brittle when there are multiple entry points to a program
- [gotchas] lazy evaluation cannot be cached in most systems
- [unix] adding `sudo` affects $PATH and can cause commands not to be found
- [gotchas] never confuse STDOUT with return value
- [collaboration] never remove a flow in code without consulting all possible stake-holders
- [algorithms] when calling a sorting function, always ask yourself if alphabetical or numerical
I plan on posting a video with more details on my YouTube channel soon.
ubuntu tricks ___________
keeping one file makes it easier to search or browse ... separately I have other text files for broad categories like nyc, shop, bb ( catch all )
from a terminal ( Ubuntu ) I enter this to search
svl 'some string here'
where svl is an alias to a bash script containing
stringPattern=$1
cat ~/MEGA/notes.txt | grep --color=auto -B 10 -A 15 -i "$stringPattern"
I use mega nz for cloud storage so all this is mirrored on any box I use ... been using similar my entire career so this file today has over 90,000 lines of text notes ... I find such a process essential to be productive across a vast array of problem domains
(1) attaining an intuitive sense for them
(2) memorizing as little jargon as possible (only the amount necessary to look up things later).
(3) making my life richer
(4) making more accurate predictions about the world I encounter
How? It varies. Lots of lectures and listening with no written notes. I had a professor who spoke so quickly I couldn't take notes as he spoke so I learned to listen as learning.
Materially I make entries in a Google Doc which morphs often. The headings change and move around, entries are deleted and modified.
-
Precise dates and proper nouns do not interest me. IMHO that's all dry memorization, bits that don't connect to other bits, that's stamp collecting and tantamount to hoarding (which I think is gross, a literal failure of hygene).
The only things that I do "urgently" would be to add elements to the backlog, and to fix errors in the published snippets. For everything else, I put a reminder in my calendar for the weekend, or after work in case I feel energetic enough.
Here's my 'journal' to share my learning as a Software Engineer as well. Hope you enjoy it!
https://blog.phuaxueyong.com/post/2020-02-29-articles-in-sec...
It's a very effective way to keep everything in long-term memory. (It's also very difficult. You're trying to recall items that are just at the edge of your memory.)
Also, I just keep notes in one giant text file. I'd love some sort of fuzzy search though.
- Readwise.io: to capture and resurface highlights I make on my Kindle - Pocket: to capture web reading and highlighting (readwise works here too)
Simple, effective :)