17 ms·
Every V4 UUID
- junek 2y agoSometimes I feel bad when I generate a UUID without using it for anything. Like I've wasted it.
- evan_ 2y agoYou're not the only one who feels this way: https://wasteaguid.info/ https://wasteaguid.info/
- puttycat 2y agoThis is just perfect.
- extraduder_ire 2y agoThere's enough of them that you're saving a scarcer resource by not recording it anywhere.
- netcraft 2y agohow bad do you feel about all the uuids you didnt generate so were never born?
- banku_brougham 2y agoAt work our clickstream data carries an 'event_uuid' column which combines uuid, bigint, account numbers and about 10 other identifiers. It makes joining really convenient when you don't know what column to use.
- zoky 2y agoSeriously, this just seems like a frivolous waste of a precious and rapidly dwindling resource…
- billpg 2y agoI once used `SELECT TOP 1` ... `ORDER BY NEWID()` to pick a record from a table of millions. Millions of UUIDs generated! All so one would randomly be picked as the lowest valued and the attached record returned. Such a waste!
- empty_space 2y agoI spent far too much time being childish with this, but I am quite pleased that: 69420694-2069-4206-9420-694206942069 is a valid UUID.
- globular-toast 2y agoI wonder how many test suites this is going to show up in...
- therealdrag0 2y agoMy inner middle schooler is also satisfied B00B1E5f-7117-4a61-816d-92710147f63f
- cafebase 2y ago[flagged]
- geor9e 2y agoyou just need to set the two metadata positions to specific values, the rest are all valid xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx M = 4 N = 8,9,a,b x = 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
- jonstewart 2y agoThis is like if Wes Anderson was a computer scientist.
- mpeg 2y agoVery useful! I'll refer to it when I forget my UUIDs, I use this site all the time to remember my bitcoin private key [0] [0]: https://privatekeys.pw/keys/bitcoin/1 https://privatekeys.pw/keys/bitcoin/1
- manmal 2y agoThanks for this, I didn't know that people create weak BTC keys for fun. I guess some are also used as bot honeypots?
- therein 2y agoBack in the day people used to SHA256 a passphrase and create a Bitcoin private key from it.
- lxgr 2y agoDefinitely! Takes a bit of time to go through all of them, though.
- manmal 2y agoI think people don’t get what I mean. A key with just 0s and a 1 at the last digit is very weak. Yet someone created a wallet with it for fun.
- wild_pointer 2y agoNice one. Random key: balance is zero. Real key: balance is (now) zero
- ayaros 2y agoSee also: https://keys.lol/ https://keys.lol/
- lelandfe 2y agoI was going to "see also also" you with https://libraryofbabel.info/ https://libraryofbabel.info/ but RIP for it is dead. https://en.wikipedia.org/wiki/The_Library_of_Babel_(website) https://en.wikipedia.org/wiki/The_Library_of_Babel_(website)
- animal_spirits 2y agoDamn, looks like my db has been leaked
- swyx 2y agomy ref notes on UUID for those interested https://github.com/swyxio/brain/blob/master/R%20-%20Dev%20Notes/uuid%20list.md?plain=1 https://github.com/swyxio/brain/blob/master/R%20-%20Dev%20No...
- LCoder 2y agoJumped to the bottom and the page locked up. Console shows: Uncaught Error: Index out of range - must be less than 2^122
- eieio 2y agooh hm, i thought I had fixed every case where that popped up. I can't reproduce the issue on any browser on my machine - how did you jump to the bottom (hotkey, scrollbar, scrolling for a trillion years) and what platform are you on (if you don't mind sharing)?
- LCoder 2y agoChome on Windows. Grab the right scroll bar and pull to the very bottom. Once at the bottom try to scroll down with mouse scroll wheel. Screen goes blank and the error appears in the console.
- eieio 2y agoOH! Thanks for the precise reproduction steps, I had done my testing with a trackpad and had missed that! Writing a little fix now (I'd hate for you to not be able to see the last UUID)
- deleted 2y ago[deleted]
- epistasis 2y agoI took the first one, nobody else take it or it will no longer be a UUID.
- fmbb 2y agoYou can sell it as an NFT. That way it is still unique but you can pass it along.
- all2 2y agoThe creator should add a button to mint an nft on his custom side chain.
- HanyouHottie 2y agoI hate and love this idea simultaneously. Thank you.
- Eikon 2y agoWant to find the actual UUIDs that are a dot com? https://www.merklemap.com/search?query=*-*-*-*-*.com&page=0 https://www.merklemap.com/search?query=*-*-*-*-*.com&page=0 Well, some of them are :)
- sureglymop 2y agoDoes it index subdomains by certs issued? What about wildcard certs? Or sites that accept all possible subdomains?
- rosmax_1337 2y agoThe ability to bookmark your favorite ones, now that's art.
- ekzy 2y agoNice. I’ve added a few favourites just to keep track of them, you never know! It would be great if there was an API because I’m working on an UI that needs UUID autocomplete. Thank you!
- dylan604 2y agoThey should set up a reservation database and sell vanity UUIDs for trendy LA people
- chis 2y agoThis is funny I like it. Basically just captures the scroll input and iterates through int128s and their UUIDs on a static page to fake a scroll. My feature request would be to add smooth scrolling.
- worble 2y agoAnd support autoscroll too, if possible (where you click middle mouse to scroll)
- Aachen 2y agoI use this all the time but someone decided to disable it by default. For those who haven't turned it on after a reinstall yet, or haven't discovered the setting: about:preferences -> search autoscrolling
- manmal 2y ago> iterates through int128s Have you read the blog post? I wouldn’t summarize it like that, it’s a little more involved than just iterating. I learned something today.
- perdomon 2y agoI think we broke it :(
- buremba 2y agodamn, my password is here
- lxgr 2y agoSeems like I got lucky – I have a "G" in mine!
- atonse 2y agothat's ok, just add a "1" and an exclamation to the end, that'll make it super secure, the hackers won't figure that one out.
- Aachen 2y agoOh my. Brings me back to my internship at a web development firm in Venlo. Someone "hacked" the company (somehow knew the master password used for everything) and deleted half the websites. Could restore from backup iirc but you know what the solution was? Add an exclamation mark to the password — Which in turn reminds me of another internship where a computer upstairs got "hacked". Everything on the desktop was messed up, icons moved, random programs open, some files moved into folders at random... why'd anyone do that? The boss left it as-is for me to take a look at how this could happen—yes, including the thematic porn sites hinting 17-year-old me at what happened to his marriage. Not finding any hints, I started sorting the stuff back out and business continued as usual Come afternoon, I was working on the computer when the mouse moved. Like, not me, I didn't move it. Was it the hacker? How are they connected? After a bit it moved again, but it didn't make any sense. I don't remember how I put 2 and 2 together but, going downstairs and seeing him at the media station using a wireless mouse downstairs, I got a dark suspicion Yes of course it was an insider threat =) We bought a different wireless receiver for the mouse that day
- jherskovic 2y agoLooks like the end boss of yak shaving. Very fun, silly idea and a great implementation.
- croes 2y agoSeems like some hacker leaked all UUIDs. Check if your UUIDs are part of the leak.
- sureIy 2y agoWait till someone files a CVE
- Traubenfuchs 2y agoI am sure our IT security department would jump right on to that if informed of it...
- kibwen 2y agoThis is the biggest hack since every ATM PIN was leaked: https://pastebin.com/SmJRB8eQ https://pastebin.com/SmJRB8eQ
- tombert 2y agoHoly shit, my PIN is on there. How the hell did that get that?? I was told it was a 1/10,000 chance of someone guessing it.
- ethanjstark 2y agoMine too. Takes me back to when my password was leaked: https://github.com/danielmiessler/SecLists/pull/155 https://github.com/danielmiessler/SecLists/pull/155
- 0xbadcafebee 2y agocould we fix this by adding '\n' to the password? then it wouldn't be guessed, the hackers would just think it was the end of the password
- Y_Y 2y agoThat's why I put a newline in my username.
- tobyjsullivan 2y agoThe fact that the search works impressed me more than anything. Of course, like every great magic trick, it seems so simple once it is explained. For the curious, here's the linked blog post describing how the project works: https://eieio.games/blog/writing-down-every-uuid/ https://eieio.games/blog/writing-down-every-uuid/ Edit to add: I'd only tried searching for an exact UUID when I wrote this comment. I didn't realize it supports full text search! Now I'm even more impressed.
- writtenAnswer 2y agoCool Blogpost
- InsideOutSanta 2y agoYeah, I at first, I though I knew exactly how it worked. Then I saw the search field, and I suddenly had no idea what the hell was going on. Now, the big question, do I want to spoil the magic trick and read how this was done, or should I keep being astonished and flabbergasted?
- manmal 2y agoAs with any magic trick, reading the explanation might leave you a little disappointed here.
- noman-land 2y agoI'm the opposite. The magic is not in what the magician shows, but in what they elegantly manage to hide.
- sameoldtune 2y agoI disagree with my sibling comment. The trick is beautiful. If you generate UUIDs such that each bit in the result can be reliably traced back to a single bit in the input, then you can take a substring of the UUID and use that to infer which bits of the input integer must be set to produce that substring. So you can produce a whole list of input bytes that meet the criteria and those become your search results. The real magic trick here is that the uuids on the page only look random to us because of some bit twiddling and XOR trickery. If we had a better intuition for such things we would notice that successive UUIDs are just as correlated as successive integers. Elegant stuff
- c0nsumer 2y agoWhen I hit print in Firefox it only is one page long. :(
- schoen 2y agoWe may be lucky that it didn't work. It appears from GNU units that printing this all out on paper would be about a hundred solar masses. Maybe about fifty solar masses if you print double-sided.
- cbsmith 2y agoOnly has type 4 UUIDs. ;-)
- CodesInChaos 2y agoLooks like they just changed the subtitle from "In case you forgot one" to "Well, only the V4 ones".
- cbsmith 2y ago:-) Actually, it looks like it alternates between those two phrases.
- kk3 2y agoFinally a use case for creating a table with a million rows in React.
- anyfoo 2y agoYou’re going to need a smidge more than that.
- nom 2y agonow sort them alphabetically
- CodesInChaos 2y agoSorting them lexically would be trivial. Just calculate the index via the reverse permutation, similar to how search works.
- wavemode 2y agoCompression is now so advanced, we can browse web pages weighing over 340 undecillion bytes. We truly live in an age of wonders.
- 55873445216111 2y agoI am pretty sure this sets a new record for highest Weissman score
- impish9208 2y agoMiddle-out truly is revolutionary
- saagarjha 2y agoWeissman score doesn't really have meaning anymore if the input is constrained. For example this website is 200KB as per the network traffic and I can beat it handily with ten-line script to generate every UUID. Or even verbally by just saying "every UUID".
- function_seven 2y agoMeh. Years ago I had my bakeries churning out undecillions of units no problem in Cookie Clicker. No big deal!
- xg15 2y agoThey just don't make em like they used to...
- Devasta 2y agoThis is excellent. 29113161-136d-411e-9efd-5b24a910c307 I'm going to take this one if no one minds, please select something else for your purposes.
- worble 2y agoTypical, I'm always late and the good ones are already taken
- ticulatedspline 2y agoreminds me of https://libraryofbabel.info/ https://libraryofbabel.info/ (which seems to be down at the moment try Archive https://web.archive.org/web/20241112121646/https://libraryofbabel.info/ https://web.archive.org/web/20241112121646/https://libraryof...). It's a fun implementation inspired by the short story https://en.wikipedia.org/wiki/The_Library_of_Babel https://en.wikipedia.org/wiki/The_Library_of_Babel and "At present it contains all possible pages of 3200 characters," though the character set is limited (no dash) so you won't find these UUIDs there.
- RGamma 2y agoI was gonna mention that so people have something to read when they finished the UUIDs.
- bufferoverflow 2y agoThere's also a variation of this book called A Short Stay in Hell (2009) by Steven L. Peck It's a fun and scary read. Especially if you understand very big numbers.
- noncoml 2y agoYou fool! You destroyed the universal uniqueness now!
- NBJack 2y agoYou were so preoccupied with whether you could, you never stopped to ask if you should. This will be the goto reference for hackers everywhere. Think of how much faster they'll compromise my McDonald's order with all 2^122 possibilities already computed!
- CodesInChaos 2y agoFor the implementation of the core logic, I probably would have gone for the lazy solution of iterating AES until the output is <2^122 (64 times on average). Alternatively just use standard Format-Preserving-Encryption, which is usually a Feistel Network, similar to what they ended up with, but built on a standard algorithm, instead of a homebrew round function.
- AlotOfReading 2y agoThank you for finally giving me a name for this concept. I've run into lots of code implementing them badly, but there's a bit of a semantic hill for others when you don't have a better name than "1-cycle permutation".
- atonse 2y agoHey, one of my database passwords is in here. How the heck did you get access to it???????? Who do I contact about this breach? I want names and addresses.
- LeifCarrotson 2y agoThe name and address is at everyUTF8string.com. You might have to scroll a while, though...
- atonse 2y agoThank you. I started scrolling 4 hours ago and am yet to encounter my first address.
- eieio 2y agoI'm so sorry - we'll start working on a feature to redact UUIDs after we figure out how to handle GDPR compliance
- n42 2y agothis brings me joy.
- lxgr 2y agoOof, mine are on there. Guess I'll have to rotate them now :/
- a12k 2y agoSuper weird coincidence but I spotted a UUID in here that I had previously used!
- lxgr 2y agoNeat idea, excellent implementation! Now I kind of want to do this for "every 12 character password"...
- sidcool 2y agoThis is beautiful.
- sidcool 2y agoCan someone ELI5? How's he ensuring uniqueness of a UUID when they are randomly generated?
- deleted 2y ago[deleted]
- ARandumGuy 2y agoUUIDs aren't technically unique, they're just designed in such a way that the chance of collisions is very small. A big part of this is that the possibility space is very large, so the chance of collisions is low. Many UUID versions also determine parts of the UUID via MAC addresses and timestamps, to ensure that different servers are highly unlikely to generate the same UUID.
- charlieboardman 2y agoThey are not, 100% strictly speaking, “ensured”. But they are 128bit numbers, so you have realistically no chance of generating a uuid that someone else has already. Age-of-the-universe type chances of duplicating one.
- saagarjha 2y agoThey are; the blog post explains why.
- function_seven 2y agoThey're not randomly generated. They're generated using a Feistel cipher. [1] He's ensuring the uniqueness by indexing from 0, and applying the cipher to come up with a more "random" looking UUID. [1] https://eieio.games/blog/writing-down-every-uuid/#toc:feistel-ciphers https://eieio.games/blog/writing-down-every-uuid/#toc:feiste...
- Lammy 2y agoUUID is a 128-bit value, of which 122 bits are available for actual data. UUID was conceived as a way to mark an intersection point between two dimensions, originally for Apollo Computer's RPC system where the two dimensions were time and hardware identifier (originally originally Apollo hardware serial number, later commonly 802.3 address). The additional bits are metadata telling you that a particular 128-bit value is a UUID, not just a coincidental jumble of bits, and which type of UUID. This site is specifically about “V4” UUIDs where the two dimensions are random and also-random. If you scroll all the way to the bottom you will see that the last table row is numbered the same value as the maximum 122-bit number, so the site is flipping every possible bit-combination within that space combined with the metadata bits that say “Hello I am a V4 UUID”: irb> ::Array::new(122, 0b1).reduce { (_1 << 1) | _2 } => 5316911983139663491615228241121378303
- jonny_eh 2y agoI thought this was going to be a list of every .com domain that is a valid uuid. Now I'm wondering how many of those exist? Update: Another commenter already shared: https://news.ycombinator.com/item?id=42342653 https://news.ycombinator.com/item?id=42342653
- netcraft 2y agofor a minute I thought this was a domain reseller that was offering .com uuid domains
- layer8 2y agoThis needs an “I’m Feeling Lucky” button.
- a3w 2y agoI looked for deadbeef-f00d-f00d-deadbeef** but did not find it. Search is just on active page, that gets ever longer?
- Aachen 2y agoI don't think f is a valid UUID version. One of these positions should be 1–6 or so (not sure who's the authority on which version works how, IETF maybe?)
- s4i 2y agoThat’s not a valid UUID? The version and variant parts are missing.
- deleted 2y ago[deleted]
- osamagirl69 2y agodeadbeef-f00d-f00d-deadbeef isn't a valid UUID v4 Aside from missing a grouping in the middle, you need the version and variant bits, ie: XXXXXXXX-XXXX-4XXX-VXXX-XXXXXXXXXXXX where V is 8, 9, A, or B searching for deadbeef-f00d-400d-a00d-deadbeef does return the expected matches
- taftster 2y agoYour comment is needed as a parent / top-level for the discussion. A lot of people were confused about the 'V' portion in particular. Thanks for the insight.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- cdfuller 2y agoPlease add a button to export to Excel.
- dumbfounder 2y agoAt first I thought this was a list of all the domain names that were in UUID form. Which would be equally as useful to many people.
- sergiotapia 2y agoI'm going to take these, please mark them as taken ec971907-4564-46ec-b28b-d76f1a2233c8 58737c1a-9294-4ffa-8082-b5364923a59c ba6ca980-b405-48b9-9770-252611d40ef1 Thanks!
- sjm 2y agonp, I'm taking deadbeef-beef-4000-beef-deadbeefdead
- efitz 2y agoI’m writing a script that scrolls through the site, scrapes the UUIDs, and stores them in an AWS S3 bucket. I’ll let you know when it finishes.
- chrisandchris 2y agoSomething tells me S3 was not designed for that and will break, and then everything will break. And because StackOverflow broke too, there's nobody available to fix it.
- usr1106 2y agoWhat will be the bill?
- efitz 2y agoI think all the money
- zaptheimpaler 2y agoOMG thank you!! I was looking for one that goes well with my shoes and I finally found the one - 346c7747-a421-4073-881e-7a7282b6150b. EDIT: That one is MINE. PLEASE DO NOT USE IT.
- xg15 2y agoWho needs infinite scroll when you can have technically finite scroll!
- xg15 2y agoThis is amazing! I can finally get that vanity UUID I was dreaming of for so long!
- gavinsyancey 2y agoThe search seems to be missing `c12a7328-f81f-11d2-ba4b-00a0c93ec93b`
- deleted 2y ago[deleted]
- tln 2y agoThat's a version 1 UUID, site only has version 4's
- senko 2y agoThis only contains V4 UUIDs. Disappointed.
- modeless 2y agoSeems like the only feature missing (besides social sharing mentioned in the blog post) is deep linking to specific UUIDs.
- jvanderbot 2y agoTangentially related: HN recently (last few months) had an article explaining how large a number was. The number was something like busy beaver or 128 bit integers or something else. It illustrated how large the number was by creating activities you would do, incrementing the counter as you did them. The sequence went something like this: Walk, and every time you take a step. Add 1 After you have circled the earth, place a sheet of paper on a pile, and start walking again. Continue, until the paper pile reaches the sun, then place a grain of sand in the Grand Canyon and start over. Continue until you have filled the Grand Canyon, etc etc It continued for a lot of such steps until you finally counted up to the number in question. What was the number? What were the steps?
- booleandilemma 2y agoJeff Bezos' net worth?
- redundantly 2y agoThe number you're thinking of is 52! (52 factorial) and how long it would take for 52! seconds to pass by. Vsauce has a great video on this, and might be where that example was taken from. https://www.youtube.com/watch?v=ObiqJzfyACM https://www.youtube.com/watch?v=ObiqJzfyACM That example starts 16 minutes into the video: https://www.youtube.com/watch?v=ObiqJzfyACM&t=964s https://www.youtube.com/watch?v=ObiqJzfyACM&t=964s But it's worth watching the whole thing.
- jvanderbot 2y agoYes! Nice find thank you.
- tempestn 2y agoAnd that number is relevant because it's the number of possible ordering of a standard deck of 52 cards. There are... a lot of them.
- jvanderbot 2y agoI found a text version of the same (?) thing: https://czep.net/weblog/52cards.html https://czep.net/weblog/52cards.html
- Arch-TK 2y agoWow, it's a website which has more than a screen-full of stuff on it at one time and scrolling doesn't introduce a seconds-long loading animation. I wonder if modern web developers of modern web applications could somehow harness this technology.
- gibibit 2y ago100% this. I thought the same thing immediately, "wow, this is fast and smooth and responsive!!" It's ludicrous how our computer hardware is 1000x faster than it was 30 years ago in 1995, but software is so bloated that it is still slower! Relevant: "Will Software Stop Getting Slower?" Jonathan Blow https://www.youtube.com/watch?v=4ka549NNdDk https://www.youtube.com/watch?v=4ka549NNdDk
- tills13 2y agoIt's merely a trick of windowed scrolling.
- zellyn 2y agoYou can also use something like DES3 to get a bijection. Easier if it fits in 64 bits so you only need one block.
- bicx 2y agoI'd like to announce my new `npm` package called `get-uuid`. Behind the scenes, it loads `everyuuid.com`, picks a random row number, and returns that UUID.
- switch007 2y agoPlease, only try to break the library's api 5 times a month, otherwise it's just too much And look forward to my realising your package doesn't quite do want I want and forking it
- peterpost2 2y agoThat's a terrific idea, I'll also create a npm package, that consumes yours and returns the Guid but without the '-' between the digits. Go code reuse!
- dogtierstatus 2y ago> That's a terrific idea I think you meant 'terrific' in the old original meaning.
- qingcharles 2y agoI'd prefer if it used AI to pick one that was aesthetically pleasing. I can file a PR if you like?
- sa-code 2y agoCould you please add a function to check if a uuid exists?
- pie_flavor 2y agoI found a good UUID but immediately lost it because the custom scroll also interprets left and right scroll :( (this also breaks browser forward and backward trackpad gestures)
- theonewolf 2y agoI found the Pi UUID: 185e45bc-750b-43d7-91ee-314159265358
- BubbleRings 2y agoHa. Math geek.
- theonewolf 2y agoI found the Pi UUID: 185e45bc-750b-43d7-91ee-314159265358
- babyshark233 2y agoThere are a lot. like this: aac8022d-350a-4c3e-9012-314159265358
- atulvi 2y agowow. this is so cool TIL aaaaaaaa-aaaa-4aaa-aaaa-aaaaaaaaaaaa is a valid uuid
- NathanaelRea 2y agoIt seems to skip a lot for substring search. For example if you search for 'aaaa' there's maybe 100 jumps to get to the bottom. So i'd assume that it's just a uniform random over the entire range to some limit, then filter idx > cur. But I feel like you could constrain the search more. The 'close next' should have exactly the same characters at the front. Like in your example '4AAB-' you would search valid position 14 first. edit: actually this doesn't work because having the same start does not mean they are close together.
- grahamj 2y agoLove it! I can't help but think there's still a way to use native scrolling though. You could start with a tall document, say, 10k pixels and grab the scroll position and multiply it out when it moves to get sort of a macro scroll position. That would handle the arrows and clicking or grabbing the scroll box. But the wheel would be tricky because you want to scroll by only one or a few items, not items/10k. With a static viewport-sized DIV set to overflow-y:scroll and large vertical content size, positioned so you don't see the scroll bar, when the mouse is over it it should capture wheel movement which you could translate to an offset from your macro scroll position. Just a thought. Either way, love the thinking here, fun work :)
- retr0grad3 2y agoI'm now the proud owner of 69ac8bd2-4ca0-4dd9-82b5-60fabec0b404.com
- sam0x17 2y agolol I misunderstood, I thought someone had searched for every domain name that happens to be a valid UUID
- Cotterzz 2y agoWhat percentage of the 100+ Zettabytes of data now on the internet does this page take up?
- deleted 2y ago[deleted]
- ForHackernews 2y agoShoutout `deadbeef-91c5-4ef3-b6d9-0a1c95775b4d`
- jongjong 2y agoUUIDs are the best.
- deleted 2y ago[deleted]
- TZubiri 2y agoThere's a fine line between a hacker's cool personal project and a schizophrenic's magnum opus
- layer8 2y agoThis could use a “scrubbing” control, where when scrolling by dragging vertically, the scrolling speed depends exponentially on the horizontal position. (Meaning, for example, dragging 10 screen units vertically when the pointer is at horizontal position x would scroll by 10^(x/10) entries.)
- NautilusWave 2y agoFor some reason, I was expecting the search to filter the results instead of just work like Ctrl+F. It'd be nifty if it could collapse non-matching UUIDs.
- shayonj 2y ago> Scrolling through a list of UUIDs should be exciting! I wanna see bb166283-2e09-4b72-ba32-70a43521c70e, not 00000000-0000-4000-8000-000000000000! This was my favorite bit and speaks a lot about the craft behind this page! v cool <3
- chamomeal 2y agoHoly shit it’s a real life library of babel!!
- zaken 2y agoI tried to find the biggest UUID and if I got it right, it's 99999999-9999-4999-9999-999999999999 (note the 4 in the 3rd block) I'm curious why it's not 99999999-9999-9999-9999-999999999999 (all 9s)?
- savef 2y agoThe values are hexidecimal, so all "9s" isn't the biggest UUID, but all "f's". Specifically, I think: `ffffffff-ffff-4fff-bfff-ffffffffffff`. The "4" in the 3rd block is the only permitted value as these UUIDs are using the GUIDv4 format. I'm not sure what's going on in the 4th block, but the references and linked RFC in the Wikipedia article might reveal more details: https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random) https://en.wikipedia.org/wiki/Universally_unique_identifier#...
- Dylan16807 2y agoIf you're going by hex, the biggest UUID is entirely f's, 32 of them. It's defined specially and doesn't have version or variant.
- savef 2y agoI see what you mean, but I was going by the definition of "UUID" used on everyuuid.com. The UUID of 32 "f's" isn't in the list.
- deleted 2y ago[deleted]
- MBCook 2y agoBut if it’s all Fs, that means you have the sign bit set, so it’s not the largest. It’s the smallest that’s less than zero right?
- savef 2y ago
- 29athrowaway 2y agoA testament of how optimized web browsers are.
- motohagiography 2y agohow many sequential chars of a uuid do you need to calculate the rest of it, or infer the rest of it from a smaller set of all possible ones?
- kevincox 2y agoAll of them, more or less. There are a few marker bits but the rest are pure data. There is no error correct or redundancy.
- motohagiography 2y agoI didn't think v4 uuid's were completely random over that 128bit space for some reason, and this was wrong, but interestingly. for a uuid like 414c1bde-b676-4242-be35-887f01a24f10, if I take its suffix 887f01a24f10 (12 chars, 48 bits) there are still 19 chars (76 bits) to the left of it. (barring the constant 13th char identifier 4) There still are 2^76 uuid's with that suffix to search through. It made sense with ipv6 addresses and cryptography, but for some reason I had this idea that uuid's didn't use an CRNG that covered the whole 128 bit space. A lot of wrong stuff rattling around in my memory for some reason, thanks for clarifying.
- Dylan16807 2y agoThere are 6 fixed bits. The other two are in the 17th hex character. But overall you have that right. Every bit is either completely random or fixed. There are no reduced-randomness patterns unless you generated it wrong.
- scotty79 2y agoIt's interesting insight that if you encrypt something in a way that the cipher-text is exactly as long as plain-text (counted in bits) it's as if you just listed all possible inputs and mixed them randomly.
- pontifier 2y agoI remember seeing one of these for Bitcoin addresses a long time ago... Very funny :)
- jonathrg 2y agoPlease remove my UUID 039a69dc-b0a1-4be0-b424-5e45aca8d3fb from the list. I spent a lot of money on it
- kixpanganiban 2y agoHehe 12345678-b00b-4123-b00b-b00b13551234
- khana 2y ago[dead]
- deleted 2y ago[deleted]
- mc10 2y agoWould love it if the scrollbar was draggable on iOS! I thought it was broken until I realized you can click on a spot to scroll to.
- eru 2y ago> And of course I’m still very curious whether there’s a cryptanalysis approach that lets me achieve more effective search over a random-ish ordering of UUIDs. I’m gonna do some more reading there. I think that's definitely possible. Especially if you realise that you only need a random-ish looking order, not a cryptographically secure random order.
- eru 2y agoBtw, one suggestion to make the scrolling look more believable would be to let people scroll by fractions of a line. (Just like on HN, I can scroll so that just the bottom part of the first line of text is visible.)
- technoabsurdist 2y agocan someone explain how this manages to list all 2^122 uuids?
- quink 2y agoI own d12bf171-1ded-4bf6-a87c-b62c202f9e4b now nobody use it thank you. Edit: and the following 2^8-1 for friends and family, thank you.
- jdlyga 2y agoThis is a major incident. All of our uuids were leaked!
- IncRnd 2y agoIt can't be a coincidence that, as I read this UUID page, there are 255 comments before mine.
- arc4randall 2y ago[dead]
- lacoolj 2y agoA very nice demo of how to render a page. If it weren't for that I would be very confused why this exists
- deleted 2y ago[deleted]
- chrismorgan 2y ago> Browsers do not want to render a window that is over a trillion trillion pixels high, so I needed to handle scrolling and rendering on my own What’s fun is what actually happens when you try to do these things. It’s disappointing, you can’t even get anywhere near one trillion pixels. The limits I found five years ago when working at Fastmail, after a customer using IE found their scrollbar broke when they had around 200,000 emails in a mailbox (plus I just checked a couple of them again now): • Firefox: a few years ago, ignored declarations that resolved to a value higher than 17,895,697 pixels (a smidgeon under 2³⁰ sixtieth pixels). Now, it clamps at that point instead, but maybe three pixels more or less, not immediately clear quite what’s going on and I can’t be bothered investigating. (All browsers seem to have inconsistencies in how clientHeight/getBoundingClientRect/dev tools/whatever report things, that close to the boundaries of possibility. It’s mildly fascinating.) • IE: ignores declarations that resolve to a value equal to or higher than 10,737,418.23 pixels (2³⁰ − 1 hundredth pixels). • WebKit: clamps values somewhere around 2²⁵ (~33,554,432) pixels. • Chromium: matched WebKit when I tested, now it’s clamping around 22,360,882 pixels, but I’m on a 1.5× display, so the 2²⁵ could be connected with device pixels or such. But I think I was on a 2× display when I did the initial testing! See also https://news.ycombinator.com/item?id=34299569 https://news.ycombinator.com/item?id=34299569 where I wrote more about it, with links to relevant source code.
- thewisenerd 2y agothere's also similarly limits on width of elements, which I found out recently when trying to set a width to "45678910px" [1] [1] https://thewisenerd.com/works/45678910px.html https://thewisenerd.com/works/45678910px.html
- eieio 2y agoAh this is great - I tried finding a modern-ish list of max browser heights while writing the blog. Do you mind if I link your comment in an update? (I'm also super curious how those numbers were chosen and about what would start breaking if the limits weren't there - maybe your example of weirdness around clientHeight etc gets at that)
- deleted 2y ago[deleted]
- textlapse 2y agoI got it to search e1e1e0 and got it up to twice. Repeating it three times though I couldn’t (even with dashes added). :) I am sure I am holding the phone wrong. 0d42d789-fd08-44ec-a46e-e1e10e1e10e1
- dirkc 2y agoI love this kind of thing! Now all I need to do is hold my finger on the down arrow and keep watching for a *little* while to see every V4 UUID.
- deleted 2y ago[deleted]
- thih9 2y agoI know I shouldn’t be surprised that uuids like 00000000-0000-4000-8000-000000000000 or 12345678-0123-4567-8901-234556789012 exist, but being able to search for them and find them still feels amazing.
- adhamsalama 2y agoCan this be turned into a SAAS? I'm tired of copying ids.
- dzaima 2y agoA "proper" search while still retaining sufficiently-looking randomness might be achievable via an SMT solver, by asking it to find an index above the current position, below a binary-searched top boundary, that contains the search term. I think SMT solvers should be clever enough to be able to work the search around some ciphers. Maybe an SMT solver is a rather heavy-weight approach, but I think it fits the task of searching through 2^122 values :) Edit: even with no cipher, it takes said approach ~1.6s to find that after 0x1067D3DC2F4951AEA8DB8D0108D7D65 the first occurrence of 0xABCD is at 0x1067D3DC2F4951AEA8DB8D0108DABCD with Z3 (cvc5 and Bitwuzla are slightly slower), which is perhaps a bit too slow.. perhaps it could be improved to something more reasonable by restricting the search to near the end until that fails, and reducing the matchable positions based on the dashes, but that's back to effort. Edit 2: slightly more effort later: cipher: 0x15FD586DF0CE258730098B94325ACE7 * (val ^ 0x93C324915DB2B3C4D4CD8135C0DDF1) inverse: (0x1D52334877384DE3A6DAA4A3312A6D7 * val) ^ 0x93C324915DB2B3C4D4CD8135C0DDF1 example first 10 entries: 0: 2839676B79617D5B9FDF9D43CFB3077 1: 123C0EFD889357D46FD611AF9D58390 2: 143418475AFDC869FFF2B46C3468A45 3: 3E36BFD96A2FA2E2CFE928D8020DD5E 4: 002EC9233C9A13786005CB94991E413 5: 2A3170B54BCBEDF12FFC400066C372C 6: 2C2979FF1E365E86C018E2BCFDD3DE1 7: 162C21912D6838FF900F5728CB790FA 8: 18242ADAFFD2A995202BF9E562897AF 9: 0226D26D0F04840DF0226E51302EAC8 binary search max set to `10 * 2**search_bit_width` after after the chosen start trying to find a match only in the last 3 possible places (i.e. searching WXYZ only matches *****WXYZ, ****WXYZ*, ***WXYZ**) searching for 0xFF00FFCC after index 0xAAAAAAAAAAAAAA: nearest match found at: 0xAAAAAAAD04E3DA ciphered: 0x0E9399CC39B716BC96348AFF00FFCCD time taken: 0.7s (bitwuzla or cvc5), or 1s (z3) But alas I'm stupid, and searching doesn't care about lexicographic ordering, and you necessarily have to search all possible places, not just the end, and that's a ton slower. Perhaps dash placement could reduce them enough, but that's even more effort.
- naranha 2y agoIf the browser has 1080 vertical pixels, the scrollbars has max say 1000 possible positions. According to my napkin math* if you scroll over 100 uuids per second it would take up to ~1.7 septillion or ~1 700 000 000 000 000 000 000 000 years to scroll to an uuid of which you know the position if you hit the spot exactly on the scrollbar. * https://www.wolframalpha.com/input?i=ROUND%5B2%5E122%2F1000%2F100%2F60%2F60%2F24%2F360%2C10%5E23%5D https://www.wolframalpha.com/input?i=ROUND%5B2%5E122%2F1000%... Edit: Use 122 bit instead of 128 due to UUIDv4
- wildlogic 2y agob00bb00b-b00b-4444-b00b-b00bb00bb00b
- schobi 2y agoGreat idea and writeup! One important feature is missing: From a proper search function I would expect to know how often my string is found. It could be that my password is rare, or that it is rather common. I need to know! Could the search also display the number of hits? Jokes aside - you know the number of digits of the search string and if it is still a valid uuid. So computing the number of "matches found" should be possible...
- twwwt 2y agoFeels to me like Pandora's box to UUID collisions. Even though UUID space is so huge human mind is always so tiny, as it is always subject to some bea5 (pronounce it "bias").
- dsego 2y ago"bijectivity", there is a term from high school I thought I would never hear in real live, still remember having injection, surjection & bijection explained in math class 20 years ago.
- Cloudef 2y agoah the 0xdeadbeef of UUIDs deadbeef-6265-4780-9167-555689902667
- indulona 2y agobut why?
- guandor 2y agoThis probably shows that I don't know much about UUIDs, but how come when I search for "asd" or "den", there are no matches?
- philippwoz 2y agoIts hex. Only characters A-F are used.
- seafoamteal 2y agoThese are hexadecimal digits, so only 0-9 and a-f are allowed.
- atjallen 2y agoUUIDv4s use hexadecimal digits which are the characters 0-9 and then a-f so neither of 's' or 'n' could be contained in a UUIDv4.
- jari_mustonen 2y agoIt seems that 00000000-0000-4000-8000-000000000000 is the "smallest" UUID generated by 2645248903793120745936665251644898482.
- 082349872349872 2y ago> It’s a little awkward to take our two chunks of 61 bits and map it onto the available bits here. Does it say anything about code-AI that a problem which should be (is!) very easy for machines, but very difficult for front-endy people, seems to also be very difficult for Claude?
- dmd 2y agoThese were all, of course, already available in Borges' library.
- bartread 2y agoWhat am I missing here? What is the purpose of this?
- Eriks 2y agoperfect website for mouse scroll wheel benchmark
- IE6 2y agoBarely related tangent - but the speed of how quickly this site populated the full list of all these UUIDs (it's likely static) made me remember this site https://unicode.org/emoji/charts/full-emoji-list.html https://unicode.org/emoji/charts/full-emoji-list.html which seems to programmatically generate the page every single time (are there that many new emojis that this is needed) and as a result the page takes minutes to load (I've never let it finish).
- devoutsalsa 2y agoEvery social security number! (0..999999999). map { |i| i.to_s.rjust(9, "0") }. map { |i| i[0..2] + "-" + i[3..4] + "-" + i[5..9] }
- aftbit 2y ago>Maybe this is silly to you. But framing the problem as “come up with a function that looks like it adds entropy but is reversible” was a lot easier for me to think about than “preserve bijectivity between these two sets. IMO that's half of "real work" - figuring out how to think about a problem. Insights are funny that way - stuff that is obvious to one person is game-changing to others.
- wild_pointer 2y agoI starred my UUID of choice. Now I can't find it. Help, I've been scrolling for three days.