Taking control of your personal knowledge is one of the greatest experiences I’ve had. I switched to emacs purely for Org-mode, stayed for the elisp in ~2006 or so.
Plain text also has a wonderful property of being a super sturdy format you know you’ll be able to read. I’ve made all kinds of quick reports out of my org files because I can just run grep | sed | awk quickly, and then write up elisp if I want to keep it around longer.
Unfortunately, it also has the property of being a filesystem/local interface, and thus most mobile/ipad/etc users would balk at the steps you need to go through to get your notes where you’d like them. Dropbox is probably the only solution that works well for users, but then it’s dropbox. Note the auto-committing logic here makes it very difficult to actually use your backups as you’re fighting against ongoing commits running in the same workspace. I really need to write the emacs extension that allows me to use tramp w/arbitrary binary that handles data reading/writing.
Taking control of your personal knowledge is one of the greatest experiences I’ve had
I’m in the same boat. I strongly believe that personal knowledge, such as one’s personal notes, should be based on a future-proof system.
Unfortunately, [plain-text note taking] also has the property of being a filesystem/local interface, and thus most mobile/ipad/etc users would balk at the steps you need to go through to get your notes where you’d like them
We may not be able to create as smooth an UX as all those mobile note taking apps, but I believe we should be able to come close enough. I currently dogfood my own app (called Cerveau based on the open-source neuron project) which allows me to edit git-backed plain text notes from web browser and mobile. It basically allows you to use Git(hub) as storage, while providing a nice editing and browsing interface.
I’m in the same boat. I strongly believe that personal knowledge, such as one’s personal notes, should be based on a future-proof system.
Strongly agree here.
I manage my knowledge via a web-based system which uses text files as its base data storage format, which I can always zip, move, and adapt to a new system.
Unfortunately, it also has the property of being a filesystem/local interface, and thus most mobile/ipad/etc
This is something that has held me back many times from using such system. In the past I did only use markdown notes in a single directory more like a journal (so no wiki and pretty messed) and syncing with Syncthing or Dropbox, which I believe is one of the best big providers for just plain text.
And still editing on mobile was a pain back then, not sure if currently there’s any better interface to work on plain text.
When that started not filling my needs I tried Evernote and moved to Notion.so which I have been using since then. I’m open to explore alternative, which made me end up here looking at VimWiki which I could couple up with WebDAV to sync with my vps.
On a note: Notion has a nice export to Markdown and CSV, that almost nails it for me. Basically following up directory structures for the content you have in the platform.
I’m not sure how great plain text is compared to say sqlite. Faster tagging, full text search, one file, are all things that would make a note-system better in my eyes, than having free-format files lying around in a file system. And it’s not like data has to be plain-text for it to survive, sqlite and a lot of other formats with public domain/free software parsers are just as accessible, perhaps even more when considering how file-system unfriendly mobile devices are (often there’s not even a proper file manager).
This feels like putting the cart before the horse to me. If you want optimized search why not retain the power and recoverability of plain text and use sqlite for indexing and metadata storage?
I don’t recognize any special power in plain text. You just need a tool to access the database, and it’s as good as plain text, when it comes to unix utilities. Plus you don’t have to bother with duplicate states and updating the indexing or metadata storage, since it’s all in one file.
Not necessarily, I mean first of all it’s easy to create a backup, and then there are tools to recover as much as possible. Sure you could engineer an attack to corrupt just the right bytes, but then I could just as well say “what if you run rm -f *.md.
Doing this now and it’s great. Title and content of notes are text fields, tags and links are structured many-to-many relations. Keeping metadata out of the note contents means I don’t have to parse anything and querying notes is super easy.
VimWiki looks nice. I like how you can highlight a span of text and instantly create a new linked page. Looks simpler than vim-orgmode I used to run.
Nowadays I use Joplin for taking notes and it’s been OK. It fulfills the three criteria outlined in the post, but unfortunately it’s somewhat slow. However it has native LaTeX formula support which I need. You can edit the files in an external editor.
For todos I’ve ended up with a very simple system in Vim. There’s a list where done items are marked with an x and others with a period. So a file looks like this:
. do this
x this is done
So you still get the satisfaction of crossing out a task with rx but absolutely nothing else. It helps to keep me focused on the task itself.
I find it very hard to be enthusiastic about “oh, just sync a bunch of Markdown files and use a plain text editor” - I’ve tried various (how many can there be?) systems for this and I inevitably end up with a pile of messy text files that are fundamentally unstructured, which makes it harder to find things.
The happiest I was with a note taking tool was OneNote. I used the structure, tags, ink annotations (since I had a tablet PC), a lot. There’s really nothing like it on Linux, sadly. (Perhaps Org might come the closest, but that assumes you have an Emacs brain.)
I guess it comes from the same mindset as static site generators: a lot of tools that do the same poor thing, celebrated.
I’ve tried a bunch of unstructured note-taking solutions but none of them ever stuck. A couple weeks back I finally broke down and started coding a SQLite-backed solution. It’s still a work in progress but already my favorite way of taking notes. I like how easy it is to do structured queries. Adding a “show all notes that link to this one” feature took all of two minutes.
Also, I’m writing my own GUI, which is a completely new experience. GUIs are weird.
Taking control of your personal knowledge is one of the greatest experiences I’ve had. I switched to emacs purely for Org-mode, stayed for the elisp in ~2006 or so.
Plain text also has a wonderful property of being a super sturdy format you know you’ll be able to read. I’ve made all kinds of quick reports out of my org files because I can just run grep | sed | awk quickly, and then write up elisp if I want to keep it around longer.
Unfortunately, it also has the property of being a filesystem/local interface, and thus most mobile/ipad/etc users would balk at the steps you need to go through to get your notes where you’d like them. Dropbox is probably the only solution that works well for users, but then it’s dropbox. Note the auto-committing logic here makes it very difficult to actually use your backups as you’re fighting against ongoing commits running in the same workspace. I really need to write the emacs extension that allows me to use tramp w/arbitrary binary that handles data reading/writing.
I’m in the same boat. I strongly believe that personal knowledge, such as one’s personal notes, should be based on a future-proof system.
We may not be able to create as smooth an UX as all those mobile note taking apps, but I believe we should be able to come close enough. I currently dogfood my own app (called Cerveau based on the open-source neuron project) which allows me to edit git-backed plain text notes from web browser and mobile. It basically allows you to use Git(hub) as storage, while providing a nice editing and browsing interface.
Strongly agree here.
I manage my knowledge via a web-based system which uses text files as its base data storage format, which I can always zip, move, and adapt to a new system.
That sounds interesting, what tool do you use?
Thank you for your interest.
I use a system called “hike” at this time, which you can see a demo of here: http://hike.qdb.us/
The username and password are both admin, I use that to keep out crawl bots, because at this time they fill the system with lots of junk.
It’s still a work in progress, and I think only useful to myself, but here are some general ideas:
Textfiles are identified by their hashes.
You can attach something an existing file using the >>hash format
Hashtags are used for grouping and categorizing.
A hash-tag in a parentless item is assigned to that item. However, if an item has a parent (using >>), the hashtag is assigned to the parent item.
Let me know if you have any questions.
This is something that has held me back many times from using such system. In the past I did only use markdown notes in a single directory more like a journal (so no wiki and pretty messed) and syncing with Syncthing or Dropbox, which I believe is one of the best big providers for just plain text. And still editing on mobile was a pain back then, not sure if currently there’s any better interface to work on plain text.
When that started not filling my needs I tried Evernote and moved to Notion.so which I have been using since then. I’m open to explore alternative, which made me end up here looking at VimWiki which I could couple up with WebDAV to sync with my vps.
On a note: Notion has a nice export to Markdown and CSV, that almost nails it for me. Basically following up directory structures for the content you have in the platform.
This is why Joplin fits my need perfectly.
I’m in love. I haven’t ever felt this ‘together’ in terms of my personal and professional knowledge bases ever (no hyperbole).
I’m not sure how great plain text is compared to say sqlite. Faster tagging, full text search, one file, are all things that would make a note-system better in my eyes, than having free-format files lying around in a file system. And it’s not like data has to be plain-text for it to survive, sqlite and a lot of other formats with public domain/free software parsers are just as accessible, perhaps even more when considering how file-system unfriendly mobile devices are (often there’s not even a proper file manager).
SQLite is one of the more compatible formats, but I still can’t edit it by hand.
My solution is to have a tree of plaintext files, which are then indexed into SQLite for indexing and searching.
This feels like putting the cart before the horse to me. If you want optimized search why not retain the power and recoverability of plain text and use sqlite for indexing and metadata storage?
I don’t recognize any special power in plain text. You just need a tool to access the database, and it’s as good as plain text, when it comes to unix utilities. Plus you don’t have to bother with duplicate states and updating the indexing or metadata storage, since it’s all in one file.
Your sqlite file gets corrupted - Game Over.
One text file gets corrupted? You lose whatever bytes from that one text file.
Every decision is a trade off between utility and convenience.
Not necessarily, I mean first of all it’s easy to create a backup, and then there are tools to recover as much as possible. Sure you could engineer an attack to corrupt just the right bytes, but then I could just as well say “what if you run
rm -f *.md
.Doing this now and it’s great. Title and content of notes are text fields, tags and links are structured many-to-many relations. Keeping metadata out of the note contents means I don’t have to parse anything and querying notes is super easy.
What tool do you use for that?
I wrote my own.
VimWiki looks nice. I like how you can highlight a span of text and instantly create a new linked page. Looks simpler than vim-orgmode I used to run.
Nowadays I use Joplin for taking notes and it’s been OK. It fulfills the three criteria outlined in the post, but unfortunately it’s somewhat slow. However it has native LaTeX formula support which I need. You can edit the files in an external editor.
For todos I’ve ended up with a very simple system in Vim. There’s a list where done items are marked with an x and others with a period. So a file looks like this:
So you still get the satisfaction of crossing out a task with
rx
but absolutely nothing else. It helps to keep me focused on the task itself.VimWiki is absolutely amazing. I’m also using it, similarly.
I find it very hard to be enthusiastic about “oh, just sync a bunch of Markdown files and use a plain text editor” - I’ve tried various (how many can there be?) systems for this and I inevitably end up with a pile of messy text files that are fundamentally unstructured, which makes it harder to find things.
The happiest I was with a note taking tool was OneNote. I used the structure, tags, ink annotations (since I had a tablet PC), a lot. There’s really nothing like it on Linux, sadly. (Perhaps Org might come the closest, but that assumes you have an Emacs brain.)
I guess it comes from the same mindset as static site generators: a lot of tools that do the same poor thing, celebrated.
I’ve tried a bunch of unstructured note-taking solutions but none of them ever stuck. A couple weeks back I finally broke down and started coding a SQLite-backed solution. It’s still a work in progress but already my favorite way of taking notes. I like how easy it is to do structured queries. Adding a “show all notes that link to this one” feature took all of two minutes.
Also, I’m writing my own GUI, which is a completely new experience. GUIs are weird.
What are you using for the GUI?
Python with tkinter.