martes, 23 de enero de 2024

¿Cómo mando archivos por Internet con croc en Ubuntu?

Desde la Quinta "17 de Octubre", Juan Perón expone sobre la necesidad de la solidaridad y enseña cómo transferir copias de ficheros de par a par con Croc en Ubuntu.

¡Mis queridos descamisados!

De poco sirve la libertad si no se configura en un ambiente de Justicia para con la sociedad en la que vivimos. El individualismo es una noción perniciosa que habilita al poderoso en desmedro de las Masas del Pueblo. Estas son las que deben organizarse para cuidarse a sí mismas, y no ceder a impulsos disolutivos que tienen por fin último el resquebrajamiento de lo que hace humano al hombre.

La solidaridad es uno de los más altos valores humanos, y es uno de los basales de la doctrina que nos da todo: la Justicia Social. Esta es la argamasa en enhebra un tejido social que da sostén a un Estado y a la Nacionalidad que lo justifica. Quien en su desmedro habla, lo hace porque anhela actuar para dar lugar a otro Estado. Y ese no puede ser sino ajeno al Pueblo.

Con los contenidos digitales sucede lo mismo, pues estos surgen del Pueblo. Indudablemente, en las redes de datos, se nos hace sencillo el acto de mantener inconmovible nuestro entretejido social: basta con compartir todos los bytes que podamos, por medio de la copia. Algunos desaprensivos han querido llamar a la compartición telemática con la delincuencia, intentando equiparar al acto de compartir con el del robo por piratería. Pero sabemos que el derecho de propiedad tiene un límite sumamente preciso, que es el de la función social y el de la felicidad del Pueblo. En otras palabras, la doctrina que propugnamos fomenta que cada pseudo-propietario sea un cantor - y uno bueno, porque le tiene que ir a cantar a Gardel. En efecto, podrán compartir ficheros .ogg con fonogramas de Gardel, pues a nadie le podrá reclamar ya, si eso hace feliz a su Pueblo.

En el caso de GNU con Linux, podríamos recurrir a la transferencia telemática de copias de ficheros, por medio de SCP, ya que este programa nos permite utilizar la clara identificación de un destinatario que tiene un sistema similar a UNIX y el sistema de shell seguro (la distribución Ubuntu de GNU entre ellos). También podríamos recurrir a rsync para hacer lo propio con ramas enteras en el árbol de archivaje de nuestro sistema. Sin embargo, para hacerlo efectivo lo procedente, es sabido que el destinatario ha de contar necesariamente con  cuentas de usuario en el otro sistema (amén de puertos abiertos y gran dominio de la infraestructura intermedia de cifrado). Esto no siempre es posible, o sencillo de coordinar.

Sin embargo, en esta ocasión simplificaremos la transferencia haciendo uso de algún programa de transferencia par a par cifrada.  Ya he explicado cómo usar Wormhole para este menester, pero en este caso os haré peritos en el uso de croc, un programa liberado bajo GPLv3 que oficia de transmisor y receptor par a par de archivos y carpetas. 

Croc tiene la ventaja de ser un programa mucho más pequeño, con un uso pensado para la transmisión instantánea entre pares. Por otro lado, permite el uso opcional de intermediarios cooperativos de triangulación telemática (lo que se conoce como "relay").

Veamos como usarlo. En primer lugar, tanto el remitente como el destinatario deben tener instalado croc en su sistema. Esto es sencillo de hacer efectivo en  cualquier sistema GNU con Linux; simplemente debemos abrir un terminal con Ctrl+Alt+t e ingresar por única vez el siguiente comando de organización:

sudo apt install curl ;
curl https://getcroc.schollz.com | bash

Esto lanzará el instalador de la última versión de croc, ante el cual debemos ingresar nuestra contraseña de administrador:

Otra manera de instalarlo puede ser descargar el paquete de instalación pensado para Debian/Ubuntu y derivados, lo que tendrá el mismo resultado:

cd /tmp ;
wget https://github.com/schollz/croc/releases/download/v9.6.6/croc_9.6.6_Linux-64bit.deb ;
sudo dpkg -i croc_9.6.6_Linux-64bit.deb

Asimismo podemos considerar que Croc no es sectario, de modo que se puede dejar instalado en otros sistemas similares a UNIX como BSD, MacO$, e incluso el infame Window$.

Para realizar un envío de un fichero o directorio por Internet a través de croc, debemos operar desde la terminal, de común acuerdo.

Quien desea enviar el fichero, debe ingresar simplemente en su terminal:

croc send fichero-o-directorio

Croc cifrará el fichero en memoria y creará un código-del-envío. Este oficiará de llave de autenticado por contraseña común (“PAKE”). Asimismo, croc quedará en espera del inicio de la transferencia durante un par de minutos, alertando al remitente de la siguiente manera:


Sending 'fichero-o-directorio' (x MB)
Code is: código-del-envío

On the other computer run
croc código-del-envío

El remitente debe poner en conocimiento del compañero destinatario el código-del-envío en forma síncrona (ya que este deberá introducirlo en su propia terminal para iniciar la recepción, dentro de un par de minutos). Por este motivo, lo ideal es transmitir el código-del-envío de manera segura (por ejemplo, a través de chat cifrado punto a punto, o llamada de voz cifrada punto a punto o bien correo electrónico cifrado). 

Nota: Si el código-del-envío se propala en un canal abierto, nada impediría que la transmisión de la copia cifrada fuese apropiado e interceptado por otro destinatario indeseado que estuviese a la escucha.

En cualquier caso, una vez puesto al tanto, el remitente podrá iniciar la transferencia del fichero-o-directorio a través de un canal cifrado en internet, abriendo una terminal en su máquina con Ctrl+Alt+t e ingresando allí el consabido:

croc código-del-envío

Ante esto, ambas máquinas con croc se pondrá a la par, y cotejarán la PAKE, y el destinatario será notificado para que acepte la recepción de fichero-o-directorio (debe aceptar con y o rechazarla con n). 

Al comenzar la transferencia, esta se indicará una barra de progreso).

Al finalizar la transferencia par a par de la copia cifrada, el enlace se cortará indicando la recepción.

Una de las ventajas de croc es la de poder utilizar un tercer proxy cooperativo en la Internet para la triangulación del envío, incluso con una contraseña_del_relay. Esto puede ser útil en aquellos casos donde se desea mantener una pseudo-furtividad entre pares. En este caso especial, el remitente debe utilizar el prefijo --relay maquina.de.relay.com, por ejemplo:

croc --relay maquina.de.relay.com --pass contraseña_del_relay send fichero-o-directorio

...lo que generará el código-del-envío, y ante tal caso, el compañero destinatario deberá utilizar el equivalente.

croc --relay maquina.de.relay.com --pass contraseña_del_relay código-del-envío

