3 puntos por GN⁺ 2024-12-07 | 2 comentarios | Compartir por WhatsApp
  • everyuuid.com es una página simple en formato de lista que muestra en paralelo índices numéricos y cadenas UUID
  • Cada elemento está compuesto por un número largo con relleno de ceros, un índice y, en la línea siguiente, un UUID con guiones
  • Las cadenas UUID siguen el formato UUID V4, en el que el tercer grupo empieza con 4, y se muestran valores como 497dcba3-ecbf-4587-a2dd-5eb0665e6880
  • El contenido no incluye explicaciones sobre método de generación, uso, API ni código, por lo que se parece más a una vista de la lista en sí
  • El rango confirmado va de 0 a 49, y la información sustancial de la página se concentra en el título y la lista de UUID

Estructura que muestra números y UUID en paralelo

  • El título es Every UUID V4
  • El contenido está formado por una lista repetida de elementos numéricos y cadenas UUID
  • El rango resumido va de 0 a 49

Forma en que se muestran los elementos

  • Cada elemento tiene una estructura de dos líneas
    • Primera línea: una cadena larga de 0 seguida del número de índice
    • Segunda línea: se muestra una cadena UUID separada por guiones
  • Un ejemplo del inicio es el siguiente
    • 000000000000000000000000000000000000 0
    • 497dcba3-ecbf-4587-a2dd-5eb0665e6880
  • El último elemento proporcionado es el siguiente
    • 00000000000000000000000000000000000 49
    • 08716598-71f7-4e8b-9fff-e36d2c5d21fe

Una página más cercana a una lista de datos que a una explicación

  • Las cadenas UUID usan el formato de notación UUID separado por guiones
  • No hay explicaciones sobre el principio de generación de los UUID, el criterio de ordenamiento, el rango completo, funciones de búsqueda, licencia ni forma de implementación
  • Solo se proporciona una lista de datos, sin explicación técnica ni guía de uso

2 comentarios

 
nemorize 2024-12-13

La frase más ofensiva que se me ocurrió usando leetspeak/hexspeak es esta:
fe11a710-babe-4150-ace5-b19b1accd1cc
(Sí, es un UUID válido)
(Lo siento muchísimo)

