martes, 10 de septiembre de 2024

¿Cómo instalo PyDPainter en Ubuntu?

Ante la Confederación General Empresaria, Juan Perón expone sobre la inutilidad del conservadurismo, a la vez que explica cómo instalar y usar PyDPainter en Ubuntu, el sucedáneo libre del graficador pixelart Deluxe Painter.

¡Vean señores!

Por trágica paradoja, las clases conservadoras perdieron el instinto de conservación. Su anhelo vehemente de retenerlo todo, su afán de no ceder una sola de las ventajas acumuladas, no les permitió ver lo que era de manifiesta evidencia: que el querer conservarlo todo les llevaría a perderlo todo. No comprendían que el saber adaptarse a la tremenda transformación que sufría el mundo era un problema de vida o muerte: lo conservador era, precisamente, ser revolucionario. ¡Pero no lo entendieron!...

Todo puede reducirse a la ajustada síntesis para decir que el régimen capitalista ha abusado de la propiedad y él es el culpable del comunismo, porque le ha dado razón de ser. Sin la explotación exagerada del antiguo régimen capitalista no se hubiera llegado al comunismo. Esto es la causa y el comunismo el efecto, y para suprimir el efecto hay que suprimir la causa. Por eso pensamos que hay que ir a una economía social o ir al comunismo, porque no se puede seguir generando conflictos y cerrando los ojos a la realidad. O hacemos esto o hay que enfrentar al comunismo de otra manera.

Esto mismo lo han querido aplicar estos señores al software. Han pretendido conservar en caja su código fuente, sin siquiera entender que una de cristal podría darle valor. El verdadero valor del código lo da compartirlo con una Comunidad Organizada, para que lo estudie, lo modifique, y le dé el vuelo de un ave migratoria, sin enjaularlo con una Licencia de Usuario Final.

Nuestro Movimiento ha sido sabio, poniendo distintas piezas de código fuente a disposición bajo GPLv3, llegado al extremo de reprogramar desde cero en base a la ingeniería inversa para dar a un diseño computado, la formulación implementada de la libertad. 

Vayamos a los hechos. Recientemente, con el resurgimiento de todo lo "retro", el arte basado en píxeles de baja resolución y paletas cromáticas limitadas se han vuelto tan populares como alguna vez lo fueron en tiempos del Primer Peronismo. Muchas herramientas diseñadas para afrontar este medio son demasiada complicadas o crudas, y otras - de gran valía - permanecen enjauladas incluso hoy tras los barrotes de una EULA. Sin embargo, nuestro "Pied Painter" - o más bien, el PyDPainter 2.0 - conforma un grato ejemplo populista. Se trata de un graficador que recurre a la librería PyGame de Python para lograr replicar al superclásico Deluxe Paint de Dan Silva, el cual en el período 1985-1995 destacó, de manos de la €lectronic Art$, como una de las grandes aplicaciones de dibujo para la Commodore Amiga y posteriormente las PC compatibles con IBM.

Como resultado PyDPainter es una pinturita que nos permite lograr lo de ayer hoy, y mucho más. Para instalarlo en nuestro sistema GNU con Linux, podremos recurrir a descargar su código a través de la Terminal. Para ello abrimos una con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

sudo apt install python3-pygame python3-numpy git ;
cd /tmp ;
git clone https://github.com/mriale/PyDPainter/ ;
mv /tmp/PyDPainter/ /home/$USER/.PyDPainter/ ;

Una vez descargado el código fuente, opcionalmente podremos agregarle un lanzador que hará más fácil iniciar el Programa. En el caso de Ubuntu, hacemos clic en Sistema / Preferencias / Aspectos y Comportamiento / Menú Principal. En la consecuente ventana Menú Principal, podremos seleccionar el menú "Gráficos", presionar el botón Nuevo Ítem, y al desplegar la ventana Crear Lanzador, indicamos en el campo "Orden:"  "/home/usuario/.PyDPainter/PyDPainter.py" (sin las comillas), junto con el resto de los datos del campo Nombre y opcionalmente un Comentario.

Tras presionar el botón Aceptar habremos creado manualmente el lanzador, con lo cual podremos ahora lanzar el programa desde Aplicaciones / Gráficos / PyDPainter

Por defecto, la pantalla inicial del programa nos proveerá con un lienzo negro de estilo Commodore Amiga, sobre el cual seremos libres para trabajar.

La interfaz gráfica de usuario y el flujo de trabajo de PyDPainter replican en un 90% la del Deluxe Painter II, con un herramental plástico adecuado para sernos de provecho en pixelart.

Casi todas las herramientas esconden opciones adicionales en la inefable interfaz de baja resolución, la cual - lejos de permanecer aislada - tendió a un sincretismo que permearía en las interfases de muchos programas graficadores posteriores. 

Aún así, existen varias diferencias lógicas que lo hacen superior. En primer lugar, al crear un lienzo podremos definirlo de manera más completa que en el programa original, acorde a la posibilidad de replicar distintas máquinas (ya sea Amigas con video NTSC o PAL, o bien los colores de los modos de video CGA, EGA, MCGA, VGA o SVGA tradicionales de la PC).

En el caso del panel superior de PyDPainter encontraremos en su esquina derecha, el ícono "<<", y haciendo doble clic con el ratón podremos desplegar las opciones de pantalla de PyDPainter, sumamente útiles para determinar el tratamiento visual que nos presentará el graficador. Esto nos permite conmutar entre tres modos de simulación efecto empalizada, mostrando las típicas scanlines  de las pantallas de tubo de rayos catódicos, así como dithering o serrucho crudo. Por otro lado, permite regular la relación de pixel, ya sea rectangular 3:1 o bien 1:1. 


Asimismo podemos activar el zoom de ventana, o bien activar el modo de modo pantalla completa (conmutable con F11 también), y la aparición de las etiquetas de ayuda (que se logran dejando el cursor sobre el elemento a indagar).

El Deluxe Paint se centraba alrededor del concepto de paleta cromática conmutable (cada conjunto con una letra identificatoria), con una selección de color doble, con el color principal aplicable con el botón izquierdo del ratón, y el secundario aplicable con el botón derecho). 

Tradicionalmente estas paletas estaban limitadas por la memoria de video, pudiendo representar hasta los 4096 colores en  la Amiga, y en MS-DOS de principios de los 90s recurrían al característico modo de 256 colores fijos de la paleta MCGA, o variables de la VGA, eventualmente recurriendo incluso a menos colores y al uso de degradados. La herramienta recogecolor es con la coma ",".

Para ciclar entre los colores de la paleta, podremos recurrir a [ y ], convirtiendo  el pintado de pixel indizado  en un proceo rápido a dos manos, donde el botón derecho del mouse podría pintar con el color de fondo (en lugar de activar un menú contextual como en otros paquetes modernos).

La herramienta básica es el píxel, que elegimos con el punto ".". La lupa podremos activarla con la m, mientras que con < y > regulamos el nivel de zoom.

Varios de los botones de la barra de herramientas de Deluxe Paint permitían escoger entre dos herramientas plásticas. Estas se delimitaban a través de dos secciones en las que se dividía diagonalmente el botón (o recurriendo a minúsculas o mayúsculas que servían de atajo con el teclado). Esto implicaba que era posible activar una acción plástica al hacer clic en la parte superior derecha del botón, y otra acción plástica relacionada, si hacemos clic en su parte inferior izquierda del botón en cuestión. Por ejemplo, la herramienta dibujar a mano alzada se activa haciendo clic en la parte superior (o presionando la d) del mismo, o bien podremos seleccionar la opción dibujar área si presionábamos en la parte inferior (o bien presionando D, con mayúscula). En este caso, el comportamiento de la herramienta es el de marcar un borde cerrado, y DPainter rellenará con el color elegido.