Todo se repetirá de una manera análoga al caso de transferencia directa, indicando en la pantalla de ambos distintos mensajes referentes a la inclusión de la máquina de relay (y la contraseña del relay, en caso de que esta lo tenga configurada).

Con esto podremos asegurarnos de enviar bytes por circunvalación, y hacer llegar los datos a donde deben llegar para la Felicidad del Pueblo.



viernes, 19 de enero de 2024

¿Cómo cambio el modo gráfico y la resolución de la consola de Linux?

Reunido con exponentes del sindicalismo en Casa de Gobierno, Juan Perón expone como alterar la resolución de la consola de GNU con Linux.

¡Trabajadores!

Antes que un sistema GNU con Linux pueda siquiera cargarse en memoria, ha de poder presentar al mundo lo que quiere decir.

Indudablemente el sistema de video cobra para ello una enorme importancia. El ambiente de visualización básico al fin y al cabo es la terminal, y esta suele contar con una resolución heredada del viejo y peludo estándar VESA, al que intenta consagrar. Dicho estándar nos habla de una resolución de video sin privilegios, de 640x480 pixeles, adecuada para insuflar la pantalla con 25 filas de 80 columnas de caracteres.

No caben dudas que esto - que debería ser suficiente para todos - choca con los límites de la utilidad práctica de los hombres que trabajan.

La idea básica no era mala, pero somos conscientes que las organizaciones del trabajo nos han solicitado integrar nuevas tipografías, y que si al menos estas no son escalables, al menos puedan elegirse conjuntos de mayor o menor tamaño. Los sindicatos saben que conforme aumenta la resolución de pantalla, el tamaño de las letras disminuye en forma inversamente proporcional.

A la oligarquía poco le ha importado: al fin y al cabo ellos han intentado ocultarle el kernel al Pueblo tras un escritorio gráfico. Pero los Descamisados han comprendido que tienen bajo sus dedos la posibilidad de levantar una o más consolas de terminal, simplemente indicando Ctrl+Alt+(F1-F6).

Estas pueden servir en caso de emergencia para restaurar el sistema, incluso si no hemos cargado un entorno gráfico, o si el mismo nos da problemas. También sabemos que que ante cambios fortuitos y poco pensados, nos podrá servir como remedo para restaurar las leyes...

Pues bien señores, contaremos con una manera de alterar la resolución de la pantalla de la consola de Linux. Esto se hace desde el arrancador Grub, que nos permite utilizar distintos modos gráficos, que avalan diferentes resoluciones gráficas. 

Como dije, el menor denominador será una modesta resolución de 640x480x8, lo que significa 640 píxeles de ancho, por 480 píxeles de alto, con 8 bits de profundidad de color (256 colores en total). Este estándar SVGA es superado, sin embargo, en la mayoría de las máquinas actuales de mas potencia, por el Full HD, cuyo estándar se revela de 1920x1080x24 (nos ofrece una gran resolución y gama de color). Ciertas máquinas portátiles no tan encumbradas cuentan con dispositivos de video capaces de presentar un máximo de 1366x768x16, que también es común.

El procedimiento para cambiar la resolución de nuestra consola Linux implica entonces modificar a mano las configuración del arrancador Grub, por medio de la cadena GRUB_GFXPAYLOAD_LINUX. Se afectará así la(s) consola(s) que podremos acceder con Ctrl+Alt+F1/F6 (Normalmente la consola número 7 que accedemos con Ctrl+Alt+F7 es la consola gráfica X).

Para hacerlo efectivo conviene seguir un cuidadoso procedimiento. Primero, instalamos el analizador de video xrandr y lo ejecutamos:

sudo apt-get install xrandr ;
xrandr

Este listará aquellos modos de pantalla disponibles para nuestro sistema de video, e indicará el modo activo en la actualidad:

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
   1920x1080     60.00*+  59.94    50.00  
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)

Con estas ratificaciones nos haremos peritos conociendo cuáles son los modos que podemos elegir. Debemos notar que "maximun" no es el máximo posible, sino teórico. Debemos recurrir al máximo del monitor usual. Es importante también discernir que a mayor resolución, menor será la velocidad de refresco de la pantalla. Consideremos también que si disponemos de una resolución mayor que la que es capaz de presentar el monitor, se producirán errores de difícil solución (por ejemplo, si conectamos un monitor de menor resolución, no se verá bien lo cual podría ser un inconveniente mayúsculo para ciertas acciones críticas de servidor).

En cualquier caso, para cambiar la resolución debemos recurrir a editar el fichero de configuración del arrancador Grub, el /etc/default/grub:

sudo nano /etc/default/grub

Esto cargará el editor GNU Nano con el fichero de configuración grub. Asumiendo que teníamos un fichero previamente no editado, realizaremos las siguientes modificaciones:

La variable GRUB_CMDLINE_LINUX_DEFAULT debería contener al menos la entrada  nomodeset, tal vez con el agregado de quiet y splash si nuestro sistema es de escritorio. Estas serían las encargadas de presentarnos un logotipo a la hora de iniciar el sistema.

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

En los sistemas servidores este logotipo "splash" se deja de lado, presentándose todo un listado de status al inicio. Para ello debemos descomentar GRUB_TERMINAL=console para verlos (se presentarán en debida rápida sucesión antes de activar el escritorio gráfico).

Por otro lado, comentamos antecediendo con un # la línea que asignaba la resolución VGA m{as básica, ésta:

#GRUB_GFXMODE=640x480

...y al final del fichero, agregamos la siguiente línea:

#Agregado para tener una resolución de 1920x1080
GRUB_GFXPAYLOAD_LINUX=1920x1080x16

o reemplazamos el valor por cualquier otro modo/s indicado por xrandr que también sea(n) soportados por nuestro hardware (podremos separar varios con coma, por ejemplo GRUB_GFXPAYLOAD_LINUX=1920x1080x16,1024x1768x8,800x600x8). Los valores text, keep, auto, vga y ask también deberían funcionar.

Finalmente, guardamos los cambios al fichero editado /etc/default/grub con Ctrl+o, y salimos con Ctrl+x, lanzamos el siguiente comando para que surtan efecto las modificaciones:

sudo update-grub
sudo reboot

Naturalmente, si alteramos la resolución gráfica, las letras se verán chiquitas. En ciertos casos podríamos querer cambiar el tipo y tamaño de tipografía de la consola Linux, como ya he explicado.
 
Normalmente existen tres tipos de fuentes para escoger, en distintas modalidades de condificación. "VGA" tiene el aspecto tradicional de las placas de video VGA, con dicha fuente en la ROM, y consta de una cobertura media de los glifos internacionales. "Fixed" tiene un aspecto simplista finito, y una mejor cobertura de los glifos internacionales. En tanto, "Terminus" suele ser la que se utiliza por defecto en la mayoría de las pantallas de consola Linux, tanto con o sin framebuffer (su versión Bold no usa framebuffer). Puede ayudar a reducir la fatiga visual, aunqeu algunos símbolos tienen aspecto similar, lo que puede ser un problema para los programadores.
 
