Existen varias herramientas y aplicaciones menores que siguen apareciendo en mi kit de herramientas. Es posible que no llames a ninguna de ellas "aplicaciones asesinas", pero maldita sea, es divertido jugar con ellas y, a veces, te llevan en direcciones interesantes. Algunos son creativos y fomentan la productividad, y otros simplemente inspiran la creatividad. Algunos son simplemente tontos.
Evolvotrón
¿Te gusta el arte generativo? ¡Evolvotrón!
¿Te gustan los rompecabezas sin resolver? ¡Evolvotrón!
¿Te hipnotiza el clic del ratón y el parpadeo de las luces? ¡Evolvotrón!
Sí, Evolvotron es un arte generativo interactivo Aplicación para Linux que fuerza la evolución de texturas y patrones. En pocas palabras, es la lámpara de lava de Linux.
El hecho es que se pueden hacer muchas cosas geniales con Evolvotron. Por extraño y extraño que parezca, obviamente está creando imágenes a través de la computación. Evolvotron le brinda acceso a todo, y no solo en el sentido de que es un software de código abierto; está repleto de opciones ocultas.
Usar Evolvotron parece simple al principio. Abres la aplicación y haces clic. Esto carga renderizaciones aleatorias de patrones gráficos en una matriz de seis por cinco. Haga clic nuevamente y se calculará y formará una nueva matriz basada en la celda en la que hizo clic. Puede hacer clic en cualquier celda; a veces es divertido seguir el camino de las desviaciones, otras veces es divertido seguir la semilla constante, y otras veces una selección aleatoria de cualquier engendro te lleva en direcciones inesperadas.
Ese es el Evolvotron de nivel introductorio. El walk-in-the-park Evolvotron. Pero el profesional Los artistas de Evolvotron (los tres) aportan un poco de matemática.
La Configuración El menú de Evolvotron tiene varias opciones que puede usar para influir en cómo Evolvotron genera sus ilustraciones. No he rastreado todas las matemáticas en el código fuente, pero desde un punto de vista artístico, sus opciones son:
- Parámetros de mutación: Establezca el porcentaje de desviación de la imagen base. Puede establecer estos valores manualmente o puede usar descriptores, como Calor , Genial , Escudo , Irradiar , y así. También puede alternar el Autocool característica, que controla cuánto dura la mutación.
- Ponderación de funciones: Establece la intensidad de las funciones matemáticas en juego. Debe haber al menos cien funciones repartidas por el núcleo conjunto, más iterativo , Fractales , Dilución y más.
- Función favorita: Defina (o deje sin definir) la función con la que prefiere que comience la imagen raíz.
Si ves una imagen que te gusta especialmente, haz clic derecho sobre ella. A partir de ahí, puede generar nuevas versiones de la imagen, bloquearla en su lugar, analizar la función que la generó o ampliarla y guardarla como una obra de arte colaborativa entre usted y las matemáticas.
Evolvotron tiene varios subprocesos, pero aun así, algunas imágenes pueden tardar más de lo esperado en renderizarse por completo. Si está tratando de guardar una imagen y recibe un error que indica que aún no se puede guardar, solo tenga paciencia y vuelva a guardarla más tarde después de que se complete el renderizado.
Guiones ImageMagick de Fred
Conoces ImageMagick, tanto si sabes eso o no. Es el editor de fotos del shell de Unix; procesa imágenes sin la carga de una interfaz GUI. Si alguna vez cargó una imagen en un foro en línea o en un sitio de una red social y cambió el tamaño de la imagen y la recortó, es muy posible que esté usando ImageMagick indirectamente.
Es cierto que probablemente no valga la pena una tarde de diversión para sentarse y ejecutar secuencias de comandos de ImageMagick en las fotos. Pero ImageMagick se puede programar, por lo que es trivial ejecutar funciones aleatorias de ImageMagick en un directorio lleno de fotos durante la noche o durante el día mientras está fuera en el trabajo para que pueda sentarse frente a su computadora y ver qué emocionante arte accidental tiene. logró crear.
Para hacer que ese proceso sea un poco menos accidental, un tipo llamado Fred Weinhaus mantiene más de 200 scripts de ImageMagick disponibles para usar "ÚNICAMENTE para uso no comercial". Lo que se define como "comercial" no está muy claro en su sitio (¿Qué pasa si no tiene la intención de ganar dinero usando el script, pero lo hace? ¿Puede ganar dinero con el producto resultante? de un script?), por lo que su utilidad en el mundo real depende de su interpretación de sus restricciones (o su correspondencia por correo electrónico con él, en caso de duda).
Sin embargo, como diversión, los guiones definitivamente califican.
No todos los guiones son perfectos y no todos producen los resultados esperados. Sin embargo, son fáciles de usar y, al ser secuencias de comandos, puede dejarlos sueltos en un directorio lleno de fotos y volver horas más tarde para revisar los resultados. Muchas secuencias de comandos tardan bastante tiempo (¡son complejas!) y no he encontrado una manera terriblemente elegante de ejecutarlas en subprocesos múltiples además de iniciar procesos dedicados.
Cada script tiene su propia -help
comando, por lo que para la sintaxis consulte el script que está ejecutando. Aquí hay un ejemplo usando el vintage3
guión:
$ ./vintage3 -T torn -L 23 -B 33 -M 23 ./IMG_0559.JPG texture18.jpg oldboat.jpg
En este ejemplo, las opciones se colocan al frente, con el archivo de entrada más un archivo de textura (utilizo una imagen de arena o barro seco para sugerir el grano de la película, pero puede probar cualquier cosa), seguido del destino de salida.
Para "subprocesos múltiples" en mi escritorio durante la noche en un directorio, solo hago algo tonto, como lanzar un comando separado en tres xterms separados (o pestañas rxvt, si lo prefiere):
tab1_$ ./vintage3 -Blah blah blah ./IMG_???{0,1,2}.JPG texture18.jpg oldphoto-`date +%s`.JPG
tab2_$ ./vintage3 -Blah blah blah ./IMG_???{3,4,5}.JPG texture18.jpg oldphoto-`date +%s`.JPG
tab3_$ ./vintage3 -Blah blah blah ./IMG_???{6,7,8,9}.JPG texture18.jpg oldphoto-`date +%s`.JPG
También puede usar GNU Parallel (aunque la sintaxis es un poco más avanzada que los comandos Bash improvisados).
Los resultados son divertidos, y dejar que las fotos se procesen es una excelente manera de gastar ciclos de CPU que de otro modo se desperdiciarían. También es una forma divertida de poner a prueba tu computadora para obtener puntos de referencia y aprender más sobre la manipulación de fotografías.
Antes:
Xaos
¿Alguna vez has tratado de explicarle a alguien qué es un fractal? Es realmente difícil de describir, y me he dado cuenta de que los bocetos en servilletas rara vez capturan el asombro y la maravilla que inspira un buen juego de Julia. Con Xaos, puedes dejar de describir fractales a tus amigos y simplemente mostrar ellos.
Xaos es una de esas curiosas aplicaciones que al principio parece bastante sencilla y luego te sorprende con todo un mundo de opciones oculto y secreto. Por ejemplo, cuando inicia Xaos, lo primero que ve es un conjunto de Mandelbrot bastante común y corriente. Cuando descubrí Xaos por primera vez, eso fue lo suficientemente bueno para mí; Había estado buscando un generador de fractales durante años, por lo que encontrar una aplicación que realmente representara un fractal para mí valió el precio de admisión al mundo de Linux para mí. Sin embargo, si hurgas por un momento, aprendes que hacer clic y arrastrar el fractal te acerca a él, representando dinámicamente los intrincados detalles de la forma a medida que te acercas.
Si eso no es suficiente, encontrará innumerables opciones vinculadas tanto al menú en pantalla (visible solo cuando el cursor del mouse se coloca cerca de la parte superior de la ventana de Xaos) como a varias teclas de acceso rápido. Por ejemplo, puede crear sus propios conjuntos de Julia sobre la marcha presionando j
, o cambie el tipo de conjunto para renderizar desde el Fractal> Fórmulas menú. Pero eso es sólo opciones técnicas. Xaos tiene que ver con la representación de fractales, por lo que hay muchas opciones para cambiar la forma en que se presenta el fractal; cambie de 2D a pseudo-3D, altere los colores, fuerce la rotación constante, habilite el piloto automático para que lo vuele a lo largo de los caminos del fractal, agregue desenfoque de movimiento e ingrese al modo VJ para que pueda manipular y controlar Xaos sin renderizar texto para presentaciones públicas.
Xaos es un viaje divertido y educativo a través de la geometría fractal. Pruébalo por diversión, aléjate un poco más inteligente.
Netcat la banda
Con todo este arte aleatorio en el que pasarás tu tiempo, querrás un poco de música de fondo. Afortunadamente, una banda amiga de los geeks llamada Netcat lanzó un álbum como un módulo del kernel de Linux. en GitHub.
Entonces, ¿cómo puede exactamente un álbum ser un módulo del núcleo? Bueno, el álbum, llamado Cycles Per Instruction , se compila en un módulo del kernel (específicamente, netcat.ko
). Cuando el módulo se agrega a su entorno, se manifiesta como /dev/netcat
. Canalizar la salida de ese "dispositivo" a un reproductor multimedia como ffplay
reproduce el álbum.
Si suena demasiado increíble para ser verdad, le invitamos a probarlo usted mismo. Las instrucciones son sencillas, pero las reiteraré aquí con algunas notas:
$ git clone https://github.com/usrbinnc/netcat-cpi-kernel-module.git
$ cd netcat*module
$ make -j4
$ su -c 'insmod ./netcat.ko'
$ ffplay - < /dev/netcat
Compilé y escuché con éxito este álbum tanto en un kernel de la serie Linux 2.6.x como en un kernel 3.x. La página GitHub de la banda recomienda ogg123
, pero últimamente algunos usuarios han informado problemas de reproducción. Encontré ffplay
para resolver el problema de reproducción, pero también puedes probar mpv
, heredado mplayer
u otros.
El álbum en sí es hermoso. Vale la pena escucharlo. Sin embargo, continuará reproduciéndose hasta que elimine el módulo:
$ su -c 'rmmod ./netcat.ko'
Aleatoriedad de código abierto
Hay muchos más proyectos divertidos para explorar, así que no dejes que mi modesta lista sea el final de la aventura. Con demasiada frecuencia, en el mundo del código abierto, sufrimos de personas que miran, analizan lo que hacemos y buscan caminos prácticos y claros hacia la monetización. Pero eso no es lo que código abierto se trata, en realidad; Se supone que el código abierto es divertido e inspirador. Faculta a todos a seguir su idea más vaga hasta el final, sin importar cuán "inútil" o "frívola" pueda ser.
Tómese una tarde o dos y haga algo sin sentido. Pruebe una aplicación de arte generativo, escriba código y vea lo que produce, reproduzca un álbum geek o cree un álbum geek. Hay muchos "juguetes" por ahí, y jugar es lo que realmente impulsa la innovación. Haz algunas cosas y compártelas.
Este artículo se publicó originalmente en junio de 2016 y se ha actualizado con nueva información.