Varias de las herramientas replican este comportamiento. a activa el modo de punto (que en su tamaño más reducido, permite dibujar píxels individuales. r activa un rectángulo, mientras que R activa un rectángulo relleno. v activa las líneas rectas (V permite programar su trazo), mientras que q lo hace con las líneas curvas. 

Contamos con un modo de ajuste a la rejilla con g, y simetría, con /, y un estampador de texto con t.

Las herramientas Deshacer y Rehacer - importantísimas en el Deluxe Paint -  se activan con la u y la U respectivamente, mientras que K borra el lienzo.

El programa en sí consta de "modos" de operatoria a nivel píxel, que se activan con las teclas de función.

F1 Matte
F2 Color
F3 Reemplazar
F4 Restregar
F5 Sombreado
F6 Uniformar
F7 Ciclar
F8 Emparejar
F9 Tinte (coloreado)

Desde el menú Effects/Background/Open es posible programar una imagen de fondo, que podremos utilizar como referencia. Una vez dispuesta esta imagen opcional, podremos conmutar entre tres modos de presentación con Ctrl+b (lienzo, fondo, o combinación).

Por ejemplo, la transparencia se obtiene simplemente en el modo Matte, seleccionando un índice de color de fondo (se usa el botón derecho del ratón en la paleta para alterarlos). Los colores se pueden bloquear recurriendo a un stencil (básicamente, un listado de indices de color cuyos pixels son alterados en los datos de imagen). Y las animaciones de ciclado simple de color crean usando entradas contiguas en la paleta. Era fácil cambiar el tono cromático de una sección de imagen alterando los colores correspondientes en la paleta.

Los pinceles pueden recortarse a partir del fondo por medio de las herramientas caja, dibujo a mano alzada o bien selección poligonal. De esta manera pueden usarse como cualquier otro pincel o lápiz. Esta funcionalidad es incluso más simple de usar que la herramienta Sello de Photo$hop, o los canales alfa provistos en programas posteriores. Un aspecto importante es que los pinceles pueden rotarse y escalarse, incluso en perspectivas 3D. Una vez que se ha seleccionado el pincel, aparecerá agregado al cursor del mouse, proveyendo una previsualización exacta de lo que se va a dibujar. Esto permite posicionar con precisión los píxels de los pinceles, a diferencia de los pinceles de Photoshop CS3 e anteriores, que mostraban un borde delineado genérico.

Las animaciones (o como se les decía en la jerga, "sprites") se almacenaban en formato IFF Anim, con compresión delta que sólo almacenaba las diferencias entre los fotogramas, volviendo las animaciones más pequeñas y rápidas de ejecutar), pero actualmente puede recurrirse a varios formatos de salida (incluyendo GIF), lo que facilita la generación de elementos para videojuegos.

En fin, PyDPainter cuenta con una buena documentación en línea, que se encuentra integrada también en el directorio .PyDPainter/doc (incluyendo atajos y tutoriales). Por lo demás, al basarse fuertemente en el DeluxePainter, podremos recurrir a los capítulos de operación (Cap.2 en adelante) del Manual de Deluxe Paint iV como referencia.

viernes, 30 de agosto de 2024

¿Cómo instalo Pioneer en Ubuntu?

Consagrando los verdaderos logros de la libertad ante las multitudes del Pueblo, Juan Perón enseña a instalar el juego de exploración espacial Pioneer en Ubuntu.

¡Mis queridos descamisados!

Los Argentinos, como ciudadanos de un país libre y gallardo, tenemos la obligación de oponernos a cualquier suerte de avasallamiento, sea quien fuere el que lo intenten. Para ello no hemos de reparar en medios ni en sacrificios. Dije hace mas de cinco años que, si por rechazar cualquier imposición debíamos prescindir de las comodidades de la civilización, estábamos dispuestos a cualquier sacrificio. Que mientras tuviésemos caballos, los criollos no echaríamos de menos los automóviles; si ni caballos poseyéramos, a pie recorreríamos nuestros caminos sin fin. Y si por algún osado quisiera acorralarnos, para defender nuestra Patria no precisaríamos los adelantos atómicos ni las armas automáticas. Nos bastaría una tacuara, nos bastarían nuestros puños mientras en nuestro pecho palpitara nuestro corazón.

No es que yo crea que este caso llegue a presentarse a los argentinos. No vayan a interpretar los agoreros que preveo desastres y calamidades. Sólo expreso la convicción - bien arraigada en mi espíritu - de que los argentinos constituimos un pueblo que no sabe doblegarse ante ninguna imposición. ¡A las buenas, todo! ¡Frente a una amenaza, nada!

La historia del mundo es la historia del drama de los hombres y de los pueblos en la lucha por su libertad. Esa historia - vivida por casi todos los pueblos y todas las naciones - tiene para los argentinos un significado extraordinario en la figura del Capitán de los Andes, que es el arquetipo de nuestra nacionalidad y de esa lucha por la libertad.

Los argentinos hemos recibido como herencia gloriosa de nuestra tradición la defensa de esa libertad, que para nosotros vale más que todas las fuerzas del mundo y que todas las ambiciones o los hechos que pueda encontrar la República en su marcha.

Naturalmente, esta libertad no tiene que ver con lo que digan cuatro pelagatos ni con las crypto, sino con la independencia del Pueblo de la Nación Argentina, y puede incluso reflejarse en nuestro software, al que podemos copiar, estudiar, modificar, y redistribuir. Sólo con ello en mente podremos proyectarnos a un futuro venturoso y provechoso.

Pioneer es uno de estos programas, capaces de ilustrarnos en gran medida la Justicia Social en el Espacio. Se trata de un juego de simulación de combate y comercio espacial basado en el videojuego de los 80, cuya base de código se encuentra liberada bajo GPLv3 y su arte bajo Creative Commons CC-BY-SA.

Se trata de una propuesta ambientada según una aventura espacial del Siglo 23, donde el Justicialismo se ha expandido por nuestra Galaxia, y nuestra misión será llevarlo a otras.

En este juego de final abierto podremos llevar a cabo cualquier tipo de existencia que nos plazca. Podremos tanto explorar y comerciar entre millones de sistemas estelares, como irnos al conurbano galáctico y sumergirnos en una una vida de crimen como un pirata, traficante o cazarecompensas. Los viajes comprenden varios territorios de distintas facciones, con bellos escenarios con estrellas foráneas y mundos alienígenas que podremos observar por vez primera en 3D. El universo será lo que queramos hacer de él.

Pioneer se encuentra bajo constante desarrollo y cuenta con una amistosa comunidad de jugadores, modders y programadores.

En el caso de nuestro sistema Ubuntu, podremos instalarlo gracias a su imagen binaria descargable de 683MB, o bien a su código fuente de 712MB. Para hacernos con la primera, podremos recurrir a nuestra Terminal, abriendo una con Ctrl+Alt+t e ingresando el siguiente bloque del Comando de Organización:

cd /tmp ;
wget https://github.com/pioneerspacesim/pioneer/releases/download/20240710/Pioneer-x86_64.AppImage ;
chmod +x /tmp/Pioneer-x86_64.AppImage ;
mkdir ~/.pioneer ;
cd ~/.pioneer/ ;
wget -O icon_pioneer.png https://github.com/pioneerspacesim/pioneer/blob/master/data/icons/badge.png ;
mv /tmp/Pioneer-x86_64.AppImage ~/.pioneer/ 

Con esto habremos descargado la imagen binaria y será suficiente para usarlo. Si en cambio nos place descargar el código y compilarlo a lo vikingo, podremos hacerlo en Ubuntu mediante el siguiente bloque de Comandos de Organización:

