sábado, 25 de marzo de 2023

¿Cómo instalo Furnace Tracker en Ubuntu?

Invitado a una velada ofrecida por el Sindicato del Chiptune en el Teatro Colón, Juan Perón expone cómo instalar y utilizar el Furnace Tracker en Ubuntu.

¡Distinguidas damas y caballeros!

Es esta una ocasión espléndida que nos engalana, pues esta remodelada casa de la cultura - donde antes sólo accedía el oligarca - recibe esta hoy a los legítimos representantes del Pueblo.

La encomiable labor del Sindicato del Chiptune ha hecho aquello de llevar en mis oídos la más maravillosa música, que es aquella sintetizada con ondas FM. De esta forma no podrá soslayarse la construcción histórica que hacen de los sintetizadoresa aditivos y sustractivos pone en relevancia a la vanguardia mundial de la retro-scene.

La labor que ejerzo como Conductor me ha colmado de grandes satisfacciones, entre ella la de proveer a nuestras Organizaciones con el más completo herramental libre que puede anhelarse para la producción musical. Ya desde el Estatuto del Chiptune he enseñado cómo disponer de SchismTracker, MilkyTracker, e incluso el QasarBeach IIz, la máquina de ritmos Hydrogen, el secuenciador FamiStudio e incluso el excelente Dexed y el multipista qtractor con instrumentos virtuales para dejar operativo todo en un sistema que por gratuito no puede dejar de gozar de todo el amor de un Pueblo.

Como si esto fuese poco, me complace hoy anunciar lo que tal vez sea el pináculo del género Tracker, un programa liberado bajo GPLv2 concebido por el compañero ~tildearrow. Se trata de Furnace, completísimo editor y reproductor de pistas musicales sintetizadas que cuenta con todas las funcionalidades de esperar para esta rama del Arte.

La característica que lo corona - sin embargo - es permitir una fiel formulación del más amplio espectro de microcontroladores y chips sonoros del Primer Peronismo.

Con sólo revistar someramente los más de 50 chipsets sonoros nos permitirá apreciar que nos encontramos frente a un verdadero emporio del chiptune, uno que nos permitirá florearnos con todas las gradaciones de la paleta sónica sintetizada.

Hallaremos en él los excelentes sintetizadores de factura japonesa, dispuestos para utilizarlos en GNU. Yamaha nos acerca sus YM2151 (OPM), YM2203 (OPN), y YM2413 (OPLL). También el YM2414 (OPZ), consagrado en su teclado DX7 y enel correspondiente módulo TX81Z, así como los YM2608 (OPNA) exprimidos en la oriental computadora PC-98. En tanto los YM2610 (OPNB) de la consola Neo-Geo, los YM2610B (OPNB2), y YM2612 (OPN2) de la Sega Genesis y la estación de trabajo FM Towns, el YM3526 (OPL) lustrado en el inconseguible C64 Sound Expander, aunado a los míticos YM3812 (OPL2) de la AdLib y YMF262 (OPL3) de la SoundBlaster Pro (con soporte de 4 operadores) nos hacen más que proponer constituirnos un vínculo de unión que recuerde la lúdica del video-juego añorado.

La lista de la fabricante nipona cierra con el Y8950 (esencialmente el OPL con modulación digtal de código de pulso ADPCM, sumamente utilizada en fichines).  Pero no solo eso, contaremos con varios generadores de onda cuadrada que no llegaban a estos estándares pero suplían los altavoces de varias máquinas clásicas orientadas al consumo rata, entre ellos el AY-3-8910/YM2149(F) utilizado en varias computadoras y consolas, el tímido Commodore VIC desplegado en la VIC-20, el Microchip AY8930, el Texas Instruments SN76489 de la Sega Master System y la BBC Micro, y porqué no hasta una emulación del chillón PC Speaker, así como el Philips SAA1099 de la SAM Coupé y el OKI MSM5232 de algunas placas de arcades conurbánicas.

Entre los chips con propiedades de muestreo digital contaremos con los incluidos en el SNES, el Amiga, el SegaPCM (con todos sus 16 canales), el Yamaha YMZ280B (PCMD8), y el famoso Ricoh RF5C68 desplegado en las Sega CD y FM Towns de alta gama. Naturalmente los OKI MSM6258 y MSM6295, Konami K007232 de los fichines tops, así como el Irem GA20 y el Ensoniq ES5506.

Entre los chips de tabla de onda, encontraremos la posibilidad de muestrear a través de réplicas de HuC6280 utilizado en la PC Engine, el Bubble System WSG y los SCC/SCC+ de Konami, los chips de sonido WSG, C15 y C30 de Namco, el WonderSwam, Seta/Allumer X1-010 y el Sharp SM8521.Notablemente, no contaremos con el EMU de la SoundBlaster AWE-32.

Pues bien señores, ni siquiera tenemos que pagar una entrada; la manera más simple y veloz de contar con Furnace en Ubuntu es descargar una imagen pre-compilada ejecutable destinada a sistemas operativos GNU con Linux. Cualquier nimio podrá hacer esto abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente bloque de Comandos de Organización:

mkdir ~/.furnace/ ;
cd ~/furnace/ ;
wget https://github.com/tildearrow/furnace/releases/download/v0.6pre4-hotfix/Furnace-0.6pre4-hotfix-x86_64.AppImage ;
chmod +x Furnace-0.6pre4-hotfix-x86_64.AppImage

...acto seguido podría crearse un lanzador, o bien ejecutarlo directamente con el comando:

./home/$USER/.furnace/Furnace-0.6pre4-hotfix-x86_64.AppImage

Sin embargo, es justo que todos compilen al menos lo que ejecutan. Aunque compilar lleve algo mas de tiempo, constituye un procedimiento que se realiza por única vez, y en este caso nos proveerá con una instalación más actualizada y completa. Si optamos por este método, debemos descargar el código fuente y compilarlo pegando en la terminal el siguiente bloque de Comandos de Organización:

sudo apt install wget git cmake libpulse-dev libx11-dev qjackctl libasound2-dev libgl-dev ;
cd ~ ;
git clone --recursive https://github.com/tildearrow/furnace ;
cd ~/furnace/ ;
mkdir build ;
cd build ;
cmake .. ;
msbuild ALL_BUILD.vcxproj
sudo make install ;
cd ~ ;
mv ~/furnace/ ~/.furnace/ ;

Tras escasos minutos será posible correr el programa desde Aplicaciones / Sonido y Video / Furnace.

La interfaz gráfica de Furnace Tracker consiste en ventanas funcionales ajustables, cuya estructura pueden moverse o dimensionarse desde los pequeños triángulos azules de las esquinas, así como acoplarse de distintas maneras para conformar el área de trabajo como más nos guste.

Su uso replica en cierta medida al de los editores musicales tipo FastTracker, y requiere un nivel elevado en la sapiencia del tratamiento de la síntesis musical. Aún así, lo encontraremos notablemente logrado para acomodar todas su funcionalidades de una forma intuitiva.

En la parte superior destacarán los típicos controles en forma de botones para Reproducir, Detener, Pausar, Avanzar y Retroceder. Estos servirán para poder ejecutar una pieza ya realizadas. También contaremos con un vúmetro vertical  estéreo. Hemos de saber que si compilamos el programa, este contará con una biblioteca de canciones de demostración para distintas plataformas, situadas en el directorio ~/.furnace/demos. Estas nos permitirán analizar su desempeño y sonido.

