Designing the Perfect ID: Marrying UUIDv7, Stripe Prefixes, and ULID
blog.alcazarsec.com
blog.alcazarsec.com
It doesn't have a checksum, though, that seems like an improvement that's worth a few bytes.
The formalization interests me. Shame they shifted the UUID 2 bits right. Otherwise our implementations would be almost compatible (only the last 2 bits of the 26th character + the last 3 characters would differ). In my next clean codebase, I may use TypeID and append a 15-bit checksum.