edición general
33 meneos
514 clics
Un reloj en JavaScript tan ingenioso como autorreferente, en 321 bytes

Un reloj en JavaScript tan ingenioso como autorreferente, en 321 bytes

Martin Kleppe (@aemkei) ha dado a conocer una pequeña maravilla en JavaScript que ocupa tan solo 321 bytes y resulta visualmente llamativo: Qlock: un reloj en JavaScript que muestra la hora coloreando letras y símbolos del propio código fuente. Si no lo ves, aleja la imagen o junta un poco los párpados.

| etiquetas: reloj , javascript , ingenioso , autorreferente , qlock
A esto le llamo yo un buen programador; yo habría necesitado 180 líneas de código para hacer lo mismo. :-S
#1 Buenísimo, una función que lee su propio código, y dígitos del reloj codificados en mapas de bits, mis dieses al creador, qué artista
#1 Más bien artista, diría yo.
La imaginacián y el manejo del lenguaje son fantasticos, la utilidad cero. En el mundo real, todo el código que escribas, cuanto más claro mejor, cuanto menos enrevesado mejor, las variables cuanto mas explicativas (nombres largos) mejor, y no solo para otros compañeros que puedan tocarlo, si no para ti mismo cuando vuelvas a ese código a tocar algo después de unos años. Cuando empece a trabajar, hacia bactrackngs, funciones recursivas, hilos de programacion, solo por placer. Ahora no hago nada de eso a no ser que sea completamente necesario. Son rutinas dificiles de mantener y de depurar. Aun así, es un placer ver ejemplos como el del artículo.
#3 no tiene que tener utilidad, es arte, y es una demostración de hasta qué límites se pueden llevar las capacidades de un lenguaje. Y tampoco es cierto que el código deba ser siempre claro y explicativo, todo código tiene un propósito, y a lo mejor el propósito es que sea lo más pequeño y eficiente posible, sin importar que sea menos legible, porque su destino sea un chip de bajo consumo o muy limitado en memoria. El Espruino por ejemplo, es un microcontrolador tipo Arduino pero basado en…   » ver todo el comentario
#4 Llevas razón, en algunos entornos es necesario.
A mi me parece sencillamente impresionante e ingenioso… Mirando el código se ve cómo además de las fórmulas de fecha para calcular la hora, minuto y segundo, tremendamente reducidas, hay otros números mágicos. Estos números se corresponden con el «coloreado de los símbolos», en una especie de fuente pixelada de 6×5 que básicamente se colorea (o no) según corresponda, píxel a píxel.

menéame