sudo apt install g++ cmake mesa-common-dev libfreeimage-dev libglew-dev libfreetype6-dev libsigc++-2.0-0v5 libsigc++-2.0-dev libvorbis-dev libassimp-dev libsdl2-dev libsdl2-image-dev ;
cd /tmp ;
wget https://github.com/pioneerspacesim/pioneer/releases/download/20240710/pioneer-linux-x64-20240710.tar.gz ;
tar xvzf
pioneer-linux-x64-20240710.tar.gz ;
cd /tmp/pioneer-linux-x64/ ;
git clone git://github.com/pioneerspacesim/pioneer-thirdparty.git ;
cd /tmp/
pioneer-linux-x64-20240710/pioneer-thirdparty/ ;
autoconf ;
./configure ;
make ;
cd /tmp/
pioneer-linux-x64/ ;
./bootstrap thirdparty ;
cd /tmp/
pioneer-linux-x64/build/ ;
./bootstrap ;
make -C build -j4 ;
sudo make install

Para crearle un lanzador podremos hacer clic en el panel Aplicaciones, Editar Menus, y crear un lanzador que dirija a /home/$USER/.pioneer/Pioneer-x86_64.AppImage (o simplemente a pioneer, si es que nos habíamos decidido por compilarlo).

En cualquier caso, una vez completado el lanzador, podremos ejecutarlo desde Aplicaciones / Juegos / Pioneer.

Al lanzar Pioneer nos encontraremos con su menú principal, que nos podrán crear un nuevo juego, o continuar uno ya creado. 

Crear un juego nuevo implica hacernos un nuevo personaje de rol, el cual podremos modelar según puntajes, dinero e incluso apariencia física según nuestros gustos, o generarlo al azar.

Lo mismo podremos hacer con los detalles de la nave espacial, asignando distintas características y estadísticas de su sistema de propulsión, así como adquirir distintos sistemas de armas para sus pilones de carga. Al comenzar estos son mas bien limitados, pero contaremos con todo un árbol tecnológico para incrementar la potencia del equipamiento ofensivo, defensivo, computadoras de astronavegación, etcétera.

Una vez que tengamos esto listo, podremos asignarnos una misión o un ambiente de operaciones.

El mapa de navegación nos dará un sector bastante cuantioso de generado, donde podremos desarrollar nuestras actividades. Cada sistema estelar cuenta con sus estadísticas y posibilidades, amigos y enemigos (contaremos también con un editor de misiones).

El Pioneer es parte de un subgénero pequeño de simuladores de vuelo que se basan en las mecánicas clásicas. Como tal, Pioneer y predecesores como XF-5700 Mantis de Microprose, Frontier, Oolite y FFE pueden considerarse simuladores espaciales realistas, hasta cierto punto, claro. 

A aquellos quienes no son familiares con ellos, aprender a pilotar de esta manera puede resultar complicado, ya que es muy diferente al de un estilo de vuelo de un simulador de vuelo, donde los vectores de avance más o menos coinciden con la nariz del avión. Estas son las principales diferencias entre Pioneer y los juegos espaciales más tradicionales.

  • La velocidad es relativa. La velocidad de la nave se determina por cuán rápido va comparada con un cuerpo referencial (planeta, estación espacial, sistema, etcétera). La velocidad es imposible de determinar sin un objeto referencial. Cuando aterriza en la tierra, su velocidad se muestra como 0 m/s en relación a la Tierra. Sin embargo, está viajando a unos 30,3 km/s en relación al Sol, porque la tierra está orbitando al Sol. De forma similar, si su velocidad se muestra como de 0 m/s en relación a: sistema, no se está moviendo en referencia a dicho sistema (típicamente el solar, u otro punto de referencia central). Sin embargo, se está moviendo efectivamente (en la Tierra, que se está moviendo), a unos 30 km/s relativo a la Tierra.
  • Inercia: un cuerpo en movimiento permanecerá en movimiento, a no ser que sea influido por una fuerza externa. En Pioneer, no existe nada que lo detenga, aparte de la gravedad de cuerpos locales. Sin embargo, a velocidad, esto resulta negligible. Esto significa que cuando acelera a 10.000 kilómetros por segundo, continuará viajando a dicha velocidad hasta que agote la misma cantidad de energía para disminuir su velocidad a los 0 km/s. Por este motivo, al planear un viaje debe tomar en cuenta la cantidad de tiempo y energía que le llevará ascelerar y desacelerar. También, una vez en ruta a su destino, puede consumir mucho tiempo cambiar de dirección, ya que necesitará agotar casi la misma cantidad de energía que utilizó en acelerar.

Las misiones se basan en gran medida en las del Oolite/Elite. Entre ellas tenemos misiones de transporte, contrabandeo de cargas, taxi espacial, asesinatos encargados, misiones de búsqueda y rescate, o de cartografiado y exploración.

Podremos también recurrir a la wiki de Pioneer, donde podremos encontrar lugares de interés.

Si bien podremos comenzar volando con piloto automático, nadie duda ya que la conducción espacial es un arte, y conociendo su teoría seremos más prácticos que ignorándola. Para mover la dirección de la nave utilizamos:

  • Flechas del Cursor: Rotar
  • RePág/AvPág: Rota en el eje Z
  • W, A, S, D: Mueve la nave.
  • R, F: Cabece arriba/abajo
  • C: Centra a la posición donde se encuentra
  • H: Centra en el sistema seleccionado
  • Intro: Activa/Desactiva la selección automática de sistema galáctico.
  • Barra espaciadora: Activa el Objetivo de Salto Hiperespacial entre Acerrojar/Seguir selección. 

...en tanto que para controlar los motores de empuje relativo, usamos:

  • W, S: Empuje adelante/atrás
  • A, D: Empuje Izquierda/Derecha
  • R, F: Empuje lateral Arriba/Abajo
  • Q,E; I,O: Inclinación Antihoraria/Horaria
  • J,L: Guiño izquierda/derecha
  • I,K: Cabeceo Abajo/Arriba
  • X, P: Detener rotación
  • V: Activa la amortiguación de rotación

  • F1: Cambia su vista de cámara.
  • F2: Usa el sistema cartográfico.
  • F3: Mira su propia información.
  • F4: Selecciona objetivos, operae el piloto automático, y comuncaciones.
  • Mayúsculas+F1 a F5: Compresión de tiempo.
  • RePág / AvPág: Incrementa/disminuye la compresión de tiempo.
  • Ctrl+Clic en íconos de compresión de tiempo: fuerza la compresión del tiempo.
  • Ctrl+ImprPant: Guarda captura de pantalla.
  • Ctrl+F9: Guarda rápidamente la partida.
  • Ctrl+Q: Sale instantáneamente.
  • Alt+F1: Cambia la vista a la cámara de sobrevuelo.

 

Menús

  • Números, o haga clic para seleccionarlos

Sistema Cartográfico

  • F5: Vista de sector galáctico
  • F6: Vista de Sistema orbital
  • F7: Información de sistema estelar
  • F8: Vista Galáctica.

Vista Orbital

  • Clic / doble clic sobre planeta o nave, lo activa/desactiva como objetivo de navegación, y pone foco en él.
  • Mantener presionado el botón derecho del mouse: Rota la vista.