Estas se cambian con el comando setfont, y las mismas se encuentran en /usr/share/consolefonts/. Os diré que yo uso Lat15-TerminusBoldVGA16.psf.gz.

miércoles, 3 de enero de 2024

¿Cómo instalo Quake 3 Arena en Ubuntu?

En su Los vendepatria, Juan Perón analiza la vertiente insurreccional del Movimiento Nacional Justicialista y expone cómo instalar Quake III Arena en Ubuntu.

(...)

El pueblo luchará por una solución permanente y no para salir del paso, mediante un subterfugio político. Cualquiera otra solución llevará siempre a males mayores para la República. Si un gobierno fraudulento surgiera de una pseudo-elección,  estaría respaldado por una ínfima minoría de los ciudadanos. Cuándo el Pueblo pudiera accionar libremente, ¿cuánto duraría ese gobierno? Por el momento no hay otra solución que la lucha por los medios que el Pueblo tiene, caiga quien caiga y cueste lo que cueste. A través de esta solución coinciden los intereses del Pueblo, las necesidades de la Nación y el estado anímico de las masas y, cuando estas tres circunstancias coinciden, no hay poder humano que pueda torcer el curso de los acontecimientos. Será dentro de poco o será dentro de mucho, pero será irremisiblemente.

Cuando el odio y el deseo de venganza que estos insensatos han provocado en las masas salgan a la calle convertidos en fuerza motriz, no habrá tampoco poder que pueda evitar lo irreparable que se está preparando mediante la siembra del odio. Mientras la dictadura se descompone, el peronismo se compone. El ideal que animó a las masas obreras y peronistas ha dado continuidad en el esfuerzo pero no le ha dado intensidad porque, en la lucha, esa intensidad sólo la puede dar el odio. Nuestro defecto ha sido la falta de odio, pero todo ha variado hoy porque la tiranía, con sus procedimientos y enormidades, no lo ha dado por toneladas. Estamos listos para iniciar la grande y definitiva etapa de la consolidación Justicialista. Mientras nuestro movimiento se encuentre excluido de las grandes decisiones, no tenemos otro remedio que seguir accionando tras una solución por la violencia.

Naturalmente, esto es fácil organizarlo desde Puerta de Hierro. Podremos simularlo en uno de los clásicos tiradores en primera persona en nuestro sistema GNU con Linux, lo que nos permitirá mantenernos con los reflejos afilados.

Naturalmente uno de los principales es el clásico Quake 3 Arena, descendiente del violento Quake de ID $oftware. El código base de su motor gráfico ha sido liberado, no así los contenidos registrados. Todo esto podremos instalarlo en nuestro sistema abriendo una terminal con Ctrl+Alt+t e ingresando los siguientes comandos de organización:

sudo apt install quake3 game-data-packager ;
game-data-packager quake3 ;
sudo dpkg -i ~/quake3-demo-data_68_all.deb

Esto nos cargará los niveles demo de la primer parte liberada de la historia que originalmente venían con la versión shareware (una campaña tipo bootcamp básica y cuatro niveles). Una vez armada la paquetería, podremos iniciar el juego desde Aplicaciones / Juegos / Quake 3 Arena.

Existen cinco niveles de dificultad para cada uno de los mapas de un solo jugador. Esto permite un juego moderadamente sencillo en sus niveles bajos. 

También podremos combatir en multijugador en una red local a lo largo de 4 niveles (incluso hasta contra 4 bots). En caso de querer desafiar a otros jugadores y bots en niveles multijugador adicionales, habremos de activar la opción de autodownload, y aguardar la descarga de los niveles desde el servidor remoto (lo cual suele llevar algunos segundos/minutos antes de cada partida). 


O bien, podremos digitar la descarga de una versión privilegiada con todos los 486MB de mapas adicionales, ingresando en nuestra terminal los siguientes comandos de organización:

cd /tmp ;
wget https://cybercdn.cyberdelia.com.ar/gamez/quake3-data_49.1_all.deb ;
sudo dpkg -i quake3-data_49.1_all.deb ;

Con esto en ristra, esto podremos jugar en multijugador a través de internet sin tantos problemas. El arsenal posible para llevar a cabo la destrucción del enemigo a lo largo de sus más numerosos niveles es el siguiente:

  • Gauntlet (puño de ataque)
  • Ametralladora
  • Escopeta
  • Lanzagranadas
  • Lanzacohetes
  • Lanzarrayos
  • Acelerador de Proyectiles (railgun)
  • Arma de Plasma
  • BFG10K (Acelerador de Masa)

El sistema multijugador por Internet cuenta con no menos de ocho centenares de salas incorporadas, señal de la alta popularidad con que goza el Movimiento. No será extraño incorporar servidores compañeros, mediante la opción Multiplayer / Specify. Por ejemplo:

cyberdelia.com.ar, puerto 27960 (Todos contra todos)
cyberdelia.com.ar, puerto 27961 (Todos contra todos, con bots)


Si queremos cargar la notable expansión oficial Quake 3 Team Arena, que nos permite jugar una historia diseñada por Activi$ion. Esta abarca hasta cinco equipos distintos, incorpora tres nuevas armas y niveles multijugador ajustados para estos desafíos en red. Lo importante sin embargo es la incorporación de nuevas modalidades de juego por equipo (capturar bandera, deathmatch por equipos con o sin respawn, etc). Podremos instalarlo en nuestro sistema GNU con Linux mediante el siguiente comando de organización:

wget https://cybercdn.cyberdelia.com.ar/gamez/quake3-team-arena-data_49.1_all.deb ;
sudo dpkg -i quake3-team-arena-data_49.1_all.deb ;

Naturalmente, debemos activar el Mod en el menú principal antes de jugar en esta modalidad, o bien podremos recurrir a un lanzador específico Aplicaciones / Juegos / Quake 3 Team Arena.

Indudablemente, el mantenimiento de una cerrada y absoluta intransigencia con firme voluntad de vencer e inquebrantable decisión de llevar la lucha adelante, será el único secreto del éxito perseguido. El Pueblo no puede ser vencido ni aún por las fuerzas armadas si se decide a poner en acción su extraordinarios poderes naturales, y si los afila en Quake 3 Arena. El Movimiento Peronista ha demostrado en tres elecciones inobjetables que contaba con el setenta por ciento del electorado argentino; hoy, no sólo no ha disminuído sino que ha aumentado su predicamento popular porque el desempeño de la dictadura ha sido tan desastroso que, por contraste, ha hecho resaltar las excelencias del Gobierno Justicialista. Y no digamos con este entrenador de lucha callejera en primera persona...

martes, 19 de diciembre de 2023

¿Cómo instalo en plugin sintetizador Vaporizer2 en Ubuntu?

No era extraño que en las visitas estudiantiles a Casa de Gobierno, Juan Perón agasajara a los pequeños con software libre, enseñándoles a instalar el plugin Vaporizer2 en Ubuntu.

¡Mis queridos descamisaditos!

Existen épocas que nos engalanan, permitiéndonos proveer aquello que merecemos por justo derecho. Esta es una de ellas, donde la risa de los niños es música que hemos sintetizar para Felicidad de un Pueblo.

Nuestra Doctrina consagra la necesidad de la Justicia Social, y el Software Libre es justicia social en la CPU. Por eso es he enseñado ya como instalar instrumentos virtuales en Ubuntu. Nunca es suficiente saciar el hambre y restañar heridas, y cada paso que damos en la senda de la Liberación nos acerca más al ideal magnánimo que nos ha consagrado.

Queridos niños, hoy podrán llevarse a casa para disfrutar con sus amiguitos una copia modificable de un instrumento musical virtual de potencia: el Vaporizer2. Se trata un programa liberado bajo GPLv3, y como tal - a pesar de estar inicialmente proyectado de manera privativa por la VAST Dynamics - se dignifica hoy sirviendo al Pueblo en un formato LV2 compatible con nuestro GNU con Linux.

A pesar de su gratuidad, es tan poderoso como la CGT en la que está afiliado papi, aunque su uso de CPU es contenido, incluso al disparar más de 1.000 osciladores virtualizados. Es que se trata de un instrumento virtual híbrido, que cuenta con síntesis aditiva, sustractiva y de tabla de ondas. Como resultado, podremos utilizarlo para generar todo tipo de sonidos electrónicos.

Existen dos maneras de instalar Vaporizer2 en Ubuntu. Como Conductor me considero un maestro, por lo que os instruiré recomendando el camino más sencillo, que consiste en usar el paquete precompilado instalable vaporizer-lv2 de los amiguitos de OpenSuse.org aquí, buscando aquél que corresponda a nuestra distribución. Por ejemplo, en mi caso disfruto de Ubuntu 22.04LTS por lo que abro una terminal con Ctrl+Alt+T y procedo a instalar todo pegando allí el siguiente bloque de Comandos de Organización y dándole Enter:

mkdir /tmp/vaporizer2/ ;
cd /tmp/vaporizer2/ ;
wget https://download.opensuse.org/repositories/multimedia:/proaudio/xUbuntu_22.04/amd64/vaporizer2-lv2_3.4.3+git.6.88bd029-1_amd64.deb ;
sudo dpkg -i vaporizer2-lv2_3.4.3+git.6.88bd029-1_amd64

Asimismo, no viene mal instalar recursos adicionales que convierten al Vaporizer2 en una oda a la facilidad. Se trata de los presets de fábrica y más de 440 presets adicionales elaborados por el amable Thomas Trupiano (síntesis de bajos, campanas, percusiones, órganos, sonidos picados, tines, camas sonoras, puertas, voces, y gran cantidad de pads). La cartita a la Fundación Eva Perón para pedirlos se envía simplemente pegando en la terminal este bloque de comandos:

