1 post
Most base62 implementations order their alphabet a-zA-Z0-9. In ASCII that isn't ascending — so a lexicographic sort silently stops matching chronological order, with no error. That bug sent me down a rabbit hole through ULID, UUIDv7, TypeID and nanoid, and eventually into writing my own ID library. Here's what I learned, including the parts where the alternatives are the better choice.