top | item 45329213

(no title)

quantike | 5 months ago

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?

discuss

order

politelemon|5 months ago

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.

Ezhik|5 months ago

(developer here)

I specifically tried to make this mostly Obsidian-agnostic - the algorithm to generate these note codes is very simple and only requires the note's path relative to the vault.

Here's the whole algorithm in Python:

    import hashlib
    
    def hash_string(s):
        h = hashlib.sha256(s.encode()).digest()
        n = ((h[0] << 16) | (h[1] << 8) | h[2]) % (32**4)
        a = '0123456789ABCDEFGHJKMNPQRSTVWXYZ'
        r = ''.join(a[n // 32**(3-i) % 32] for i in range(4))
        return f"{r[:2]}-{r[2:]}"

obshasaliases|5 months ago

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.

Orange1688|5 months ago

Per the blog post

>Those codes let you quickly reference notes in your vault from other places such as hand-written notes.

elAhmo|5 months ago

Sounds like the same could be done with a slightly longer, but far more readable date + sequential identifier. Such as `YY-xxx` or `YYMM-xxx`.

thek3nger|5 months ago

This looks fine, but then if I rename the note, the code changes, invalidating all the hand-written notes links. So it feels unpractical. I would still prefer to encode the creation timestamp and put it in the title/filename/property. At least this would be fixed.

Ezhik|5 months ago

(developer here)

I'm too lazy to write full note titles in my paper journals. With this, I can instead write a 4-character code that I can quickly look up in my Obsidian vault.

bfg_9k|5 months ago

Yeah I'm not really understanding what it does above and beyond the existing linking system, besides serializing the notes.

hn_throw2025|5 months ago

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.

majkinetor|5 months ago

Its just very short unique id for your note. Practicality.