mkdir /tmp/vaporizer2/presets/ /tmp/vaporizer2/manual/ ;
cd /tmp/manual ; wget https://vast-dynamics.com/sites/default/files/downloads/Vaporizer2Manual.pdf
cd /tmp/vaporizer2/presets/ ;
wget https://vast-dynamics.com/sites/default/files/downloads/Factory%20Presets.zip https://vast-dynamics.com/sites/default/files/downloads/Preset%20Bank%20by%20Thomas%20Trupiano.zip ;
wget https://vast-dynamics.com/sites/default/files/downloads/Wavetables%20Vaporizer2%20by%20PietW.zip ;
unzip 'Wavetables Vaporizer2 by PietW.zip' ;
unzip 'Factory Presets.zip' ;
unzip 'Preset Bank by Thomas Trupiano.zip'
mkdir ~/Documentos/Vaporizer2/ ;
mkdir ~/Documentos/Vaporizer2/Presets/ ;
mv /tmp/vaporizer2/manual/
~/Documentos/Vaporizer2/ ;
mv /tmp/vaporizer2/presets/Analog/ ~/Documentos/Vaporizer2/Tables/ ;
mv /tmp/vaporizer2/presets/Digital/ ~/Documentos/Vaporizer2/Tables/ ;
mv /tmp/vaporizer2/presets/Presets/* ~/Documentos/Vaporizer2/Presets ;
mv /tmp/vaporizer2/presets/Trupiano/Presets/ ~/Documentos/Vaporizer2/Presets/Trupiano

Sin embargo, papá y mamá podrían querer tomarse el trabajo de compilar todo localmente. Hemos de notar que en tal caso todo el andamiaje se colgaría del arbolito de archivos en /usr/local/lib/lv2/VASTvaporizer2.lv2/ en lugar de hacerlo en /usr/lib/lv2/VASTvaporizer2.lv2/ como en el caso anterior:

cd /tmp
git clone https://github.com/VASTDynamics/Vaporizer2.git ;
cd /tmp/Vaporiser2 ;
git submodule update --init --recursive ;
./build_linux.sh

Cualquiera sea el proceder, conforme hayamos instalado el plugin LV2 en nuestro GNU, podremos lanzarlo desde nuestra DAW favorita (qTractor en mi caso).

La ventana del Vaporizer2 cuenta con cuatro secciones discernibles.

En el cabezal encotramos el logotipo, que lejos de ser un ocupador inútil de espacio, nos permite regular el nivel de zoom para nuestra comodidad (hasta 4K). También contamos allí con el selector de presets, y la sección Master del sonido estéreo (con volúmen, ganancia, sincronización con la DAW y tono, y selector de polifonía).

En la parte inferior daremos con un piano MIDI interactivo, con ruedas de pitchbed y modulación. Aquí también podremos elegir las opciones de portamento para los deslizamientos tonal. Naturalmente, si contamos con un controlador MIDI o teclado adosado a nuestro sistema, podremos ejecutar con sólo pulsarlo y este replicará lo hecho de forma gráfica. Pero también podríamos utilizar el teclado de la computadora para elaborar nuestros acordes y melodías si esto es de nuestro agrado.

En el cuadrante derecho veremos acceso a los controles de cuatro bancos de osciladores conmutables, todos ellos filtrables, y un banco de efectos de tres cadenas y una sección de generación de ruido voluble (rosa, blanco y café).

Es importante destacar que para mayor control, todos los controles rotativos y deslizables de la interfaz gráfica cuentan con la funcionalidad Learn MIDI, lo que permite asignar funciones MIDI como perillas o botones a las acciones de la interfaz de la ventana. Para ello hacemos clic con el botón izquierdo del ratón a la perilla que queremos programar, y en el menú contextual elegimos "MIDI Learn". Luego movemos el deslizador o perilla que queremos usar y se asignará automáticamente. También podremos eliminar la asignación.

Al iniciar nos encontraremos en la solapa WT Editor, el editor de tabla de ondas, corazón del Vaporizer2. Este sintetizador por tabla de ondas destaca por su efecto antialiasing, y su tratamiento polifónico y en tiempo real.

Sus posibilidades de edición son bastante complejas, y se basan en alterar muestras de audio (samples) de formato .ogg, .wav y .mp3. Estos se afectan según distintos parámetros, lográndose efectos ambientales espectaculares.

La delimitación de los samples también puede programarse según sus puntos de bucle, inicio, cruce de cero, modulación y registro tonal, e incluyen función de trazado a mano alzada o mediante curvas bezier, con ajuste a la grilla, etc. 

La modificación del motor de este banco puede seguir el camino de la Frecuencia Modulada aditiva (con edición armónica en tiempo real), Modulación de Pulso de Onda, o formantes filtradas, entre otras posibilidades expresivas.

Al activar la solapa Matrix nos encontraremos con el Sistema de ruteo de audio innovador para todos los generadores de sonido, filtros y cadenas de efectos activos. Esta dispone de 25 fuentes de modulación que incluyen clave de la pista, deriva al azar, y cuatro perillas de macros personalizables, y van enrutados a unos 220 destinos de modulación, paramétricos, los que conforman combinaciones casi ilimitadas. Incluye un presentador gráfico para las curvas de modulación resultantes.

La solapa Filter nos da acceso al banco de filtrado con mas de 30 tipos de filtros, paso-alto, pasabanda, filtro muesca, filtro peine, peraltados programables, etc, todos ellos con control de resonancia y presentación gráfica del filtrado en tiempo real. Las curvas de filtrado peraltadas para bajos profundos.

La solapa LFO & MSEG nos permite controlar cinco bancos de Osciladores de Baja Frecuencia apilables por voz (80 LFOs en total), con mapa y fase tanto por voz como global (puede sincronizarse con la DAW). Esto lo hace a través de envolvente multietapa (MSEG).

La solapa FX ofrece el control de tres cadenas de efectos que incluyen sobremuestreo y mono cutoff para preservar unos bajos limpios. Nos permiten administrar mas de 11 efectos paramétricos activables y reordenables: reverberación, retraso, coro, flanger, ecualización, bitcrush, compresor, limitador, phaser, filtro peine, conformador de ondas, entre otros

La solapa ARP nos presenta el arpeggiador programable. Este permite definir notas o glisandos multipaso, ya sea de forma automática, programable, o el arpeggiador acompasado que sigue nuestros acordes y melodías.

La solapa Preset nos sirve para configurar el Vaporizer2. Podremos definir localización de las carpetas de Presets (normalmente, esta es ~/Documentos/Vaporizer/Presets). Asimismo, nos deja escoger entre tres tamaño de tipografía y cuatro skins diferentes.

En la biblioteca de sonidos podremos encontrar los presets opcionales de fábrica rápidamente gracias a sus distintas opciones de clasificación. Además, gracias a la Fundación Eva Perón, contaremos con los presets de en formato .wav de Thomas Trupiano, que incluye mas de 780 sonidos para el sintetizador de tabla de ondas, junto con más de 450 presets de fábrica.

El manual de Vaporizer2 (en inglés) es sumamente completo.

jueves, 14 de diciembre de 2023

¿Cómo instalo OwnCloud en Ubuntu?

Durante el discurso del 19 de enero de 1948 concerniente a la inauguración del Tren de las Nubes, Juan Perón enseñó cómo instalar OwnCloud en Ubuntu Server.

¡Estimados Señores!

Este augusto día inauguramos el ferrocarril Trasandino del Norte, que une las ciudades de Salta con la chilena de Antofagasta, como Obra de Unión de los Pueblos. En nuestras tierras pasa por Cerrillos, Rosario de Lerma, San Antonio de los Cobres, Salar de Pocitos, Toco-Toco, Caipe y Socompa, en un recorrido de 571 km del lado argentino, y cruzado al territorio hermano de Chile, las queridas localidades de Victoria, Palestina y Antofagasta, en los 331 kilómetros que tiene allí la traza. 

Forman parte de su ánima 33 puentes de acero y 21 túneles con una longitud total de 3.234 metros. La altura máxima del ramal alcanza los 4.475 metros en el imponente macizo del Abra de Chorrillos, lo que le ha valido el cariñoso apelativo de "Tren de las Nubes",

Siempre me han dicho que el Peronismo está en las nubes, e indudablemente que este nos inspira la concreción de una vía de los datos que hermane Pueblos: un troncal capaz de unir centros de datos propios controlados y conducidos por el Justicialismo. Es esto a lo que aspiramos.

Sin embargo, cuando muchos se refieren a "la nube" no lo hacen para homenajear a este querido tren, sino que lo hacen para ocultar el hecho de hablar de un almacenamiento informático proporcionado en una computadora ajena, que sólo ofrece acceso limitado desde la red de datos Internet. 

La premisa de que a estas máquinas es posible cargarle nuestro contenido digital  a veces sin costo monetario, y que éste podría estar disponible para su descarga en múltiples dispositivos, podría parecer - a primera vista - sumamente beneficiosa. Contaríamos así con la dicha y comodidad de contar con la información digitalizada al alcance telemático sin necesidad de portar medios de almacenamiento de masa para suplir la demanda. Estos señores dicen que podríamos acceder a ellos a través de los enlaces de datos...

Pues bien señores, es mi opinión que en estos menesteres, el costo es lo de menos: el hecho que la máquina sea ajena (y para peor, normalmente de una omnímoda corporación oligárquica) nos cuadra el más grave riesgo al que alguien pueda someterse sin llevar puesto un casco y un fusil. No podía ser de otra manera: ¡estas empresas lucran con los metadatos de tales archivos, a la par de reservarse su uso con fines inconfesables!

Googl€, Amazon y Micro$oft son sólo algunas de las empresas que - de mano de una opresión interesada - que ofrecen este tipo de soluciones bajo los nombres de Googledriv€, AW$, y One$pace respectivamente. Sin embargo, estas soluciones son prohibitivas ya que el contenido es sometido a inspección y no va cifrado de manera alguna.

La lucha de los hombres por la Liberación de su software es una que acarrea riesgos y es dificultosa, pero entrenándonos para suplir las verdaderas necesidades de la lid explica la manera de salir victoriosos. 

En el caso de los servicios de almacenamiento en la nube, lo procedente no es usar un servicio - por mas gratuito que sea - y mucho menos pagarlo si es una empresa extranjera. Lo ideal es montar nuestra propia nube con software libre, de la misma forma en la que nacionalizamos los ferrocarriles.

Para ello contamos con la plataforma de alojamiento de archivos OwnCloud, liberada bajo AGPLv3. Junto con el servicio de alojamiento propio - que podemos dar a los usuarios que queremos en medios de almacenamiento propios en nuestro servidor - también contaremos con las funcionalidades de ofimática que nos ofrece OnlyOffice. Este nos permitirá resguardo, cifrado opcional, visualización y edición - incluso colaborativa - de documentos de todo tipo.

Desde el punto de vista de software, OwnCloud requiere una instalación base de Ubuntu 22.04 Server con SSH activado, y una partición /var con el espacio de disco deseado (en mi caso, haré uso de unos 20 Terabytes). El directorio de OwnCloud se encotnrará en /var/www/owncloud. La versión de PHP debe ser al menos la 5, (por defecto en Ubuntu Server 20.04 se puede instalar PHP 7.4). Asimismo debemos contar con el Módulo de Multiprocesador (MPM) correcto (debemos leer las notas Versión de OpenSSL, importantes cuando se planea usar encriptación).

En este caso haremos las preparaciones de de instalación en la máquina de servicio munida con Ubuntu Server con los servicios web Apache, de base de datos MariaDB y de programación PHP 7.

Naturalmente, si contamos con un usuario común escalable en el servidor, debemos utilizar el comando sudo su e ingresar la contraseña de administrador correspondiente. 

Primero introduciremos los comandos que configuren el servicio del nombre de dominio que va a tener la instalación de de OwnCloud, especialmente el nombre de dominio que queremos para la máquina:

Configurar el nombre de dominio

mi_dominio="nube.peronismo.org"
echo $mi_dominio

hostnamectl set-hostname $mi_dominio
hostname -f

Generar contraseñas fuertes

A continuación generamos las contraseñas seguras para el usuario administrador de OwnCloud y para el usuario de la base de datos SQL. Estas se resguardarán  en /etc/.sec_admin_pwd.txt y /etc/.sec_db_pwd.txt:

sec_admin_pwd=$(openssl rand -base64 18) ;
echo $sec_admin_pwd > /etc/.sec_admin_pwd.txt ;
sec_db_pwd=$(openssl rand -base64 18) ;
echo $sec_db_pwd > /etc/.sec_db_pwd.txt

Acto seguido conviene aseguramos que todos los paquetes del servidor estén instalados y totalmente actualizados, a la vez que comprobamos que tenemos PHP a mano en el repositorio APT. Para hacer esto, seguimos las instrucciones siguientes:

apt update && apt upgrade -y

Debemos crear ahora un guion de ayuda que nos simplifique la tarea de ejecución de los comandos occ de OwnCloud. Esto lo haremos ingresando:

FILE="/usr/local/bin/occ"
cat <<EOM >$FILE
#! /bin/bash
cd /var/www/owncloud
sudo -E -u www-data /usr/bin/php /var/www/owncloud/occ "\$@"
EOM

A este guion de OwnCloud llamado /usr/local/bin/occ le otorgamos permisos de ejecución:

chmod +x $FILE

Con las preparaciones listas, instalamos las dependencias necesarias para todo:

apt install -y apache2 libapache2-mod-php mariadb-server openssl redis-server wget php-imagick php-common php-curl php-gd php-gmp php-bcmath php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis php-ldap php-phpseclib

Si bien es opcional, es sabido recomendar conectar nuestro servidor a unidades de almacenamiento externas de Window$ a través del protocolo Samba. Para ello habríamos de instalar el módulo smbclient php. Aunque normalmente en el caso de las máquinas de escritorio con GNU con Linux no suele ser el caso, no es raro que otras unidades de almacenamiento y discos puedan accederse a través de la red, y en tal caso el cliente Samba por terminal nos vendría de perillas para que el servidor integre las mismas también a nuestra OwnCloud. Para ello primero instalamos sus dependencias:

apt-get install -y libsmbclient-dev php-dev php-pear

...y luego instalaríamos el módulo smblclient php por medio de pecl:

pecl channel-update pecl.php.net ;
mkdir -p /tmp/pear/cache ;
pecl install smbclient-stable ;
echo "extension=smbclient.so" > /etc/php/7.4/mods-available/smbclient.ini ;
phpenmod smbclient ;
systemctl restart apache2

Revisamos entonces si fue activado de manera exitosa:

php -m | grep smbclient

El servidor nos debería devolver lo siguiente:

libsmbclient
smbclient

...denunciando la activación de ambos módulos - ahora en más automática - toda vez que inicie el servicio.

No viene mal instalar el herramental útil adicional, que sería necesario en caso de tener que revisar y depurar errores en el servidor. Lo haremos con:

apt install -y unzip bzip2 rsync curl jq inetutils-ping  ldap-utils smbclient  

Configurar servidor web Apache

Ya deberíamos contar con el servidor web Apache instalado en nuestro Ubuntu Server. Este nos daría el servicio a la web por intermedio de un entorno virtual de uso. Para que funcione aceitadamente junto a OwnCloud debemos configurarlo con ciertas especificaciones. 

Para ello creamos un fichero de configuración /etc/apache2/sites-available/owncloud.conf para el host virtual de OwnCloud:

FILE="/etc/apache2/sites-available/owncloud.conf"
cat <<EOM >$FILE
<VirtualHost *:80>
# descomentar la línea siguiente si la variable fue configurada
#ServerName $mi_dominio
DirectoryIndex index.php index.html
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud>
  Options +FollowSymlinks -Indexes
  AllowOverride All
  Require all granted

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud
</Directory>
</VirtualHost>
EOM

Finalmente, activamos esta configuración de Host Virtual, mediante:

a2dissite 000-default
a2ensite owncloud.conf

Configurar la Base de Datos


Como en todo uso telemático, se recomienda ejecutar el comando mysql_secure_installation para asegurar la instalación de la base de datos SQL MariaDB y ponerle una contraseña fuerte al usuario de la base de datos ("sec_db_pwd").

Nos aseguramos que el nivel de aislamiento de transacciones esté configurado, y el performance_schema esté activado.

sed -i "/\[mysqld\]/atransaction-isolation = READ-COMMITTED\nperformance_schema = on" /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl start mariadb
mysql -u root -e \
  "CREATE DATABASE IF NOT EXISTS owncloud; \
  CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY '${sec_db_pwd}'; \
  GRANT ALL PRIVILEGES ON *.* TO 'owncloud'@'localhost' WITH GRANT OPTION; \
  FLUSH PRIVILEGES;"

Se recomienda ejecutar el guion mysqltuner para analizar la configuración de la base de datos luego de usarlo con carga de trabajo durante varios días.

Finalmente, activamos los módulos recomendados del servidor Apache:

Instalación de OwnCloud

Con el servidor Web Apache y la base de datos SQL funcionando, podremos descargar e instalar OwnCloud.

Descargar ownCloud

cd /var/www/ ;
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 ;
tar -xjf owncloud-complete-latest-tar.bz2 ;
chown -R www-data. owncloud

Instalar ownCloud


Recuerda configurar una contraseña fuerte para el usuario de administración de ownCloud, y proveer la contraseña del usuario de la base de datos previamente obtenida, bajo el argumento --database-pass.
occ maintenance:install \
    --database "mysql" \
    --database-name "owncloud" \
    --database-user "owncloud" \
    --database-pass ${sec_db_pwd} \
    --data-dir "/var/www/owncloud/data" \
    --admin-user "admin" \
    --admin-pass ${sec_admin_pwd}

Configurar los Dominios Confiables de ownCloud

mi_ip=$(hostname -I|cut -f1 -d ' ')
occ config:system:set trusted_domains 1 --value="$mi_ip"
occ config:system:set trusted_domains 2 --value="$mi_dominio"

Configurar las automatizaciones de cron

Cron nos resultará últil para automatizar distintas tareas automáticas de mantenimiento. Configuramos el trabajo de segundo plano en cron:

occ background:cron

Configuramos la ejecución de un trabajo cronometrado cada 15 minutos y la limpieza de restos todas las noches a las 3 am:

echo "*/15  *  *  *  * /var/www/owncloud/occ system:cron" \
  | sudo -u www-data -g crontab tee -a \
  /var/spool/cron/crontabs/www-data
