Alle V4-UUIDs
(everyuuid.com)everyuuid.comist eine einfache Listen-Seite, die numerische Indizes und UUID-Strings nebeneinander anzeigt- Jeder Eintrag besteht aus einer langen mit 0 aufgefüllten Zahl und einem Index sowie in der nächsten Zeile einer UUID mit Bindestrichen
- Die UUID-Strings folgen dem V4-UUID-Format, bei dem die dritte Gruppe mit
4beginnt; angezeigt werden Werte wie497dcba3-ecbf-4587-a2dd-5eb0665e6880 - Im Hauptteil gibt es keine Erklärung zu Erzeugungsmethode, Verwendung, API oder Code; die Seite ähnelt eher dem Durchblättern der Liste selbst
- Der bestätigte Bereich reicht von 0 bis 49; die wesentlichen Informationen der Seite konzentrieren sich auf den Titel und die UUID-Liste
Aufbau mit Zahlen und UUIDs nebeneinander
- Der Titel lautet Every UUID V4
- Der Hauptteil besteht aus einer sich wiederholenden Liste aus Zahleneinträgen und UUID-Strings
- Der zusammengefasste Bereich reicht von 0 bis 49
So werden die Einträge dargestellt
- Jeder Eintrag hat eine Struktur aus zwei Zeilen
- Erste Zeile: eine lange Zeichenfolge aus
0, an die die Indexzahl angehängt ist - Zweite Zeile: ein UUID-String, getrennt durch Bindestriche
- Erste Zeile: eine lange Zeichenfolge aus
- Ein Beispiel vom Anfang sieht so aus
000000000000000000000000000000000000 0497dcba3-ecbf-4587-a2dd-5eb0665e6880
- Der zuletzt bereitgestellte Eintrag ist folgender
00000000000000000000000000000000000 4908716598-71f7-4e8b-9fff-e36d2c5d21fe
Eine Seite, die eher eine Datenliste als eine Erklärung ist
- Die UUID-Strings verwenden das UUID-Schreibformat mit Bindestrichen
- Es gibt keine Erklärung zum Erzeugungsprinzip, Sortierkriterium, Gesamtbereich, zur Suchfunktion, Lizenz oder Implementierung
- Es wird nur eine Datenliste ohne technische Erläuterung oder Nutzungshinweise bereitgestellt
2 Kommentare
oh... 👀
Hacker-News-Kommentare
Am beeindruckendsten ist, dass die Suche tatsächlich funktioniert. Wie bei guter Magie wirkt es, nachdem man die Erklärung gehört hat, auch ganz simpel.
Ein Artikel, der die Funktionsweise des Projekts für Interessierte erklärt: https://eieio.games/blog/writing-down-every-uuid/
Anfangs habe ich nur nach exakten UUIDs gesucht, aber noch überraschter war ich, als ich merkte, dass sogar Volltextsuche unterstützt wird.
Natürlich bin ich auch stolz darauf, dass es so viel praktischen Nutzen bietet. Endlich kann man genau die UUID finden und verwenden, die man braucht.
Darauf kam ich, weil beim Vor- und Zurückgehen durch die Suchergebnisse jedes Mal andere Resultate erscheinen; ich frage mich, wie viele tatsächlich generiert werden.
Trotzdem wirkt es wie ein ziemlich cooler Trick.
Man sucht also nicht in einem Korpus, sondern erzeugt mit der Eingabe einen Index des Korpus. Hier ist das die UUID-Liste, bei einer Rechtschreibprüfung die Wortliste des Wörterbuchs.
Sieht so aus, als hätte irgendein Hacker alle UUIDs geleakt.
Ich sollte prüfen, ob meine UUID in der Leak-Liste enthalten ist.
10b82756-f8b4-4fee-a508-adeadbeef5ebHilft nichts, jetzt ist Zeit zum Formatieren.
Sehr nützlich. Wenn ich eine UUID vergesse, werde ich dort nachschlagen. Diese Seite nutze ich auch ständig, wenn ich mir meinen Bitcoin-Private-Key merken will: https://privatekeys.pw/keys/bitcoin/1
Echter Key: Kontostand jetzt 0
Manchmal erzeuge ich eine UUID und verwende sie nirgends, und dann fühle ich mich irgendwie schuldig. Als hätte ich sie verschwendet.
event_uuid, die aus einer UUID, einer großen Ganzzahl, einer Kontonummer und etwa zehn weiteren Identifikatoren zusammengesetzt ist.Wenn man nicht weiß, über welche Spalte man joinen soll, macht das Joins sehr bequem.
SELECT TOP 1...ORDER BY NEWID()verwendet, um einen einzelnen Datensatz aus einer Tabelle mit Millionen Einträgen auszuwählen.Dabei wurden Millionen UUIDs erzeugt, und eine davon hatte zufällig den niedrigsten Wert, sodass der zugehörige Datensatz zurückgegeben wurde. Was für eine enorme Verschwendung.
Der Teil „Browser wollen kein Fenster rendern, das höher als eine Billion mal eine Billion Pixel ist, also musste ich Scrollen und Rendering selbst übernehmen“ ist lustig. Wenn man so etwas tatsächlich ausprobiert, ist es ziemlich enttäuschend; man kommt nicht einmal annähernd in die Nähe von einer Billion Pixeln.
Als ich vor fünf Jahren bei Fastmail arbeitete, hatte ein IE-Nutzer etwa 200.000 E-Mails in seinem Postfach, wodurch die Scrollbar kaputtging; die damals ermittelten Grenzen waren folgende, und ein paar davon habe ich gerade noch einmal überprüft.
Firefox ignorierte früher Deklarationen, die als Werte größer als 17.895.697 Pixel interpretiert wurden. Heute clampen sie an diesem Punkt, aber es gibt eine Abweichung von etwa 3 Pixeln, sodass nicht sofort klar ist, was genau passiert.
IE ignoriert Deklarationen, die als mindestens 10.737.418,23 Pixel interpretiert werden. WebKit clampen Werte ungefähr bei 2²⁵, also nahe 33.554.432 Pixeln.
Chromium war bei meinem früheren Test genauso wie WebKit, clampen aber heute ungefähr bei 22.360.882 Pixeln. Mein aktuelles Display hat eine 1,5-fache Skalierung, daher könnte 2²⁵ mit Gerätepixeln zusammenhängen; beim ersten Test hatte ich aber, glaube ich, ein Display mit 2-facher Skalierung.
Ich habe auch einen ausführlicheren Beitrag mit Links zum entsprechenden Source Code geschrieben: https://news.ycombinator.com/item?id=34299569
Außerdem interessiert mich sehr, wie diese Zahlen festgelegt wurden und was ohne Begrenzung zu brechen beginnt. Die merkwürdigen Verhaltensweisen rund um
clientHeightkönnten ein Hinweis darauf sein.45678910pxsetzen wollte: https://thewisenerd.com/works/45678910px.htmlIch möchte ein neues
npm-Paket namensget-uuidveröffentlichen. Intern ruft eseveryuuid.comauf, wählt eine zufällige Zeilennummer aus und gibt diese UUID zurück.npm-Paket bauen, das dieses Paket verwendet und eine GUID zurückgibt, bei der die-zwischen den Zahlen entfernt wurden. Hoch lebe Code-Wiederverwendung.Und freu dich schon auf den Tag, an dem ich merke, dass dein Paket nicht genau das tut, was ich will, und es forke.
Erinnert mich an https://libraryofbabel.info/. Sie scheint derzeit offline zu sein, also kann man es im Archive versuchen: https://web.archive.org/web/20241112121646/https://libraryof...
Eine unterhaltsame Umsetzung, inspiriert von der Kurzgeschichte https://en.wikipedia.org/wiki/The_Library_of_Babel, die „alle derzeit möglichen Seiten mit 3200 Zeichen enthält“. Der Zeichensatz ist allerdings eingeschränkt und enthält keine Bindestriche, daher lassen sich diese UUIDs dort nicht finden.
Wenn man sehr, sehr große Zahlen begreift, ist das eine unterhaltsame und beängstigende Lektüre.
Ich dachte, es wäre eine Liste aller
.com-Domains, die gültige UUIDs sind. Jetzt frage ich mich, wie viele solche Domains es tatsächlich gibt.Update: In einem anderen Kommentar wurde das bereits geteilt: https://news.ycombinator.com/item?id=42342653
Kompressionstechniken sind so weit fortgeschritten, dass man jetzt eine Webseite mit mehr als 340 Undezillionen Byte durchsuchen kann.
Wir leben wirklich in erstaunlichen Zeiten.
Erstaunlich: Eine Website, die mehr als eine Bildschirmseite Inhalt auf einmal enthält und beim Scrollen trotzdem keine mehrsekündige Ladeanimation zeigt.
Ich frage mich, ob moderne Web-App-Entwickler diese Technik irgendwie nutzen können.
Computerhardware ist 1000-mal schneller als 1995, also vor 30 Jahren, aber Software ist so aufgebläht geworden, dass sie immer noch langsamer ist. Das ist absurd.
Zugehöriges Video: “Will Software Stop Getting Slower?” Jonathan Blow
https://www.youtube.com/watch?v=4ka549NNdDk