I've tried to incorporate some of the ideas of the "second brain" and it didn't really give me that much. My lessons:
1. It's always super helpful to write things down. Taking notes from what I read/learn is a great way to verify that I understand it. It sharpens my thinking.
2. However, maintaining the "second brain" is a lot work. It's not only about "linking" together notes. You also need to maintain some consistency between them. I ended up spending a lot of time thinking about the structure instead of actually thinking about the content.
3. Most of my notes/thoughts fall into two categories: (1) Either they are critical for something I'm actively working on or (2) it's just loose concepts that I'm toying with. For (1) I immediately end up playing with it in code — which is far more concrete and tangible than notes. And for (2) it was rarely important to retain the knowledge accurately many weeks/months later.
What I've ended up with is taking a lot of notes, but I hardly focus on organizing them.
> I ended up spending a lot of time thinking about the structure instead of actually thinking about the content.
This is why wikis, which I originally thought were just the best things ever, seem to become useless over time.
The Mac application Quiver [1] introduced me to the idea of categories, which can contain one layer of sub-category, and either categories or sub-categories can contain articles, which contain text. A really simple tree.
This extremely simple structure is just enough to (A) contain everything I've thrown at it and (B) know where to look for something. And, you can make links from one article to another for when a cross-reference is good to have (but I do it very rarely).
I now use Obsidian [2] which is more modern, not Mac only, as well as being much simpler to use than Quiver, using simple markdown.
I actually stopped using Obsidian a few months ago. I feel like these knowledge collection/note taking applications over complicate everything. I wasn't happy with the search feature in Obsidian specifically and the fact that it forces you to add their own application specific characters/flavor to your markdown. [0]
I thought about it and my minimum requirements for a knowledge graph tool are:
1. Edit files in vanilla Markdown (no application specific cruft)
2. Be able to search content easily (ideally via grep)
3. Add 1:1 or 1:many links between files (direct links vs. tags, ideally using requirement 2 to implement this)
And the simplest solution for me was:
1. A single level directory of md files (no folders!)
2. Vim + Telescope [1]
3. A small set of guidelines [2] to define searchable patterns for linking files/nodes
I also wrote a little md renderer (seen in link 2) that adds the features I wanted for exploring my notes/second brain in a browser that picks up on the patterns in the guidelines. Gotta get a grep search on that thing and it'll be golden, but I apologize I'm rambling at this point.
Never been happier. I just use Working Copy to jot notes on mobile when I'm not at my computer.
Have a look at the German software 'The Archive' https://zettelkasten.de/the-archive , this might be what you are looking for.
It is not overloaded with fancy features and is text/markdown based. Enables you to focus on your actual notes and ideas and how to connect and inter-act with them, instead of getting lost in fancy diagrams.
Their user forum is in English and is THE best ressource regarding all things Zettelkasten.
https://forum.zettelkasten.de
Niklas Luhmann, the inventor of the Zettelkasten system, was German, after all :)
I tried out The Archive, definitely a good option! My guidelines are very similar to theirs but to be honest I think I value the speed and power of my Vim setup too much to use any other text editor... so maybe the setup I described above is only relevant to people who want to also edit notes in their preferred editor lol
Although, I do think I have a small gripe with the Zettelkestan method. I don't see the point in having a large collection of small notes with unique identifiers. If I have a random thought, I will write it in a physical notebook accepting it's mortality. If I want to immortalize it, I flesh out the thought and transfer it either to it's own file, or add the small bit of info to a relevant file.
Even if I did want to jot down every small thought or idea of mine in my notes directory, the manageability difference between a single long file (for say all my small thoughts) vs. a ton of small files seems marginal to me. I do personally prefer the former though.
When your main method for searching relies on powerful content scanning (grep) and connections (tags/direct links) it doesn't really matter where the content lives. If the search is powerful and the connections are strong, everything is easily discoverable.
Vanilla markdown I've realized isn't what I want. What I want is Markdown's editing simplicity, but I do want WYSIWYG for inserting pictures (drag / drop, copy+paste), resizing them, and I do want inline-rendering of more complicated things like graphviz and plantuml.
Wow, no directories. That kind of blows my mind. I just really appreciate some kind of high-level "directory" (for lack of a better word) rather than trying to remember some random tag to help me find something.
Reminds me (sorry, I'm a dinosaur) of the WAIS [0] days -- I had a friend who showed me some cool sites accessible through WAIS. When I asked them if there was some kind of directory to find stuff, he looked slightly annoyed and said, "You could build one, I guess." The WwW came along shortly thereafter, with lots of directories of sites, and yeah, most folks have never even heard of WAIS :-)
It works! But only when paired with fuzzy search for file names and grep searching file contents. I do sometimes like to just roam around my files for fun though and do remember specific file names, so naming is still important for me!
I've found that if you don't have structure, then you're reliant on plain search terms. As you have more and more leafs, without a tree, your searches will match more and more leafs, to the point where you'll have difficultly finding conceptually related but not textually related concepts. If you're using tags or links, I would claim those are structure. I've often found I have to go back and add tags/links to pages so I can find them in the search results.
I think structureless is not possible, since some form of structure will grow, with lumps. I think there's some happy in between, with some light structure in place.
Perhaps "useless" is the wrong term -- perhaps just "wildly inconsistent" would be better (which winds up being pretty much useless, if you can't find anything).
nomel wrote:
> I think structureless is not possible, since some form of structure will grow, with lumps.
This really nails it. There will be some kinds of structures (note the plurals), particularly if more than one person is involved, since you just think... differently at different times. A minimal structure like Quiver/Obsidian just takes all those silly decisions away that wind up lumping your data into a difficult-to-access wad.
I started using OneNote this year. I create a weekly "Note" where I throw all my notes in during a week. This includes a weekly ToDo checklist, a note section per meeting, and then random thoughts, code/log snippits, or whatever else I need.
It's not perfect, but it's the best solution I've found so far. I've tried every note taking method out there and I always fall off after a few months. I think this is working for me because it has the quality of a general wiki, but I start fresh every week, so I don't have to worry about carrying over or linking "knowledge" for the most part.
Most of note taking happens at work. I tried local plain text notes, then stuck with confluence for some time. Confluence is slow and resists a lot.
OneNote is what I have end up with for now. Every page in one note is like a whiteboard where you can put anything anywhere. I sometimes store screenshots of code snippets. Sometimes even full files. Use it for small temporary todo lists. OneNote is a great place for putting down random info as quickly as possible.
Not worrying about how and where to put your thoughts down is very very important. Thoughts get lost in the process otherwise.
I go back and forth between doing this on a daily or weekly cadence, but it's also the only thing I've found to keep being useful over time. I always get a wild hair to try and write Markdown or something but really I just end up writing text and it's fine. The most meta I ever get is adding additional keywords for me to search later.
I am not going anywhere without my reMarkable 2. This is just crazy convenient tool for dumping thoughts and trying ideas.
E.g. when I design something. I'd draw abstract boxes and other shapes, then add a new layer, make connections, another layer some notes. You can freely move things around or erase with a pen.
I think my productivity gone up like 10x.
I especially like the fact that I can just leave my laptop, sit somewhere quiet and just write and draw without distractions.
I think one of the problems is that people want to "de duplicate" knowledge and have such solutions with "DRY - don't repeat yourself".
What is my idea - I have VS Code and just write down things with tags using # - then even if I have something in two places on the same topic I don't mind. When I see it in search I will recall which one I need.
Disk space for text files is nowadays basically infinite :)
The problem is that "taking notes" means different things in different contexts.
For an academic sociologist, building a zettelkasten is a step in the process of writing academic publications; for me an academic in Earth Science, taking notes is documenting the software my team writes, documenting the scientific methods we use; keeping track of tasks and writing meeting notes; for a programmer, taking notes is storing examples of code, ideas, etc.
That's why there is no one way to taking notes. There will almost be as many note-taking tools as people using them!
One person can have multiple systems of note taking. Just daily notes that you need to write down to keep some thoughts around. Other system might be for writing a book that needs to be really structured.
I think problem is that a lot of people think that they need to have "one master system" to rule them all.
But what is my idea - that if you have some daily note that you want to include in your book, you copy that piece to your "book notes" from your "daily notes" and have 2 copies in different contexts.
Sometimes I have that grand idea that I would like to wrap my mind around entirety of my life ... it is just not possible and CONTEXT is the king.
I think the missing things for most people revisiting notes is they record the what but rarely the why. The why makes the what easy to back into but we tend to focus on the destination what too much. ymmv
What I've found myself doing is taking a lot of notes, then when the moment arrives to organize them, I just delete them.
I end up having to rebuild my (admittedly tiny) "second brain" from scratch from time to time, but at least I end up with stuff that's relevant now-ish, without having to bear the cost of a lot of long-term knowledge inventory.
NOTE: This is not advice, and this approach would probably not work even for me if I was inclined to regret throwing things away.
I would recommend looking into the Zettelkasten ("slip box") system, then ("How to take smart notes" by Sonke Ahrens is a great read).
Particularly to your point (2), the problem I've seen with most systems is they are not simple to maintain. Contrast this with "Getting Things Done", which is practically the simplest productivity system I've ever used that accurately works, where you have only two chores:
1. Write down tasks as they come up
2. Flesh them out later with as little metadata as possible (typically, at most, a project + due date if necessary)
The Zettelkasten mirrors this in a lot of ways. It has the advantage of re-writing your notes in your own words (your point (1)), but it is very simple to maintain. You re-write, make links to other notes in your existing setup, and you're done. Your notes should be as context-less as possible (which causes you to think further), and you should generally be able to relate it to GTD's daily "review" process.
A big point of clarity is the Zettelkasten is against "organization" - everything falls into the box. Ahrens talks in depth about how folders, categories, and even tags can be very limiting - you think about the metadata more than the actual content, which gives us a headache to maintain. A system should be as friction-less as possible if we want to actually use it.
Additionally, he does address your (3) to some extent, but it seems like you've figured out what these thoughts are, and resolved that they probably aren't worth fleshing out further (beyond maybe your proof-of-concept, fail-fast demo). I imagine if they are worthy ideas you probably would elaborate on them further.
--
I've been using it for a while now, and I can personally attest that it's been very helpful, especially as I've progressed into more architectural/design work, and less direct day-to-day coding.
Yes! and suggest "write things down" -> type thoughts in.
Organising: suggest event in {iCal, Outlook}, can search by date.
Other categories: suggest adding names of people to notes. Search (grep) for those extra names.
Suggest scheduling future event {date/time, person} to delegate task.
Suggest fractal recursion of self-sacrifice in Sierpinski Triangle, delegate out half the work, then half again. Say "thank you" to those who accept delegation; thank back to those who suggested ideas to you.
Can parallelise {reading, writing, listening, speaking, typing, singing, doing going} e.g. reading code and singing music. Can double available brainpower.
Thank you judofyr for your bug report; hope this workaround will help!
I'm in the same place. I optimized the note taking experience and now I have loads of notes/links/snippets in Org files but the organizing part (move, link, update) is still painful.
I would love to have a pseudo-smart tool that suggests meaningful actions based on the note content. Like "Move note to project 'learning-kubernetes'", "Tag with 'home-improvement'" or "See similar notes: [...]". That and the ability to do it on my phone would be a killer feature for me.
For organizing them, I put hashtags like #food inside.
Even thousands upon thousands of textfiles (which I'm nowhere near) grep quickly, archive and backup quickly, and transfer to other systems quickly, without lock-in or putting my eggs into someone else's basket.
I can even build my own UI on top of it... First, index them into a SQLite, then generate some HTML from it, and have a form which puts another textfile back into the directory. Best of all: the UI never changes without my consent.
After getting burned repeatedly by third-party systems with stupid UI changes, data migrations, just plain shutting down, leaking my data, your version is out of date, and your OS is not compatible with our new version, and your device is not compatible with the new OS version, etc., there's no way I'm using a third-party system for this ever again.
Agreed, I've been burned too many times by companies getting acquired or deprecating features that I relied on.
Open source tools might not be as polished as Roam Research or whatever other fad is going on at the time, but I know they are more likely to stand the test of time.
My personal setup is creating markdown files with vimwiki and using fzf for file search. Occasionally I'll use https://obsidian.md to visualize my knowledge graph but otherwise I don't depend on it.
I've switched to doing this, too. I've ping-ponged between Evernote, OneNote, Obsidian, Notion, Confluence, and probably half a dozen other tools over the years.
Now I just write markdown files and store them in a hierarchical folder structure (never more than three folders deep!). I use VSCode to write everything which gives basic formatting for italics, bold, and code highlighting as well as an outline of the headings. You can click on links to go to other files. It has a preview feature if you want to see embedded images or videos or HTML. I use an extension that lets you edit draw.io diagrams and embed them without leaving the editor (https://marketplace.visualstudio.com/items?itemName=hediet.v...) Global search across all notes is instant. I have a few node.js scripts I've written to take care of automating some tasks, and since it's all markdown parsing it is easy with a library.
I've even been built a VSCode extension to show all of the markdown files in a folder in a webview and lets you organize them on a grid (I'll probably release this + make it open source once some bugs are ironed out).
Best part is, it's all just text files in git. I can read the formatted markdown files on github (and edit them in _any_ browser with https://vscode.dev/ !!!). It all works offline and syncing can be done with a click of a button.
> Now I just write markdown files and store them in a hierarchical folder structure (never more than three folders deep!).
I do the same, except that I use Emacs org mode. This gives me (other than highlighting):
1. Clickable hyperlinks (linking to the same document, linking to another org file, linking to any other file and linking to a URL).
2. Pretty export options (my entire blog is just a collection of org files exported to html, some technical documents are exported to LaTeX/pdf).
3. Text diagrams using the graphviz dot language.
4. Builtin history management and versioning using magit (of course this is all stored in Git :))
5. Nice formatting in emacs - parent checkboxes are automatically calculated and filled when children items are filled in, M-q nicely formats paragraphs, Sections and subsections are easily folded/unfolded by my simply hitting tab while the cursor is on the heading, tables are incredibly easy to create and modify, (sub)sections are movable without needing to copy and paste, etc
6. Items in a tasklist can easily be cycled between various states (TODO -> RESEARCHING -> IN-PROGRESS -> DONE) with custom states being specified at the top of the file..
I've tried org mode (and evil to get vim keybindings) but could never get into it, none of the features were really "killer" for me. VSCode has clickable hyperlinks (although not formatted nicely when editing) and for export I have a script I've written that generates a static site from the files.
Of course, VSCode is also way more resource intensive than emacs :) Kind of like using a power tool to build IKEA furniture.
I'm a vim user but I used Lockdown #2 to learn org-mode. I installed doom emacs, learnt to use org-mode (with vim keybindings) and now I will never not use org-mode. It's too damn good. I use zim-wiki for my (kinda) second brain and keep my journals in markdown using my vim editor. Three tools, I know but they just evolved organically so no cognitive overload.
The above is the sample site that was created with Nextra and hosted on Vercel, when you navigate on this site you would appreciate the simplicity of markdown files with good website navigation . Vercel hosted site will be updated as soon as you checkin .md file changes to github
If you like the site, remove the files and replace with your own .md files , check-in into your own github repo , create Vercel account and it will pull your github repo and you Docs site is online .
Same here. After hopping from software to software for a few years I realized I had been taking random notes in Sublime Text for years by reflex, I just had to get a little bit organized.
Since ~8 months ago I've been consistently keeping notes organized in markdown files using Sublime, and storing them in Dropbox.
To read/edit them on my phone I use Obsidian and I use Dropsync for Android (free) for better syncing.
Several do, I think. I use org-roam, which extends org-mode on Emacs. The files are org-mode (very much like Markdown), but there is a SQLite DB that enables speedy search.
I recently read "Getting Things Done"[0] and began incorporating what I learned into my simple second brain. And the results are kind of ridiculously good for me.
I built my whole system on a Google Sheet, but I'm experimenting with building myself an App instead- something I would never have been able to accomplish or even been willing to start if I didn't have this second brain helping me.
The lessons I've learned from this:
1. Being pro-active on things instead of reactive makes everything easier. Each action takes less work because there's no worry or guilt associated with it. Just a small amount of planning to make myself pro-active is a worthy investment.
2. Putting things I need to remember into a system and then forgetting about them, trusting that my system has it under control, removes a huge cognitive load from me. I have more energy to use elsewhere.
3. Building a system that evolves to fit my needs, being flexible with myself, rather than trying to jam myself into someone else's system has made it work at all. That's why Google Sheets is awesome as a prototype tool for this.
> 2. Putting things I need to remember into a system and then forgetting about them, trusting that my system has it under control, removes a huge cognitive load from me. I have more energy to use elsewhere.
This is the key for me. My brain gets jumbled if I try to juggle too many things at once.
I write stuff I need to do down in a single place, or move my "I will _definitely_ read this later" bookmarks to Pinboard and promptly forget them.
When I need something new to do or read, I know where to find it.
> I'm experimenting with building myself an App instead
This approach has worked great for me. I have a local web app that's grown (and rewritten) over several years, which renders a folder of Markdown files into a view with navigation, interconnected links, dynamic components (like calendar or calculator), syntax highlight for code snippets..
I love being able to write notes in natural language as well as code, and extend it with any feature I want.
Edit: Also I have some shell commands that open, add, or search notes from the terminal.
5 or 6 years ago, I got big into Getting Things Done. I definitely gained real-life wisdom, but eventually I stopped because following David Allen's methodology was taking multiple hours a day.
Do you find that it's taking a ton of time for you? Or maybe you're doing a loose interpretation of the system?
Another person replied with the key question: multiple hours of organization and maintaining the system, or multiple hours of getting things done?
I'm definitely not following Allen's methodology exactly. I'm doing what works for me. I'm automating a lot of the bullshit, and ignoring Allen's entire half-chapter devoted to why paper is the only option (there is no paper in my system at all). I also don't have any references to sort or organize- everything is in my google drive, which has a powerful search feature. That may come back to bite me, but it hasn't yet.
I do find I am spending a couple hours a day just doing stuff that I would have procrastinated on otherwise.
Most organizations systems are ridiculously good in the beginning because we still have enough memory to know where things are and low information content that allows an easy organization. Any information organization system can only be judged after a few years of use in my experience.
I have used Google docs for this for 12 years to build a business with 200 full-time people and it has worked fantastic. I have probably a hundred separate documents describing policies and processes in depth. It is easily searchable for not just myself but many people.
Articles like this are nice for picking out ideas to incorporate into your own system. I try to avoid reading much "productivity porn" because it gets repetitive and what captures your attention is the novelty of an idea rather than its effectiveness.
There's no system that works for everyone. You have to develop your own, and it will evolve because you change. I started journaling over 10 years ago - it was a simple "daily log" that I only wrote in occasionally. Over time I got more prolific and proficient at it. The structure of that journal became more complex, with different journals for day-job vs personal, multiple levels of summary vs detail planning/notes/ideas, and links between them. I've had to refactor that structure and the taxonomy of tags many times. And much like he describes here, I ended up adding cheatsheets and Q&A and dev templates. *There's no way I'd recommend this system to a beginner.* You have to build your own system according to where you're at in your journey.
> I try to avoid reading much "productivity porn" because it gets repetitive and what captures your attention is the novelty of an idea rather than its effectiveness.
I keep seeing this term, but I have trouble understanding it. I open lots of productivity articles. It's not often that I make it past the third sentence because it's too general or not relevant to me.
You have a better filter than I do. :) I went through a phase where I gobbled up anything productivity related, and eventually had to stop myself because it was too distracting. I still want to believe someone can tell me a valuable trick that I don't know about. Often even just the headline or title of a productivity-oriented article or Kindle book seems to evoke an appealing idea that I'm curious about, and after reading the text it's not always clear to me that the idea would work or not without trying it. But now I've developed a system that I'm happy with, it's much easier for me to filter.
Something that became obvious to me after reading through this is how variant individual learning can be, super interesting to me generally.
Very few of the premises used in the article are how I solve problems or gather information as an engineer, either now or in the fledging times of the start of my career 15 years ago. Consequently, the second brain concept seems less useful for me at least at a glance.
I thought it was peculiar that in the initial flowchart of "problem requiring information" - there is no mention of RTFS (I use that acronym affectionately here), which is probably the most useful skill I have learned in my time building and maintaining software projects. It may be an innocent omission and its admittedly a steep initial learning curve, but I think it it amortizes incredibly well over the span of a whole career.
Not accepting "black magic" anywhere in your stack and challenging yourself to understand why something is breaking can certainly lead to rabbit holes, but avoiding it altogether introduces a significant opportunity cost, in my view.
Maybe trying to strike a balance there can dodge the information asymmetry/inefficiency issue established in the premise of the article. Really interesting read, whatever the truth may be.
Since 2003 I have printed every single interesting web site I've ever bothered to read - and some I haven't - to PDF file. Instead of Ctrl-D to bookmark, I Ctrl-P to print-to-pdf.
I keep these PDF files and use them where most people would have bookmarks.
The advantage is that I have an offline cache of materials (60,000+ files), a carefully curated list of stuff I like (or can be bothered to think about long enough to decide I might need it in the future), and endless amounts of material to pdfgrep for further drilling.
This has given me quite an edge, time and again, because while others are struggling to find that one bookmark that has the article they kinda remember reading once a few years back, I've already found it, gone to the new site, seen the state of the art as it progressed in the time since my visit, and so on.
I believe this has given me a 'second brain'. There is no greater joy than to drop into this directory and do an "ls -alF | grep <some search term>" and find every single page I've read since 2003 on that particular topic, still in the original form I remember - and then to re-visit the page and get the updates.
I have a lot of HN articles saved this way - as well as the HN comments too, and this has also served as a second harmonic to my general knowledge, ready and easily accessible should I need it.
I can't believe I never thought of this.
I keep a huge bookmark folder with "things I might need 10 years from now", but finding things becomes a torture if you can only search by the title and not the contents. And after a few years it's likely that the page will be gone.
But why save pdfs instead of downloading the webpages?
> But why save pdfs instead of downloading the webpages?
Ages ago we had this wonderful format called MHTML which allowed you to save an entire webpage (with images and all) as a single file. This was amazing for archiving and I remember saving lots of tutorials in this format.
But the format seems to have fallen out of grace over the years to the point where it became difficult to find a browser that allows opening those old files.
PDF now seems to be the best method of archiving content. Standards like PDF/A implement a subset of the PDF standard which ensures the content will be available for the years to come.
Chrome mobile saves to mhtml if you download a page. Chrome desktop can save to mhtml if you select "webpage, single file". And of course they open the files fine.
But it's not compressed, so you'll end up with smaller files if you use pdfs.
I do the same, just with Evernote. Either writing a summary of what I learned in a note and adding a link to the source, or clipping the whole page. I can probably write a couple of techincal books from all these notes.
He's at least "a promoter of the second brain concept". I'd find your comment more useful if you mentioned or linked to someone that you think would better fit the "creator" category, instead of claiming how he's never done anything original.
Pretty graphs, but I wonder how it stands up to the tests of the real world.
I've personally tried to use mind maps (a bit more general than solving technical problems) but gave up pretty quickly. I think part of the problem was the technology itself, mind map apps are mostly desktop only and the mobile experience navigating a 2D diagram is kind of clunky. The other part was just laziness, after building a mind map for an entire weekend I didn't even scratch the surface of what I wanted to achieve with it.
Also I take objection to the fact that we go straight to Google for solutions, I check the existing codebase I'm working on, code search in my company's internal repo, code search github, then go to Stackoverflow / docs. So there's some amount of intermediate caching.
I moved from mind maps (I used and liked FreeMind) to indented outlines in plain text files when I realized I wasn't really losing anything to map the nodes to headings and the edges to sub-headings. I can capture the same relationships, keep it synced to everywhere via cloud storage, and I don't need special software beyond a text editor to look at or edit it.
Now I just need to learn how to go back through them.
Writing as someone who uses mind maps as part of my kit, I empathize with your comment. For my purposes, I've found that it helps to focus the map around a specific objective, project, etc. If I'm preparing a paper or presentation, it's helpful to see how the content can be structured, what can be pruned and what relationships between concepts there are. For project work or other objectives, I find them to be helpful in tracking and guiding learning.
FWIW, I use iThoughts across a couple of different devices. It's been around for a while now and has a good mix of usability and functionality.
After a few goes at it, I've mostly settled into using mind maps as a brainstorming / thought organizing construct and I transcribe the useful results to plain text for longer term search and storage.
Brings to mind Umberto Echo's "Vegetal and Mineral Memory: The Future of Books" at the Bibliotheca Alexandrina in 2003 (PDF):
> WE HAVE THREE TYPES OF MEMORY. The first one is organic, which is the memory made of flesh and blood and the one administrated by our brain. The second is mineral, and in this sense mankind has known two kinds of mineral memory: millennia ago, this was the memory represented by clay tablets and obelisks, pretty well known in this country, on which people carved their texts. However, this second type is also the electronic memory of today's computers, based upon silicon. We have also known another kind of memory, the vegetal one, the one represented by the first papyruses, again well known in this country, and then on books, made of paper.
I'm currently reading 'Remember' by Lisa Genova[0]. She points out that we have 'Temporal' memory for events in our lives, 'Semantic' memory for facts and figures (divorced from when we learned them), and 'muscle' memory for things we do with out body. So yeah, 3 types ;-)
I learned about computers and worked in the software industry before nearly all of the boxes on that diagram even existed. This was only 30 years ago! If you needed information you got it from coworkers, source code, vendor documentation, or the library. Of course we had “second brains” to cope, called notebooks and filing cabinets (and notes in text files).
It’s kind of sad that instead of using the Internet to vastly expand the reach and effectiveness of that existing system, we seem to have thrown it away so we need articles like this to try to rebuild it. Rather than developing our own thoughts we search for someone else’s thoughts. (And I’m not being holier-than-thou; my first stop is Google and Stack Overflow now too!)
Strange that Obsidian was only an honorable mention. For developers, there is no other choice. It has vim mode! My second brain is in Obsidian, and it’s glorious. It’s taken me a while to put enough time into learning things, but now I can see that the power it provides (through plugins and the developer API) is astounding.
But it’s interesting to see that he’s using it for completely different things than me. For example, I don’t see much point in saving code snippets.
Honestly, strange that anything that doesn't give you full and complete access, in plaintext/Markdown or similar is even included. Obsidian and/or Zim-Wiki for the win.
Nah, he should have stopped with the first diagram.
Google plus the internet is your second brain and is the optimal approach for almost everyone. This heavy approach seems like make work that will waste time, and the data will rot, leading to calcified and inaccurate knowledge.
Google plus the internet only works if you're learning about things that are:
1. Public (if it's non-public systems, information, etc. that you are learning then Google can't help you).
2. and either shallow or of one of a small subset of areas that has in-depth discussion online.
There are plenty of situations in knowledge work where Google will not cut it.
When Google don't work, then I go to the documentation, the manual or the book. To use the article's analogy, these are the equivalent of going to the supermarket.
If the knowledge is already in the documentation or a book, why should I keep a copy of that knowledge elsewhere, in yet another format?
Use this with the encryption, sync to local filesystem, and with syncthing or similar and you can have an entire "second brain" tree of knowledge written in markdown. On your phone, on your laptop, pc at work, etc.... all for free because devs
However, none are built for software developers. If you want to know why, ask yourself — does anything here make me feel special as a developer? My guess is the response is "No".
I'm the founder of archbee.io, and although it's an early stage product, I built it for engineers — and you can see that by the features: architecture diagrams, GitHub integration, markdown shortcuts, very speedy, API docs with GraphQL and OpenAPI, custom domain hosting, Mermaid diagrams and more.
Please check it out and let me know what you thought!
I recently took on a new, super complex project and can attest to Obsidian beyond useful. I’ve put all notes and info into it, everything.. and it’s really paid off. I now see this process rather like unit testing whereby the structure of the notes mirrors your own thoughts but with a better, searchable memory.
I don't currently use it so can't comment on what features it has or doesn't have, but I find it interesting that Obsidian [1] is only given an honourable mention in this article when according to the Wayback Machine, its elevator pitch has been "A second brain, for you, forever" since before this article was published.
What I miss from these conversations is an emphasis on memory. I know it has a bad rap, since it's not the same as understanding. But I have the feeling that most of our work relies on things that we've done so many times, they've been memorized and do not need to be looked up again.
I keep seeing articles like this and I keep being a bit disappointed that they mostly adopt techniques that were developed for general knowledge workers ("personal knowledge management system") or ideas by/for writers or researchers, and don't seriously think about how to treat/manage code.
A brain isn't just about knowledge; it's also a set of skills, capacities, patterns of behavior. Software is an area it's possible to capture capacities in the form of code that actually does stuff. This article makes brief mention of code snippets, but only really to remark on the kinds of metadata that one should keep to find them later.
What I have yet to see a satisfying description of, and what I sometimes try to work towards myself, is a mashup of a library with a knowledge management system, where notes link to code, and both go together in a common repo. However, depending on the kinds of things one stores, the software/library side can stumble over some challenges, and I haven't quite figured out how to keep the overhead spent on maintaining it low. One might have small pieces of code in many languages, or different versions of the same language (e.g. making notes about macros in scala 2.x vs scala 3), and notes made at different times might incidentally become dependent on differing specific versions of library (e.g. ideas in statistical analysis that use pandas).
I've been thinking along some similar lines myself recently, that I'd like to have notes that can link to code in some kind of semi-durable way (i.e. as resilient as possible to changes), be able to run code snippets in a variety of languages, etc., and the only things I've found that are able to do this are:
1) Emacs with Org Mode, which is very powerful but has a learning curve like a brick wall, even if you already know emacs. Also nearly impossible to use with anything except emacs (yes, there are mobile/web apps that understand standard org syntax... which doesn't help with any customizations you make, which is like half the point of org mode).
2) Glamorous Toolkit, which is based on Pharo Smalltalk and is easier to use than org mode, but less featureful, much newer (== smaller community, less support), and has many of same problems (i.e. can't easily use it on any non-desktop platform).
It's looking more and more like I'm going to have to build something myself for this.
I use org mode, and org-roam, but if you just look at org mode's guidance on working with code-snippets, it gives basically no attention to dependencies or libraries. Each code snippet is assumed to stand on its own. So if, e.g. you want make a note about a data science related idea but you first want to assume the presence of numpy, how does your snippet tie to a particular environment? How does your giant accumulated history of notes with many snippets tie back to environments? This isn't met by org mode on its own, but might be met by org mode in combination with some other stuff.
> These categories are all nested. Tasks are nested under Projects which fall under Areas which fall under Resources, with Archives serving as the catch-all category.
This does not match my understanding of PARA as described by Tiago. [0] These are not a straight-line "flat" nesting, there's some branches. Areas are at the top, they represent responsibilities, have a broad scope, and undefined/unknowable end date. Both Projects and Resources are nested under an Area. Resources are tools or provisions or information that are potentially useful to fulfill the Area's responsibility. Projects are an attempt to take a little bite out of the Area's responsibility by considering a particular goal in a narrow time horizon. You should be able to use the Area's Resources to help complete a Project.
Archives are the category that is not like the others. It's more of a "completed" / "abandoned" status that can be applied to any of the other three as a way to sift out things that are no longer immediately relevant without deleting them. I like to think of this as a generic, orthogonal Time dimension. Maybe infogulch's version would be called PAR/T.
[0]: I found the Building a Second Brain podcast does a pretty good job of outlining these categories more clearly. Episodes are short ~8m and digestible. https://fortelabs.co/blog/basbpodcast
My second brain keeps moving. For example, I have a great setup with Notability on an iPad. Except after a few months, I start typing stuff into Workflowy. No reason, I just reach for a different tool. A few months later I'm in a random text file and then back to Notability. I don't know why I do this. One thing that sorta helps is implementing the Jonny Decimal System so that all the different pieces can be indexed. But, I make it harder than it needs to be.
Same thing happened to me with grocery list apps. I must have tried all the grocery list apps in the app store and have finally settled with the old-fashioned but the best app --- Paper & Pencil. For me the simplicity of paper and pencil and quick access of it during the actual shopping just beats all the cool features you get in a smartphone app.
Hoenstly for me the issue is I want someone to create the "killer" note-taking app.
I don't want to be restricted in how I am taking down information. Sometimes, I want to draw on a tablet, sometimes I want to write markdown, sometimes I want to do workflowy style outlining.
I shouldn't be restricted in that way!
So far, the only one I've been able to settle on for about 1.5 years now is Obsidian.
I bought an iPad for other reasons (I like the apple ecosystem in general). And I really liked the notability app. Being able to take hand written notes and have them be indexable is fantastic. I'm sure there are other ways to do it but that's the one I've settled on.
I've gone back and forth on the ideal platform over time. I loved the feel of iPad/pencil but it was too closed a system. I'm currently using a Galaxy Note with the pen for mobile and emacs/org on laptop. I type faster and more legibly than I write but you need that paper and pencil type feel for capturing thoughts IMO.
BTW @genghisjahn given your tool usage I'd love to get your thoughts on BrainTool (which I've been pimping throughout this thread!) Since most of my inflow and things I need to keep track of come via browser and most of my notes are in orgmode text, BrainTool is the thing I built to bridge the two. I'm hoping its a more generally useful lightweight organizational tool which doesn't require the maintenance of other solutions and have been gathering informed feedback wherever I can.
You might have meant this as a joke, but I honestly think this is a better way of doing things than a rigourously designed system of organisation and workflows and all that.
There are a million ways to approach this kind of thing, and whilst browser tabs aren't nessecarily the best way, they're certainly up there
Oh, I'm absolutely not kidding. I've tried to do the OneNote thing, or get into org-mode, or manage collections of bookmarks. Too much overhead, not enough value to justify the work.
So I have a browser window per "thing" that I'm dealing with, with a whole bunch of tabs, and when I'm done with the thing, the browser gets closed and the tabs go away.
This is also my exact workflow. Currently at 260 tabs after an OS reset but I've gone up to 1-2k before (though that was a particularly bad time for me). Every tab or bookmark manager I've tried just didn't feel right, too much friction, too little return, eventually forgotten.
I feel like the tool I'm looking for doesn't exist, but I don't really know what I'm looking for either.
This approach kind of exploded on me, and I couldn’t find any window anymore. Recently discovers tab groups, and that you can name browser windows. With those two in place I actually see some hope of recovering control.
I would say the too many windows issue is a feature, not a bug. If you have too many windows thats too many things to do, either you need to do one or prune your list
Indeed, to many windows. Partly due to not finding things though, ctrl+n being simpler than look for the old context. Named windows made them simpler to find, thus simpler to avoid ctrl+n.
The other issue, of course, is my TODO-stack growing faster than I have time to organise and plan it. I’m hoping a working Zettlekasten can address that part by moving the entire class of research and design type of tasks out of the “should be doing right now” category.
It wraps around this exact workflow, saves your tabs, and can manage your browser windows. You may have to login to Chrome to get your bookmarks, tabs and stuff.
Having tuned in a few times to watch https://twitter.com/AdamLearnsLive on twitch, I was inspired to take notes throughout my development process. What I noticed of Adam13531's note taking was they wrote down every question that came to mind as they worked down the rabbithole of learning that is software development.
For my own practices, I've added in a bit of an OODA loop process. My intent is to systematically balance between deciding and executing, focusing on accumulating knowledge towards achieving a goal.
When I'm stuck, or dealing with unknowns, the brainstorming in each of Observe, Orient and Decide enable me to gain some flow.
Later, I can observe where I had blindspots, or anchored to certain contexts or scopes. I'm noticing I could develop checklists to go through to avoid repeating those biases.
It sounds like a lot of work and overhead for something that nine times out of ten I'll only need once and if I need it again, I'll default to Google anyway.
What good is doing all this filing and organizing if it only serves you personally? It's like building and maintaining a cache, but with a high percentage of cache misses.
Writing notes and organizing your thoughts will by itself solidify your knowledge, even if you never read them later.
Also:
* when you write something, it challenges you: do you know enough to form cohesive sentences or do you just have scattered thoughts
* when you write, you get to organize the information in a way that makes sense to you - it's your knowledge, not someone's else
Currently I just use some markdown notes but I'm looking forward to augment them.
This seems too heavyweight to me, specifically step 3 with all the data structures and templates. There's just no way capturing all that metadata is going to pay off for me. I see it as:
1) define your basic structure for capture (I also like PARA[1])
2) invest in the tools (for me, emacs/org-mode combined with the BrainTool browser extension - disclosure I built it[2])
3) understand your inflows and workflow.
4) just use search on your second brain for retrieval.
I find I have an itch to create lists. Once I've made the list (knowing it's useless) it gets archived; the itch has been scratched and I go on with my day.
Stuff like this isn't really a second brain. It's a stick for scratching.
I have a simple system. For every “project” I’m involved in i make a new Google folder and at the top of it i make a notes doc. The document has a table at the top filled with pertinent information about the project, and then just below that I take notes for every day. Every day that I work on that project at least. Yesterdays notes get pushed below today’s notes and I just move forward like that. I just search Google docs for keywords and find them in my notes from days weeks or months ago. The nice thing about Google docs as I can take screen captures and just stuff them in the doc
I was disappointed that Joplin (https://joplinapp.org/) wasn't included in the app list.
Having used both Evernote and OneNote, I've found Joplin to be a better choice, especially when I'm bouncing between platforms. It doesn't lock you to a particular ecosystem or cloud service, and the open source app is free for use.
For what it's worth, I'm not affiliated with Joplin, I'm just a user.
Also using Joplin, it is perfect for me to have everything on windows android and Linux. All syncing with nextcloud.
The only thing that bothers me it has poor search, if you want to search for 'google' 'goog' doesn't resolve any results. A bit baffled by this, you can use an * wildcard but would prefer fuzzy search
I'm also a heavy Joplin user! The feature to sync with common file backup services (Dropbox, OneDrive, etc) is really useful, and doesn't feel like I'm locking my second brain into someone else's walled garden.
I've always done something similar, but less structured and probably with less intent.
Most of the problems we software developers encounter, we've solved before. So it's usually a case of recognizing the pattern of problems this is, and matching it to one you've solved before, and quickly being able to reference that previous solution. That's 95% of getting it done.
time required to curate a local pantry of information is just too high and mostly benefits decline overtime unless that information is very complex to remember and so specific to your domain that you wont find a quick solution online.
IMO Search Engine is the food pantry. local knowledge repositories are good for any domain specific knowledge thats really hard to find elsewhere online
Foam. Built on Visual Studio Code and GitHub, Foam is early but already powerful. Write your content in markdown, use [[page]] for internal links, and explore your content with an interactive graph. The Backlinks Explorer lets you find all notes that link to a specific note. Foam also makes it easy to back up your notes on GitHub. [1]
Athens. Quite ambitious, Athens aims to offer a full open-source version of Roam. Built with Clojure. It's founder wanted to work for Roam but was rejected because he didn't know Clojure. So he learned Clojure and started writing an open source alternative. Roam was rejected by YC but AThens was accepted. [2]
I've used lots of 'note' apps but ended up with 2 parts that work for me
1. A physical notebook for quick capture
2. A single markdown document which I search through or edit with Vim
I have simple vim macro that prints today's date bound to a key. This makes it easy to write notes for that day. It's worked well for the last few years
Agreed, as I was mentioning in a separate thread, I use emacs/org-mode for text. With org you can layer on any other kind of process you like (tags, dates, TODOs, tables etc).
I'd love to find some simple/automate-able way to integrate output from phone/notepad & stylus system.
- it's free
- markdown (or orgmode) based local first
- open source
- PDF annotator (fantastic for scientific papers)
- Built in spaced repetition
- very fast
I would like to hear people's thoughts on how to coach a junior on how to get a 'second brain' (new term for me) going. Plenty of your average new developers won't have the experience to build it on their own, or maybe they just wont know what the topics and projects are that they will be working with.
I think the described processes are quite an effort and seem to imply a black and white world: no notes versus a personal intranet of your mind.
I'm looking to augment my process but I've started with a simple approach: markdown notes, scripts, and lately my own diagrams (made with excalidraw or plantuml).
The most common scenarios when I write: learning something new or when I've had to search/type a command for the nth time - time to write it down or create a script for it.
I feel like improving my note taking has helped me continue improving my development speed and quality when it was at risk of stagnating. Not by way of documentation (which I do use it for) but more for tracking multiple streams of work in multiple levels of detail.
I keep a highly nested todo list of things I'm currently working on where I can track incoming tasks ("reply to Bob about XYZ") as well as split current work into subtasks ("don't forget to add a test for edge case ABC"). I find the splitting really helpful because as you dive into a complex piece of code that you want to change or add a feature to you will "see things on the way down" that need updating but updating them is blocked on _other_ changes you need to make. A todo list helps track all of this stuff and ensure it does not get forgotten.
Here is my flow. Google. If its really good/unique and I am afraid that I won't find it again, then I bookmark it, and if I think it will actually disappear from the internet, then I will scrape the content for a 2nd brain.
Now whether Google is best depends. Sometimes specialty engines would be better.
The best approach is to not build a knowledge management system for yourself until you need it. When you've forgotten something you need a few times, maybe it's time to set up a "common notes" file that you can check first for those things that won't stick. Then when that gets unwieldy, maybe split it into a folder of organized notes with a grep or fuzzy search in front of it (or one of those note-taking apps). When that stops working for you, pull out bigger guns and build something that works specifically for how you use it.
By waiting until you actually need it, you skip a lot of the work in maintaining a knowledge base you don't use, and you only build out the bits you actually need, instead of wasting a bunch of effort on things that sound nice, but won't actually help.
I read all those note taking threads with great passion (from the first to the last comment - typically comments are way more interesting then articles), looking for the holy grail of note taking.
I've tried a lot of solutions but the one that clicked for me is a mixture of org-mode for current/smaller notes and Zettlr (https://www.zettlr.com/) for stuff that my kids will inherit one day.
Zettlr's advantage is that is it just a layer on top of folder or folders with standard markdown files. Zettlr adds ability to tag and search notes plus it displays MD in a nice way. Nothing more, nothing less.
I keep the notes on Synology drive, so they are synced/backed-up and it just works.
Frankly I think it's completely irrelevant for us developers: our field is evolving so fast that whatever you store now in your second brain will probably be obsolete by next year.
Basically it's like advocating for old school paper encyclopedia in the age of Google.
I fail to see what is so inefficient with a web search as a second brain: the content is always up to date and you have a chance of stumbling upon something that is better than what would be stored in your second brain.
And let's not forget about that maintaining a second brain is a real time sink.
The only plus side of a local second brain is that it's functional without an internet connection, but can you really write software in good conditions without an internet access (I sure can't)?
Unlike a paper encyclopedia, a second brain has *your* thoughts. You write down what is useful to you, and in a style that matches your comprehension.
My "2nd brain" are mostly scattered notes and scripts: low effort but just medium reward. I'm looking to organize them better and get a high reward with moderate effort.
Missing from the list is Zettlr
https://zettlr.com/
which is opensource, looks very nice and is built for the Zettelkasten method and has LaTeX integration.
I think that ultimately a “second brain” system belongs at the OS level — as opposed to application — as it can greatly reduce friction from an interaction standpoint (e.g. double click iPhone power button to access your “brain” as opposed to pulling up a NFC credit card). I even went as far as getting the system concept patented while at Microsoft some years back: https://patents.google.com/patent/US20180349497A1/en
> These categories are all nested. Tasks are nested under Projects which fall under Areas which fall under Resources, with Archives serving as the catch-all category.
This article got me reading about PARA. But it seems like this sentence is very much the opposite of what the creator of PARA says to do. Sounds like there shouldn't be any nesting of categories: https://fortelabs.co/blog/p-a-r-a-ii-operations-manual/
I'm active in the vintage personal computing space, and I find it funny when this topic crops up every decade or so under a different name. In the 1980s, there was a entire software category of "personal knowledge management systems" where each product claimed it had the best system. "Second brain" is no different; it's a group of concepts that may or may not work for you, but as these comments show, they certainly don't work for everyone.
Make a blog, consider your future self the most stubborn and unreasonable audience possible and convince yourself you did a terrible job living up to the expectations. This guy is always elaborating on the obvious and skipping just those much needed details you were looking for.
The only thing I got right was to title creative outburst with strings of random characters created by slapping the keyboard. You should just open some of those from time to time just to see what is inside.
I am constantly getting flummoxed by the PARA system. It ends up taking me more time trying to figure out the nuanced rules on where to put something (Projects/Areas and Areas/Resources are the most persnickety ones) that I often end up duplicating a concept and having two folders for it, one in each hierarchy. I'm still not sold on the PARA organizational method, but maybe there's something I'm missing.
I use a sloppy meld of Zettelkasten and PARA for this very reason. I used to get nervous about the subject ontology, and the link-to-anywhere aspect of ZK's tags fixed that for me. Plus having a unique ZK tag on every file means I can move subdirectories around to suit what I'm working on at the moment without any links breaking.
For me, implementing PARA in Notion has helped with that. I have one big database just called "Content", and then links to Projects/Areas/Resources. So if I'm not sure where something goes, I just put link it to all of them.
I liked the premise of this article, but I didn't see much use for anything after it started talking about how to achieve it.
...Except the 'personal stack overflow ' idea. Because so many of the answers to my questions are there, or in rando blog posts, having a personal SO full of actual SO answers (that I found useful) would actually be pretty good. Then a personal Google to search it and I'd be most of the way there.
Searching anew (instead of using one's own cache of previous finds) is still valuable because you may discover better results, or new results that may lead to new/better thinking, or the answer to your question might have changed since the last time you searched.
If i can't find any of these, then falling back on previous finds is valuable.
Good point. The title ends "as a software developer" -- a software developer might reasonably want to be able to leverage that ability on their second brain. I think this requirement deserves a spot in the "Must haves".
I'm wondering how to keep "slices of projects" aligned. Like, different things are in different repos - how to keep notes and additional files belonging to that, it ends up being a side hierarchy?
I am considered to be super-together by my colleagues. I am confident if they have to pick up my work, they can data mine what they need from the few hundred pages I have produced to date.
the author does not get deep into when/what to put into the 'second brain'.
Just like one does not go to the market unless it is not in the pantry, one should not replicate what google can get for you in a second.
So, then, what needs to be in the second brain is more of keywords and categories, so that we can make the google searches more effective for the particular question we have
P.S.: assuming we will always have google/some search engine.
I started down this path years ago because bookmarks and sites I know used to exist started vanishing faster than I could catch up with my to-read folder.
Link rot is real and sites/information I used to be able to find on google in seconds have been gone for years.
While these are great concepts, I find it to be an overcomplication for my needs. When we build systems of any kind it's nice to imagine the ways in which they make our lives easier, and we always underestimate the required maintenance of our systems and the ways in which they come to constrain our thinking and action.
I have a pretty simple organizational structure for information: I keep text files on ongoing projects and ideas. I think on ones that are on the back burner and update my notes on them when I have something compelling come to mind, and the forefront ones or ones that are related to maintenance I keep accessible, usually on my desktop or always open in my text editor. It's a bit of a disorganized system but it is just the right level of complexity. I'm the kind of person who knows which pair of pants on the floor that I left my wallet under last night and so a good portion of organization exists in my head and I work better that way. I'm always on the lookout for new organizational tools, but a huge criteria for them is that they require little to no overhead or maintenance.
I do rely on online search a little too much, I often forget to store information I find and might need later and instead store my google-fu queries in my head, and because of that often times I cannot find it again later (because online search as a tool is degrading as we speak) and this article is a good reminder that I cannot rely on external tools like that that I have no say in them continuing to work the same way.
Not sure about second brain but I’ve come to the conclusion that a life long git repo is probably a good idea. eg keeping track of vaccines, medical history etc.
I started writing a daily journal with obsidian, which has a lot of this information. It’s all in a private repo on GitHub and is mirror on my home NAS. I actually keep two daily journal one for personal and one for work.
I keep is simple, three main section’s. A morning section where I write what I need to do that day, what happened already, what’s going on in my brain.
A evening section listing what I got done that day, and what’s going on in my brain.
The third section is technically the “first”. Which is a reflection on yesterday after a full night sleep. What I did wrong, what I need to improve on, etc.
A small section in which I include excerpts from my task lists for personal or work. A small section with generic daily goals like “For god sakes comment your code”.
Another small section I call “daily avoidance“ which is stuff I want to avoid, like “Working through lunch” basically bad habits, etc.
The reflection part I use as an outlet to write about what worked/didn’t work in achieving those goals, avoiding the bad habits or any other thoughts I had about yesterday or yesterdays work.
I keep both as strictly separate, I don’t write about work in the personal one unless it’s because I had a issue that caused a strong reaction. I.e Argument with co-worker. The work one doesn’t have personal stuff in it and is mostly talking about the projects or idea’s I had.
Most of them are less the 100 (average is less then 75) lines, with about 2 dozen or so markdown formatting.
I built one enrich myself and to make my life easier, but I have little doubt my employer has benefited from it. I don't mind that form of "trickle up" economics.
It’s often called “Confluence” (or something like that.)
(No, I don’t love it. It’s just what’s there.)
The supermarket analogy glosses over the fact that supermarkets are designed to be accessible to many people. Documenting what everyone needs to know because you needed it for yourself anyway is a great way to make teams happy with you. Plus you get to demand the attention to ask lots of detailed questions “for our documentation” and often encounter and surface issues with internal processes.
1. It's always super helpful to write things down. Taking notes from what I read/learn is a great way to verify that I understand it. It sharpens my thinking.
2. However, maintaining the "second brain" is a lot work. It's not only about "linking" together notes. You also need to maintain some consistency between them. I ended up spending a lot of time thinking about the structure instead of actually thinking about the content.
3. Most of my notes/thoughts fall into two categories: (1) Either they are critical for something I'm actively working on or (2) it's just loose concepts that I'm toying with. For (1) I immediately end up playing with it in code — which is far more concrete and tangible than notes. And for (2) it was rarely important to retain the knowledge accurately many weeks/months later.
What I've ended up with is taking a lot of notes, but I hardly focus on organizing them.