4 ms·
My personal note taking system is based around plain text files in Git repositories. I edit with NeoVIM and use ripgrep (and other shell tools) to recall. I sta
by CoderPuppy 5y ago
My personal note taking system is based around plain text files in Git repositories. I edit with NeoVIM and use ripgrep (and other shell tools) to recall. I started out (in 2014 or 2015) with a wiki-like style, but I switched to a time-based/append-only style (in 2019) when I realized that not everything that I wanted to write down needed its own name. I still use some remnants of the old wiki style, but I mostly use a few append-only files/folders.
I have `scratch` where I'll write just about anything, it has upcoming tasks, my current place in TV shows, juggling patterns, math problems, and drafts (including this message). Many things in it are unlabeled and I often delete things from it, relying on Git to store the history. I have `viewed-topics` which lists things (HN/Reddit threads, papers, talks) I've read/watched with a summary, my thoughts and related things from the past. Last I have dated notes (files named `YYYY-MM-DD`) where I write things that happened, philosophical rambles, mental constructions, shower thoughts, etc. Often these will reference previous notes.
I've been thinking about how to improve this for a while because it doesn't handle "updates" to old notes well. I currently have three ways I do it: (1) copy then change (with a reference), (2) append in place with a marker (WRITTEN YYYY-MM-DD), or (3) new note with just changes (and a reference). Each has problems, (1) makes seeing changes difficult, (2) is impure and can make it hard to find by date, and (3) makes seeing the "current" version difficult. I relate this to version control, particularly the tradeoff between (1) and (3). Git allows seeing both diffs and states fairly easily, but it doesn't track bits of text between files well enough. I've thought about it off and on but always manage to confuse myself without producing any solutions.
TL;DR I greatly agree but want better updates
- stewbrew 5y agoSimilar experience, similar conclusion but I ended up with a system around todo.txt. A note gets an todo entry and a reference to a note (in markdown). Updates sometimes get a new todo entry w/ link to the same note. Some notes are structured in a diary-like fashion.
- arael 5y agoI have started with a similar approach but my deal breaker were math symbols and pictures. Do you have any need to include drawings to illustrate some of the concepts? How do you manage the math symbols and graphs, if you have any?
- CoderPuppy 5y agoFor math symbols I use Unicode characters, I have XCompose shortcuts [0] to easily insert them. I'm currently using WinCompose to use the same shortcuts on Windows. This works fairly well for my use cases (programming language theory and undergrad math), but doesn't support the fancy layouts that LaTeX does (fractions, large sub/superscripts). I don't have a good solution for graphs/pictures/drawings. I don't think I've ever needed to, if I did I think I would just put the image in a folder alongside the note (`YYYY-MM-DD-ext`). [0] https://github.com/CoderPuppy/.files/blob/master/XCompose https://github.com/CoderPuppy/.files/blob/master/XCompose
- arael 5y agoVery interesting! Thank you very much for your reply. I will try this approach. It would work very well with FZF for searching. Which key are you using as Compose key?