msgbartop
“¿Estás seguro de que ESO es aleatorio?” “Ése es el problema con la aleatoriedad: nunca puedes estar seguro”
msgbarbottom

02 sep 09 Medidor de entropía de eniac2000.com

Gracias a una interesante entrada de Kriptópolis (Visprint), he tenido conocimiento de Visprint, un programa que permite generar imágenes fractales a partir de la salida de cualquier algoritmo de HASH, como por ejemplo, md5.

Una manera de juguetear con esto es recoger el texto de una página web (¿esta, por ejemplo?), y obtener su resumen md5, mediante el siguiente comando:

$ wget -O - http://bitacora.eniac2000.com/?feed=rss2 2> /dev/null \
| md5sum | visprint -b 255 -r 1000 -t > entropia-1000.png

Estos comando realizan lo siguente: primero se descarga el texto del feed rss de mi página, para pasárselo al generador de hash md5sum y, posteriormente, a visprint, para generar una imagen de 1000×1000 píxels. La imagen resultante, a las 23:35 (aproximadamente), es la siguiente:

Imagen generada a partir del rss de esta página a las 23:35h

Imagen generada a partir del rss de esta página a las 23:35h

La razón de utilizar el feed rss es que sólo utiliza los textos de entrada de este sitio. Si utilizara todo el sitio cada imagen generada sería diferente, incluso si no cambiaran los contenidos, ya que la anterior imagen generada haría variar el resultado del resúmen md5 entre ejecuciones sucesivas del comando.

El siguiente paso es combinarlo con la programador de tareas cron del servidor, y generar una imagen cada 30 minutos. Y con un pequeño widget de WordPress, presentar la imagen generada en la parte superior derecha de la pantalla.

VN:F [1.9.20_1166]
Rating: 10.0/10 (2 votes cast)
Medidor de entropía de eniac2000.com, 10.0 out of 10 based on 2 ratings
Comparte este artículo:
  • Twitter
  • Facebook
  • email
  • StumbleUpon
  • Delicious
  • Google Reader
  • LinkedIn
  • BlinkList

Etiquetas: , , , , ,

Comentarios de los lectores

  1. |

    Hola Javi,

    Una utilidad muy interesante, pero no puedo evitar preguntarme ¿esta representación gráfica de la entropía qué información nos aporta respecto al sitio web a partir de la cual se genera?

    Un saludo.

    VA:F [1.9.20_1166]
    Rating: 0.0/5 (0 votes cast)
    Responder a este comentario
  2. |

    Hola Ángel. Como comentábamos esta mañana en la oficina, la utilidad de esta imagen para dar información sobre este sitio es bastante limitada. La imagen es más espectacular a mayor que es la entropía, pero dado que la imagen se genera a partir del md5 del rss de la página, siempre va a tener bastante entropía (salvo que repitiera sucesiones de letras iguales, o algo por el estilo).

    Sin embargo, sí que puede resultar muy interesante para evaluar la medida del desorden interno de funciones matemáticas, que está íntimamente relacionado con su aleatoriedad. Un ejemplo bastante bueno es el de los generadores de números aleatorios de los sistemas operativos (como es /dev/urandom en linux). En realidad son funciones psudoaleatorias, que hacen uso de una semilla para incrementar esta aleatoriedad. Pero cuando aplicamos la salida de /dev/urandom al programa, obtenemos algo tan sospechoso como esto:

    Salida de /dev/urandom

    Como se puede ver, el resultado es bastante lineal. Ejecuciones sucesivas del comando producen imágenes diferentes (obviamente), pero muy similares. Esto nos permite ver de un vistazo que esta función no es, precisamente, demasiado aleatoria, dado que su nivel de entropía es bastante bajo.

    VN:F [1.9.20_1166]
    Rating: 5.0/5 (1 vote cast)
    Responder a este comentario
  3. |

    ¿Es posible que tenga en cuenta la repetición de palabras?

    Aparte también me hace gracia recordar los modos aleatorios de algunos reproductores mp3. Muuuuy poco aleatorios, cansinos de hecho, que con esto que comenta me ha quedado más claro el por qué. ¿Tan difícil es diseñar un código que genere aleatoriedad más compleja?

    VA:F [1.9.20_1166]
    Rating: 0.0/5 (0 votes cast)
    Responder a este comentario

Deje un comentario







cinco × = 25