Sin embargo, poco sería el sentido de tan maravillosa interfaz si no se nos permitiese desplegar técnica y teoría a la hora de componer secuencias que formarán las canciones; es en este aspecto donde Furnace brilla. 

Contaremos en su ventana principal con la tabla de patrones y secuencias. En primera instancia, se nos permitirá programar eventos musicales a nivel individual al estilo de otros trackers, y la segunda estructurarlos para conformar la melodía.

Para introducir las notas en la tabla de patrones debemos crear un patrón con Insertar y luego actuar con la barra espaciadora para agregar a mano los eventos (notas), si tal es la técnica que favorecemos. Más práctico puede ser presionar el botón Grabar y usar el teclado para digitarlas.

Los comandos de edición de eventos son útiles, y no dejan de ser corrientes:

Ctrl+x: corta
Ctrl+c: copia
Ctrl+v: pegar
Ctrl+z: Deshacer
Ctrl+y: Rehacer
Ctrl+a: Seleccionar todo

Furnace no es ajeno a la la preferencia de algunos trabajadores, que gustan de editar "al solfeo". Esto es, seleccionar una nota individual o bien fraseos (eventos en grupo), para modificar su altura tonal hasta encontrarle la vuelta. Para ello con Ctrl+F1/Ctrl+F2 bajamos/subimos un semitono, y con Ctrl+F3/Ctrl+F4 bajamos/subimos una octaava respectivamente.

Sin embargo, lo más efectivo para quien tiene manos suele ser utilizar un controlador MIDI USB, lo que facilita la ejecución.

Indudablemente, el aspecto más llamativo y diferenciador es su Editor de Instrumentos, donde podremos abarcar la definición de conjuntos de paleta sonora a implementar, según los chips de sonido previamente referidos. 

Podremos disponer el grupo de chips de síntesis FM ante mencionados, los chips por tabla de ondas (capaces de secuenciar muestras de audio cortas), o bien los más limitados generadores de pulso. De acuerdo a los mismos, contaremos con distintos canales coloreados en la lista. 

En el caso de los primeros, se nos permitirá incluso ajustar los operadores de la síntesis de FM a través de sus operadores de sonido (tren "oscilador/es+filtros"). En particular, encontraremos los trenes sónicos de los operadores independientes provistos en los chips Yamaha (generalmente permiten el manejo osciladores de baja frecuencia, sus envolventes ADSR, y variar grandemente programas algorítmicos aditivos utilizados, un detune fino y grueso, etc).

Todo esto, ajustado según presets pero también con microajustes manuales, es lo que permite programar - por fin - un sintetizador aditivo de forma efectiva, a años luz del incómodo panel LCD del DX7 o los trackers originales.

En lo que hace a las simulaciones de chips con tabla de ondas de audio digital, podremos alterarlos haciendo clic en Sample/Editor. Este editor de muestras se nos presentará relativamente básico, pero adecuado a la estética chiptuner nos permitirá alterar frecuencias de muestreo, filtrado de las mismas, así como volumen, aplicar barridos de resonancia, etcétera. Los cambios no se aplican en tiempo real sino diferido, pero estos pueden deshacerse y rehacerse con facilidad.

Asimismo contaremos con aplicadores de Macros. Los macros definen realmente secuencias pre-programadas de valores paramétricos. Con ellos será factible alterar fácilmente arpegiados enloquecidos del synthwave, barridos de frecuencias, alteraciones tonales, modulaciones, etcétera, y todo siguiendo la rítmica sin tener que controlar eventos individuales.

Contaremos con osciloscopios de forma de onda de estilo FastTracker para las muestras en los canales de síntesis, que se suman al vúmetro general.

El tren de efectos persigue modismos retro, con carisma hexadecimal, el cual no suele ser muy intuitivo salvo para programación musical vikinga "a hueso pelado". Se encuentran explicitados en el manual en línea del programa (parcial).

Cualesquiera que sean los temperamentos que nos traiga el corazón, los chips emulados de Furnace permitirán darles dulce respuesta, una merecedora de una estruendosa ovación de pié y un sampleo de un "¡Viva Perón!".

miércoles, 15 de marzo de 2023

Feria de Economía del Conocimiento en La Rural

Argentina es reconocida a nivel mundial por la solidez del sector y de su sistema científico-tecnológico.

Los días 17, 18 y 19 de Marzo de 10hs a 20hs en el Pabellón Azul del Predio La Rural (Av. Sarmiento 2704, CABA) se llevará a cabo la Feria de Economía del Conocimiento (EconAr).  La participación es libre y gratuita. https://feriaeconar.gob.ar/

La Economía del Conocimiento es el conjunto de actividades económicas que requieren un intensivo aporte del conocimiento humano para generar valor y ofrecer a la sociedad nuevos productos y servicios, que pueden ser aprovechados por todas las ramas de la producción.

Entre los sectores que expondrán se encuentran:

  • Software
  • Audiovisual (producción para streaming, cine y televisión) 
  • E-sports y videojuegos
  • Servicios Profesionales Basados en Tecnología
  • Nano y Biotecnologia. 
  • Industria Aeroespacial y Satelital
  • Geolocalización y prospección
  • Secretaría de Economía del Conocimiento
  • Educación
  • Ciencia y Tecnología
  • Industria 4.0

El evento organizado por la Secretaría de Economía del Conocimiento del Ministerio de Economía contará con la participación de empresas e instituciones del rubro, y se presenta como una oportunidad de encuentro para jóvenes, emprendedores, empresarios y académicos apasionados por las oportunidades estratégicas de un sector con impacto en todas las actividades productivas.

viernes, 10 de marzo de 2023

¿Cómo instalo el reproductor de MODs SchismTracker en Ubuntu?

Reunido en el Teatro Colón ante representantes de las centrales obreras latinoamericanas, Juan Perón expone las necesidades de la unión regional y explica cómo instalar SchismTracker en Ubuntu.

¡Trabajadores!

Una Latinoamérica desperdigada, como somos, no se podrá defender. Nos van a quitar las cosas por módem. Entonces, ¿cuál es el problema? Unámonos, organicémonos y preparémonos para defendernos. En un mundo cuya evolución actual lo lleva a la desaparición de todas las divisiones, considero que eso es algo fundamental. ¿No está integrada Europa? ¿No está integrada Sudáfrica? Asia también está integrada. Nosotros somos el último orejón del tarro.

Las organizaciones sindicales deben ser la base esencial para lograr la Unidad Latinoamericana. En este sentido, pienso que las organizaciones obreras de todos los países latinoamericanos deberían proceder como ustedes, es decir, deberán establecer conexiones a efectos de alcanzar esa unidad. Si los trabajadores de América Latina se unen, alcanzarán realmente su destino. Si no lo hacen, las oligarquías, los poderes extraños, las burguesías mismas, se alzarán con el santo y la limosna en poco tiempo. Una masa latinoamericana organizada en sindicatos, unida y solidaria, es un freno para todas esas ambiciones desmedidas de los hombres.

No es difícil cuando ya tenemos una herramienta de unidad: el GNU con Linux.

Este sistema operativo cuenta multitarea y multiusuario dispone - por sobre todas las coass-  con aplicaciones nativas con el que podrán hacer todo tipo de tareas. Y no sólo eso: cuenta con sucedáneos nativos de aplicaciones foráneas, que pueden obrar como sustitución de importaciones.

Las organizaciones de trabajadores requieren hacer muchas tareas, todas ellas importantes, pues el objetivo inicial de las mismas es satisfacer las necesidades de los trabajadores. En esto nada puede soslayarse, incluyendo acciones que - por nimias que parezcan - acercan el objetivo ideal de la unidad en pos del triunfo.

Una de ellas es la de reproducir y editar módulos de pistas: aquellos antiguos ficheros que permitían musicalizar en la compañera Commodore Amiga. Estos Módulos - o MODs - constituyen una familia de archivos secuenciadores basados en muestras de sonido digital (módulos de los formatos ST3, STM de ScreamTracker, IT de Impulse Tracker, MOD de Amiga, XM, XM3, y toda la banda) todos los cuales hermanan en pistas ("tracks"). Ya he enseñado cómo instalar MilkyTracker y SunVox para reproducirlos.

SchismTracker constituye otra opción en el mismo tenor, que nos permite otra alternativa notable para alcanzar el mismo objetivo de Unidad, de la misma forma que podemos votar Perón-Perón por el Fre.Ju.Li. o por el F.I.P.

SchismTracker puede ser considerado como una reimplementación liberada bajo GPLv2 derivada del recordado Impulse Tracker, probablemente el último de los trackers escritos para máquinas tipo 386 que corrían en el sistema privativo M$-DO$. Si bien este Impulse Tracker se quedó en el 45 y sólo funciona en esta puesta obsoletas, el remozado SchismTracker correrá en equipamiento de vanguardia, tanto en GNU con Linux como en FreeBSD, OpenBSD, AmigaOS, BeOS y otras plataformas privativas cualquiera. 

Pues bien señores, instalarlo en cualquier sistema GNU con Linux es más que simple. Para instalar la versión empaquetada, abrimos una terminal con Ctrl+Alt+T e ingresando el siguiente bloque de Comandos de Organización:

sudo apt install schism

De lo contrario, podremos descargar la última versión e instalarla a mano (recomendado), ingresando:

cd ~/Descargas/ ;
wget https://github.com/schismtracker/schismtracker/releases/download/20221201/schismtracker-20221201-linux.zip ;
unzip -d ~/.schism/ ~/Descargas/schismtracker-20221201-linux.zip ;
echo '#!/bin/sh' > ~/.schism/startup-hook ;
echo '##Descomentar si tiene problemas con teclado español' >> ~/.schism/startup-hook ;
echo '#setxkbmap us' >> ~/.schism/startup-hook ;
echo '#!/bin/sh' > ~/.schism/exit-hook ;
echo '##Descomentar si tiene problemas con teclado español' >> ~/.schism/exit-hook ;
echo '#setxkbmap es' >> ~/.schism/exit-hook ;
chmod +x ~/.schism/*-hook

En Ubuntu suele facilitar mucho las cosas crear un Lanzador. Para ello hacemos clic con el botón derecho en el panel superior de aplicaciones, escogemos Editar Menús... y tras seleccionar el menú Sonido y Video, presionamos el botón +Nuevo ítem. En la ventana Propiedades del Lanzador Indicamos el el campo Orden la ruta del lanzador /home/usuario/.schism/schismtracker, a la vez que le ponemos Nombre y un Comentario e ícono opcional.

Una vez confirmado la creación del Lanzador con el botón Aplicar, podremos lanzar el programa desde Aplicaciones / Sonido y Video / SchismTracker.

Al correr el programa se nos presentará un splash screen de apariencia tradicional, donde debemos presionar el botón Continuar.

Luego nos encontraremos con la interfaz del SchismTracker. En sí, esta rememora la del Impulse Tracker, a su vez un "homenaje" al Scream Tracker 3.
 

SchismTracker se eleva glorioso utilizando los mismos comandos del Impulse Tracker del que no puede ni desea.

Naturalmente tras cargar uno con F9, podremos reproducir nuestros módulos tracker mediante F5. Podremos encontrar una buena colección de ficheros tracker en modarchive.org.

Especialmente recordados son sus atajos con teclas de función a las diferentes Secciones del Tracker (operan como "paginas").

  • F2 - Editor de Patrones
  • F3 - Lista de Muestra
  • F4 - Lista de Instrumentos
  • F5 - Reproducir Canción completa
  • F6 - Reproducir patrón (únicamente el patrón editado)
  • F7 - Reproducir desde Línea (desde la linea seleccionada)
  • F8 - Detener reproducción
  • F9 - Cargar módulo
  • F10 - Guardar módulo
  • F11 - Lista de Patrones y balance.
  • F12 - Configuraciones varias

Esta presentación del programa despliega los tracks, con información relativa al paneo, y la lista de eventos musicales. En todas las secciones podremos presionar F1 para obtener una ayuda de las opciones disponibles para tal momento.

La composición de secuencias para conformar un módulo es un arte que requiere ya un conocimiento más elevado que hace a la teoría musical. Pero si somos proficientes, podremos cargar muestras (o "samples") instrumentales en la lista con Ctrl+F3. 

Luego podremos secuenciar el ametrallado de eventos en el editor de patrones, o - como hace cualquier cristiano - utilizando las teclas del teclado a modo de piano. En este sentido, desde la Q hasta la P y desde la Z hasta la M oficiarán de teclas blancas, mientras que desde el número 1 hasta el 0 y desde la A hasta la L serán las teclas negras. A su vez las flechas del cursor permiten subir o bajar la octava. Parece mentira todo lo que se puede hacer con tan poco, y un músico habilidoso puede sacar así la Marcha Peronista en 10 segundos.

Aunque para dominar Schimtracker cobra especial relevancia el acervo del antiguo y venerable ImpulseTracker, lo cierto es que podrán aprender a utilizarlo siguiendo el excelente Tutorial del compañero ~hora_z. De esta forma contaremos con la posibilidad de desplegar una labor creativa de alta calidad que requiere el Justicialismo para la demoscene.

Es indudable que el código de SchismTracker permitirá la unión de toda Latinoamérica bajo la musical bandera de la Justicia Social.

miércoles, 8 de marzo de 2023

¿Cómo juego al pong en red en Ubuntu?

En su La Hora de los Pueblos, Juan Perón expone sobre la política argentina y explica cómo utilizar el juego en red pong2 para evaluar las redes LAN en Ubuntu.

(...)

El problema político argentino, como el de cada uno de los países de nuestro continente, ha dejado de ser intrínseco porque nada de lo que hoy se desarrolla en el mundo se produce en compartimientos estancos. La vida de relación ha aumentado en razón directa al perfeccionamiento de los medios técnicos de las comunicaciones y de los transportes: lo que sucede hoy en el Polo Norte se sabe diez minutos después en el Polo Sud; hoy se almuerza en un hemisferio y se cena en otro sin que a nadie le cause la menor extrañeza. Es como si la Tierra se hubiera empequeñecido.

Este empequeñecimiento inverosímil del planeta ha traído en lo político consecuencias también inverosímiles: a nadie le extraña hoy que los Estados Unidos o Rusia estén empeñados en la solución de un problema interno de Laos o del Vietnam, países que están a más de veinte mil kilómetros de Washington o de Moscú. La política puramente interna ha pasado a ser una cosa casi de provincias; hoy todo es política internacional, que juega dentro o fuera de los países, influenciando la vida de las naciones y de los pueblos en forma decisiva.

Es claro que tal estado de cosas, producto de la lucha entre los grandes imperialismos existentes, ha traído la necesidad de crear los instrumentos necesarios para su manejo. Así han surgido las "grandes internacionales" que actúan abierta o disimuladamente en todas partes. Estas internacionales - en pugna sólo aparente - se unen cuando aparece un "tercero en discordia" como sucedió en la Segunda Guerra Mundial en la que todas las internacionales se aliaron para aniquilar la Alemania de Hitler y la Italia de Mussolini, para terminar finalmente en Yalta repartiéndose el dominio del mundo como un modo viviente de asegurar un poco de paz ya indispensable. 

Otros ejemplos, muy aleccionadores, podríamos citar los argentinos en el orden de la política interna, de los cuales hemos recibido una muy amplia experiencia. Estas formas de la acción política ya no son un secreto para nadie. Por eso, los pueblos han comenzado a sentir necesidad de escapar a la férula de las internacionales que, en último análisis, son las grandes centrales de dominación y explotación de los pueblos y de los hombres, ya sea en provecho de otros hombres o del Estado porque, para la explotación, la ideología no cuenta.


Debemos obrar en el mismo predicamento en las redes de datos internacionales. Podremos así evitar la férula de estas empresas sin Patria ni bandera que explotan al hombre a través de sus máquinas. Nuestros pueblos necesitan de la organización local para subsistir. Y ello puede hacerse a través del empleo de redes de área local (LAN).

¿Qué sucede cuando debemos evaluar la calidad de tales conexiones locales? Naturalmente podremos usar herramental de red de nuestro sistema GNU con Linux para comprobar el estado de los enlaces telemáticos. Sin embargo, nada impide utilizar algún juego en red para comprobar el funcionamiento de nuestra red LAN.

Vean señores, en Puerta de Hierro he instalado una red de fibra óptica de alcance hogareño, lo cual me habilita probarla en su medida y armoniosamente. Qué mejor entonces que instalar un sucedáneo ultramoderno y compañero del Pong, el primer videojuego comercial. 

 

En este caso podremos instalar Pong2, iteración tridimensional del pong aparecida en el Commodore Amiga, que si bien no aporta novedades al por entonces remanido título, cuenta hoy con la particularidad de operar en un entorno de red local (y eventualmente redirigirlo a las redes de área amplia).

Para instalarlo en Ubuntu, simplemente abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de Organización:

sudo apt install pong2

Tras descargarlo, podremos lanzarlo con Aplicaciones / Juegos / Pong2.

El juego ofrece una ventana que presenta un campo de juego en forma de cubo  tridimensional con transparencias.

El funcionamiento de esta puesta no ofrece muchas dudas. El primer jugador en iniciar un juego en la LAN oficiará de servidor y quedará a la escucha de una conexión (normalmente al puerto 6642), presentando el cartel "Waiting for Opponent" ("esperando al oponente").

El segundo jugador en la red LAN oficiará de cliente, "llamando" a la máquina del servidor (ya sea por su IP o su nombre de host). Por ejemplo, suponiendo que la jugadora evita desea llamar al server de pong pj.local localizado en la IP 192.168.0.101, podría lograr su conexión con:

pong2 -c 192.168.0.101 -p 6642 -n evita

...o bien:

 pong2 -c pj.local -p 6642 -n evita

Los jugadores deben utilizar el mouse para mover una raqueta de forma cuadrangular en su sector del campo de juego. Para lanzar la pelota, se utiliza el botón izquierdo del mouse, tras lo cual hábilmente debemos interceptarla y rebotarla.

Podremos pausar con Esc o Barra Espaciadora.

Asimismo, podremos regular la distancia al campo de juego con haciendo clic con botón derecho y botón izquierdo del mouse, mientras arrastramos hacia adelante o hacia atrás.

La función de pantalla completa se conmuta con la tecla f.

Para salir del juego, podremos utilizar la tecla q. 

Cuando contemplamos ante esta perspectiva tridimensinal, el problema argentino a la luz de estos hechos, todo parece verse con mayor claridad: un Pueblo que lucha por su liberación contra las fuerzas reaccionarias interiores apoyadas por los imperialismos foráneos.

Sólo utilizando organizaciones con todos los recursos telemáticos podremos lograr la auténtica liberación del Pueblo antes de que Window$ 2000 nos encuentre Dominados.

jueves, 2 de marzo de 2023

¿Cómo uso el intérprete tcsh en Ubuntu?

En reportaje cedido a la revista Panorama desde la legendaria casona de Puerta de Hierro, Juan Perón expone cómo instalar el intérprete tcsh en Ubuntu.

¡Señores! 

Nuestro Movimiento tiene la voluntad de Pacificar la Argentina. Esto lo hemos dicho siempre, y aquí personalmente se lo he dicho a todos quienes vienen a verme, que no han sido pocos. Hemos sido prudentes, y si la imposición de la voluntad popular no se ha producido antes, ha sido sólo por la mala intención de los contumaces quienes - sin el apoyo del Pueblo Argentino - se han sentado en el sillón de Rivadavia solo para hacer desaguisados.

En más de una ocasión esto podría haberse solucionado simplemente por arbitrio de la carta magna por la cual todos debemos regirnos, pero durante dieciocho años estos caballeros sólo se han ido a acostar temiendo "lo que podría pasar con Perón en la Argentina". Pues bien, resulta ahora que el toldo se les ha picado, y para parar el agua vienen a pedirle el cuero a este viejo. [guiña el ojo].

Nosotros de esto tenemos una pila alta como aquél fresno. Lo que nos cuidamos siempre es de la intención, no nos vayan a meter la mula.

Desde la época de los primeros autómatas, los sabios de oriente intentaron descubrir - sin encontrar solución tecnológica - alguna técnica por imperio de la cual fuese posible contextualizar o prever adecuadamente aquello que llamamos intención. Es ésta una condición de la voluntad humana, y sólo ha sido través de un aprendizaje que hemos podido imponernos en tal tesitura, meramente obrando por lógica deductiva. La forma más elevada que nos hemos dado para prever la intención no ha sido otra que la de consagrarnos en una organización social, a la que hemos munido de una Doctrina.

Esta doctrina opera como eje ordenador, que sirva al Pueblo para interpretar lo que él mismo quiere. El Conductor podrá así relanzarlo, con un sentido creador que expresa aquello de  que "mejor que decir, es hacer, mejor que prometer es realizar".

Esta máxima también se replica en el mundo de la política, y del software. 

Es sabido que en el uso de la máquina existe la posibilidad de generar un programa de análisis que - dentro de normas paramétricas constrictivas - interprete un mandato directo a cumplir, una orden. En Unix estos programas intérpretes de mandatos que operan a través de un enlace de terminal de cómputo reciben el nombre de Shell. Nosotros hemos hecho todo para que nuestros niños - que son los únicos privilegiados - los usen en sus consolas.

Sin embargo, suele ser desconocido que Ubuntu cuenta con un sucedáneo del la shell sh para sus tareas de conexión y ejecución básica: un modernizado y supermínimo dash. Sin embargo, este suele pasar desapercibido frente al portentoso intérprete nativo de GNU, el Bash. Se trata esta de una shell libre inspirada fuertemente en la antigua shell de Bourne, la cual - junto a  funcionalidades de la C Shell y la shell de Korn - tiene embutido en su interior un lenguaje de programación interpretado de relevancia.

Pues bien señores: los tontos ignoran la complejidad, los pragmatistas la sufren, algunos pueden evitarla, pero son los genios quienes la eliminan. Esto es patente en el caso de la burda C Shell, intérprete que un desaforado Bill Joy había escrito para su Distribución de Software en Berkeley. Ken Greer de la Universidad de Carnegie-Mellon la apreció peor escrita que el Facundo, y la remozó extendiendo sus lerdas funcionalidades, a la vez que depuraba el código como quien verdaderamente entiende la cosa. No tardó mucho en incorporarle el  autocompletado de ficheros y directorios  sensible a contexto del que alardeaba el mítico sistema operativo TENEX. Sobre esta base mejor asentada - a la que todos llamaron tcsh - Mike Ellis de la Fairchild Coporation le sumó un sustancial autocompletado de comandos.

Indudablemente que tcsh resultó más veloz y bastante más pequeño para hacer lo mismo. En particular gusto de este intérprete por su velocidad de ejecución remota en equipos de mínimo desempeño. Aunque he de advertir que si bien es mayormente compatible con Bash y otros posteriores, la realidad es que sus escasas diferencias lo tornan idiosincrático.

Afortunadamente, podremos instalar este intérprete de mandatos en Ubuntu, si nuestras necesidades y anhelos así lo estipulan. Es que en lo que hace a estas shell, ha de existir una justa gradación sin la cual la informática no tendría la flexibilidad que la hace grande, y por lo pronto podremos contar con múltiples si a nuestra máquina "le da el cuero". Y con tcsh cualquier enano es grande.

Ya conocemos cómo instalar un moderno intérprete de factura original, el Fish Shell, destinado a equipamiento moderno y sin respetar convencionalismo alguno. Para instalar tcsh hemos de seguir similares procedimientos. Simplemente abrimos un terminal con Ctrl+Alt+T e indicamos el siguiente comando de organización:

sudo apt install tcsh

Conforme ingresemos la contraseña de root, se hará realidad la instalación del nuevo viejo intérprete, sin molestar a los otros parroquianos que pudiéremos tener.

Para ejecutar un tcsh anidado, simplemente lo ejecutamos llamándolo por su nombre y apelativo:

tcsh

...lo que dará inicio a una sesión del shell anidada dentro del Bash, convirtiéndose en el brazo derecho del conductor. Tradicionalmente, el prompt de tcsh es un >, de esta manera:

host:~>


Esto puede ser adecuado para algunos. Para evitar esta llaneza, lo que recomiendo es configurar por única vez un fichero de configuración de usuario ~/.tcshrc. Para ello editamos tal fichero con:

nano ~/.tcshrc

Podremos entonces pegarle el contenido recomendado, guardamos y cerramos. 


Todo esto nos permitirá tener ya configurado las opciones necesarias para poder utilizarlo de forma efectiva en Ubuntu.

TCSh dispone de amplias similitudes al C Shell de Bill Joy, pero incorpora algunas funcionalidades embebidas en el mismo intérprete. Podremos consultar sobre estos comandos embebidos ingresando el comando builtins.

Por ejemplo de estos comandos incorporados tenemos a where, que a diferencia al which disponible en sistemas similares a Unix, informa las rutas de un alias determinado pero también las rutas de ejecución de un comando dado:

TCSh cuenta con una función incorporada de historial expansiva de la del C Shell. Los comandos ya introducidos se van incorporando a un stack que podremos revisar con Flecha Arriba y Flecha Abajo. Quien introduzca el comando history, apreciará el registro del stack de comandos previamente introducidos, numerados en sentido descendente y temporizados.

El funcionamiento del historial de comandos es similar al del viejo intérprete de TENEX:

!! Ejecuta el comando previamente ejecutado.
!n Ejecuta el comando número n del stack.
!-n Re-ejecuta el comando número n del stack.
!cadena Ejecuta el comando más recientemente ejecutado que comience con cadena
!?cadena corre el comando más recientemente ejecutado que contiene cadena

La funcionalidad de autocompletado se activa tecleando parcialmente un comando que deseemos, y autocompletándolo mediante la tecla Tab, o más tradicionalmente, con el uso de Ctrl+d. Esto tipeará automáticamente, o bien nos presentará en la terminal las opciones que podremos continuar solicitando.

También contaremos con la necesaria funcionalidad de Control de Trabajos, requerida en un ambiente multi-tarea. Como es sabido, esta nos permite operar en dos planos: normalmente los programas corren en primer plano, pero podremos ejecutar comandos directamente en segundo plano agregando & al final del comando. Por ejemplo podíamos enviar a top y al editor GNU Nano a que quede en ejecución en segundo plano:

top & ;
nano &

Naturalmente, muchos programas puede "suspenderse" y enviarlos a segundo plano durante su tiempo de ejecución, a través de la combinación Ctrl+z.

En cualquier momento podremos consultar el stack de trabajos:

jobs

[1]  - Suspended (signal)            top
[2]  + Suspended (tty output)    nano

Ahora podremos pasar a primer plano el programa del stack que queramos con fg (o mandarlo a segundo plano con bg). En este ejemplo, si quisiéramos pasar a primer plano el nano, podremos indicar:

fg 2

(Nota: Durante la ejecución de las versiones más modernas de Nano puede enviárselas a segundo plano mediante Ctrl+t, Ctrl+z).

Vean señores, tcsh cuenta con algunas diferencias sintácticas en su lenguaje interpretado con respecto al omnipresente Bash, y notablemnte carece de funciones. Pero fuera de ello, es bastante parecido y adaptable. Es posible conocer mas sobre las idiosincrasias de tcsh con respecto a Bash aquí.

Asignar tcsh como terminal por defecto

Existen varias maneras de asignar directamente a tcsh como intérprete. Una forma directa es arrancar el emulador de terminal corriendo tal intérprete. Por ejemplo::

mate-terminal -x tcsh

Sin embargo, en estos casos la más lógica suele ser asignar un perfil al emulador de terminal. En el caso de mate-terminal o gnome-terminal, esto puede realizarse desde la solapa Título y orden, tildando la opción Ejecutar una orden personalizada en vez de mi intérprete, e indicando en su campo /bin/tcsh. Podremos así guardar el perfil para utilizarlo por defecto.

Ambas soluciones permiten dejar a Bash como el intérprete, por cualquier motivo y son las que recomiendo.

En ciertos casos, y tras asegurar que tcsh opera adecuadamente, podríamos queuer directamente asignar como shell de usuario a tcsh en lugar de Bash. Esto sólo debe realizarse si estamos absolutamente aborrecidos de Bash, y no tiene mucho otro sentido.

En primer lugar debemos consultar qué shells están instaladas en nuestro sistema, mediante el comando:

cat /etc/shells

...y este podría devolvernos algo como:

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/sh
/usr/bin/fish
/bin/tcsh
/usr/bin/tcsh

(Nota: En negro se indican las shells incluidas por defecto, en rojo aquellas agregadas posteriormente a pedido).

Luego utilizamos el comando chsh ("cambiar shell de inicio"). En este caso si quisiéramos cambiar la shell por defecto del usuario de /bin/bash debemos ordenar:

chsh $USER

Tras ingresar contraseña, indicamos la ruta del shell deseado (ya sea /bin/tcsh o cualquier otra). Los cambios surtirán efecto tras reiniciar el sistema.

jueves, 16 de febrero de 2023

¿Como instalo OurPaint para dibujar en Ubuntu?

Reunido en el Consejo Superior del Partido Justicialista, Juan Perón expone sobre la necesidad de instalar OurPaint para dibujar con tableta Wacom en Ubuntu.

(...)

¡Compañeros!

El Movimiento al que pertenecemos es uno que hace al número más que a la calidad de sus miembros. No es necesario ser los mejores, más vale que seamos muchos, y que estemos organizados.

Esto puede replicarse a la cantidad de paquetes de software para sistema GNU que utilizan la GPLv3. Un programa liberado bajo licencia GPL no es de otro, es nuestro.

Nuestro software debe responder a múltiples necesidades, y lo adecuado para ello es compilar múltiples programas, cada uno de los cuales equivale a un derecho que responde a una necesidad. Tras colmar una necesidad, podremos darnos a colmar la siguiente, y así sucesivamente. La organización de prioridades la da el Conductor, en reflejo de los que el Pueblo quiere. Eso es, a grandes trazos, lo que nosotros llamamos Conducción.

Pues bien señores, puede ocurrir que a una necesidad sepan oponérsele varios proyectos de software - todos bien intencionados - con el objeto de darle solución. , Si atendemos a uno de los objetivos nodales, el de la economía de fuerzas, esto no sería deseable. Sabemos que no debemos desperdiciar esfuerzo en enfrentar todo, sino enfrentar lo más importante, y darle con todo.

Sólo en algunas ocasiones justifican desprenderse del principio de la economía de fuerzas. En meras ocasiones - bien estudiadas - podríamos dar respuesta con varias propuestas que coadyuven en suplir lo que queremos realizar. Esto es especialmente válido en el campo de las artes. 

Mao, que además de maestro era chino, dijo que no existe ningún conocimiento genuino no se origine de la experiencia directa. Ya he enseñado cómo instalar MyPaint, GIMP, y Krita, y si bien esto parecería dar por resuelto aquél viejo anhelo de dibujar con una computadora dotada de GNU. Sin embargo, existe toda una gradación de maneras de hacer y de flujos de trabajo, y lo cierto es que a gusto de los cocineros comen los frailes.

Por tal motivo el compañero maoísta Yiming Wu ha desarrollado OurPaint, un graficador multiplataforma destinado a la Comunidad de mil millones de hombres libres capaces de implementar aceleración por GPU. Este programa está sobre todo concebido para utilizar con tabletas sensibles a presión.

Por obra de este señor, podremos instalarlo simplemente utilizando nuestra Terminal. Para ello abrimos una con Ctrl+Alt+t y pegamos en ella el siguiente bloque de comandos de organización, dándole entrada:

cd /tmp
wget https://www.wellobserve.com/Files/OurPaint/Releases/
OurPaint_v0.3b_Linux_x86_64.tar.gz ;
tar xvzf /tmp/OurPaint_v0.3b_Linux_x86_64.tar.gz ;
mv /tmp/OurPaint/ ~/.ourpaint/ ;

touch ~/.ourpaint.sh ;
chmod +x ~/.ourpaint.sh ;
echo "cd ~/.ourpaint/" >> ~/.ourpaint.sh ;
echo "./OurPaint-v0.3b-x86_64.AppImage" >> ~/.ourpaint.sh

Opcionalmente podríamos crear un lanzador para OurPaint, que dirija al fichero  /home/$USER/.ourpaint.sh recientemente elaborado.

De esta forma, será sencillo lanzar el programa desde Aplicaciones / Gráficos / OurPaint.

Al iniciar OurPaint por vez primera nos encontraremos con una pantalla de presentación desde donde podremos realizar una donación opcional y acceder a ayudas en línea. 

Tras hacer clic en ella, daremos con el lienzo del programa, con una interfaz de manejo bastante similar a de otros programas de índole gráfica. Contaremos con una ventana de programa provista con un lienzo de trabajo inicial para dibujar. Junto a este lienzo encontraremos un panel derecho programable dividido en solapas.

El lienzo de trabajo se encuentra planteado en principio como una capa de transparencia sobre la cual podremos trabajar, dispuesta sobre un fondo o "background" de tono gris neutro.

La solapa de herramientas dispone ya de unos 15 pinceles genéricos listos para usar. Para dibujar simplemente escogemos alguna de estas herramientas plásticas - usando la pluma de la tableta o bien directamente con el botón izquierdo del mouse - dibujamos como si de un papel se tratara.

Podremos utilizar los atajos de corchete abierto y corchete cerrado para disminuir o incrementar el grosor del trazo. Las herramientas plásticas cuentan con función Borrador haciendo clic en el botón Eraser. A su vez, el botón izquierdo del ratón o permite conmutar instantáneamente al recoge-color. Estas funciones están asociadas a los botones de las plumas de la tableta, por lo cual son muy rápidas.

Presionando la rueda de scroll del ratón o haciendo clic en el botón largo de la pluma y desplazando tales dispositivos se nos permitirán desplazamientos lo largo y a lo ancho del lienzo a voluntad, mientras que utilizando . y , disminuiremos o incrementaremos el zoom. Nuevamente, estas funciones se encuentran asociadas a los botones de las tabletas Wacom.

La solapa de capas permite configurar varios modos de fusión para la superposición, e incluso cuenta con novedosa supraposición. La solapa del selector de color cuenta con una rueda tonal.

Finalmente, podremos operar en modo ventana, o bien utilizar la función de pantalla completa con F11. A su vez, podremos remover el panel haciendo clic en la flecha en la parte inferior del lienzo (logrando una muy relajante vista de "todo papel").

Lo más novedoso viene dado por la configuración de nuevas herramientas plásticas. Si bien de momento estas se aplican según un vector redondo, las mismas son programables según un editor nodal paramétrico. Este nos ofrece una manera algo chinesca de alterar y generar nuevos comportamientos plásticos según la presión, velocidad y ángulo del trazo de la pluma, aunado a la simulación de humedad y viscosidad de los pigmentos, pertinentes siempre a la rugosidad y absorción del medio. Estos parámetros constituyen nodos enlazables entre sí, lo que ilustra las relaciones y proporciones de tales características.

Sin duda podremos encontrar útil el manual en línea de OurPaint tanto en el idioma de Braden o en el menos escrutable idioma de Mao.

Podremos usar Options / Show User Preferences para abrir el panel de opciones. En la página Our Paint, podremos cambiar el límite de pasos de deshacer, mientras que en la solapa Resources se podrán agregar más directorios para obtener ficheros de recursos. OurPaint buscará allí las herramientas plásticas que contengan la extensión .ourbrush. 

Para guardar nuestro trabajo podremos escoger el formato por defecto .udf, almacenar el avío de herramientas plásticas en formato .ourbrush o bien exportar el lienzo en un fichero estándar .png.

En fin, un gran aditamento que - con lugar a mejoras - es factible de usar ya mismo para elaborar gráficas para la Liberación del Pueblo.

martes, 7 de febrero de 2023

¿Cómo puedo programar Pascal en Ubuntu?

Desde su chalet madrileño en Puerta de Hierro, Juan Perón expone cómo instalar el ambiente de programación FreePascal en Ubuntu.

¡Trabajadores!

Reconforta mi espíritu las líneas y mensajes que a diario me hacen llegar de la Argentina, que me persuaden de la contumaz impericia de la que hacen gala estos señores. No hacen más que reverdecer la Doctrina que durante diez años consolidamos en la Argentina. De nada servirán los sacrificios que intentan imponer al Pueblo, si no tienen por objetivo la Liberación Nacional.

A tal fin han intentado sofrenar sus expresiones, disolver sus Organizaciones. Es en balde: todos sabemos que el corazón procesa símbolos, y la CPU dos números. Ellos pueden tener el mango de la sartén, pero de nada sirve si no existe el fuego que le dé sustento. Durante diez años no hicimos más que afianzar el cariño del Pueblo, es este el único que alumbra el designio de hacer grande e inmortal a la Patria.

Sabemos que al igual que esta agotada Dictadura, el software privativo es un monstruo que intenta hacer enjundiar a los programadores entre sí, pero será progresivamente eliminado por quienes compilan software libre, y lo será en un futuro no muy distante. Esto es así pues en el discurrir del tiempo hemos consolidado órdenes para ello suceda, y estas ya, obran por automatismo. Nuestro objetivo es claro, y nada ni nadie nos hará desviar de esta meta, que no es otra que emparchar el código con la Justicia Social que declaman nuestros descamisados.

Vean señores, la programación es un arte que involucra una serie de procesos mujer/máquina para resolver un problema determinado. Esto se aprende, pero también se comprende.

El Profesor Niklaus Wirth creó Pascal con la finalidad de tornarlo un lenguaje de programación que sirviera de base educativa. En él - consideró - se reunirían las buenas prácticas que hacían este arte (aferramiento a un código bien estructurado, seguridad de tipeado, etcétera). Mas de uno consideró que Pascal era totalmente inadecuado para desarrollar "software del mundo real, grande, seguro, y de desempeño". Y es probable que así lo fuera, ya que dar con estas prerrogativas podía equivaler a escalar el Aconcagua en chancletas. 

Sin embargo, los distintos dialectos del lenguaje Pascal traspasaron su vertiente educativa, convirtiéndose en un lenguaje adorado por las Masas, que supo ver en él a un entrañable amigo. En una época donde al proyecto GNU no lo conocía ni el loro, con la aparición de la implementación Turbo Pascal de Borland y por moderados 50 dólares se podía tener un compilador, depurador y enlazador ajustados a un ambiente de desarrollo que andaba en una PC con nafta común. 

Para su versión 7, el Turbo Pascal de Borland ofrecía un ambiente integrado de de programación (IDE) rico y poderoso, que hacía del desarrollo de software una posibilidad productiva en sumo grado. Con poco se daba rienda suelta a este lenguaje estructurado de alto nivel, pudiéndose diseñar, escribir, depurar y compilar programas de cualquier tupo y factor.

Muchas veces me han preguntado cómo instalar un compilador de Pascal que funcione en Ubuntu, y la realidad es que - en principio - no se necesita hacerlo. En los sistemas de tipo GNU ya contamos con GCC, enorme colección de compiladores profesionales libres y gratuitos, que suele bastar para estos menesteres. 

Sin embargo, ante una necesidad nace un derecho, y una solución informática libre para solventarlo. Contamos en GNU con la IDE FreePascal, fuertemente inspirado en el añorado Turbo Pascal 7, pero libre, y que no cuesta una chirola. Hemos de saber que Ubuntu cuenta con una versión empaquetada en sus repositorios oficiales, pero vaya a saber porqué esta no funciona adecuadamente, y en Ubuntu 22.04LTS y falla al compilar.

Afortunadamente podremos descargar e instalar la misma versión de forma manual, superando tal inconveniente. Todo ello se realiza abriendo una terminal con Ctrl+Alt+t e ingresando el siguiente bloque de Comandos de Organización:

mkdir ~/Descargas/fpc/ ;
cd ~/Descargas/fpc/ ;
wget https://sourceforge.net/projects/freepascal/files/Linux/3.2.2/fpc-3.2.2.x86_64-linux.tar ;
tar -xvf fpc-3.2.2.x86_64-linux.tar ;
cd ~/Descargas/fpc/fpc-3.2.2.x86_64-linux/ ;
sudo ./install.sh

Conforme introduzcamos nuestra contraseña de Conductor, el guión install.sh de instalación nos solicitará indicar dónde queremos instalar el paquete del compilador:

This shell script will attempt to install the Free Pascal Compiler
version 3.2.2 with the items you select

Install prefix (/usr or /usr/local)  [/usr] 

En mi caso lo haré en /usr/local/, como con todos los binarios compilados en mi sistema de forma local.

Acto seguido nos interrogará si queremos instalar la documentación, las demostraciones, y dónde. Podemos presionar Enter para aceptar las opciones por defecto.

Ahora podremos ejecutar el IDE de FreePascal. Para ejecutarlo, podremos utilizar el comando

fp

Con este nos encontraremos con la ventana principal de interfaz textual del fp-ide, el cual - como cabía de esperar - guarda fuertes reminiscencias de la del Borland Turbo Pascal 7 para DO$. La IDE en sí opera en el dialecto FreePascal, pero cuenta cuenta con varios modos de compatibilidad conmutable para diferentes implementaciones de Pascal. En particular, contaremos con el modo TP que activa la compatibilidad Turbo Pascal - activable con el sufijo -Mtp o bien directamente declarando en en el programa el ${mode TP}. También existen declaraciones para optar por los modos de compatibilidad Oject Free Pascal, Delphi, Pascal para Mac, etcétera.

La documentación de dialecto libre FreePascal podremos encontrarla en la Wiki de FreePascal. En tanto, la documentación del Turbo Pascal 7 oficial está disponible en el idioma de Braden y en gran cantidad de volúmenes y artículos que lo trataron en castellano.

En cuanto al uso y comandos del IDE, ya son clásicos. fp-ide nos facilita depurar directamente cualquier programa que use las remilgadas sintaxis de los dialectos de Pascal en busca de errores, presionando F9. En caso de error podríamos querer depurar línea a línea ("paso a paso") con F8.

La IDE también nos permitirá ejecutarlo (siempre que el código fuente no contenga errores, claro está). Para ello presionamos Ctrl+F9 o bien vamos al menú Run:

Al igual que el vetusto Borland Turbo Pascal, el ensamblado puede hacerse por medio de Alt+F9, lo que - junto al código objeto - nos dejará un archivo ejecutable para Linux.

A diferencia de los magros 16 bits nativos de Turbo Pascal, la arquitectura por defecto de FreePascal suele ser la x86_64 de 64 bits, facilitando así la inclusión en hardware moderno. Pero podremos portar y realizar compilaciones cruzadas indicándolo desde el menú Compile/Target.

Si todo va bien, deberíamos naturalmente encontrar en nuestro directorio de trabajo el fichero objeto de extensión .o y el fichero ejecutable. Esto permitirá utilizar programas en Pascal en Ubuntu sin más incordio que introducirlo y compilarlo.


domingo, 5 de febrero de 2023

Software como Látigo: Monitoreo y tecno-explotación en el Ámbito Laboral

Con la adopción de medidas de cuarentena en todo el mundo, el COVID-19 ha convertido al teletrabajo en una nueva norma para muchos de los trabajadores. Sin embargo, este cambio facilita la importación de métodos de gestión informales al ambiente del trabajo.

Las nuevas generaciones han sido alcanzadas por una nueva gama de los llamados "software remotos de gestión laboral". Estos incrementan el alcance de las métricas, y en consecuencia permiten a las empresas de Capital registrar todos los aspectos posibles del comportamiento de sus trabajadores.Este despliegue de ña cuantificación está en línea con dos siglos de tradición disciplinaria del trabajo, de ideología productivista y gestión científica. El sentido de estas aplicaciones informáticas debe centrarse el análisis en el contenido y calidad de lo producido.

No obstante estos objetivos declamado, hemos visto cómo la declamada disciplina profesional se ha visto interpuesta como mera excusa para dar lustre a la vetusta inescrupulosidad del Capital. Esta - aunada a timoratos regímenes regulatorios que deberían impedirla - han degenerado perturbadoramente, confabulando novedosas formas de explotación laboral a través de la programación maliciosa de herramientas informatizadas. Su objeto no parece ser otro que detentar el control de la explotación.

Este es un nuevo ariete hacia la generalización de un "látigo de explotación digital" de escala global.

No resulta extraño a la mayoría de estos programas de gestión laboral agregar - al tradicional registro temporal - el desglose y filtrado de tráfico telemático, rastreos individualizados del historial de navegación, métrica del mouse y sus clics, así como medidas de incumbencia como las capturas de pantallas de empleados, las apertura de ventanas del sistema operativo y demás. Tal es así que los dispositivos del empleado resultan invadidos con metodologías de rastreos posicional por GPS, biométrica por control de cámaras de video, perfilado, registro y grabación de llamadas y mensajería instantánea, y todo a granel.

Además se han generalizado muy velozmente el acopio y comercialización no autorizada de los metadatos obtenidos a resultas de estos cacheos, por medio de terceros definidos en un maridaje neocolonialista de masivas corporaciones extranjeras (Meta, Google, Amazon, Microsoft). Ante estos casos no es extraño el empleo de biométrica como vector de circunstancialismo social, clasismo y racismo, así como el ingerencismo tercerizado en la gestión de recursos humanos.

En este contexto, los trabajadores han comenzado a percibir que el software no sólo ha sido vectorizado como si de un viejo rebenque se tratara - atizando a los trabajadores con el vacuo fin de producir datos que validen al sistema de métrica estadística en sí - sino que también se lo han convertido en molino y yugo, que combina la meta-producción como matriz extractivista cautiva.

Los efectos nefastos sobre la salud mental, estabilidad económica, de los trabajadores y los múltiples mecanismos de autocensura que estos escenarios promueven en sus Organizaciones no pueden soslayarse.

Combatir al Capital

La explotación laboral está lo suficientemente añejada como para que los Trabajadores reconozcan - por mero reflejo - que su principal arma ha sido siempre la organización en la defensa de sus intereses profesionales. El objetivo estratégico lo constituye el bienestar y felicidad; y el sustento táctico - en mayor y menor medida - ha sido el de evitar la confrontación innecesaria, para dar la lucha necesaria, y darla para vencer.

La ciber-explotación laboral ha de ser combatida según la misma tesitura, a través de lo que puede denominarse "lucha telemática de los hackers organizados".

Los hackers son individuos que han reprogramado sus conciencias para compilar lo que el Pueblo quiere. No es difícil para ellos programar guiones, rutinas, extensiones de navegador, macros de hojas de cálculo y aplicaciones, capaces de contrarrestar - en CPU propia o ajena - los aviesos esquemas de monitoreo y explotación por software en el ámbito de Trabajo.

La automatización que permite el software cuando se la aplica a la lucha telemática de los hackers organizados, es capaz de inflar artificialmente las métricas de control obrero, aliviando así la presión impuesta a los descamisados.

Este método de combate al Capital no puede juzgarse nunca como decisivo, gravita positivamente pues contrarresta la informática al servicio de la explotación. Mas sólo puede prologar la lucha para que no cese hoy. Por tal motivo las Organizaciones han de fijarse como alta consigna de lucha la concreción de un instrumento legal de protección del teletrabajador, que impida, contrarreste y castigue la utilización de métrica invasiva en el ámbito laboral digital.

Armas para el Pueblo

La defensa de los intereses profesionales ha llevado a determinadas técnicas de confrontación para las organizaciones de los trabajadores, en donde no todo está dicho y donde las herramientas mismas de trabajo no pudieron estar ausentes. Fue así que se alimentaban zapatos a la máquina, piedras al buche, y no faltó lo de recurrir al palo, los miguelitos y al cóctel molotov para sofrenar la violencia de matones y patrones.

Sin embargo, la destrucción física del cómputo de vigilancia ya no reviste una importancia análoga a la de circunstancias pasadas. Hoy simplemente basta con reprogramarlo para que haga lo que nosotros queremos. En otras palabras, darnos acceso y control sobre él y lograr que se ajuste a las necesidades de nuestras Organizaciones. 

Telecommutters se autoproclama como una colección de guiones de programación, software, rutinas y estrategias para interrumpir los sistemas de gestión y métricas remotas.

De esta forma, acceden a combatir el Capital mediante la simple ofuscación de los sistemas de televigilancia en el ámbito del trabajo.

Entre sus obras de arte se encuentran:

  • Webcam Manager, que presenta una webcam virtual con un bucle de video para representarse en videollamadas, presentando un nombre de interfaz generico para evitar el escrutinio.
  • I Am Still Working, que automatiza movimientos del mouse simulando presencia en una computadora y disipando sistemas de monitoreo de mouse como Hubstaff, ActivTrack, etc, a la vez que escribe mensajes para los programas de registro laboral.
  • Screenshot claim, envía un correo electrónico al jefe y todo el staff que recuerda los derechos del trabajador, litiga y educa sobre implicancias criminales del registro no autorizado, toda vez que registra actividad de registro ilegal.
  • Gamouflage permite desplegar un overlay transparente irregistrable sobre una interfaz web laboral, permitiendo navegar y jugar juegos a expensas del registro ilegal de actividades de trabajo.
  • Track My Bot en tanto es un dispositivo que se conecta a la computadora vía USB tomando la guisa de teclado y mouse, permitiendo reproducir en bucle infinito acciones de mouse y tecleos prehechas de tales dispositivos. Esto permite simular un repetitivo trabajo infinito.