I feel this needs more explanation as to why and what problem is being solved.
> Note codes are generated based on a note's name and path, meaning that the note code will change if you rename your note.
I get the idea of assigning a short identifier to things, but then why would I ever want that ID to change when I change random properties about the note?!
It was interesting to read about the idea of 4 characters with minimal similar looking characters, but the application of that here seems like a solution looking for a problem.
Very interesting to see another person also landing on using 4 base32 characters for labeling things - it really is enough for a human.
Personally I use it for labeling physical things - mainly boxes. With a corresponding note in my Obsidian vault it really helps with getting content, context, and history about random stuff in my basement.
Python oneliner for generating them I've aliased in my Bash config:
python3 -c "import base64; import secrets; print(''.join(secrets.choice(base64._b32alphabet.decode()) for _ in range(4)))"
The space has 1M IDs available, which sounds like enough until you take into account how the probability of collision works (birthday problem). With only 1200 notes (not many in my experience running a notes platform), your probability of collision is already about 50%.
Interested as I have a basement full of stuff in questionable order.
Could you explain a bit more? If a box in the basement box is marked with 4 emoticons, how does this help you understand content, context, history of it?
This would be even cooler if there was some heuristic to prefer codes based off of the titles somehow. Like if math-5/limits could somehow get the code M5-LM. I wonder if this is even possible to implement consistently at all. Sounds like a fun problem to solve (it’s the kind of thing an LLM could probably do very inefficiently)
Could probably be done by using the path of your note. You could manually specify the code for directories (such as M5 for math-5) and subsequent codes could be based on that. Your code would then be {dir code}-{random letters original to the note}.
Yep - and since the stated use case is letting you "quickly reference notes in your vault from other places such as hand-written notes." - the second you re-organize or move a note, all those codes scattered across computers and other mediums are permanently invalid with basically no practical means of automating referential shortcode updates so that's "fun".
I'm a very heavy daily user of Obsidian with about 8000+ personal notes organized across a fairly deep nested folder structure and can't envision a situation where I'd need something like this.
Littering my publicly accessible papers / blogs / etc. with highly idiosyncratic Obsidian shortcodes that only I have the means to access seems of limited use.
Hopefully the author will write another post going into specific use-cases for this extension.
I was hoping to see the same. As I understand this, it would lock the notes to obsidian only, instead of being somewhat agnostic to the note taker medium.
Plus, Obsidian kind of already has this functionality. You can give any note an alias, and all linking to that alias will instead link to the note. So if you're not worried about being agnostic, and unless if you want to mark every single note, I still don't see the point. And even then, even assuming that you do want every note with a code alias, you can just set it up on a template.
Plus, the existing linking system allows you to link to a particular heading within an existing note.
From memory… you begin with typing [[ to start the incremental autocomplete on note filename, then when the desired one is top of the list, press # to select a section based on heading.
I feel this needs more explanation as to why and what problem is being solved.
> Note codes are generated based on a note's name and path, meaning that the note code will change if you rename your note.
I get the idea of assigning a short identifier to things, but then why would I ever want that ID to change when I change random properties about the note?!
It was interesting to read about the idea of 4 characters with minimal similar looking characters, but the application of that here seems like a solution looking for a problem.
Very interesting to see another person also landing on using 4 base32 characters for labeling things - it really is enough for a human.
Personally I use it for labeling physical things - mainly boxes. With a corresponding note in my Obsidian vault it really helps with getting content, context, and history about random stuff in my basement.
Python oneliner for generating them I've aliased in my Bash config: python3 -c "import base64; import secrets; print(''.join(secrets.choice(base64._b32alphabet.decode()) for _ in range(4)))"
The space has 1M IDs available, which sounds like enough until you take into account how the probability of collision works (birthday problem). With only 1200 notes (not many in my experience running a notes platform), your probability of collision is already about 50%.
Interested as I have a basement full of stuff in questionable order.
Could you explain a bit more? If a box in the basement box is marked with 4 emoticons, how does this help you understand content, context, history of it?
This would be even cooler if there was some heuristic to prefer codes based off of the titles somehow. Like if math-5/limits could somehow get the code M5-LM. I wonder if this is even possible to implement consistently at all. Sounds like a fun problem to solve (it’s the kind of thing an LLM could probably do very inefficiently)
Could probably be done by using the path of your note. You could manually specify the code for directories (such as M5 for math-5) and subsequent codes could be based on that. Your code would then be {dir code}-{random letters original to the note}.
Directory codes could also be nested with this
So, the hash of the notes path is taken, if I move the note, does it get a new code, and does the code get updated in all the references?
If not, what if I make another note with the same name after moving the original one, does it then become a collision?
Yep - and since the stated use case is letting you "quickly reference notes in your vault from other places such as hand-written notes." - the second you re-organize or move a note, all those codes scattered across computers and other mediums are permanently invalid with basically no practical means of automating referential shortcode updates so that's "fun".
I'm a very heavy daily user of Obsidian with about 8000+ personal notes organized across a fairly deep nested folder structure and can't envision a situation where I'd need something like this.
Littering my publicly accessible papers / blogs / etc. with highly idiosyncratic Obsidian shortcodes that only I have the means to access seems of limited use.
Hopefully the author will write another post going into specific use-cases for this extension.
Looks like a cool extension thought I'd love some more detail on why someone would use note codes? What do you use them for?
Per the blog post
>Those codes let you quickly reference notes in your vault from other places such as hand-written notes.
I was hoping to see the same. As I understand this, it would lock the notes to obsidian only, instead of being somewhat agnostic to the note taker medium.
Plus, Obsidian kind of already has this functionality. You can give any note an alias, and all linking to that alias will instead link to the note. So if you're not worried about being agnostic, and unless if you want to mark every single note, I still don't see the point. And even then, even assuming that you do want every note with a code alias, you can just set it up on a template.
Yeah I'm not really understanding what it does above and beyond the existing linking system, besides serializing the notes.
Plus, the existing linking system allows you to link to a particular heading within an existing note.
From memory… you begin with typing [[ to start the incremental autocomplete on note filename, then when the desired one is top of the list, press # to select a section based on heading.
Its just very short unique id for your note. Practicality.
Why? You can already link notes: obsidian://open?vault=Documents&file=Ideas
I only had to read three sentences into to find your answer:
> Those codes let you quickly reference notes in your vault from other places such as hand-written notes.
Oh, I thought it meant written in the Notes app. I guess it's nice for those, who don't use johnny decimal system.
I love this idea. :)