Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rethink things #3

Open
bradleypeabody opened this issue Jan 21, 2020 · 4 comments
Open

Rethink things #3

bradleypeabody opened this issue Jan 21, 2020 · 4 comments

Comments

@bradleypeabody
Copy link
Owner

Follow up the discussion here uuidjs/uuid#303 (comment) and see what we do.

@ctavan
Copy link

ctavan commented Jan 21, 2020

Just FTR, here are some mentions of prior art:

From https://mailarchive.ietf.org/arch/msg/ietf/2YSFIqY4n2SDLTLBg9GtQMjkcfU

From tc39/proposal-uuid#3 (comment)

@bradleypeabody
Copy link
Owner Author

@ctavan Great - I'll find some time to read through the above and look for any additional ideas that could/should be incorporated.

Meanwhile here is a link to some initial notes pasted in that can start being shaped up into a draft: https://docs.google.com/document/d/1bctTr14CrxzjHUIRAkT8jB46Jomr9aB2JQ9hDCh3cJg/edit

@bradleypeabody
Copy link
Owner Author

bradleypeabody commented Jan 26, 2020

Some other libraries of interest (see https://blog.kowalczyk.info/article/JyRZ/generating-good-unique-ids-in-go.html):

github.com/segmentio/ksuid
github.com/rs/xid
github.com/kjk/betterguid
github.com/sony/sonyflake
github.com/oklog/ulid
github.com/chilts/sid
https://github.com/lithammer/shortuuid
github.com/satori/go.uuid
https://github.com/google/uuid

Also:
https://github.com/dchest/uniuri

@bradleypeabody
Copy link
Owner Author

Noting this here, some stuff on firebase to look at.

On 4/16/20 9:28 PM, Jeffrey Yasskin wrote:

Since you have a TODO for prior art in https://tools.ietf.org/html/draft-peabody-dispatch-new-uuid-format-00#section-5, I wanted to mention https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html as having done something very similar to your proposal. They use a 48-bit number of milliseconds since the Unix epoch (which matches Javascript), but the range winds up similar to the 60-bit number of 100ns periods you're using. Their source is at https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/src/core/util/NextPushId.ts.

Jeffrey

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants