diff --git a/src/MiniDocs/NanoID.class.st b/src/MiniDocs/NanoID.class.st index f192180..f44b2ee 100644 --- a/src/MiniDocs/NanoID.class.st +++ b/src/MiniDocs/NanoID.class.st @@ -1,9 +1,16 @@ " I'm run an implementation of the [Nano ID](https://github.com/ai/nanoid) tiny, secure URL-friendly unique string ID generator via its [Nim implementation](https://github.com/icyphox/nanoid.nim). -I have hard coded: +The Nim script has hard coded: * a [base 58 encoding](https://medium.com/concerning-pharo/understanding-base58-encoding-23e673e37ff6) alphabet to avoid similar looking letter and the use of non-alphanumeric characters. + * a 12 characters length output, which gives [a pretty low probability collision](https://zelark.github.io/nano-id-cc/) for the previous alphabet: + ~616 years needed, in order to have a 1% probability of at least one collision at a speed of 1000 IDs per hour. + This is more than enough for our unique IDs applications, mostly in the documentation context, + which consists of hand crafted and/or programmatically produced notes , + for example in data narratives, book(lets) and TiddlyWiki tiddlers of tens or hundreds of notes at most, + unevenly produced between hours, days and/or weeks.. + " Class { #name : #NanoID,