oh... 👀

 
GN⁺ 2024-12-07
Opiniones de Hacker News
  • Lo más impresionante es que la búsqueda realmente funciona. Como toda buena magia, una vez que te explican cómo funciona, también parece muy simple.
    Para quien tenga curiosidad, aquí hay una explicación de cómo funciona el proyecto: https://eieio.games/blog/writing-down-every-uuid/
    Al principio solo busqué UUID exactos, pero me sorprendió aún más descubrir que incluso admite búsqueda de texto completo.

    • Me alegra muchísimo que el truco se haya sentido como magia. Cuando me di cuenta de que esto era posible, también me sorprendió y me dio gusto, pero no estaba seguro de si otras personas sentirían lo mismo.
      Por supuesto, también me enorgullece ofrecer tanta utilidad práctica. Por fin podemos encontrar y usar el UUID que encaja exactamente con nuestras necesidades.
    • Es un buen ejemplo de la observación de Teller: “la magia a veces no es más que alguien dedicándole a algo muchísimo más tiempo del que alguien podría esperar razonablemente”.
    • La explicación de la búsqueda de texto completo fue un poco más ingeniosa de lo que esperaba al principio. Pensé que generaba UUID hasta que apareciera uno que coincidiera con la dirección de búsqueda del botón siguiente/anterior, pero en realidad crea varios resultados posibles y elige el mejor entre ellos.
      Lo supuse al ver que aparecían resultados distintos cada vez que avanzaba o retrocedía en los resultados de búsqueda, pero me da curiosidad saber cuántos genera realmente.
    • La búsqueda de texto completo al principio parece buscar en orden, pero en realidad no es así, lo cual confunde un poco. Si presionas “next” varias veces y luego “prev” la misma cantidad de veces, no necesariamente vuelves al UUID original.
      Aun así, parece un truco bastante genial.
    • El método de búsqueda se parece mucho a un enfoque común para crear un corrector ortográfico ingenuo. Dado un valor de entrada, genera todas las posibles coincidencias que podrían contener esa entrada.
      No es que busque en un corpus, sino que usa la entrada para generar el índice del corpus. Aquí es una lista de UUID; en un corrector ortográfico, sería la lista de palabras de un diccionario.
  • Parece que algún hacker filtró todos los UUID.
    Tengo que revisar si mi UUID está incluido en la lista filtrada.

    • Es el hackeo más grande desde que se filtraron todos los PIN de cajeros automáticos: https://pastebin.com/SmJRB8eQ
    • Si le aviso al equipo de seguridad, seguro se lanzan de inmediato sobre esto.
    • Espero con ansias el servicio “havemyuuidsbeenpwned.com”.
    • 10b82756-f8b4-4fee-a508-adeadbeef5eb
      Ni modo, ya es hora de formatear.
    • El trabajo de mi empresa está en tal estado ahora mismo que no tengo tiempo de mitigar esta filtración en la seguridad de datos personales. Oficialmente me rindo.
  • Muy útil. Lo consultaré si se me olvida un UUID. También uso siempre este sitio cuando necesito recordar una clave privada de Bitcoin: https://privatekeys.pw/keys/bitcoin/1

    • Clave aleatoria: saldo 0
      Clave real: saldo ahora 0
    • No sabía que la gente creaba claves BTC débiles por diversión. Algunas seguramente también se usan como trampas para atraer bots.
    • Seguro que también habrá gente que busque claves privadas reales y potencialmente las filtre.
    • Ver también: https://keys.lol/
  • A veces genero un UUID y, si no lo uso en ningún lado, me siento culpable sin razón. Como si lo hubiera desperdiciado.

    • No eres el único que se siente así: https://wasteaguid.info/
    • Hay suficientes UUID, así que al no registrarlo en ningún lado más bien estás ahorrando un recurso más escaso.
    • ¿Y qué tan culpable te sientes por los UUID que ni siquiera llegaron a nacer porque no los generaste?
    • En los datos de clickstream de mi empresa hay una columna event_uuid, que es una combinación de UUID, enteros grandes, números de cuenta y como otros 10 identificadores.
      Cuando no sabes con qué columna hacer el join, hace que los joins sean muy cómodos.
    • Una vez usé SELECT TOP 1 ... ORDER BY NEWID() para elegir un registro de una tabla con millones de filas.
      Se generaron millones de UUID, y uno de ellos resultó ser por azar el valor más bajo, por lo que se devolvió el registro asociado. Un desperdicio enorme.
  • Me dio risa la parte de que “el navegador no quiere renderizar una ventana más alta que un billón de billones de píxeles, así que tuve que manejar el scroll y el renderizado por mi cuenta”. Cuando intentas algo así de verdad, resulta bastante decepcionante, y ni siquiera te acercas a un billón de píxeles.
    Hace 5 años, cuando trabajaba en Fastmail, un cliente que usaba IE metió unos 200 mil correos en su buzón y se rompió la barra de desplazamiento; los límites que revisé fueron estos, y acabo de volver a comprobar algunos.
    Firefox antes ignoraba declaraciones que se interpretaran como valores mayores a 17,895,697 píxeles. Ahora las limita en ese punto, pero hay una diferencia de unos 3 píxeles, así que no queda claro de inmediato qué está pasando exactamente.
    IE ignora declaraciones que se interpretan como 10,737,418.23 píxeles o más. WebKit limita los valores alrededor de 2²⁵, es decir, cerca de 33,554,432 píxeles.
    Chromium, cuando hice la prueba antes, se comportaba igual que WebKit, pero ahora limita alrededor de 22,360,882 píxeles. Actualmente estoy en una pantalla con escala 1.5x, así que 2²⁵ podría tener relación con los píxeles de dispositivo, aunque creo que cuando hice la primera prueba era una pantalla 2x.
    También escribí una explicación más detallada con enlaces al código fuente relacionado: https://news.ycombinator.com/item?id=34299569

    • Esto está bueno. Mientras escribía el artículo, intenté encontrar una lista relativamente reciente de alturas máximas de navegadores. Me pregunto si podría enlazar este comentario en una actualización.
      También me da mucha curiosidad cómo se determinaron esos números y qué empieza a romperse si no hay límites. Los ejemplos de comportamientos raros alrededor de clientHeight quizá sean una pista.
    • Hay límites parecidos para el ancho de los elementos. Lo descubrí hace poco al intentar establecer un ancho de 45678910px: https://thewisenerd.com/works/45678910px.html
  • Quiero anunciar un nuevo paquete de npm, get-uuid. Internamente llama a everyuuid.com, elige un número de fila al azar y devuelve ese UUID.

    • Es una idea excelente. Yo también voy a crear un paquete de npm que use ese paquete y devuelva GUIDs sin los - entre los números. ¡Viva la reutilización de código!
    • Me gustaría que la compatibilidad de la API de la biblioteca se rompiera como máximo 5 veces al mes. Más que eso ya es demasiado.
      Y espera con ansias el día en que me dé cuenta de que tu paquete no hace exactamente lo que quiero y lo forkee.
    • Sería mejor si una IA eligiera UUIDs estéticamente agradables. Si quieres, puedo mandar un PR.
    • ¿También puedes agregar una función para verificar si existe un UUID?
  • Me recuerda a https://libraryofbabel.info/. Parece que ahora está caída, así que se puede intentar con Archive: https://web.archive.org/web/20241112121646/https://libraryof...
    Es una implementación divertida inspirada en el cuento https://en.wikipedia.org/wiki/The_Library_of_Babel, y dice que “contiene todas las páginas posibles de 3200 caracteres”. Sin embargo, como el conjunto de caracteres es limitado y no incluye guiones, estos UUIDs no se pueden encontrar ahí.

    • También existe una variación llamada A Short Stay in Hell (2009), de Steven L. Peck.
      Si entiendes los números realmente enormes, es una lectura divertida y aterradora.
  • Pensé que sería una lista de todos los dominios .com que son UUIDs válidos. Me dio curiosidad cuántos dominios así existirán realmente.
    Actualización: ya lo compartieron en otro comentario: https://news.ycombinator.com/item?id=42342653

  • La tecnología de compresión avanzó tanto que ahora podemos explorar una página web de más de 340 undecillones de bytes.
    Vivimos en una época verdaderamente asombrosa.

    • Esto casi seguro establece un nuevo récord de puntaje Weissman.
    • No es gran cosa. Hace unos años, en Cookie Clicker, mis panaderías producían en unidades de undecillones sin problema.
  • Me sorprende ver un sitio web que carga de una sola vez más contenido del que cabe en una pantalla y aun así no muestra una animación de carga de varios segundos al hacer scroll.
    Me pregunto si los desarrolladores modernos de aplicaciones web podrán aprovechar de algún modo esta tecnología.

    • Totalmente de acuerdo. Yo también pensé de inmediato: “¡Wow, es rápido, fluido y responde bien!”.
      Es absurdo que el hardware de las computadoras sea 1000 veces más rápido que en 1995, hace 30 años, pero el software se haya vuelto tan pesado que todavía se sienta más lento.
      Video relacionado: “Will Software Stop Getting Slower?” Jonathan Blow
      https://www.youtube.com/watch?v=4ka549NNdDk