I found Obsidian great, so if this reaches near feature parity and allows me to stay in the terminal, it's a great upgrade already.
Recently though I switched from vim to Doom Emacs and started learning org-mode. This turned out to quite literally be a career breakthrough for me, as I realized how much easier it is with both to remain productive throughout the day and to manage my personal knowledge base, or second brain.
I'd highly recommend everyone to try DE out [0]. I always thought Emacs to be unnecessarily complex, but majority of it is hidden away in special features. DE, especially for vimmers, delivers a lot of very useful IDE-like functionality out of the box, simplifies the hotkeys, provides stellar configurability and, in my experience, just lets fingers flow more smoothly across the keyboard.
Org-mode by itself may seem daunting as well, but it turns out to be designed in a similar fashion - take and use what you need, no hidden complexity or other strings attached. I can recommend Distrotube's tutorials on either [1].
Org mode has a lot of rabbit holes, but to use org roam (which builds on org mode and Lets you manage a knowledge graph) effectively is surprisingly easy. You need to know how to link to something, how to view backlinks, how to format the tree of text using asterisks to indicate depth in the tree, how to define aliases in a note's Properties drawer, and that's pretty much it.
I've got a few zsh functions that let me type "note" which creates a file named todays date (if it doesn't exist), inserts a timestamp, and opens it in vim. When I exit vim, the notes directory is committed to git then pushed up. This lets me keep my notes directory in sync across machines, and available via web (gitea).
note () {
DATE=`date +"%Y%m%d"`
TS=`date +"%Y%m%d %H:%M:%S"`
FILE=$HOME/Documents/notes/$DATE.txt
notegitpull
echo $TS >> $FILE
vi $FILE
notegitpush
}
notegitpull () {
pushd $HOME/Documents/notes
if ping -c 1 git.server &> /dev/null
then
git pull
else
echo "Offline, not pulling changes"
fi
popd
}
notegitpush () {
pushd $HOME/Documents/notes
git pull
git add \*
git commit -m "Autocommit due to edit of $FILE"
if ping -c 1 git.server &> /dev/null
then
git push origin main
else
echo "Offline, not pushing changes up"
fi
popd
}
I have something similar, I made it check for a .notes folder in the current working directory so that I can have per-project notes just by adding that folder in first. I want to add custom filenames as I'm finding that easier to mentally keep track of, like "integration-bug-factfinding.note" is a little easer to find again than "12-22-2022.note". Currently I have these commands:
note //Adds a note to the current days notefile, in the current directory's .notes folder if present or ~/.notes if not
edit-note //Opens the same notefile as above in a text editor
notes //Concats todays notefiles echos displays them
all-notes //Concats all notes ever and echos them, useful to grep for keywords across my history of notes
> It uses the same format of storage as Obsidian...
Can Obsidian and Jot co-mingle in the same vault?
I use Obsidian and am very happy with the git plugin[0] and Working Copy(iOS)[1] for keeping things automatically synced between my phone and desktop(s). Often I find myself dumping notes into random places from the terminal; feeding markdown via pipes. But I then have to remember to collect these artifacts and ensure I fire Obsidian back up for a push. I'd love something that could work "together" with my present setup.
Looks like things are set out quite clearly[2], and Rust looks quite approachable. Very cool stuff!
Now that I think about it, they can, just not right now. What Jot needs is a 'use existing folder as vault' feature like in Obsidian, or an 'import vaults from Obsidian' feature. As an Obsidian user myself, this would be neat. Thanks for the idea! I'll add this to the feature updates list :)
My notes system is established but this tool looks interesting. I essentially create a Github repository and journal computer and software ideas in the open in a README.md with a markdown heading for each note and number the notes.
You can find my journal of 450+ computer software ideas in my profile.
If you're on the fence over what tool to journal with, then I recommend my approach, it just works and it has low barrier to entry, you just need github account, you could even use the web interface to update your journal and edit the README.md.
Whatever tool you use it needs to have low friction so it encourages you to write and you don't forget how to create a post once you set it up.
The important thing about journalling is that it encourages you to write and keep writing which is where the reward comes from.
Jot's purpose is to ease note management, using vaults stored in different parts of your storage, that can be accessed from anywhere, essentially eliminating the need to manually cd to different locations.
This is still in its initial phase, hence the rudimentary features (I prioritized everything I considered basic necessities). I am working on adding more fancy features though, for example, a fuzzy finder.
I like that this is editor agnostic, but I also think that obsidians killer feature is the effortless linking between notes.
That seems to me like it would be much easier to do with an editor plugin.
I just wrote a super simple nvim plugin in fennel that allows you to go straight to your daily note using your existing obsidian config. https://git.sr.ht/~hermiod/obsidianlite.nvim
What I really want to do is build a language server for "backlinking markdown". In that case any editor could consume it to get references, go to definition, etc. Does that sound like the right experience?
Yes :) I do have plans for something similar, but its a bit low on my priority list since I'm keeping this project focused on note management right now.
Personally, I'd like to take notes with vim (or helix), however somehow it's still an unsolved problem to sync files with end-to-end encryption between devices, without also having to use some specialized application.
Obsidian is so far the most seamless way to write and sync notes between Linux and iOS. I'd pay money for a daemon that could do E2EE encryption of any files on my machine and also worked on iOS.
Have you looked at syncthing? I believe it ticks off all your boxes. I'm using it to sync my obsidian vault and Todo list between multiple android, Windows, and Linux devices and it Just Works. I do have an always on server running it as well to both maintain a backup and to catch any notes devices powered down might miss, but it's not a requirement.
I do plan on adding vault encryption and cross device sync (literally making a list of updates atm). Like tacostakohashi mentioned, I too have been thinking of using git for cross device sync.
I have to type "note" or "folder" twice, just to create a new one. I prefer the convention that most other tools follow whereby "new" is the base command, and then the thing you want to create is the noun. Eg
> jt new note
If you really want the noun to be first and the verb second, at least simplify it to:
> jt note new
Though I much prefer the verb first since it reads more like an action sentence.
I appreciate this effort, and I want to try it out... but in the README, I did not see how to literally make a note from the terminal.
Is this intended to make something like Nano easier to integrate with an extra tool set provided by Jot, or is there a feature I missed? I'm not sure what problem this is trying to solve.
And yes, this tool is meant for integration with text editors. Jot is simply for creating and managing notes (markdown files). You can use the text editor that you fancy, like nano or vim, or something like vscode, if you need a GUI.
Awesome! I quite like the trend in note-taking software lately, I'm also currently building a similar obsidian-compatible tool:
https://github.com/tionis/glyph
yakcyll|3 years ago
Recently though I switched from vim to Doom Emacs and started learning org-mode. This turned out to quite literally be a career breakthrough for me, as I realized how much easier it is with both to remain productive throughout the day and to manage my personal knowledge base, or second brain.
I'd highly recommend everyone to try DE out [0]. I always thought Emacs to be unnecessarily complex, but majority of it is hidden away in special features. DE, especially for vimmers, delivers a lot of very useful IDE-like functionality out of the box, simplifies the hotkeys, provides stellar configurability and, in my experience, just lets fingers flow more smoothly across the keyboard.
Org-mode by itself may seem daunting as well, but it turns out to be designed in a similar fashion - take and use what you need, no hidden complexity or other strings attached. I can recommend Distrotube's tutorials on either [1].
[0]: https://github.com/doomemacs/doomemacs
[1]: https://www.youtube.com/watch?v=Ea_-TaEGa7Y
Jeff_Brown|3 years ago
araekiel|3 years ago
aedocw|3 years ago
ehnto|3 years ago
note //Adds a note to the current days notefile, in the current directory's .notes folder if present or ~/.notes if not
edit-note //Opens the same notefile as above in a text editor
notes //Concats todays notefiles echos displays them
all-notes //Concats all notes ever and echos them, useful to grep for keywords across my history of notes
oktwtf|3 years ago
Can Obsidian and Jot co-mingle in the same vault?
I use Obsidian and am very happy with the git plugin[0] and Working Copy(iOS)[1] for keeping things automatically synced between my phone and desktop(s). Often I find myself dumping notes into random places from the terminal; feeding markdown via pipes. But I then have to remember to collect these artifacts and ensure I fire Obsidian back up for a push. I'd love something that could work "together" with my present setup.
Looks like things are set out quite clearly[2], and Rust looks quite approachable. Very cool stuff!
[0]: https://github.com/denolehov/obsidian-git
[1]: https://workingcopyapp.com
[2]: https://github.com/araekiel/jot/tree/main/src
araekiel|3 years ago
samsquire|3 years ago
You can find my journal of 450+ computer software ideas in my profile.
If you're on the fence over what tool to journal with, then I recommend my approach, it just works and it has low barrier to entry, you just need github account, you could even use the web interface to update your journal and edit the README.md.
Whatever tool you use it needs to have low friction so it encourages you to write and you don't forget how to create a post once you set it up.
The important thing about journalling is that it encourages you to write and keep writing which is where the reward comes from.
araekiel|3 years ago
bongobingo1|3 years ago
araekiel|3 years ago
Version467|3 years ago
Do you have any plans to add something like that?
hermiod|3 years ago
What I really want to do is build a language server for "backlinking markdown". In that case any editor could consume it to get references, go to definition, etc. Does that sound like the right experience?
araekiel|3 years ago
emerongi|3 years ago
Obsidian is so far the most seamless way to write and sync notes between Linux and iOS. I'd pay money for a daemon that could do E2EE encryption of any files on my machine and also worked on iOS.
tcrenshaw|3 years ago
Mylloon|3 years ago
araekiel|3 years ago
unknown|3 years ago
[deleted]
tacostakohashi|3 years ago
How about using git, over https or ssh? Or are those 'specialized'?
pydry|3 years ago
Thorentis|3 years ago
> jt note newnote
> jt folder newfolder
I have to type "note" or "folder" twice, just to create a new one. I prefer the convention that most other tools follow whereby "new" is the base command, and then the thing you want to create is the noun. Eg
> jt new note
If you really want the noun to be first and the verb second, at least simplify it to:
> jt note new
Though I much prefer the verb first since it reads more like an action sentence.
araekiel|3 years ago
octokatt|3 years ago
Is this intended to make something like Nano easier to integrate with an extra tool set provided by Jot, or is there a feature I missed? I'm not sure what problem this is trying to solve.
araekiel|3 years ago
And yes, this tool is meant for integration with text editors. Jot is simply for creating and managing notes (markdown files). You can use the text editor that you fancy, like nano or vim, or something like vscode, if you need a GUI.
tionis|3 years ago
nmz|3 years ago