Skip to content

Show HN: SnowId – A Decentralized, K-Ordered, 128-bit UUID library in C

github.com/beyonddream
15 pointsbeyonddream6 comments
On HN

Sharing my project inspired by twitter snowflake UUID generator but that supports:

1) Longer range of id's to be generated.

2) No coordination with other machines in the distributed system.

Comments

Possibly a tangent, but what is the "dot notation" described in:

    # hexadecimal representation of 128-bit id's in dot notation
    0:0:1:84:40:9b:ff:a5:2:0:12:ac:42:3:0:0

Good eye! That was a typo. It should read as "colon notation". It is just a visual representation of 128 bits (16 bytes) with each byte separated by colon ":". I have updated the readme with an example. One place where you will see this notation visually is MAC addresses.

Why use this over the new ordered UUID RFC?

UUID RFC use <timestamp, sequence, node id> layout which is different from the layout of snowid scheme which is <timestamp, node id, sequence>. Also UUID RFC timestamp can only use up-to 60 bits whereas snowid has the full 64 bits to spare. They server different use-cases.

Show an example of the generated id.

done.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.