En vuelo

  • F5: Desconecta el piloto automático, y cambia entre vuelo manual y vuelo de velocidad crucero.
  • F6: Tren de aterrizaje
  • F7: Salto Hiperespacial
  • F8: Configura velocidad de empuje inferior
  • F9: Conmuta panel de misiles/panel de sensores.
  • CTRL+clic en un ícono de piloto automático: Conmuta entre Control de Rumbo entre adelante, atrás, y apagado (nota: Ctrl+F5 no funciona, debe usarse el mouse.
  • R: Activa la amortiguación de rotación.
  • Tab: Conmuta entre el indicador HUD completo/HUD sin etiquetas/Sin HUD, y sin Cabina.
  • `: Consola de Lua,
  • Clic sobre un objeto lo selecciona (planeta, estrella, estación, nave).
  • Ctrl+Clic en un objeto: lo selecciona como cuerpo de referencia.


 

Vistas (teclado numérico)

  • Teclado Numérico 8: Cámara frontal / Rota Externa/Lateral Arriba
  • Teclado Numérico 2: Cámara trasera / Rota Externa/Lateral Abajo
  • Teclado Numérico 4: Cámara izquierda / Rota Externa/Lateral Izquierda
  • Teclado Numérico 6: Cámara derecha / Rota Externa/Lateral Derecha
  • Teclado Numérico 9: Cámara superior
  • Teclado Numérico 3: Cámara inferior / Gira Externa/Lateral a la derecha
  • Teclado Numérico +: Mas Zoom (externa/vista lateral solamente)
  • Teclado Numérico -: Menos Zoom (externa/vista lateral solamente)
  • Inicio: Reinicia el zoom (sólo visión lateral)
  • , y .: Durante la vista fija, rota la cámara

En las vistas externas, el botón de la rueda de scroll del mouse rota la visión.

(NOTA: Si no tiene teclado numérico, deben reconfigurarse los controles de dirección desde la solapa Vista de la pantalla Configuración.

Sensores

  • \: Activa el modo de sensores
  • ]: Incrementa el alcance de sensores
  • [: Disminuye el alcance de sensores

Armas

  • T: Apunta al objeto en la mira
  • Barra espaciadora: Dispara laser
  • M: Disparra Misil

Mantener presionado el botón derecho del mouse también permite rotar la nave ("estilo Mantis").

Mantenga Mayúsculas+Tecla de Movimiento para realizar un empuje suave y giros controlados.

Modo de Control "Velocidad Crucero"

El empuje y la rotación son similares a los indicados anteirorlmente.

  • Enter, T: Acelera
  • Mayúscula Izquierda, G: Desacelera

Al activar cualquiera de los motores de empuje y traslación desactivará temporalmente el modo de control "Velocidad Crucero", hasta que corte el empuje direccional.

Un truco útil cuando necesita aproximarse a las astronaves - ya sea en combate, o en una misión de rescate - es presionar Ctrl+LMB sobre el objetivo, para utilizarlo como marco de referencia. Luego active el modo de Crucero de Velocidad, con lo cual operará relativo a dicha nave, y en la práctica funcionará como un modo de igualar su velocidad, si la velocidad se configura en 0.

Cheats y depurado

  • Ctrl-I: Información de depurado (FPS y otras estadísticas).
  • Ctrl-F10: Visor de Objetos. Muestra el objeto actualmente seleccionado. Permite editar las propiedades de un planeta.
  • Ctrl-F12: Hace aparecer una nave hostil para practicar tiro.
  • ~ o ´ Despliega la Consola de depuración (dependiendo de la distribución de teclado). Algunos comandos útiles para depurar/probar o construibuir aparecen aquí.


viernes, 2 de agosto de 2024

¿Cómo instalo DownloadHelper en Ubuntu?

En su alocución radiofónicas del 7 de noviembre de 1951, Juan Perón explica cómo instalar la extensión de navegador DownloadHelper junto a su aplicación compañera CoApp, a fin de descargar videos de streaming en Ubuntu.

¡Trabajadores!

No puedo explicarme que haya argentinos que anhelan que nos gobiernen, como antes, desde el exterior; que sostengan que es mejor que las cosechas las vendan los consorcios extranjeros, pagando como antes al agricultor seis pesos el quintal, y no el Estado, pagándole diez veces más; que crean que es mejor que los transportes sean de consorcios foráneos y no del Pueblo Argentino, ocasionando remesas que suman muchos miles de millones de pesos por año que se restan al patrimonio de los argentinos; que piensen que es mejor para el país importar trabajo extranjero que favorecer a la industria nacional, ocupando a nuestros obreros y conservando en el país la ganancia de su propio trabajo; que quieran dusponer de empréstitos de los países imperialistas para luego pagarlos varias veces en intereses leoninos, y como agregado, pasar a depender de ellos. 

Lo que quieren estos señores es la dependencia del país. El imperialismo va tras un neocolonialismo de nuestros países, las oligarquías vernáculas van tras la explotación de nuestros pueblos como ha sido en sido en nuestro caso desde el Siglo XIX, y el software privativo va por la esclavitud de nuestra informática y nuestro hardware.

No extraña entonces que pretendan ser cautivos de sistemas de streaming para recibir de forma cautiva contenidos que son nuestros por derecho propio, y que quieran culebrear ante pretendidas "leyes de Derechos de Autor". Sabemos que el éxito de los productos con DRM se basa en la voluntad del Pueblo de desperdiciar su libertad por algún tipo de comodidad o diversión, y que a pesar de los más abyectos intentos de las ciber-oligarquías, el caudal de información de estricto dominio público disponible en la red sigue siendo enorme. 

Siempre he dicho que mi descargador de videos favorito es el consabido yt-dlp, que funciona desde la humilde terminal del sistema GNU. Sin embargo, nunca falta alguno que me pida una solución sencilla en base a una extensión de navegador para hacer lo mismo. Esto permitiría evitar tener que ser ducho en la Terminal. Yo siempre digo que dentro de la terminal todo, pero no veo porqué no podríamos ser capaces de operar desde un navegador de Internet tal como Firefox o Chromiun para liberar contenidos al Pueblo. Si bien no es lo que preveo en mi caso, para quienes prefieren dicha táctica para afrontar la descarga de contenidos audiovisuales y de paso dar una piña de enano a la Oligarquía, bien puedo recomendarles DownloadHelper

Se trata de una extensión que fácilmente puede agregarse a nuestro navegador Firefox por medio la web de Addons de Firefox para DownloadHelper (entre otros navegadores derivados del mismo, claro).

Han de saber que por defecto, DownloadHelper incorpora un widget a la barra del navegador, el cual - una vez iniciada una transmisión de stream - la detecta, y habilita entonces el recabado del flujo de datos recibido en forma de corriente de bytes, colectándolo en un fichero destinado a la carpeta ~/dwhelper como si de maná del cielo se tratara. En otras palabras, permite importar nuestros streams audiovisuales, archivándolos en forma de video digital para contar con ellos de manera local.

Podremos así disfrutar de las copias de nuestros videos favoritos, descargados en HD y convertirlos - en caso de ser necesario - así como extraer su audio digitalizado. Además es capaz de convertir y extraer audio: no sería extraño contar con los últimos discos de pasta de Gardel y hacer que las discográficas le vayan a cantar a Gardel.

Sin embargo, si bien la funcionalidad es destacable, no escapa para nadie que - para que funcione con la mayoría de los sitios de servicios - hemos de descargar una API adicional, la cual no se provee por defecto junto a la extensión "pelada". Esta herramienta - que permite mayor potencia de detección de flujos y de sitios - se denomina DownloadHelper CoApp.

Para instalar la última versión a nivel usuario debemos abrir una terminal con Ctrl+Alt+T e ingresar:

cd /tmp ;
wget https://github.com/aclap-dev/vdhcoapp/releases/download/v2.0.19/install.sh ;
chmod +x install.sh ;
./install.sh

El guion de instalación descargará los modificadores necesarios en los navegadores que cuenten ya con la extensión DownloadHelper (en este caso, Firefox), 

Tras usar el botón de DownloadHelper de toda la vida, nos será posible ahora acceder a múltiples servicios de streaming anteriormente no incorporados, amén de contar con las conversiones posibles de siempre.

Conforme se haya instalado, podremos asegurarnos de revisar la lista de los ficheros instalados desde la terminal, introduciendo el comando:

vdhcoapp install

De esta manera contaremos con una afiebrada extensión de descargar que permitirán la liberación de streamings hasta el más neófito de nuestros compañeros.

Si por algún motivo deseamos desinstalar la API de nuestros navegadores aceptados, podremos removerla por medio del siguiente comando:

vdhcoapp uninstall

Y recuerden trabadores: ¡Descarguen todo para el Pueblo! ¡Compartan todo!

domingo, 14 de julio de 2024

¿Cómo instalo MVS 3.8J TK5 en Ubuntu?

¡Trabajadores!

La mejor estrategia para instalar GNU es posponer el formateo de Window$ hasta que la desintegración del mismo convierta su reemplazo en un deseo ardiente, tanto para quien lo pagó, como para quien lo pirateó.


Esto lo sabemos todos. Lo que no muchos saben es cómo instalar MVS Turnkey 5, la distribución libre del viejo y peludo MVS de la International Business Machines. Es que MVS fue otrora el sistema operativo estrella de los mainframes de IBM desde mediado de los setentas hasta mediado de los 80s.  Sus sucesores MVS 3.8, MVS/XA, MVS/ESA, OS/390 y z/OS, todos muestran su herencia OS/VS MVS 3.8  Sin embargo, es de notar que existe una comunidad basada en una versión específica del mismo derivada de código no encumbrado, la OS/VS2 MVS Release 3.8J.

Esta versión fue cosechado una amplia comunidad de adeptos a lo largo de las décadas, finalmente dando lugar a la serie de distribuciones "llave en mano". Especificamente, tras la MVS Turnkey 3 de Volker Bandke, la Turnkey 4 y 4+ de  Jürgen Winkelmanns, salió la MVS Turnkey 5 de Rob Prins. Si bien se basa en las dos anteriores, Turnkey 5 ha sido completamente reestructurada: MVS TK5 consiste en 15 volúmenes de biblioteca DASD en lugar de los 27 volúmenes del TK4+. La mayoría de ellos son DADS de tipo 3390.

Para descargar el material de emulación que nos permita correr MVS en GNU, podremos abrir en nuestra máquina un terminal con Ctrl+Alt+t, e introducir los siguientes comandos de organización: 

sudo apt update
sudo apt install hercules c3270
sudo apt install git wget time build-essential cmake flex gawk m4 autoconof automake libtool-bin libltdl-dev libbz2-dev zliblg-dev libcap2-bin ;
cd /tmp ;
git clone https://github.com/SDL-Hercules-390/hyperion.git ;
cd /tmp/hyperion ;
./util/bldvlck ;
./configure ;
make ;
sudo make install

Esto nos instalará el notablemente pequeño emulador Hercules (implementación multiplataforma de código abierto del mainframe System/370 y la arquitectura de cómputo ESA/390, e incluso la última arquitectura  z/, de 64 bits). Asimismo, tendremos el cliente de terminal compatible con IBM TN3270.

Acto seguido descargamos el empaquetado con las cintas de MVS-TK5 (422MB), considerada en sí para el emulador de Mainframes IBM Hercules que acabamos de instalar:

mkdir ~/mvs/;
cd ~/mvs/ ;
wget https://www.prince-webdesign.nl/images/downloads/mvs-tk5.zip ;

Una vez descargada, le otorgamos los permisos de ejecución a los ficheros pertinentes:

chmod +x ~/mvs/mvs-tk5.zip ;
unzip ~/mvs/mvs-tk5.zip ;
cd ~/mvs/mvs-tk5/ ;
chmod -R +x * ;
chmod +x mvs ;
cd ~/mvs/mvs-tk5/hercules/linux/64/bin ;
chmod +x * ;
cd ~/mvs-tk5/unattended/ ;
chmod +x set_console_mode

./set_console_mode

Opcionalmente, podrmeos descargar las fuentes y la documentación, mediante:

cd ~/mvs-tk5;
wget https://www.prince-webdesign.nl/images/downloads/srccbt.zip;
unzip srccbt.zip;
wget https://www.prince-webdesign.nl/images/downloads/TK5-Introduction-and-User-Manual.pdf

Ahora activamos MVS. Para ello ingresamos:

cd ~/mvs-tk5/unattended/
./mvs

Este guión abrirá un intérprete de comandos y se iniciará Hercules. Se iniciará una IPL con una CLPA desde la unidad 390 (TK5RES). Tras iniciar Hercules, nos mostrará el siguiente mensaje:

Hercules console mode activated for unattended operations mvs
Press any key to continue...

Esto nos dejará la máquina lista para su arranque virtualizado, a la que podremos acceder con Telnet al puerto 3270, desde un terminal TN3270 o bien una emulación del mismo.

Para ello conectamos con:

c3270 localhost:3270

o bien:

telnet localhost -p 3270

Y ahora corremos en la consola C3270:

./mvs

Esto comenzará Hercules con la consola Hercules y arrancará el TSO de MVS. Debemos aguardar unos 5 minutos, y cuando veamos la pantalla siguiente, podremos loquearnos usando el emulador de terminal c3270. 

Presionamos cualquier tecla para volver al prompt de nuestro intérprete de comandos.

En caso de haber tenido la TurnKey4, podríamos actualizarla a TurnKey 5 dejando que IPL actualice el sistema MVS, ingresando:

devinit 00c update.txt

Esto debería actualizar el catálogo maestro de la distribución al estándar Turnkey 5.

A partir de entonces, podremos ingresar comandos en dicha consola, anteponiéndole el prefijo "/" (barra). 

Al recibir la pantalla de login de TSO, presionamos Intro.

Cuando nos pregunte credenciales IBM de username y password, ingresamos como nombre de usuario (privilegiados) HERC01 o HERC02  (ambas contraseñas CUL8TR) o bien usuarios (no privilegiados) HERC03 o HERC04, contraseñas PASS4U. Presiona Intro dos veces para ver la siguiente pantalla.

MVS 3.8j permite correr software de mainframe IBM desde nuestra propia estación de cómputo. Esta fue una introducción rápida, aunque existen muchos recursos que pueden auydarnos a desplegar las alas en el mundo IBM.

MVS 3.8j viene con una pila de compiladores para el Pueblo. Corramos un trabajo de COBOL.


Cuando Hercules comienza a correr, aparecerá en modo texto en la ventana de consola. Normalmente la versión semigráfica de la consola de Hercules es más útil. Esta puede conmutarse con la tecla Esc.

La ventana de Hercules se divide en dos partes:

  • La mitad izquierda de la pantalla provee el tipo de información típicamente disponible en el panel frontal de la CPU del mainframe. La línea superior informa el PSW (Program Status Word) y el status operativo. Debajo de esta línea salen los contenidos de los dieciséis registros de propósito general. Una de las partes más interesantes de la información que aparece aqí es la tasa de procesamiento computado, mostrada en MIS (Millones de instrucciones/segundo, en la esquina inferior izquierda). A la derecha del MIPS se computan las operaciones Iniciadas de E/S por segundo (SIO).
  • La porción derecha de la pantalla es un presentador en columnas que muestra información de los primeros veintiún dispositivos de hardware (emulados).

Si ejecutamos el siguiente JOB para que quede catalogado los datasets de los volúmeners SBT-, SRC- y los SYSCPK- en el sistema:

 

//IMPORT JOB (SYS),'IMPORT USER CAT',CLASS=A,MSGCLASS=A, 
// MSGLEVEL=(1,1) 
//* 
//* 
//IDCAMS01 EXEC PGM=IDCAMS,REGION=4096K 
//SYSPRINT DD SYSOUT=* 
//SYSCPK DD UNIT=3350,DISP=OLD,VOL=SER=SYSCPK 
//CBTCAT DD UNIT=3350,DISP=OLD,VOL=SER=CBTCAT
//SRCCAT DD UNIT=3350,DISP=OLD,VOL=SER=SRCCAT
//SYSIN DD * 
  IMPORT CONNECT OBJECTS (UCSYSCPK DEVICETYPE(3350) -
         VOLUMES(SYSCPK)) 
  IMPORT CONNECT OBJECTS (SYS1.UCAT.CBT DEVICETYPE(3350) -
         VOLUMES(CBTCAT)) 
  IMPORT CONNECT OBJECTS (SYS1.UCAT.SRC DEVICETYPE(3350) - 
         VOLUMES(SRCCAT)) 
  DEFINE ALIAS (NAME(SYSC) RELATE(UCSYSCPK))
  DEFINE ALIAS (NAME(CBT249) RELATE(SYS1.UCAT.CBT))
  DEFINE ALIAS (NAME(CBT429) RELATE(SYS1.UCAT.CBT))
  DEFINE ALIAS (NAME(CBT129) RELATE(SYS1.UCAT.CBT))
  DEFINE ALIAS (NAME(CBT072) RELATE(SYS1.UCAT.CBT))
  DEFINE ALIAS (NAME(CBTCOV) RELATE(SYS1.UCAT.CBT))
  DEFINE ALIAS (NAME(CBT) RELATE(SYS1.UCAT.CBT))
  DEFINE ALIAS (NAME(MVSSRC) RELATE(SYS1.UCAT.SRC))
// 

Ahora podremos cerrar la terminal (informará que el proceso será eliminado, lo que es normal).

Para apagar MVS, nos logueamos al TSO con usuario privilegiado HERC01 o HERC02, salimos de ISPF y lanzamos el comando SHUTDOWN en modo READY y cerramos sesión. El apagado es completamente automatizado, y la ventana de Hercules se cerrará luego de apagar MVS.

sábado, 22 de junio de 2024

¿Cómo instalo LibreWolf en Ubuntu?

Durante su exilio Venezolano en la época de Pérez Jiménez, la pluma de Juan Perón insta a sus bases en la Argentina a la acción solapada, a la vez que enseña cómo instalar el navegador LibreWolf en Ubuntu.

¡Trabajadores!

Por mano y amabilidad de los compañeros he recibido vuestras apreciaciones, las que considero justas en tenor y en sustancia.

Vuestra tarea es la obrar por la unificación del Movimiento, y esto implica en todo caso una vigilancia sobre todos los factores que pueden socavarlo desde afuera pero también de adentro.

Durante los diez años consagrados al servicio de la Nación, su Pueblo ha apreciado nuestra acción constructiva y solidificadora en todos los estamentos de la vida diaria, pero ante la antipatria y la traición, no podemos soslayar una labor que hemos de forzar si es que deseamos lograr los objetivos que nos han conmovido para conformar nuestro Movimiento por la Justicia Social. Esta implica proteger nuestros medios, consagrarnos a la defensa del mismo para evitarle caer presa de la dictadura que se ha enarbolado en la Argentina.

En esto intentarán la disolución y desintegración por medio de la injuria, pero ante la claridad de nuestra Doctrina poco podrán hacer, y ante el desfile de errores patéticos y el desmadre de la Oligarquía, no dejarán de reforzar nuestros cometidos.

La acción del momento impone la defensa activa, la preparación y el estudio, que nos impondremos como medio para tomar una ofensiva que lleve al Justicialismo al poder, para instaurar - si no un socialismo - un método de gobierno que asegure al porvenir las consecuencias de un Pueblo que elige por sí lo mejor para sí, y no un destino que le firman cuatro tipos en la embajada yanqui.

Aquí no todo es un manto de rosas, el 25 de mayo me pusieron una bomba en el Opel de la que me salvé raspando porque salí a hacer footing y a bailar con unas minusas.

Sin embargo, nosotros sabemos sabemos bien que la API de Googl€ pretende alambrar un latifundio de los metadatos para espiarnos, y con ello discernir acción y disposición de nuestros compañeros de la lucha por la Liberación. Por tal motivo debemos concentrarnos en reforzar toda acción tendiente a desactivar todo software privativo destinado a encadenarnos.

Nos hemos persuadido de alterar los naturales principios de la acción fundamental, tomando resguardo en el terreno donde operamos.  Ocultarnos entre las máquinas es un predicamento que seguimos, para diezmar los núcleos del poder de la informática privada con la indiferencia primero, y con el módem después.

Han de saber que una computadora guardará tu secreto sólo si la arrebatamos del control de la oligarquía y la ponemos a nuestro total servicio con software libre. Esta máxima ha dado lugar al empleo de un navegador de internet destinado para el Pueblo en lucha: se trata de LibreWolf, un clon de Mozilla Firefox liberado bajo MPL2 y orientado a la seguridad, la privacidad y las libertades del usuario.

LibreWolf está diseñado para incrementar la protección contra las técnicas de rastreo e individualización, a la vez que incluyen ciertas mejoras de seguridad. Esto se logra  a través de parches específicos ausentes en el Mozilla Firefox. Asimismo, apunta deliciosamente a remover todas molestias telemétricas, recolección de metadatos, así como desactivar funcionalidades anti-libertad como las DRM.

Instalación de LibreWolf

Para instalar la compilación estable de LibreWolf más actualizada que corresponda a nuestra arquitectura de Ubuntu o Debian, podremos abrir una terminal con Ctrl+Alt+T y automatizar el procedimiento de incorporación del repositorio oficial y sus firmas digitales de autenticación. Todo esto puede realizarse de una sola pasada ejecutando el siguiente bloque de Comandos de Organización:

sudo apt update && sudo apt install extrepo -y
sudo extrepo enable librewolf
sudo apt update && sudo apt install librewolf -y

Una vez instalado en binario, ya podremos ejecutar el navegador desde Aplicaciones / Internet / LibreWolf, lo que nos presentará la pantalla inicial del mismo, sin configuración alguna.

Si bien la operatoria básica es similar a la de Firefox y no amerita muchos más comentario, pero es en las diferencias con el producto de Mozilla donde encontramos la valía de Librewolf. En primer lugar destaca la opción de Preferencias (con su ícono de "llave fija"), que nos permite escoger entre distintos buscadores respetuosos del anonimato, tales como DuckDuckGo, Searx, o Qwant. Todos son adecuados, y nos ofrecen excelentes resultados por fuera de la matriz de Googl€.

Haciendo clic en la llave de opciones también podremos activar el modo oscuro, uno tan oscuro como el pelo de nuestros grasitas.

Mucha de la pelambre del flujo de bytes de la navegación telemática actual se produce por la insaciable necesidad de las GAFAM de contemplar nuestros hábitos con el fin de intentar perfilarlos. Por tal motivorecurren a la práctica adjuntar impunemente metadatos a las URLs. LibreWolf opera como un peluquero callado que las corta al ras: entre las consabidas ventajas encontraremos que la navegación se agiliza, no es extraño notarla entre un 15 y un 30% más veloz.

La navegación se hace a través de metodologías RPF del proyecto Tor. Su objetivo es hacer que todos los usuarios parezcan el mismo, cubriendo sus métricas tanto como sea posible en un esfuerzo para ofuscar las técnicas de rastreo e individualización.

El navegador incluye el bloqueador de anuncios uBlock Origin, encargado de enviar a las publicidades digitalmente agregadas a /dev/null, a la vez que borra y elimina cookies al cerrar el navegador. Esto lo hace sumamente adecuado en ambientes multiusuario.

Asimismo, el inseguro registro de contraseñas está desactivado por defecto, por lo que es conveniente utilizar herramental externo en caso de necesidad.

La presentación del navegador está en inglés por defecto, y si bien se puede cambiar al igual que en Firefox para ponerlo en castellano, LibreWolf también permite ofuscar este hecho autoproclamando acceso en inglés a los sitios web, a fin de vestir la piel del cordero.

LibreWolf se basa siempre en la última versión de Firefox - al cual no está afiliado - y sus actualizaciones suelen venir unos tres o cuatro días después de sucedida cada actualización de este último (en contadas ocasiones, puede incluso darse en el día). El proceso de actualización automática se produce en este caso a través del repositorio de LibreWolf, el cual es algo lento.

Activar DRM

Si por alguna razón quisiéramos activar las DRM (por ejemplo, para ver contenidos en Netflix o algún sitio por el estilo), el LibreWolf normalmente no podría funcionar. Sin embargo, ante tal necesidad, el Justicialismo ha creado un derecho.

En la barra de direcciones ingresamos about:config y en el campo de búsqueda ingresamos el registro media.gmp-provider.enabled. Luego cambiamos su valor de false a true. Acto seguido, buscamos el registro privacy.resistFingerprinting y lo cambiamos de true a false

Finalmente, podremos acceder a algún servicio esclavizante que use DRM (como Netflix), ante lo cual Librewolf solicitará autorización para recurrir a las mismas, lo que debemos responder afirmativamente. Ante esto el navegador instalará tal herramental en segundo plano. Tras unos segundos, podremos refrescar la página con F5 y utilizar

Desinstalación de LibreWolf

Si por alguna quisiéramos desinstalar y quitar los repositorios de LibreWolf de nuestro sistema, podremos recurrir a la terminal, ejecutando lo siguiente:

sudo apt purge librewolf

sudo rm -f \
/etc/apt/sources.list.d/librewolf.sources \
/etc/apt/keyrings/librewolf.gpg \
/etc/apt/preferences.d/librewolf.pref \
/etc/apt/sources.list.d/home_bgstack15_aftermozilla.sources \
/etc/apt/keyrings/home_bgstack15_aftermozilla.gpg \
/etc/apt/sources.list.d/librewolf.list \
/etc/apt/trusted.gpg.d/librewolf.gpg \
/etc/apt/sources.list.d/home:bgstack15:aftermozilla.list \
/etc/apt/trusted.gpg.d/home_bgstack15_aftermozilla.gpg

Pues bien señores, con este medio podrán determinar con mayor seguridad las sendas que sigue la información que manejamos.

jueves, 6 de junio de 2024

¿Cómo instalo un kernel en tiempo real en Ubuntu?

Reunido con representantes de las 62 Organizaciones, Juan Perón expone cómo reaccionar en tiempo real ante las vicisitudes sindicales, a la vez que enseña a instalar un kernel optimizado para cómputo en tiempo real en Ubuntu.

¡Trabajadores!

Las acciones de gobierno requieren una fluida acción de conducción, tendientes a lograr los máximos beneficios para el Pueblo. Estos abarcan mejoras de carácter social, y nunca individual.

Indudablemente el Conductor debe reaccionar en tiempo real a las cambiantes situaciones que hacen a todos los frentes gubernamentales. Si sus directrices son certeras pero no rígidas, se amoldarán a las condiciones - también cambiantes - del terreno político.

Para su lectura deberá contar con toda una serie de instrumentos que operarán como polea de transmisión; el mayor de los cuales será el pulso popular, y en menor medida también se contará con el adecuado tesón legislativo, que siempre guarda parte cabal de la función de gobierno. 

Tonificar la acción mancomunada de los hombres en pos de un objetivo comprendido y asimilado por todos como propio tiene la consecuencia de producir las Realizaciones. En este sentido sus resultados no podrían menos que ofrecer satisfacciones al Pueblo, pues sólo así este empeñará sus esfuerzos.

Ahora bien, al desplegarnos para nuestra obra de bien, la aplicación del esfuerzo también debe verse fluida: son contadísimas las ocasiones donde debe empeñarse toda la masa en acción común. Mas bien, lo normal será disgregar su potencial en un sinnúmero de frentes, dotando a cada sector de los medios que favorezcan concretar aquello que se debe, en pos de izar nuestra noble bandera sobre todo aquello que realizamos en conjunto.

A partir de Ubuntu 22.04LTS es posible instalar un kernel optimizado para operaciones de cómputo en tiempo real con dos líneas de terminal, a través del programa Canonical Pro. La suscripción al mismo es opcional, y gratuita si se utiliza para uso personal.

Estas operaciones pueden obrar según ciertas aplicaciones computacionales de tiempo real, y aunque yo de momento no hago uso de él personalmente, indudablemente existen situaciones donde alguien podría anhelarlo, sin tener que recurrir a condiciones de configuración personalizada de un kernel. En tal sentido, ha de propugnarse la opción para que el Pueblo lo instale.

Quien lo desee, puede abrir una terminal con Ctrl+Alt+T e ingresar el siguiente Comando de Organización:

sudo pro attach ;
sudo pro enable realtime-kernel --access-only

De tenerse habilitado el repositorio Livepatch (que surte actualizaciones experimentales a través de repositorios de Canonical), nos saldrá una advertencia de la siguiente calaña indicando la necesidad de desactivarlas y responder con las actualizaciones típicas:

One moment, checking your subscription first
Real-time kernel cannot be enabled with Livepatch.
Disable Livepatch and proceed to enable Real-time kernel? (y/N) y
Disabling incompatible service: Livepatch
Updating Real-time kernel package lists
Skipping installing packages: ubuntu-realtime
Real-time kernel access enabled

Conforme se desactive el repositorio Livepatch, se podrá instalar el kernel en tiempo real y otras aplicaciones de tal estilo, compendiadas en el paquete "ubuntu-realtime". Para ello ingresamos:

sudo apt install ubuntu-realtime

Una vez instalado, podremos reiniciar el sistema para que cargue el nuevo kernel.

sudo reboot

Al reiniciar, el arrancador Grub indicará ahora Ubuntu-realtime junto con el kernel común, para que lo elijamos. También podremos elegir dicho kernel por defecto.

Luego de reiniciar, una de las formas de evaluar el mismo es utilizar el conjunto de aplicaciones de medición para aplicaciones en tiempo real (por ejemplo, cyclictest). Para instalar esta suite ingresamos:

sudo apt install rt-tests

y disparamos un test bajo sudo con:

sudo cyclictest --mlockall --smp --priority=80 --interval=200 --distance=0

Esto realizará un test cíclico hasta que lo interrumpamos con Ctrl+c.

Incluso podremos correrlo en nanosegundos, con:

sudo cyclictest --mlockall --smp --priority=80 --interval=200 --distance=0 --nsecs

Con fines de evaluación, instalando GNU Plot también podríamos realizar un trazado de un minuto de operaciones en tiempo real:

sudo apt install gnuplot ;
cd /tmp ;
wget https://canonical-real-time-ubuntu-documentation.readthedocs-hosted.com/en/latest/_downloads/3af8bfb9ac8b109e9ffb3eaaa0487e9b/histogram-plot.sh ;
chmod +x /tmp/
histogram-plot.sh ;

y lo ejecutamos con:

cd;sudo ./tmp/histogram-plot.sh 

Una vez que termine, podremos verlo por ejemplo con:

eom /home/$USER/plot.png

Al desplegar el kernel de tiempo real, notaremos menores tiempos de retraso (lag) que los indicados en las gráficas producidas con el kernel genérico.

viernes, 10 de mayo de 2024

¿Cómo instalo el reproductor Strawberry en Ubuntu?

En su fundamental La Comunidad Organizada, Juan Perón expone los basamentos sociales del Justicialismo, a la vez que enseña cómo instalar el reproductor de audio Strawberry en Ubuntu.

Vean señores,

En una Comunidad Organizada, lo procedente es hacer algo básico a lo que todos tengan alcance y acceso. Una vez que el disfrute y goce lleguen a todos, sólo entonces trascenderemos a la mejora natural de lo realizado, siguiendo una senda de evolución.

Esta praxis es la manera socialmente justa en la que se produce una constante progresión, que es distinto a lo que llamamos progreso. Es que el progreso - mal concebido y peor actuado - sólo puede efectuarse a través de la "exclusividad" del disfrute y el consabido goce. Finalmente, esta manera degenerada del hacer, sólo logra afianzarse por medio de la exclusión, que es el hecho de restar la natural procedencia del trabajo comunitario, soslayándola en el circunstancialismo social atravesado por una línea divisoria clara: quien puede, y quien no.

En consecuencia, mejor que decir es hacer, y a esto, hacerlo para todos, y con todo. Esto es lo que hemos comprendido.

Pues bien señores, en el cómputo, esto también tiene un reflejo cristalino del que no podemos ser ajenos. Nuestro código debe compilarse para todos, en base a concienzudas mejoras incrementales de las que todos puedan gozar. 

Veamos el caso del audio, pues puede servirnos de ejemplo, ante el cual hasta una mula comprendería, y tal vez hasta un General, como decía el Mariscal de Sajonia. GNU con Linux puede ser bastante espartano en su subsistema de audio: normalmente cuenta con un controlador básico para dar cumplimiento a la reproducción de audio en el Escritorio, y este tiene una calidad estéreo aceptable. Su objetivo es dar a todos, audio estéreo. Una vez que este proceder se hubo alcanzado - por medio del adecuado servidor de audio ALSA, y Pulseaudio - y que todos lo han disfrutado, era lógico continuar dando un salto adelante, ofreciendo una solución superior.

Ante este paso adelante, contamos el reproductor de audio Strawberry, un fork del consabido reproductor Clementine escrito por Jonas Kvinge, y destinado a melómanos y audiófilos, pues permite dar un mejor empleo a hardware de sonido de calidad superlativa, y en Linux. Lo hace circunvalando ciertas limitaciones del popular servidor de audio ALSA. Al estar liberado  GPLv3, todo el Pueblo puede contar con las mejoras sin exclusión.

Pues bien señores, existen varias maneras de instalar Strawberry en un sistema de cómputo. La mas sencilla que os recomiendo consiste en descargar el paquete precompilado de Strawberry para nuestra versión de GNU con Linux

Por hacer esto mismo desde la terminal de Ubuntu 22.04LTS Jammy, abrimos la terminal con Ctrl+Alt+T e ingresamos:

sudo apt install libqt6concurrent6 libqt6sql6 libqt6sql6-sqlite ;
https://files.strawberrymusicplayer.org/strawberry_1.0.23-jammy_amd64.deb ;
sudo dpkg -i strawberry_1.0.23-jammy_amd64.deb

Tras introducir nuestra contraseña de root, ya tendremos el reproductor cargado en nuestro Ubuntu. 

Otra forma es asociarnos al repositorio oficial del autor, con lo cual recibiremos actualizaciones. Para quienes se atrevan, podrán hacerlo con:

sudo add-apt-repository ppa:jonaski/strawberry ;
sudo apt update ;
sudo apt install strawberry

Si en lugar de esto deseamos surcar la Pampa a los gritos montados en un pingo de software libre, bien podríamos contemplar compilar Strawberry. Para ello debemos hacernos con las dependencias de compilación y descargar el repositorio de código fuente desde la Terminal de Ubuntu. Todo esto parecería mas complicado, pero realmente sólo implica utilizar los siguientes comandos de organización en un Terminal:

sudo apt update ;
sudo apt install git make cmake gcc g++ gettext libglib2.0-dev libdbus-1-dev libboost-dev libprotobuf-dev protobuf-compiler libsqlite3-dev libgnutls28-dev libicu-dev libasound2-dev libpulse-dev qt6-base-dev qt6-base-dev-tools qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libchromaprint-dev libfftw3-dev libtag1-dev libcdio-dev libmtp-dev libgpod-dev ;
cd /tmp ;
git clone --recursive https://github.com/strawberrymusicplayer/strawberry ;
mkdir
/tmp/strawberry/build/ ;
cd
/tmp/strawberry/build/ ;
cmake .. ;
 -DBUILD_WITH_QT5=ON ;
make -j$(nproc) ;
sudo make install

En cualquiera de los casos seguidos, podremos lanzar el reproductor desde Aplicaciones / Sonido y Video / Strawberry

Al iniciar, Strawberry nos presentará con una ventana de interfaz similar a la del conocido Clementine, con una ventanita desactivable que solicita una carga de SUBE para el autor.

Strawberry replica notablemente la interfaz de Clementine, y como tal opera según el concepto de cola de reproducción, donde podemos sumar temas de nuestra colección a una lista de reproducción para que la reproduzca (ya sea de corrido, o de manera aleatoria). Esta lista podremos salvarla con Ctrl+s, limpiarla con Ctrl+k, o bien crear nuevas con Ctrl+n (lo que consagra nuevas solapas que facilitan todo).

Es de notar el ecualizador activable opcional, surtido gráficamente con diez bandas (con memorias y ajustes personalizados) a la vez que tiene una etapa de preamplificador por software, desde el menú Herramientas.

El sonido sale inusualmente cristalino, pues va encaminado a un canal de mezcla ("Wrapper audio sink for automatically detected audio sink"), un mixdown de mayor calidad que el cuadrúpedo servidor ALSA. En mi caso lo transmito por un cable de fibra óptica SPDIF a mi vitrola combinada Aiwa, que demuestra particular calidad de amplificación siguiendo el ritmo del software libre (opcionalmente podríamos usar el servidor Jack u varios otros esquemas, si así lo preferimos).

Son estas posibilidades adicionales que elevan a Strawberry sobre el Clementine las que lo hacen de preferir en ciertos aspectos. Cuenta con una completa ventana de configuración que supera la del primero, que permite ajustarlo a nuestras preferencias y necesidades por medio de Ctrl+p.

En lo personal, prefiero activar la reproducción de música en segundo plano (desactivada por defecto al apagar la aplicación). Esto permite cerrar el reproductor y continuar tocando la lista de temas presentes en la cola de reproducción. 

También nos permite activar la miniaplicación integrada al panel de audio de Ubuntu, que nos da un control de reproducción y pasar los temas (a la vez que nos muestra la tapa del disco, y nos permite maximizar un Strawberry en segundo plano).

A tal fin, podríamos activar la descarga y asimilación de las tapas de los álbums coleccionados. También podríamos asociar al mismo nuestro usuario de agregadores de música externos, tales como el comercialmente extendido Last.FM o el cordial Libre.FM (el cual oficia como mi recomendador de música libre independiente).

Si tuviésemos que editar a mano la etiqueta del tema (algo opcional, pero que viene al orden y organización de una colección de música) bien podremos hacerlo con Ctrl+e, lo que nos despliega el editor de etiquetas ID3.

Sin embargo, la función Ctrl+t permite analizar automáticamente los temas y asignarles los datos de etiquetas extraídos de diferentes sitios de agregados de etiquetas. Eso sincroniza y pone a punto nuestra colección de forma mucho más cómoda y veloz: simplemente hay que seleccionar un ajuste ya elaborado por un compañero, que lo dejó a mano en alguno de los repositorios integrados. Debo informar que esto  es particularmente útil para aquel contenido del que nos hemos por vía del izamiento de la bandera negra sobre la mar telemática.

En cuanto a radios, distinguiremos dos directorios de radios libres por streaming, a las cuales podremos agregar URL de nuestras radios argentinas favoritas en listas de reproducción.

Si Strawberry confoma una solución que preferimos entre otros reproductores, bien podríamos querer establecerlo como reproductor por defecto para ficheros de música de nuestro GNU con Linux. En el caso de Ubuntu, esto podrá hacerse efectivo desde Sistema / Preferencias / Personal / Aplicaciones Preferidas, y en la solapa Multimedia, en el campo Reproductor Multimedia, lo seleccionamos de la lista desplegable.

Indudablemente, con Strawberry podremos suplantar las inescrupulosos sitios de streaming de música, tales como $potify.