miércoles, 29 de marzo de 2023

Cómo juego Speed Dreams II en Ubuntu?

En la inauguración del Autódromo 17 de Octubre y en ocasión de la largada del "Segundo Gran Premio del General Juan Perón y de la Ciudad de Buenos Aires", Juan Perón enseña cómo instalar el juego de carreras Speed Dreams 2 en Ubuntu.

¡Descamisados!

Que diáfano día para este espectáculo del motor, que tiene como máximos protagonistas a nuestros corredores, y las visitas de las máximas luminarias extranjeras. Donde antes no había sino pastos crecidos, hoy se eleva este magnífico autódromo

Es indudable que el mundo de nuestros días está viviendo un intenso período de evolución que va transformando el concepto de la vida moderna. No comprender esto y no propender a ello en lo político, en lo social, en lo económico, en lo cultural, etc., es colocarse nadando en contra de la corriente. 

En lo político, las nuevas formas llevan hacia un socialismo nacional con el apoyo de los grandes movimientos nacionales como los que se pueden ya observar en toda Europa, Asia, Medio Oriente, África, etc. La reacción, que aún resiste a la evolución indetenible, está echando mano al neocapitalismo, como una forma transaccional para no ceder, pero ese remedio les resultará a la larga peor que la enfermedad.

En lo económico, casi todo el mundo civilizado ha emprendido ya el camino francamente comunitario. El individualismo liberal capitalista es un lujo que ya no se puede dar un mundo superpoblado y, en lo social, todo se encamina hacia comunidades más acordes con las necesidades de los pueblos y los hombres de hoy. Oponerse a todo esto es poner palos en la rueda a un progreso que - con oposición o sin ella - insoslayablemente ha de pasar bajo la bandera a cuadros. 

Hoy cualquier red de datos que hemos tendido para las computadoras del Pueblo nos parecen una pista de Fórmula Uno, y cualquier cablemódem nos avala correr a través de ella como si dirigiésemos un monoposto de Ferrari o Mercedez Benz.

Sin lugar a dudas esto se debe al sistema GNU, que puede hacernos diponer de simuladores de vehículos y que para colmo pueden enlazarse entre sí por medio de conexiones de datos.

 

Podrán descargar la versión 2.3.0 disponible en empaquetado precompilado AppImage.

Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de organización:

mkdir ~/.speed-dreams/
cd ~/.speed-dreams/ ;
wget https://sourceforge.net/projects/speed-dreams/files/2.3.0/speed-dreams-2.3.0-x86_64.AppImage ;
wget https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Speed_Dreams_Icon.svg/48px-Speed_Dreams_Icon.svg.png
chmod +x speed-dreams-2.3.0-x86_64.AppImage;
sudo
speed-dreams-2.3.0-x86_64.AppImage /usr/bin/speed-dreams

Conforme termine de realizarse toda esta tarea, y de descargar los 1,9GB de la imagen binaria, podremos ejecutarlo introduciendo el comando speed-dreams, o bien lanzándolo desde Aplicaciones / Juegos / Speed Dreams 2.

El menú inicial el bastante completo y muy típico de estos juegos de simulación de conducción.

Cada corredor puede tener su perfil de preferencias en el juego, que nos permiten ajustar distintos estilos y sapiencias de conducción, desde una sencilla hasta la más complejas. Naturalmente esto hará caso al nervio y el despliegue de pontencias erogadas por el motor simulado, transmitida al piso virtual.