echo "0  3  *  *  * /var/www/owncloud/occ dav:cleanup-chunks" \
  | sudo -u www-data -g crontab tee -a \
  /var/spool/cron/crontabs/www-data

Si necesitamos sincronizar los usuarios de un LDAP o un servidor Active Directory, podemos agregar este cron adicional. De esta forma cada 4 horas cronometradas se producirá la sincronización de los usuarios LDAP en ownCloud y se desactivarán aquellos que no están disponibles en ownCloud. Además se obtendrá una bitácora en  /var/log/ldap-sync/user-sync.log para su eventual depurado.

echo "1 */6 * * * /var/www/owncloud/occ user:sync \
  'OCA\User_LDAP\User_Proxy' -m disable -vvv >> \
  /var/log/ldap-sync/user-sync.log 2>&1" \
  | sudo -u www-data -g crontab tee -a \
  /var/spool/cron/crontabs/www-data
mkdir -p /var/log/ldap-sync
touch /var/log/ldap-sync/user-sync.log
chown www-data. /var/log/ldap-sync/user-sync.log

Configuramos Caché y Acerrojado de Ficheros

occ config:system:set \
   memcache.local \
   --value '\OC\Memcache\APCu'
occ config:system:set \
   memcache.locking \
   --value '\OC\Memcache\Redis'
occ config:system:set \
   redis \
   --value '{"host": "127.0.0.1", "port": "6379"}' \
   --type json

Configuramos la rotación de bitácoras

FILE="/etc/logrotate.d/owncloud"
sudo cat <<EOM >$FILE
/var/www/owncloud/data/owncloud.log {
  size 10M
  rotate 12
  copytruncate
  missingok
  compress
  compresscmd /bin/gzip
}
EOM

Finalizar la Instalación

Nos aseguramos que los permisos sean los correctos:

cd /var/www/
chown -R www-data. owncloud

Y con esto debería haber quedado instalado ownCloud. Ahora podremos confirmar que está listo para activar el protocolo seguro de conexión HTTPS (por ejemplo usando certificados Let’s Encrypt) dirigiendo nuestro navegador web browser a la URL o IP de nuestra propia instalación de ownCloud (en este caso, nube.peronismo.org). 

Para evaluar la correcta instalación en el servidor y para ver si funcionan los comandos occ, podremos ejecutar lo siguiente:

occ -V
echo "Su contaseña de Admin es: "$sec_admin_pwd
echo "Está documentada en /etc/.sec_admin_pwd.txt"
echo "Su contraseña de Base de Datos es: "$sec_db_pwd
echo "Está documentada en /etc/.sec_db_pwd.txt y en su config.php"
echo "Su ownCloud está accesible desde: "$mi_dominio
echo "La instalación ha sido completada."
No viene mal almacenar esta información de forma segura en un medio aparte, y resguardarlo en caja fuerte.
Podremos encontrar la documentación del servidor de OwnCloud aquí.

lunes, 27 de noviembre de 2023

¿Cómo instalo Art of Ilussion en Ubuntu?

Toda vez que Juan Perón promovía la organización sindical como síntesis para promover y alcanzar las conquistas sociales, enseñaba cómo instalar Art of Ilussion para hacer imágenes sintéticas con raytracing en Ubuntu.

¡Trabajadores!

Ya vivimos esto en la Argentina... La táctica del Estado abstencionista era encontrarse frente a ciudadanos aislados, desamparados y económicamente débiles, con el fin de pulverizar las fuerzas productivas y conseguir, por contraste, un poder arrollador.

La contrapartida de las masas fue volcarse al sindicalismo anárquico, simple sociedad de resistencia sin otra finalidad que la de oponer a la intransigencia patronal y a la indiferencia del Estado, una concentración de odios y resentimientos

La carencia de una orientación inteligente de la política social, la falta de organización de las profesiones, y la ausencia de un ideal colectivo superior - que reconfortara los espíritus y los templara para una acción esencialmente constructiva y profundamente patriótica - ha retrasado el momento en que las asociaciones profesionales estuviesen en condiciones de gravitar en la regulación de las condiciones de trabajo y de vida de los trabajadores.

El ideal de un Estado no puede ser la carencia de tales asociaciones. Casi afirmaría que es todo lo contrario. Lo que sucede, es que las asociaciones únicamente pueden ser eficaces, fructíferas y beneficiosas cuando - además de un arraigado amor a la patria y un respeto inquebrantable a la ley - vivan organizadas de tal manera que constituyan verdaderos agentes de enlace que lleven al Estado las inquietudes del más lejano de sus afiliados y hagan llegar a éste, las inspiraciones de aquél.

La organización sindical llegará a ser indestructible cuando las voluntades humanas se encaminen al bien y a la justicia, con un sentido a la vez colectivo y patriótico. Y, para alcanzar las ventajas que la sindicación trae aparejadas, las asociaciones profesionales deben sujetarse a uno de los imperativos categóricos de nuestra época: el imperativo de la organización.

La vida civilizada en general, y la económica en particular (del mismo modo que la propia vida humana), se extinguen cuando falla la organización de las células que la componen. Por ello, siempre he creído que se debe impulsar el espíritu de asociación profesional y estimular la formación de cuantas entidades profesionales conscientes de sus deberes y anhelantes de sus justas reivindicaciones se organicen, de tal manera que se erijan en colaboradores de toda acción encaminada a extender la justicia y prestigiar los símbolos de la nacionalidad, levantándolos por encima de las pugnas ideológicas o políticas.

Pero no perderemos el tiempo que media entre el momento actual y el del florecimiento de organizaciones de este tipo constructivo. La realidad golpea las puertas y exhibe las cuestiones candentes que deben ser inmediatamente dilucidadas.

El organización político-social llevada a cabo no podrá ser detenida como no fuera por un cataclismo, pero a condición de que organicemos nuestras ideas, pues su estabilidad y durabilidad del Movimiento dependen esencialmente de esa organicidad. 

Las reglas del momento son cuatro:

  • simplicidad orgánica, 
  • sistematización orgánica, 
  • estabilidad orgánica 
  • finalidad orgánica.

Hubo muchos revolucionarios de café que propalaban revoluciones sacadas de los libros, y planteaban que la misma podría hacerse con sólo imaginarlas. Pero a una revolución no es una ilusión: se la planea y se la diagrama. Cuando una revolución estalla, ya está programada.

De poco serviría un Movimiento que no cuente con la previsión de un plan que lo insunfle de las medidas revolucionarias verdaderamente anheladas por el Pueblo. En esto no somos iluminados, lo que es iluminado son las herramientas que usamos para lograrlo.

Indudablemente la técnica del Raytracing nos permitía ya en los tiempos del primer peronismo trazar de forma computado el recorrido de la luz, y - a costa de un ingente costo en potencia de cálculo - obrar resultados fotorrealistas que sintetizaran esta iluminación revolucionaria.

En aquellos tiempos - merced de las CPUs que se usaban - esto no podía sino lograrse sino tras mucho esfuerzo y tiempo maquinal. Pero ya entonces era posible prever un momento en el cual la misma operativa podría aplicarse con enorme velocidad, incluso un mero instante una vez que la tecnología estuviese disponible.

Estamos en los tiempos del jet, y la capacidad multinúcleo nos permite contar ya con dicha técnica en escasos segundos. Indudablemente las GPUs más poderosas permiten lograrlo en tiempo real, y a decenas de cuadros por segundo. Gracias a esto es factible elaborar animaciones según esta técnica.

Por entonces era posible hacerlo gracias al veterano Art of Ilussion, un editor 3D escrito en Java con facilidades de raytracing capaz de elaborar estas escenas paramétricas que dal ilusión de realidad. Este programa tuvo su génesis a mediados de los 90s como producto para estaciones de trabajo Silicon Graphics y plataformas UNIX, pero hace mucho tiempo fue liberado bajo GPLv2.

Su instalación es bastante sencilla. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

sudo apt install openjdk-11-jdk-headless
cd /tmp ;
wget wget https://sourceforge.net/projects/aoi/files/ArtOfIllusion/3.2.1/Art%20of%20Illusion%203.2.1%20linux.zip ;
unzip "Art of Illusion 3.2.1 linux.zip" ;
./aoisetup.sh

Con esto se ejecutará el instalador del programa:

En primer lugar elegimos el idioma de instalación (está disponible en inglés, francés o alemán). 

Luego podremos leer la licencia GPLv2 bajo la cual se encuentra liberado.

El programa instalador nos solicitará indicar la ruta de instalación. Para que lo instale en una carpeta de usuario oculta, conviene indicarle /home/$USER/.ArtOfIllussion.

Acto seguido, indicamos todos los componentes.
 

Tras comenzar la instalación tendremos una barra de progreso.

Tras lo cual la instalación habrá finalizado correctamente.

Para ejecutar el programa, vamos a Aplicaciones / Gráficos / Art of Ilussion, aunque en ocasiones también crea un lanzador en el Escritorio del sistema (en mi caso lo he eliminado pues no me interesa contar con lanzadores en el escritorio).

Tras presentarnos un splashscreen de presentación, Art of Ilussion nos dejará en su ventana de trabajo principal, en un despliegue en blanco (sin objetos). Esta está formada por los cuatro paneles de perspectivas del mundo 3D, junto con sus escuetas barar de herramientas para objetos.

La elaboración de una imagen 3D se realiza haciendo composiciones de los objetos básicos, los cuales son cubos, poliedros, cilindros, etcétera, todos ellos modificables. Asimismo, podremos agregar objetos descriptivos de antiguo formato POV (PointOfView), o bien modelarlos a mano con las herramientas de acción poligonal.

Con el tiempo podremos elaborar objetos más complejos, incluyendo la clásica cristalería y fluidos transparentes o reflectivos, una de las bazas que hacían destacar a la técnica del raytracing.

El renderizado se puede hacer a través de Scene / Render Scene. Para ello se puede usar un complejo motor de software que hace uso de las funcionalidades Raytracing convirtiéndolo a imágenes sintéticas de 256 colores (originalmente) y superiores (hasta 16,7 millones de colores en el motor gráfico mejorado). Esto nos implica que los valores básicos de procesado son computacionalmente económicos, pero podremos exigirlos hasta la demencia, agregando sombras de alta calidad, transparencias, efectos de oclusión reflectiva, y demás derechos incorporados en el Estatuto del Render.

Al presionar el botón Ok, se producirá una revolución en los cores de las CPUs, y se calcularán las múltiples sendas de los rayos de luz, elaborando en RAM una imagen sintética por yuxtaposición de esfuerzos computacionales.

Como ayer, este tipo de técnica permite una notable y graciosa posibilidad de generar cuadros estáticos, pero también animaciones que - con la actualizaciones doctrinarias y siguiendo una explosión cuantitativa provocada por la Juventud - pudo afianzarse en tiempo real.

Indudablemente Art of Illusion es válido para plantearnos arte paramétrico-lumínico. Podríamos incluso asentar la creación de un bodegón sintético, de forma parametrizada, y sin hacer uso de inteligencia artificial generativa basada en extracción de datos y metadatos. El programa guarda sus fuentes en ficheros *.aoi.


El resultado de la compilación gráfica en la que decanta este arte es estándar. Podemos guardarlas en formato JPEG, PNG o TIFF, mientras que las animaciones las realiza o bien compendiándolas en un viejo fichero de animación MPG, o bien como cuadros individuales de los formatos anteriormente mencionados, los cuales podrían agregarse en forma de MP4 gracias a programas externos.

El uso del programa es algo complejo, pero alejado de la verdadera dificultad que podría significarnos una suite como Blender. Podremos contar con la documentación en línea de Art of Illusion (en inglés), o bien descargar el manual con:

mkdir ~/.ArtOfIllusion/manual/
cd
~/.ArtOfIllusion/manual/
https://sourceforge.net/projects/aoi/files/ArtOfIllusion-manual/3.2.1/Art%20of%20Illusion%203.2.1%20manual.zip ;
unzip "Art of Illusion 3.2.1 manual.zip" ;