Let's go a step further and just iterate through them on the client. I plan on having this phone well past the heat death of the universe, so this is guaranteed to finish on my hardware.
function* uuidIterator() {
const bytes = new Uint8Array(16);
while (true) {
yield formatUUID(bytes);
let carry = 1;
for (let i = 15; i >= 0 && carry; i--) {
const sum = bytes[i] + carry;
bytes[i] = sum & 0xff;
carry = sum > 0xff ? 1 : 0;
}
if (carry) return;
}
}
function formatUUID(b) {
const hex = [...b].map(x => x.toString(16).padStart(2, "0"));
return (
hex.slice(0, 4).join("") + "-" +
hex.slice(4, 6).join("") + "-" +
hex.slice(6, 8).join("") + "-" +
hex.slice(8, 10).join("") + "-" +
hex.slice(10, 16).join("")
);
}
Just have a database of UUIDs. Seems pretty trivial to generate and sort as it's only 16 bytes each.
It exists
https://everyuuid.com/
That's actually a bright idea! Have you ever thought about applying for VC funds?
Once you deliver that, you can also think about a database of natural numbers!
Relevant: https://news.ycombinator.com/item?id=42342382
https://libraryofbabel.info/
"Just" have a database, and then what? I can set up a database of all UUIDs very easily, but I don't think it's helpful.
Where are you storing them, a black hole?
lol
Let's go a step further and just iterate through them on the client. I plan on having this phone well past the heat death of the universe, so this is guaranteed to finish on my hardware.
This is free. Feel free to use it in production.
Free space heater
1 reply →