Para el arte de la conducción puede utilizarse tanto el teclado como - idealmente - algún controlador con volante, palanca de cambios y tres pedales, incluso con motor de resistencia ("force feedback). En ambos casos se puede configurar desde la pantalla de Control, asignada a cada perfil de jugador.

Para realizar cambios de marcha con embrague estoy usando w como embrague, y q o e para rebajar o subir la marcha. De esta forma podremos embragar y rebajar con un rápido w+e, y subir de marcha con w+q. Debemos tener especial cuidado en las configuración de carrera compleja, para no romper la caja de cambios. Podremos así tener la muñeca del chueco.

Naturalmente, es posible utilizar coches con caja secuencial, lo que facilita la cosa al embragar automáticamente con solo una tecla para pistear como un campeón.

Los botones 1-9 activan y desactivan los distintos ítems de presentación de la pantalla.

Podremos conmutar el indicador de marchas, el tacómetro lumínico, el porcentaje de grip de cada cubierta así como temperatura de pastillas de freno, así como un acelerómetro axial, etcétera. Todo confabula una excepcional simulación.

Speed Dreams II cuenta con varios motores de simulación de la física de coches de carreras. En particular, la versión 4 de estos motores es más compleja, pues computa la tenida al piso de las cuatro ruedas en base a su fricción, así como las cargas gravitacionales de los giros y la aceleración. Los circuitos tridimensionales permiten entonces la alta velocidad pero también la tracción diferencial sobre distintas superficies.

Naturalmente, para llegar a buen destino debemos contar con buena muñeca.

Pero, si todo lo anterior es ineludible, lo racional será realizar la evolución en su medida y armoniosamente, porque nada se realiza en la vida de los pueblos en compartimientos estancos, ni al servicio de las parcialidades interesadas. Cuando la evolución se impone, el juego de acciones y reacciones está decidido de antemano: es necesario entonces que la comprensión se produzca para evitar males mayores.


Si tenemos muchas ganas, en lugar del caso anterior podríamos querer compilar el código de Speed Dreams 2. En este caso es un menester que puedo recomendar sólo si deseamos la inclusión de recursos adicionales (autos y circuitos). Para compilarlo en lugar de lo anterior usaríamos:

mkdir /tmp/speed-dreams2/ ;
cd /tmp/speed-dreams2/ ;

wget https://sourceforge.net/projects/speed-dreams/files/2.3.0/speed-dreams-src-base-2.3.0-r8786.tar.xz ;
wget https://sourceforge.net/projects/speed-dreams/files/2.3.0/speed-dreams-src-hq-cars-and-tracks-2.3.0-r8786.tar.xz ;
wget https://sourceforge.net/projects/speed-dreams/files/2.3.0/speed-dreams-src-more-hq-cars-and-tracks-2.3.0-r8786.tar.xz ;
wget https://sourceforge.net/projects/speed-dreams/files/2.3.0/speed-dreams-src-wip-cars-and-tracks-2.3.0-r8786.tar.xz ;
wget https://sourceforge.net/projects/speed-dreams/files/2.3.0/speed-dreams-src-unmaintained-2.3.0-r8786.tar.xz
;
wget https://sourceforge.net/projects/speed-dreams/files/3rd%20party/Sources/post-2.0.0/3rdParty-2.2-src.zip ;
tar -xJf speed-dreams-src-base-2.3.0-r8786.tar.xz ;
tar -xJf speed-dreams-src-hq-cars-and-tracks-2.3.0-r8786.tar.xz ;
tar -xJf speed-dreams-src-more-hq-cars-and-tracks-2.3.0-r8786.tar.xz ;
tar -xJf speed-dreams-src-wip-cars-and-tracks-2.3.0-r8786.tar.xz ;
tar -xJf speed-dreams-src-unmaintained-2.3.0-r8786.tar.xz ;
unzip
post-2.0.0/3rdParty-2.2-src.zip
sudo apt install build-essential cmake libopenscenegraph-dev  freeglut3-dev libvorbis-dev libsdl2-dev libopenal-dev libenet-dev libexpat1-dev libjpeg-dev libplib-dev libpng-dev libcurl4-openssl-dev libsdl2-mixer-2.0-0 ;
mkdir build/ ;
cd build/ ;
cmake -D CMAKE_PREFIX_PATH:STRING=/usr/local \ -D OPTION_OFFICIAL_ONLY:BOOL=ON .. ;
make ;
sudo make install

...y ejecutamos con:

speed-dreams-2

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.